Hiram-Wong / ZyPlayer

跨平台桌面端视频资源播放器,免费高颜值.
MIT License
5.07k stars 675 forks source link

[新功能需求] 写源工具增加定制函数 #235

Closed hjdhnx closed 2 months ago

hjdhnx commented 4 months ago

这个功能解决了什么问题

方便写源工具快速使用常见的函数实现输入输出

你建议的方案是什么

1.增加表,定制函数。需要字段:名称,参数类型,参数描述,函数代码。参数类型只支持 字符串或着object。技术允许的条件下这张表需要增加导入导出功能。 2.写源工具旁边增加一个定制函数按钮,点击后右侧页面变成简单三个框。 选择框-选择定制函数表里的函数名称,如 gzip加密 参数输入框: 长文本,可以输入待传入的文本参数。内部增加执行按钮。执行后结果输出到下面的文本框。 默认的placeorder值为上一个选择框对应函数的参数描述 结果输出框:长文本,可以输出结果。并且支持复制结果文本

逻辑: 执行函数一般带有main(arg)方法,在main(arg)方法里可以传递arg参数。如果参数类型是字符串,那么把输入框里的内容直接传入。如果参数类型是object,把输入框里的json文本用JSON.parse后再传入调用main

以下是一个gip加密的定制函数 main函数示例: 名称: gzip加密 参数类型: object 参数描述:drpy规则里filter部分的object值,如 {'1':[{key:'xx',name:'xx','value':[]}]} 函数代码: function main(filter){ return gzip(JSON.stringify(filter)) }

执行原理。将输入框里的文本,根据参数类型是object原则,json.parse后传入main方法。得到返回值写到输出框里即可。

实际效果等同于在写源工具里编辑代码区域执行了代码点击初始化然后看日志。

Hiram-Wong commented 4 months ago

常见就这么几个,没必要动态

Hiram-Wong commented 4 months ago

而且自定义的时候,没有相对于的加解密依赖,没有实际意义

hjdhnx commented 4 months ago

而且自定义的时候,没有相对于的加解密依赖,没有实际意义

runMain函数给你封装好了,直接引入drpy3去执行就行。跟初始化差不多。加解密依赖用drpy库的生态就行了,啥都有基本上