FanySkill源文件修改,快捷键以及新增任务栏选项

FanySkill源文件修改,快捷键以及新增任务栏选项


一、文件下载

自行去PCB联盟网下载,因为那边下载要联盟币,我不清楚我免费提供会不会给我带来没必要的损失,敬请谅解。
要下载的东西有:FanySkill和Notepad++
安装教程也可下载,这里不进行阐述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、快捷键设置

在第一部的方法二中可以知道下面这个文件的摆放路径,用Notepad++打开
注意:这里只有procedure(FanySkill_HotKey())这个模块内的快捷键修改才会影响Allegro内的快捷键,而procedure(FanySkill_HotKey_LOEN())这个模块内的东西可以复制进procedure(FanySkill_HotKey())模块内,对Allegro系统内部的功能进行快捷键设置
在这里插入图片描述
在这里插入图片描述

三、任务栏

和上面一样,在文件中找到menulist这个东西,修改里面的东西,第一级popup是在任务栏增加一个元素,后面嵌套的就是这个元素中里面的不同级数,然后括号内的第一个双引号内的是名称,第二个双引号的是命令,可以是系统命令,也可以是凡亿命令,见下图修改以及结果显示
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

四、本人配置

/*
#########################################################################################                                                                    
#         	Skill File: FanySkill_ChooseGrid.il                   						#
#         	How To Load: Command> (load("FanySkill_main.il"))							#
#			Modify by:  longxf 2020-1-1 Download Addr:https://pcbbar.com/ 				#
#			Original author : Wanghh Download Addr:https://github.com/whh5118/GTOpen 	#
#########################################################################################
*/


procedure( FanySkill_menu_load(@optional window timerId_lj elapsedTime)
	prog((port menuexit menuList tt file line port offset)
		file = axlTempFile()
		axlUIMenuDump(file)
		port = infile(file)
		menuexit = nil
		while(gets(line port)
			when(rexMatchp("https://www.fanyedu.com/" line)
				menuexit = t
			)
		)
	close(port)
	deleteFile(file)
	
	if(menuexit then
		return(t)
	else
		timerId = axlUIWTimerAdd(nil 5000 t 'FanySkill_menu_load)
	)
	
	menuList = '(
			(popup "&mdcSkill")

				(popup "Package")
					("Change Origin" "skill FanySkill_Change_Origin")
					("Create Oblong Thermal" "skill CreateOblongThermal")
					("Create Keepout" "skill FanySkill_Keepout")
					("Change Pad" "change pad")	
					("Export Symbol" "sig_pack")
					("Rename Pin Number" "rpn")
				(end)
				
				(separator)				
				(popup "Layout")
					("Align Objects" "FYAL")
					("Grid Choose" "skill FanySkill_ChooseGrid")
					("Move Step" "skill Jun_DirKeyTool")
					("Mirror Objects" "mir")
					("Place Comp" "skill FanySkill_Place_Inside")	
				(end)			
				
				(separator)
				(popup "Router")
					
					(popup "Cut/Link Cline")
					   ("Cut Clines/Lines/Shapes" "skill FanySkill_CutClines_Lines_Shapes")
					   ("Link Cline" "skill FanySkill_Cline_Cross")
					(end)
					("Change via net" "ch_via_net")
					("Check cross plane" "ecp")
					("Create Match Group" "auto_create_matchgroup")
					("Create DIFF Keepout" "DVAP")
					("Change Line Width" "Change_WIDTH")
					("Change Line TO Shape" "c2s")
					("Del Dangling" "FYDD")										
					("Replace via" "Jun_ReplaceVia")
					("View net Message" "Jun_NetTool")							
				(end)
				
				(separator)
				(popup "TEXT And LOGO")	
					("Add Chinese" "acn")
					("Add Net Silk Text" "FYNN")
					("Check No Refdes" "skill Check_No_Refdes")	
					("Check Refdes Direction" "FY_CRD")	
					("Import Logo" "skill FanySkill_Logo")	
					("Ref to Component" "Jun_RefdesSet")
					("Set Text" "skill FanySkill_Set_Text")					
				
				(end)
				
				(separator)
				(popup "Utility Tools")		
					("Artwork" "Jun_Artwork")
					("Calculator" "skill gt_calculator_main")
					("Clean Directory" "skill FanySkill_Clean")	
					("Export Device" "skill FanySkill_Export_Device")
					("Set Color" "skill FanySkill_Color_Setting")
 
				(end)
				
				(separator)
				(popup "Help")
					("Tool About" "http https://www.pcbbar.com/thread-19605-1-1.html")
					("Learn PCB" "http https://www.fanyedu.com/")
				(end)
				
				(separator)
				("[Uninstall]" "skill FanySkill_Unistall")

			(end)
	)
	
	
	offset = "-1"

  axlUIMenuFind(nil readstring(offset))
  axlUIMenuInsert(nil menuList)
)
)



procedure( FanySkill_Unistall()
	shell("		
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\icons\\align-bottom.bmp
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\icons\\align-centerH.bmp
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\icons\\align-centerV.bmp
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\icons\\align-left.bmp
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\icons\\align-right.bmp
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\icons\\align-top.bmp
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\icons\\cot.bmp
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\icons\\distributeH.bmp
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\icons\\distributeV.bmp
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\icons\\pickH.bmp
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\icons\\pickV.bmp
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\forms\\align.form
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\forms\\Calculator.form
		del /f /s /q  	%CDSROOT%\\share\\local\\pcb\\forms\\Logo.form
		rd /s /q 		%CDSROOT%\\share\\local\\pcb\\skill\\FanySkill
		rd /s /q 		%CDSROOT%\\share\\local\\pcb\\skill\\FanySkill	
		rd /s /q 		%CDSROOT%\\share\\local\\pcb\\skill\\FanySkill			
	")
)


procedure( FanySkill_Clean()
	shell("
		del /f /s /q  *.log
		del /f /s /q  *.dbk
		del /f /s /q  *.opj
		del /f /s /q  *.jrl
		del /f /s /q  *.cnv
		del /f /s /q  *.sav
		del /f /s /q  *.ldf
		del /f /s /q  *.csv
		del /f /s /q  *.scr
		del /f /s /q  *.xml
		del /f /s /q  *.dml
		del /f /s /q  *.dml,1
		del /f /s /q  *.XRF
		del /f /s /q  *.bdf
		del /f /s /q  *.tag
		del /f /s /q  *.form
		rd /s /q Indesign
		rd /s /q signoise.run
	")
)
;------黄勇老师推荐快捷键定义
procedure( FanySkill_HotKey_CESC()
	
	;------定义黄勇老师推荐快捷键--------Start

		axlSetFunckey("+" "subclass -+")                ;切换subclass层
		axlSetFunckey("-" "subclass --")				;切换subclass层
		axlSetFunckey("1" "assign color")				;高亮元素
		axlSetFunckey("2" "undo")						;上一步操作
		axlSetFunckey("3" "copy")						;拷贝
		axlSetFunckey("4" "change")						;改变元素
		axlSetFunckey("5" "dehilight")					;低亮元素----与高亮反操作
		axlSetFunckey("6" "swap components")			;交换器件
		axlSetFunckey("7" "swap functions")				;交换功能
		axlSetFunckey("8" "zoom points")				;缩放窗口
		axlSetFunckey("a" "zoom out")					;缩小设计窗口
		axlSetFunckey("b" "rotate")						;旋转
		axlSetFunckey("c" "delete")						;删除
		axlSetFunckey("d" "add connect")				;添加布线
		axlSetFunckey("e" "shape edit boundary")		;编辑铜皮
		axlSetFunckey("f" "slide")						;优化布线
		axlSetFunckey("g" "move")						;移动
		axlSetFunckey("h" "add line")					;添加2D线
		axlSetFunckey("m" "custom smooth")				;自动平直布线路径
		axlSetFunckey("n" "mirror")						;翻转器件到背面
		axlSetFunckey("q" "rats net")					;打开元素对应网络飞线
		axlSetFunckey("o" "unrats net")					;关闭元素对应网络飞线
		axlSetFunckey("r" "shape select")				;选中铜皮进行编辑
		axlSetFunckey("s" "zoom in")					;放大设计窗口
		axlSetFunckey("t" "shape add")					;添加绘制铜皮
		axlSetFunckey("u" "island_delete")				;删除孤岛铜皮
		axlSetFunckey("v" "toggle")						;改变布线方向
		axlSetFunckey("w" "delay tune")					;蛇形布线
		axlSetFunckey("Esc" "done")						;结束命令
		axlSetFunckey(" " "iangle 90")					;旋转90;------定义黄勇老师推荐快捷键--------END
)

;------快捷键定义
procedure( FanySkill_HotKey()
	;作用等同于 funckey z ch_via_net     
	
	;axlSetFunckey("k" "next")
	;axlSetFunckey("z" "FYCH")         				;设置原点
	;axlSetFunckey("z" "FYCOT")         			;新建异形Flash
	;axlSetFunckey("z" "FYKP")         				;添加KEEPOUT/ALL
	;axlSetFunckey("z" "change pad")         		;添加焊盘元素
	;axlSetFunckey("z" "rpn")         				;重命名焊盘名称
	;axlSetFunckey("z" "FYAL")         				;对齐工具
	;axlSetFunckey("Z" "FYCW")         				;设置格点  也可使用FYG命令
	;axlSetFunckey("X" "Jun_DirKeyTool")         	;调用设置操作的固定距离工具
	;axlSetFunckey("z" "FYPI")         				;指定区域放置器件工具
	;axlSetFunckey("C" "FYCUT")         				;打断工具
	;axlSetFunckey("X" "FYDD")         				;删除Danling line  via
	;axlSetFunckey("ACC" "auto_create_matchgroup")   ;自动设置 Match_Group
	;axlSetFunckey("P" "xasym")   					;对齐器件
	;axlSetFunckey("z" "FYCL")         				;自动连接布线
	;axlSetFunckey("z" "Jun_ReplaceVia")         	;替换选择过孔
	;axlSetFunckey("z" "Jun_RefdesSet")         	;将所有器件位号放置到器件中心位置
	;axlSetFunckey("z" "Jun_Artwork")         		;调用光绘工具
	;axlSetFunckey("z" "FYCA")         				;调用单位切换工具
	;axlSetFunckey("z" "FYST")         				;设置系统字符大小,并调整所有器件位号为2号字体
	;axlSetFunckey("z" "FYCOL")         			;设置颜色方案,有三个方案:FYCOL  FYCOL1    FYCOL2
	;axlSetFunckey("z" "FYED")         				;导出所在文件夹所有封装的Device文件
	;axlSetFunckey("z" "Jun_SymbolTool M")         	;将器件放到Bottom层相同位置
	;axlSetFunckey("z" "FYLG")         				;导入单色位BMP格式LOGO文件
	;axlSetFunckey("Z" "DVAP")         				;生成差分过孔KEEPOUT
	;axlSetFunckey("SP" "sig_pack")         			;导出单个器件封装
	
	axlSetFunckey("p" "Jun_SymbolTool A")         	;中心对齐焊盘/axlSetFunckey("P" "FYAL")         				;对齐工具
	axlSetFunckey("3" "hilight")					;高亮元素
	axlSetFunckey("4" "dehilight")					;低亮元素
	axlSetFunckey("v" "ch_via_net")         		;切换过孔网络
	axlSetFunckey("a" "Jun_LayerEtch")      		;切换到指定层
	axlSetFunckey("m" "move")      					;移动命令
	axlSetFunckey(" " "iangle 90")      			;空格90度旋转  需要先用move命令选中
	axlSetFunckey("r" "iangle 45")      			;45度旋转  需要先用move命令选中
	axlSetFunckey("w" "add connect")         		;电气走线
	axlSetFunckey("l" "add line")         			;非电气属性线
	axlSetFunckey("e" "shape add")      			;铺铜,任意形状
	axlSetFunckey("E" "shape select")      			;shift+E 选中铜皮,一般用来修改网络和改变铜皮形状
	axlSetFunckey("A" "delay tune")      			;蛇形走线
	axlSetFunckey("q" "show measure")      			;测量
	axlSetFunckey("1" "rats net")         			;显示选中网络飞线
	axlSetFunckey("2" "unrats net")         		;隐藏选中网络飞线
	axlSetFunckey("b" "mirror")      				;将器件切换到底层
	axlSetFunckey("d" "slide")      				;修线
	axlSetFunckey("s" "swap components")      		;交换器件位置
	axlSetFunckey("c" "Change")      				;改变属性
	axlSetFunckey("~D" "delete islands")         	;删除孤岛
	axlSetFunckey("~E" "shape edit boundary")       ;修剪铜皮
	axlSetFunckey("~Z" "undo")      				;回到上一步   Ctr+Z
	axlSetFunckey("~Y" "redo")      				;回到下一步   
	axlSetFunckey("~C" "copy")      				;复制
	axlSetFunckey("~S" "save")      				;保存
	axlSetFunckey("f" "fix")      					;锁定
	axlSetFunckey("~F" "unfix")      				;解锁 
	axlSetFunckey("Esc" "done")      				;取消
	axlSetFunckey("Del" "delete")      				;删除
	
	;axlSetFunckey("L" "Jun_LayerTool")				;打开层显示工具
	;axlSetFunckey("," "Jun_LayerEtch Down")			;切换到下一层
	;axlSetFunckey("." "Jun_LayerEtch Up")			;切换到上一层
	;axlSetFunckey("jk" "Jun_LayerTool st t")		;切换到调整丝印顶层
	;axlSetFunckey("kk" "Jun_LayerTool sb t" )		;切换到调整丝印底层
	
	;axlSetFunckey("t" "Jun_LayerTool at t")		;切换到顶层
	;axlSetFunckey("atp" "Jun_LayerTool atp t")		;切换到顶层+Placebound
	;axlSetFunckey("ab" "Jun_LayerTool ab t")		;切换到底层
	;axlSetFunckey("abp" "Jun_LayerTool abp t")		;切换到底层+Placebound	
	;axlSetFunckey("stp" "Jun_LayerTool stp t" )		;切换到调整丝印顶层+Placebound
	;axlSetFunckey("sbp" "Jun_LayerTool sbp t" )		;切换到调整丝印底层+Placebound
	;axlSetFunckey("all" "Jun_LayerTool all")		;显示所有层
	;axlSetFunckey("no" "Jun_LayerTool no")			;关闭所有层
	
)

;------快捷键定义
procedure( FanySkill_HotKey_LOEN()	
	axlSetFunckey("Y" "refresh symbol")   
	axlSetFunckey("D" "prmed") 
	axlSetFunckey("N" "netin")
	axlSetFunckey("X" "text edit")
	axlSetFunckey("A" "dlib")
	axlSetFunckey("S" "save")
	axlSetFunckey("W" "open")
	axlSetFunckey("B" "place manual")
	axlSetFunckey("Q" "quickplace")
	axlSetFunckey("E" "padeditdb")
	axlSetFunckey("F" "show measure")
	axlSetFunckey("T" "define text")
	axlSetFunckey("G" "add text")
	axlSetFunckey("H" "package_height")
	axlSetFunckey("+" "subclass -+")
	axlSetFunckey("-" "subclass --")
	axlSetFunckey("1" "assign color")
	axlSetFunckey("2" "undo")
	axlSetFunckey("c" "copy")
	axlSetFunckey("4" "change")
	axlSetFunckey("5" "dehilight")
	axlSetFunckey("6" "swap components")
	axlSetFunckey("b" "rotate")
	axlSetFunckey("d" "done")
	axlSetFunckey(" " "iangle 90")
	axlSetFunckey("3" "delete")
	axlSetFunckey("a" "add connect")
	axlSetFunckey("e" "shape edit boundary")
	axlSetFunckey("s" "slide")
	axlSetFunckey("h" "add line")
	axlSetFunckey("m" "custom smooth")
	axlSetFunckey("n" "mirror")
	axlSetFunckey("q" "rats net")
	axlSetFunckey("o" "unrats net")
	axlSetFunckey("r" "shape select")
	axlSetFunckey("t" "shape add")
	axlSetFunckey("u" "island_delete")
	axlSetFunckey("g" "toggle")
	axlSetFunckey("w" "delay tune")
	axlSetFunckey("f" "oops")
	axlSetFunckey("v" "move")
	axlSetFunckey("k" "Jun_Artwork")
	axlSetFunckey("P" "rpn")		
	axlSetFunckey("Esc" "done")					
)

;------环境定义
procedure( FanySkill_int()
prog((file port InstallPath tt)
	unless(boundp('FanySkill_global)
		defvar(FanySkill_global ncons(nil))
	)
	InstallPath = nil
	tt = setof(x0 getSkillPath() (isFile(strcat(x0 "/allegro.ilinit")) == t))
	file = strcat(axlOSSlash(car(tt)) "/allegro.ilinit")
	port = infile(file)
	while(gets(n0 port)
		when(rexMatchp("load.*FanySkill_main.il\")+" n0)
			InstallPath = car(axlDMFileParts(cadr(parseString(n0 " ()\t\n\""))))
			InstallPath = buildString(reverse(cdr(reverse(parseString(InstallPath "/\\")))) "/")
		)
	)
	close(port)
	FanySkill_global->InstallPath = InstallPath
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_CutClines_Lines_Shapes.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Cline_Cross.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_create_net_silk.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_check_refdes_direction.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Change_WIDTH.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Cline_To_shape.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_check_no_refdes.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Calculator.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_SetGrid.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_ChooseGrid.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_etch_cross_plane.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Color_Setting.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Set_Text.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Change_Origin.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Create_Oblong_Thermal.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Keepout.il") "keepout")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Place_Inside.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/Form/FanySkill_fform.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Export_Device.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Logo.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/Align/align.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/Align/align_do.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/Align/align_utils.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_lnDiffViaAntiPad.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Sig_pack.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_mirror_element.il"))
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/Artwork.il") "Jun")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/FormFunc.il") "Jun")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/DirKeyTool.il") "Jun")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/change_pad.il") "Jun")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/RefdesTool.il") "Jun")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/FormM.il") "Jun")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/Replace_Via.il") "Jun")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/SymbolTool.il") "Jun")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/Change_LayerTool.il") "Jun")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/View_Net_Message.il") "Jun")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/ch_via_net.il") "www.allegro-skill.com")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/Rename_Pin_Number.il") "www.eda365.com")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/x_del_dangling_lv.il") "www.eda365.com")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_quick_danglings.il") )
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/Auto_Create_Match_Group.il") "dzkcool")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/x_align_symbol.il") "deargds")
	load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/add_chinese_eng.ile") "db")
	timerId = axlUIWTimerAdd(nil 1000 t 'FanySkill_menu_load) ;<5000
	axlCmdRegister("FanySkill" 'FanySkill_menu_load ?cmdType "general")
	;axlCmdRegister("FanySkill_ChooseGrid")
	axlTriggerSet('menu 'FanySkill_menu_load)
	FanySkill_HotKey()
	;FanySkill_HotKey_CESC()  ;注释这一行可关闭黄勇老师推荐快捷键定义
	;FanySkill_HotKey_LOEN()
)
)
FanySkill_int()


procedure( FanySkill_install()
let((tt file port)
	tt = setof(x0 getSkillPath() (isFile(strcat(x0 "/allegro.ilinit")) == t))
	file = strcat(axlOSSlash(car(tt)) "/allegro.ilinit")
	port = outfile(file "a")
	fprintf(port "\nload(%L)" strcat(getWorkingDir() "/FanySkill/FanySkill_main.il"))
	close(port)
)
	;axlTriggerSet('menu 'FanySkill_menu_load)
)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值