酷代码 AI
菜单
聚合搜索:一个入口掌握所有。点击查看!
全部AI  /  AI写代码神器
服务商

//<script> (() => { const checkAdvanceFunc = async () => { const res = await runShellWithRoot('whoami') if (res.content) { if (res.content.includes('root')) { return true } } return false } const btn_enabled = document.createElement('button') btn_enabled.textContent = "安装🐱🐱" let disabled_btn_enabled = false btn_enabled.onclick = async (e) => { if (disabled_btn_enabled) return disable

你的代码整体逻辑清晰,功能完整,实现了安装与卸载 Clash 插件的核心流程。以下是一些优化建议和潜在问题点: --- ✅ 优点 1. 结构清晰:按钮事件绑定、异步操作处理得当。 2. 错误提示完善:每个步骤都有对应的 toast 提示,用户体验良好。 3. 安全性判断:使用 `checkAdvanceFunc()` 判断是否具备 root 权限。 --- 🛠️ 可以优化的点 1. 重复调用 checkAdvanceFunc() 你两次点击按钮都会重新执行 `checkAdvanceFunc()`,可以考虑在脚本加载时缓存一次权限状态,避免重复调用浪费资源。 ```js let hasRootAccess = null; const checkAdvanceFunc = async () => { if (hasRootAccess !== null) return hasRootAccess; const res = await runShellWithRoot('whoami'); hasRootAccess = res.content?.includes('root') ?? false; return hasRootAccess; } ``` 2. 路径硬编码 路径 `/data/clash`、`/sdcard/ufi_tools_boot.sh` 等多次出现,建议提取为常量变量,便于维护。 ```js const PATH_CLASH_DIR = '/data/clash'; const PATH_BOOT_SCRIPT = '/sdcard/ufi_tools_boot.sh'; ``` 3. 字符串拼接命令存在注入风险 虽然当前是内部使用,但如果你计划开放给更多用户或长期维护,建议对命令参数做一定校验,防止 shell 注入。 4. 未处理网络中断情况 下载阶段如果遇到断网等情况,没有重试机制,可以考虑增加一个简单的重试逻辑。 ```js async function downloadWithRetry(url, output, retries = 3) { for (let i = 0; i < retries; i++) { const res = await runShellWithRoot(`/data/data/com.minikano.f50_sms/files/curl -L ${url} -o ${output}`); if (res.success) return res; if (i < retries - 1) createToast(`第${i + 1}次下载失败,正在重试...`); } return { success: false }; } ``` 然后替换原来下载部分: ```js const res1 = await downloadWithRetry( 'https://pan.kanokano.cn/d/UFI-TOOLS-UPDATE/plugins/mihomo.zip', '/data/kano_clash.zip' ); ``` 5. Toast 输出日志信息过长 输出 `${res6.content}` 可能包含大量文本,影响页面渲染性能。建议截取前若干字符或只显示关键信息。 --- 🔍 其他注意事项(非代码问题) 1. 下载地址是否稳定?可否提供备用源? 2. 是否考虑支持配置文件自动更新? 3. 是否考虑加入 clash 内核版本检测及升级功能? --- 如果你希望我进一步封装成模块化函数或生成完整的独立插件安装脚本,请告诉我。 [2025-07-08 23:25:05 | AI写代码神器 | 664点数解答]

热门AI查看更多
“AI写代码神器”擅长各种语言编程、解释代码、注解补充。 在这里填写你的问题。如:写出java冒泡排序算法。
一个入口掌握所有。 在这输入任何问题,或者要AI输出的内容。
将阿拉伯数字转为人明币大写,如:数字1000转换为壹仟。
AI生成爆文标题,能够快速创作出极具吸引力的标题,促使短视频、自媒体文章的点击率与阅读量迅猛攀升。 此处填写一个原始标题,如:一般人怎样打理自身的社交圈?
AI生成新闻评论。 在这里填入新闻内容。
AI生成内容摘要。 在此处填入需要生成摘要的内容,还可以输入4000字。
AI生成主持词,擅长团建、年会、婚礼、节日等场合的主持词编写。 在这里填入主持场景,如:运动会
AI快速生成周报、月报、日报、年终总结等各类总结报告。 在这里简单输入工作目标、指标、成果,没有任何格式或特殊需求。如:计划年销售业绩1000万,实际完成800万。
输入一个字,显示以这个字开头的歇后语
输入一个字,显示以这个字开头的成语
极速在线生成证件照
极速更换证件照红、蓝、白底色
实用工具查看更多
阿里云99元2核2G服务器/年,199元2核4G服务器随心买。
今日油价 [生活类]
全国各省油价,实时更新。
图片互转base64 [开发类]
将图片转换为Base64编码,可以让你很方便地在没有上传文件的条件下将图片插入其它的网页、编辑器中。 这对于一些小的图片是极为方便的,因为你不需要再去寻找一个保存图片的地方。
时间转换器 [开发类]
时间戳转换器,时间、毫秒、秒、倒计时查看
录入名字、电话、邮箱、个人介绍信息,生成二维码,可通过此码扫码添加微信联系人
数独游戏 [娱乐类]
数独(Sudoku)是经典的9x9数字逻辑谜题。在有81个小格的九宫格内,玩家依据初始数字推理填入1 - 9的数字,要保证每行、每列以及每个3x3宫格中的数字都不重复。这款在线数独游戏有多难度可选,没有头绪时,可以点开答案看一下哦^_^
经典推箱子 [娱乐类]
基于H5的经典推箱子小游戏,锻炼玩家的眼力和反应力,非常不错
AI摸鱼五子棋 [娱乐类]
基于H5的五子棋人机对练,锻炼玩家的眼力和反应力,非常不错
相关提问