vue+vscode eslint配置自动修复

VSCode + ESLint 终极配置指南:告别手动格式化,一键保存自动修复(含Vue项目避坑) 本文提供VSCode与ESLint的终极配置指南,实现一键保存自动修复代码格式。详细解析了settings.json的核心配置,并重点解决Vue、TypeScript项目中ESLint失效的常见问题,帮助开发者告别手动格式化,提升团队协作效率与代码一致性。 阅读详情

在vscode安装eslint 和vetur 插件

在这里插入图片描述

修改vscode首选项配置

在vscode setting.json中添加如下配置


    "eslint.autoFixOnSave": true,
    "eslint.packageManager": "yarn",
    "eslint.validate": [
    "javascript",  //  用eslint的规则检测js文件
    {
        "language": "vue",   // 检测vue文件
        "autoFix": true   //  为vue文件开启保存自动修复的功能
    },
    {
        "language": "html",
        "autoFix": true
    },
    ], 

vue项目安装eslint 如果项目默认选择安装就忽略

npm i -g eslint-plugin-vue

项目根目录加上 .eslintrc.js 文件

安装eslint依赖并在项目中加上.eslintrc.js 文件

下面是.eslintrc.js 文件部分内容

module.exports = {
    root: true,
    env: {
      node: true,
      "es6": true
    }, 
    parserOptions: {
      parser: 'babel-eslint',
      "sourceType": "module",
    },
    "plugins": [
        "vue"
    ],
    extends: [
      'plugin:vue/essential',
      'eslint:recommended',
    ],
    rules: {
      "no-unexpected-multiline":0,
      "no-parsing-error":0,
      'vue/no-parsing-error': [2, {
        "x-invalid-end-tag": false
      }],

      "comma-dangle": ["error", "never"], //是否允许对象中出现结尾逗号
      "no-cond-assign": 0, //条件语句的条件中不允许出现赋值运算符
      "no-console": 0, //不允许出现console语句
      "no-constant-condition": 1, //条件语句的条件中不允许出现恒定不变的量
      "no-control-regex": 0, //正则表达式中不允许出现控制字符
      "no-debugger": 2, //不允许出现debugger语句
      "no-dupe-args": 2, //函数定义的时候不允许出现重复的参数
      "no-dupe-keys": 2, //对象中不允许出现重复的键
      "no-duplicate-case": 1, //switch语句中不允许出现重复的case标签
      "no-empty": 0, //不允许出现空的代码块
      "no-empty-character-class": 0, //正则表达式中不允许出现空的字符组
      "no-ex-assign":02, //在try catch语句中不允许重新分配异常变量
      "no-extra-boolean-cast": 02, //不允许出现不必要的布尔值转换
      "no-extra-parens": 0, //不允许出现不必要的圆括号
      "no-extra-semi":0, //不允许出现不必要的分号
      "no-func-assign": 0, //不允许重新分配函数声明
      "no-inner-declarations": ["error", "functions"], //不允许在嵌套代码块里声明函数
      "no-invalid-regexp": 02, //不允许在RegExp构造函数里出现无效的正则表达式
      "no-irregular-whitespace":0, //不允许出现不规则的空格
      "no-negated-in-lhs": 0, //不允许在in表达式语句中对最左边的运算数使用取反操作
      "no-obj-calls": 0, //不允许把全局对象属性当做函数来调用
      "no-regex-spaces": 0, //正则表达式中不允许出现多个连续空格
      "quote-props": 0, //对象中的属性名是否需要用引号引起来
      "no-sparse-arrays": 0, //数组中不允许出现空位置
      "no-unreachable": 0, //在return,throw,continue,break语句后不允许出现不可能到达的语句
      "use-isnan": 2, //要求检查NaN的时候使用isNaN()
      "valid-jsdoc": ["error", {
          "requireReturn": false,
          "requireParamDescription": true,
          "requireReturnDescription": true
      }], //强制JSDoc注释
      "valid-typeof": ["error", {
          "requireStringLiterals": true
      }], //在使用typeof表达式比较的时候强制使用有效的字符串
      "block-scoped-var": 0, //将变量声明放在合适的代码块里
      "complexity": 0, //限制条件语句的复杂度
      "consistent-return": 0, //无论有没有返回值都强制要求return语句返回一个值
      "curly": ["error", "all"], //强制使用花括号的风格
      "default-case": 0, //在switch语句中需要有default语句
      "dot-notation": ["error", {"allowKeywords": false, "allowPattern": ""}], //获取对象属性的时候使用点号
      "eqeqeq": ["error", "smart"], //比较的时候使用严格等于
      "no-alert": 1, //不允许使用alert,confirm,prompt语句
      "no-caller": 0, //不允许使用arguments.callee和arguments.caller属性
      "guard-for-in":0, //监视for in循环,防止出现不可预料的情况
      "no-div-regex": 0, //不能使用看起来像除法的正则表达式
      "no-else-return": 0, //如果if语句有return,else里的return不用放在else里
      "no-labels": ["error", {
          "allowLoop": false,
          "allowSwitch": false
      }], //不允许标签语句
      "no-eq-null": 0, //不允许对null用==或者!=
      "no-eval": 0, //不允许使用eval()
      "no-extend-native": 0, //不允许扩展原生对象
      "no-extra-bind": 0, //不允许不必要的函数绑定
      "no-fallthrough": 0, //不允许switch按顺序全部执行所有case
      "no-floating-decimal": 0, //不允许浮点数缺失数字
      "no-implied-eval": 0, //不允许使用隐式eval()
      "no-iterator": 0, //不允许使用__iterator__属性
      "no-lone-blocks": 0, //不允许不必要的嵌套代码块
      "no-loop-func": 0, //不允许在循环语句中进行函数声明
      "no-multi-spaces": 0, //不允许出现多余的空格
      "no-self-assign":1,//不能把自己赋值给自己
      "no-multi-str": 0, //不允许用\来让字符串换行
      "no-global-assign": 0, //不允许重新分配原生对象
      "no-new": 1, //不允许new一个实例后不赋值或者不比较
      "no-new-func": 0, //不允许使用new Function
      "no-new-wrappers": 0, //不允许使用new String,Number和Boolean对象
      "no-octal": 0, //不允许使用八进制字面值
      "no-octal-escape": 0, //不允许使用八进制转义序列
      "no-param-reassign": 0, //不允许重新分配函数参数"no-proto": 2, //不允许使用__proto__属性
      "no-redeclare": 2, //不允许变量重复声明
      "no-return-assign": 0, //不允许在return语句中使用分配语句
      "no-script-url": 0, //不允许使用javascript:void(0)
      "no-self-compare": 2, //不允许自己和自己比较
      "no-sequences": 0, //不允许使用逗号表达式
      "no-throw-literal":0, //不允许抛出字面量错误 throw "error"
      "no-unused-expressions": 0, //不允许无用的表达式
      "no-void": 2, //不允许void操作符
      "no-warning-comments": [1, {"terms": ["todo", "fixme", "any other term"]}], //不允许警告备注
      "no-with": 2, //不允许使用with语句
      "radix": 1, //使用parseInt时强制使用基数来指定是十进制还是其他进制
      "vars-on-top": 0, //var必须放在作用域顶部
      "wrap-iife": [2, "any"], //立即执行表达式的括号风格
      "yoda": [2, "never", {"exceptRange": true}], //不允许在if条件中使用yoda条件
      "strict": [0, "function"], //使用严格模式
      "no-catch-shadow": 0, //不允许try catch语句接受的err变量与外部变量重名
      "no-delete-var": 0, //不允许使用delete操作符
      "no-label-var": 0, //不允许标签和变量同名
      "no-shadow": 0, //外部作用域中的变量不能与它所包含的作用域中的变量或参数同名
      "no-shadow-restricted-names": 0, //js关键字和保留字不能作为函数名或者变量名
      "no-undef": 2, //不允许未声明的变量
      "no-undef-init": 0, //不允许初始化变量时给变量赋值undefined
      "no-undefined": 0, //不允许把undefined当做标识符使用
      "no-unused-vars": [0, {"vars": "all", "args": "after-used"}], //不允许有声明后未使用的变量或者参数
      "no-use-before-define": [2, "nofunc"], //不允许在未定义之前就使用变量
      "indent": 2, //强制一致的缩进风格
      "brace-style": [0, "1tbs", { "allowSingleLine": false}], //大括号风格
      "camelcase": [2, {"properties": "never"}], //强制驼峰命名规则
      "comma-style": [0, "last"], //逗号风格
      "consistent-this": [1, "_this"], //当获取当前环境的this是用一样的风格
      "eol-last": 0, //文件以换行符结束
      "func-names": 0, //函数表达式必须有名字
      "func-style": 0, //函数风格,规定只能使用函数声明或者函数表达式
      "key-spacing": [0, {"beforeColon": false, "afterColon": true}], //对象字面量中冒号的前后空格
      "max-nested-callbacks": 0, //回调嵌套深度
      "new-cap": [0, {"newIsCap": true, "capIsNew": false}], //构造函数名字首字母要大写
      "new-parens": 2, //new时构造函数必须有小括号
      "newline-after-var": 0, //变量声明后必须空一行
      "no-array-constructor": 0, //不允许使用数组构造器
      "no-inline-comments": 0, //不允许行内注释
      "no-lonely-if": 0, //不允许else语句内只有if语句
      "no-mixed-spaces-and-tabs": [0, "smart-tabs"], //不允许混用tab和空格
      "no-multiple-empty-lines": [0, {"max": 2}], //空行最多不能超过两行
      "no-nested-ternary": 0, //不允许使用嵌套的三目运算符
      "no-new-object": 0, //禁止使用new Object()
      "fun-call-spacing": 0, //函数调用时,函数名与()之间不能有空格
      "no-ternary": 0, //不允许使用三目运算符
      "no-trailing-spaces": 0, //一行最后不允许有空格
      "no-underscore-dangle": 0, //不允许标识符以下划线开头
      "no-extra-parens": 0, //不允许出现多余的括号
      "one-var": 0, //强制变量声明放在一起
      "operator-assignment": 0, //赋值运算符的风格
      "padded-blocks": [2, "never"], //块内行首行尾是否空行
      "quote-props": 0, //对象字面量中属性名加引号
      "quotes": [0, "single", "avoid-escape"], //引号风格
      "semi": [0, "always"], //强制语句分号结尾
      "semi-spacing": [0, {"before": false, "after": true}], //分后前后空格
      "sort-vars": 0, //变量声明时排序
      "space-before-blocks": [0, "always"], //块前的空格
      "space-before-function-paren": [0, {"anonymous": "always", "named": "never"}], //函数定义时括号前的空格
      "space-infix-ops": [0, {"int32Hint": true}], //操作符周围的空格
      "keyword-spacing": 0, //关键字前后的空格
      "space-unary-ops": [0, { "words": true, "nonwords": false}], //一元运算符前后不要加空格
      "wrap-regex": 0, //正则表达式字面量用括号括起来
      "no-var": 0, //使用let和const代替var
      "generator-star-spacing": [0, "both"], //生成器函数前后空格
      "max-depth": 0, //嵌套块深度
      "max-len": 0, //一行最大长度,单位为字符
      "max-params": 0, //函数最多能有多少个参数
      "max-statements": 0, //函数内最多有几个声明
      "no-bitwise": 0, //不允许使用位运算符
      "no-plusplus": 0 //不允许使用++ --运算符
  },
}

配置好就可以开心的撸代码了

VSCode中ESLint+Vue+Prettier的终极配置指南:一键保存自动修复与格式化 本文详细介绍了在VSCode中配置ESLint、Vetur和Prettier,实现Vue项目代码保存时自动修复与格式化的终极方案。通过解析settings.json、.eslintrc.js和.prettierrc的核心配置,解决插件冲突,并提供了常见问题排查与进阶优化技巧,旨在提升开发效率和团队协作的代码一致性。 阅读详情

相关推荐

BugkuCTF-PWN题pwn2-overflow超详细讲解

解题思路 1)计算出get_shell_的地址偏移量 2)算出来之后就直接溢出到后门函数 知识点 x64函数调用规则 解题之前我们先学下linux x64的函数调用规则。 x64机器在调用某个函数前,比如int func(int a, int b, int c, int d, int e, int f, int g, int h),首先他会把前6个参数从左往右存入到寄存器rdi、rsi、rdx、rcx、r8、r9,其余参数存入到栈里,保存的顺序是从右往左入栈。比如abcdef会存入到寄存器里,然后一次入栈h

am_03的博客 3014

vue项目vscode配置保存文件的自动修复eslint

vscode配置保存自动修复eslint

szl199107101035的博客 1726

Python数据分析案例——宏观经济指标与沪深指数实证研究分析

沪深300指数与宏观经济指标关联性研究:2015-2024实证分析 摘要:本文基于2015-2024年月度数据,采用多元回归方法分析宏观经济指标对沪深300指数的影响。研究发现,市场情绪(SEN)、美国利率(STY)、美元指数(DXY)、狭义货币供应量(M1)和CPI对指数具有显著解释力(P<0.05),而GDP、LPR等传统指标影响不显著。模型解释力达62%(R²=0.62),表明A股短期走势更受资金流动、投资者心理和国际金融条件驱动。研究为投资者提供了除基本面外的市场预判指标,建议关注M1增速、美

weixin_50902344的博客 1408

vue项目集成eslint(无需prettier),配合vscode自动检测及手动修复、package.json脚本检测及自动修复

本文解决了两个大家最关心的问题: 1、使项目在coding阶段能够通过vscode编辑器实时检测代码语法、内部错误和风格问题并高亮提示,可随时通过快速修复按钮修复可自动修复的问题(部分语法问题无法自动修复) 2、使项目能通过package.json文件的scripts模块配置的脚本自动检测、自动修复代码语法、内部错误和风格问题,并能够输出检测报告

JarryNeverGiveup的博客 2614

Ubuntu系统 nano 编辑器使用教程

• 原因:文件编码不兼容(如 Windows 的 CRLF 换行符)。• 若使用 SSH 工具(如 PuTTY),确保终端设置中未占用。掌握这些操作后,你可以高效使用 nano 完成大部分文本编辑任务!• 底部快捷键栏:显示常用操作的快捷键(• 如果文件已修改,会提示是否保存:按。• 顶部状态栏:显示文件名和编辑状态。表示 Ctrl + G(查看帮助)。保存时自动生成备份文件(原文件名后加。• 强制保存只读文件:用。启动 nano 时添加。启动 nano 时添加。(重做)触发自动缩进。

qq_44534541的博客 2095

基于PWM的汽车仪表步进电机微步驱动优化实践

本文深入探讨了基于PWM的微步驱动技术,用于优化汽车仪表步进电机的运行性能。通过将传统的分步驱动升级为PWM微步细分驱动,利用正弦/余弦查表法合成旋转磁场,有效消除了指针抖动与噪声,实现了指针的平滑、精准运动。文章以STM32和VID2905电机为例,提供了详细的硬件连接、代码实现及高级优化技巧,为提升汽车仪表体验提供了实用方案。

weixin_29169505的博客 514

Vue 项目eslint 配置编程风格(VScode)(1),讲的太清楚了

前端CSS面试题文档,JavaScript面试题文档,Vue面试题文档,大厂面试题文档,需要的读者可以戳这里免费领取!由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)前端CSS面试题文档,JavaScript面试题文档,Vue面试题文档,大厂面试题文档,需要的读者可以戳这里免费领取![外链图片转存中…(img-mUvZTZoR-1712217141283)]

2401_84092360的博客 1008

大疆A型板使用经验分享(二)——A型板原理图和引脚图

一.原理图 二.引脚图

weixin_43361652的博客 7687

在vscode中用ESLint检查vue项目需要安装插件和依赖

在vscode中用ESLint检查vue项目需要安装插件和依赖

听海边涛声 345

瑞芯微RK3588/RK3576平台采集BT1120(fpga)驱动调试记录

本文介绍了在RK3576/RK3588平台上采集FPGA传输的BT1120数据的方法。主要内容包括:1)硬件连接需确认管脚复用和图像格式(通常为uyvy_2x8);2)设备树配置要点,如I2C总线设置、BT1120模式指定等;3)驱动适配注意事项,包括时钟极性、分辨率格式等关键参数;4)测试方法,通过media-ctl和v4l2-ctl工具验证数据采集。文中特别指出RK3576和RK3588配置的通用性,并提供了常见问题的排查思路。

bingdund的博客 917

robosuite 入门教程(一)安装与基本用法

摘要:Robosuite是基于MuJoCo的模块化机器人仿真框架,提供标准化基准测试环境和多样化机器人控制功能。作为ARISE计划的一部分,该框架支持强化学习、模仿学习等算法研究,包含程序化环境生成、多模态传感器、多种控制器及遥操作设备。支持macOS/Linux系统,提供详细安装指南和功能演示脚本,包括随机动作测试、控制器验证、域随机化等。最新版本v1.5新增人形机器人支持、全身控制器和照片级渲染功能,旨在降低机器人学习研究门槛,促进算法开发与评估。

2506_90492529的博客 1270

eslint在vue中如何使用

eslint vue vscode

buler_sky的博客 1592

Exchange Server 2013 运维系列——邮箱配额设置(管理中心)

邮箱配额需要设置三个参数: 1、发出警告限制:表示在向用户发出警告之前的最大存储限制。如果邮箱大小达到或超过指定值,Exchange 将向邮箱用户发送警告消息。 2、禁止发送限制:表示邮箱的“禁止发送”限制。如果邮箱大小达到或超过指定的限制,Exchange 将阻止邮箱用户发送新邮件,并显示一条描述性错误消息。 3、禁止发送和接收限制:表示此邮箱的“禁止发送和接收”限制。如果邮箱大小

白昼的技术专栏 1万+

Vue项目必看!VSCode保存自动修复ESLint错误的完整配置流程

本文详细介绍了如何在VSCode中为Vue项目配置ESLint保存自动修复功能,实现代码保存时自动处理分号、双引号等格式问题。通过整合ESLint、Prettier和Vetur,提供了一套完整的配置流程,旨在提升开发效率和代码整洁度,打造无感的自动化代码规范工作流。

cake8的博客 778

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

vscode中 vue ESlint自动修复环境配置详解

很久没有写vue的项目,近期加入了教育疫情项目的开发,重新启用vue,这里就vue代码自动修复环境的安装,以及可能遇到的 vscode安装的插件:ESlint, Vetur,eslint-plugin-html (全局安装) { "window.zoomLevel": 0, "terminal.integrated.rendererType": "dom", "ed...

前端361 2914

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

vsCode中使用ESLint自动格式化代码

ESLint 是一个代码规范和错误检查工具,有以下几个特性 所有东西都是可以插拔的。你可以调用任意的rule api或者formatter api 去打包或者定义rule or formatter。 任意的rule 都是独立的 没有特定的coding style,你可以自己配置 下面介绍一下vsCode中ESLint的安装配置步骤 1、安装ESLint插件 2、 配置settings.json,设置启用eslint自动格式化 1)点击文件 -->首选项 -->设置 2)进去后点击右上角,打开

qq_41999034的博客 3万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

如何在vscode中开发vue项目时使用eslint

如何在vscode中开发vue项目时使用eslint 关键字:vscode , eslint, vue-cli 在创建vue项目时选择eslint 在使用 vue create projectName 命令创建项目时,可以启用eslint 建议使用 ESLint + standard(它的官网地址是https://github.com/standard/standard) 此时,你得到的pac...

qq_46159864的博客 1016

vscode自动格式化不符合eslint_vscode+eslint自动格式化vue代码的方法

前言使用vscode开发vue项目的时候,为了编码格式的统一化,使用eslint规范进行格式化。此时通过eslint插件可以实现对vue代码的自动格式化。使用方式在vscode的插件模块处,搜索eslint。找到下面的插件。 安装完成后,进行配置。file --> preferences --> setting找到eslint。 打开setting.json。在里面配置如下代码:{"e...

weixin_35763787的博客 821

vscode 新版eslint自动修复_Vue项目vscode 安装eslint插件的方法(代码自动修复)

ESlint:是用来统一JavaScript代码风格的工具,不包含css、html等。方法和步骤:通常情况下vue项目都会添加eslint组件,我们可以查看webpack的配置文件package.json查看,也可以查看工程下是否有.eslintrc.js和.eslintignore查看到eslint是否开启。当我们编写不符合eslint规范的代码时,启动项目会报错,比如这个时候可以安装vscod...

weixin_39767386的博客 1073

vscode的eslint无效_详解Vscode中使用Eslint终极配置大全

在 vue项目中使用vscode编辑时,使用了如下这套配置,保存时就会根据既定vue项目中.eslintrc.js文件设置的既定规则自动校验并依据规则修复代码。需安装插件主要是这两个插件:ESLintPrettier - Code formatter个人现用vscode插件截图.pngvscode中setting.json中配置{// vscode默认启用了根据文件类型自动设置tabsize的选项...

weixin_39911475的博客 1553

eslint 快捷键设置_设置vue项目eslint prettier vetur

vscode工作区设置:{"editor.tabSize": 2,//开启保存后即触发格式化 不开开了会根据"vetur.format.defaultFormatter.js": "vscode-typescript",//"editor.formatOnSave": true,//关闭右侧快速预览"editor.minimap.enabled": true,"editor.fontSize":...

weixin_35867508的博客 735

vscode保存代码时自动eslint格式化

vscode保存代码时自动eslint格式化

博哥的二进制世界 6393

vscode 配合 eslint 自动格式化代码

vscode 配合 eslint 自动格式化代码 1. vscode安装eslint插件 2. 打开 vscode 的配置文件—— settings.json    点击左下角的设置或者输入ctrl+shift+p 找到Open Setting JSON    安装好以后,打开 vscode 的配置文件—— settings.json ,加上下面这几行规则: { "eslint.autoFixOnSave": true, "eslint.packageManager": "yarn", "

atu1111的博客 2008

VScode 自动修复vue项目中eslint报错

1、安装插件 eslint-plugin-vue npm i -g eslint-plugin-vue 2、修改项目跟路径下的文件:.eslint.js 添加vue选项 3、添加eslint 和 vetur 插件,直接在插件库中下载 4、修改vscode首选项配置 【汉化版 文件>首选项>设置找到对应的配置文件】 【英文版 file>preferences>s...

dengdengchen的博客 1万+

vscode+eslint

vscode安装插件eslint 打开一个新命令窗口,运行 在vscode中打开file>preferences>settings>Extensions>eslint--->edit in settings.json中添加 { "files.autoSave": "off", "eslint.validate": [ "javascript", "javascriptreact", "vue-html", { "lan

qq_35957398的博客 233

eslint使用

在vscode的配置 下载eslint插件 下载eslint全局插件 npm install -g eslint // 执行命令 esllint --init // 根据需要选择即可 配置eslint "eslint.enable": true, // 启用/禁用ESLint。 "eslint.alwaysShowStatus": true, "eslint.debug": true, // 启用ESLint的调试模式 "eslint.format.enable":.

weixin_44284981的博客 856
上一篇: vue axios二次封装
下一篇: 浏览器窗口缩放后用css的zoom来保持比例(现在推荐transform)
起风了咦
博客等级 码龄7年 2粉丝 10原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值