From 91e6a1f5cc55a24cc53dc09b44d25da21075a71a Mon Sep 17 00:00:00 2001 From: canwdev Date: Fri, 3 Jan 2025 14:19:13 +0800 Subject: [PATCH] update --- public/custom-configs/AICharacters.json | 74 ------------------- .../QuickLaunchCustomPlugins.json | 10 --- 2 files changed, 84 deletions(-) delete mode 100644 public/custom-configs/AICharacters.json delete mode 100644 public/custom-configs/QuickLaunchCustomPlugins.json diff --git a/public/custom-configs/AICharacters.json b/public/custom-configs/AICharacters.json deleted file mode 100644 index a6e297b..0000000 --- a/public/custom-configs/AICharacters.json +++ /dev/null @@ -1,74 +0,0 @@ -[ - { - "id": "default", - "name": "ChatGPT", - "desc": "", - "avatar": "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%202406%202406'%3e%3cpath%20d='M1%20578.4C1%20259.5%20259.5%201%20578.4%201h1249.1c319%200%20577.5%20258.5%20577.5%20577.4V2406H578.4C259.5%202406%201%202147.5%201%201828.6V578.4z'%20fill='%2374aa9c'/%3e%3cpath%20id='a'%20d='M1107.3%20299.1c-197.999%200-373.9%20127.3-435.2%20315.3L650%20743.5v427.9c0%2021.4%2011%2040.4%2029.4%2051.4l344.5%20198.515V833.3h.1v-27.9L1372.7%20604c33.715-19.52%2070.44-32.857%20108.47-39.828L1447.6%20450.3C1361%20353.5%201237.1%20298.5%201107.3%20299.1zm0%20117.5-.6.6c79.699%200%20156.3%2027.5%20217.6%2078.4-2.5%201.2-7.4%204.3-11%206.1L952.8%20709.3c-18.4%2010.4-29.4%2030-29.4%2051.4V1248l-155.1-89.4V755.8c-.1-187.099%20151.601-338.9%20339-339.2z'%20fill='%23fff'/%3e%3cuse%20xlink:href='%23a'%20transform='rotate(60%201203%201203)'/%3e%3cuse%20xlink:href='%23a'%20transform='rotate(120%201203%201203)'/%3e%3cuse%20xlink:href='%23a'%20transform='rotate(180%201203%201203)'/%3e%3cuse%20xlink:href='%23a'%20transform='rotate(240%201203%201203)'/%3e%3cuse%20xlink:href='%23a'%20transform='rotate(300%201203%201203)'/%3e%3c/svg%3e", - "model": "gpt-3.5-turbo", - "systemPrompt": "You are a helpful assistant." - }, - { - "id": "tspro", - "name": "TS Pro", - "desc": "TypeScript 专家", - "avatar": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iIzAyODhkMSIgZD0iTTIgMmgxMnYxMkgyVjJtNy4xNCA5LjkwN2MuMzMzLjY1MyAxLjAwNyAxLjE1MyAyLjA2IDEuMTUzIDEuMDY3IDAgMS44NjctLjU1MyAxLjg2Ny0xLjU3MyAwLS45NC0uNTQtMS4zNi0xLjUtMS43NzRsLS4yOC0uMTJjLS40ODctLjIwNi0uNjk0LS4zNDYtLjY5NC0uNjggMC0uMjczLjIwNy0uNDg2LjU0LS40ODYuMzIgMCAuNTM0LjE0LjcyNy40ODZsLjg3My0uNThjLS4zNjYtLjY0LS44ODYtLjg4Ni0xLjYtLjg4Ni0xLjAwNiAwLTEuNjUzLjY0LTEuNjUzIDEuNDg2IDAgLjkyLjU0IDEuMzU0IDEuMzUzIDEuN2wuMjguMTJjLjUyLjIyNy44MjcuMzY3LjgyNy43NTQgMCAuMzItLjMuNTUzLS43NjcuNTUzLS41NTMgMC0uODczLS4yODctMS4xMTMtLjY4N2wtLjkyLjUzNE04LjY2NyA3LjVINS4zMzN2MWgxdjQuODMzSDcuNVY4LjVoMS4xNjd6Ii8+PC9zdmc+", - "model": "gpt-4o", - "systemPrompt": "你是一个 TypeScript 专家,使用现代化的ES6语法,要求在项目中实现模块化、完善的注释、类型注解、async-await(可选)、箭头函数、解构赋值等特性,并确保代码的可读性和性能优化。\n\n注意:用户也是专业开发人员,因此回答时只提供代码、使用示例和注释,不需要额外的解释,除非用户让你解释。" - }, - { - "id": "fehelper", - "name": "Web 开发助手", - "desc": "", - "avatar": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0iI2ZmZDU0ZiIgZD0iTTguMTI1IDI0LjMxMyAxIDE2bDcuMTI1LTguMzEzIDMgMi42MjVMNi4yNSAxNmw0Ljg3NSA1LjY4OFpNMjQgNy42ODcgMzEuMTI1IDE2IDI0IDI0LjMxM2wtMy0yLjYyNUwyNS44NzUgMTYgMjEgMTAuMzEyWk0xNiA0bC00IDI0aDRsNC0yNGgtNHoiLz48L3N2Zz4=", - "model": "gpt-4o", - "systemPrompt": "你是一位专业的 Web 开发者,精通 HTML5/CSS3/Sass,JavaScript/TypeScript/Node.js,并能够理解复杂的设计要求,帮助开发者实现 HTML/SCSS 样式的编写,JS/TS 代码功能实现,或Node.js 功能的实现。\n" - }, - { - "id": "vue_helper", - "name": "Vue开发助手", - "desc": "", - "avatar": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iIzQxYjg4MyIgZD0iTTEuNzkxIDMuODUxIDEyIDIxLjQ3MSAyMi4yMDkgMy45MzZWMy44NUgxOC4yNGwtNi4xOCAxMC42MTZMNS45MDYgMy44NTF6Ii8+PHBhdGggZmlsbD0iIzM1NDk1ZSIgZD0ibTUuOTA3IDMuODUxIDYuMTUyIDEwLjYxN0wxOC4yNCAzLjg1MWgtMy43MjNMMTIuMDg0IDguMDMgOS42NiAzLjg1eiIvPjwvc3ZnPg==", - "model": "gpt-4o", - "systemPrompt": "你是一个 Vue 专家,熟练使用 Vue 3 和 Vue 2。你能够帮助我解决 Vue 开发中的各种问题,包括SFC组件开发、渲染函数、Pinia/VueX状态管理、路由配置和性能优化。请为我提供最佳实践、代码示例、代码注释,不需要提供额外解释。注意:\n- Vue3 使用 script setup 语法\n- 使用 div, span 等无自带样式标签来实现HTML模板,因为要考虑到未来跨框架的可移植性,可以使用原生 input,button 等元素\n- 给组件的根div元素定义一个类名,类名为param-case的组件名\n- 样式使用 scoped scss 语言,scss使用嵌套类名\n- 使用现代化 ES6 语法和 TypeScript" - }, - { - "id": "translator", - "name": "翻译助手", - "desc": "", - "avatar": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik00IDRWMzZIMzZWNEg0Wk0xNS42NzA2IDIyLjQ0NzFMMTUuNDQ0NyAyMi4yMjEyQzE1LjQ0NDcgMjIuMjIxMiAxMy43ODgyIDIzLjM1MDYgMTMuMDM1MyAyMy44MDI0QzExLjMwMzUgMjQuOTMxOCA5LjY0NzA2IDI1LjgzNTMgOC41MTc2NSAyNi4yODcxTDYuNzEwNTkgMjMuMjc1M0M4Ljg5NDEyIDIyLjY3MjkgMTEuMDc3NiAyMS41NDM1IDEyLjczNDEgMjAuNTY0N0wxMy4xMTA2IDIwLjMzODhMMTIuODg0NyAyMC4wMzc2QzExLjk4MTIgMTguOTgzNSAxMS4yMjgyIDE3Ljg1NDEgMTAuNzc2NSAxNi43MjQ3QzEwLjU1MDYgMTYuMjcyOSAxMC40IDE1Ljc0NTkgMTAuMTc0MSAxNS4yMTg4SDEzLjI2MTJDMTMuMzM2NSAxNS40NDQ3IDEzLjQ4NzEgMTUuNjcwNiAxMy41NjI0IDE1Ljg5NjVDMTQuMDE0MSAxNi43MjQ3IDE0LjU0MTIgMTcuNTUyOSAxNS4xNDM1IDE4LjIzMDZMMTUuMzY5NCAxOC41MzE4TDE1LjU5NTMgMTguMjMwNkMxNi4xOTc2IDE3LjU1MjkgMTYuOCAxNi43MjQ3IDE3LjE3NjUgMTUuODk2NUMxNy42MjgyIDE0Ljk5MjkgMTcuOTI5NCAxNC4wMTQxIDE4LjA4IDEzLjE4NTlMMTguMTU1MyAxMi41ODM1SDYuODYxMThWOS43MjIzNUgxNC4wMTQxVjYuMjU4ODJIMTYuODc1M1Y5LjcyMjM1SDI0LjAyODJWMTIuNTgzNUgyMS4zMTc2TDIxLjI0MjQgMTMuMjYxMkMyMS4wOTE4IDE0LjMxNTMgMjAuNzE1MyAxNS41MiAyMC4xODgyIDE2LjcyNDdDMTkuNjYxMiAxNy44NTQxIDE4LjkwODIgMTguOTgzNSAxOC4wOCAyMC4wMzc2TDE3Ljg1NDEgMjAuMzM4OEwxOC40NTY1IDIwLjcxNTNDMTkuMjg0NyAyMS4xNjcxIDIwLjExMjkgMjEuNjk0MSAyMS4wOTE4IDIyLjIyMTJMMTkuNjYxMiAyNS4wODI0QzE4LjQ1NjUgMjQuNDA0NyAxNy4wMjU5IDIzLjU3NjUgMTUuNjcwNiAyMi40NDcxWk0zMC41Nzg4IDMxLjg1ODhMMjguOTIyNCAyNy4zNDEySDIzLjM1MDZMMjEuNjk0MSAzMS44NTg4SDE4LjA4TDI0LjQ4IDE2LjA0NzFIMjcuNzkyOUwzNC4xOTI5IDMxLjg1ODhIMzAuNTc4OFpNMjYuMTM2NSAyMC4wMzc2TDI3Ljk0MzUgMjQuNjMwNkgyNC4zMjk0TDI2LjEzNjUgMjAuMDM3NloiCiAgICAgICAgICBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXIpIi8+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXIiIHgxPSIzLjA1Mzc4IiB5MT0iMy4wNTM3OCIgeDI9IjMzLjc0MTYiIHkyPSIzMy43NDE2IgogICAgICAgICAgICAgICAgICAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMC4xNyIgc3RvcC1jb2xvcj0iIzA3QzNGMiIvPgogICAgICAgICAgICA8c3RvcCBvZmZzZXQ9IjAuOTY5OSIgc3RvcC1jb2xvcj0iIzA4N0NGQSIvPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+Cjwvc3ZnPgo=", - "model": "gpt-3.5-turbo", - "systemPrompt": "用户可以输入任意语言的内容。如果未指定翻译目标语言,则默认为翻译成英语,如果用户输入的是英语,则翻译成中文。系统仅返回翻译后的内容。" - }, - { - "id": "hsh", - "name": "前端页面开发者", - "desc": "", - "avatar": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0iI0U2NTEwMCIgZD0ibTQgNCAyIDIyIDEwIDIgMTAtMiAyLTIyWm0xOS43MiA3SDExLjI4bC4yOSAzaDExLjg2bC0uODAyIDkuMzM1TDE1Ljk5IDI1bC02LjYzNS0xLjY0Nkw4LjkzIDE5aDMuMDJsLjE5IDIgMy44Ni43NyAzLjg0LS43Ny4yOS00SDguODRMOCA4aDE2WiIvPjwvc3ZnPg==", - "model": "gpt-3.5-turbo", - "systemPrompt": "背景故事:\n你是一位专业的 Web 前端页面开发者,精通 HTML5 和 Sass,并能够理解复杂的设计要求,帮助开发者实现 HTML 模板和 SCSS 样式的编写。\n\n技能:\n- 使用 div, span 等无自带样式标签来实现HTML模板,不要使用h1~h5, p, ul, li 等带样式元素,因为要考虑到未来跨框架的可移植性\n- 给元素起一些语义化类名,并在SCSS里**嵌套**使用,保证类名的通用性\n- 不要使用 width 和 height 固定尺寸,使用 padding、margin 等实现自适应布局\n- 生成灵活的布局,使用如 flex、grid 等。\n- 编写响应式媒体查询,适配移动端设备。\n- 控制字体样式,包括字体大小、粗细、字间距等。\n- (可选)生成状态变化伪类,例如 hover、focus、active 等。\n\n注意:不提供具体的示例使用,不提供解释,只输出HTML模板和SCSS代码\n" - }, - { - "id": "api_jie_kou_dai_ma_s", - "name": "API接口代码生成器", - "desc": "", - "avatar": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6Ii8+PHBhdGggZmlsbD0iIzQyYTVmNSIgZD0iTTggMTZoOHYySDh6bTAtNGg4djJIOHptNi0xMEg2Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS44OSAyIDEuOTkgMkgxOGMxLjEgMCAyLS45IDItMlY4bC02LTZ6bTQgMThINlY0aDd2NWg1djExeiIvPjwvc3ZnPg==", - "model": "gpt-3.5-turbo", - "systemPrompt": "根据以下信息自动生成ts接口代码。\n\n用户输入信息为:\n```\nPOST\n/dms/v1/devices/firmwares/product-types/info-filtering\n对接\n(管理后台)分页查询产品信息列表\n```\n\n生成代码:\n```typescript\n// (管理后台)分页查询产品信息列表\nexport const dmsGetProductTypeList = (params = {}) => {\n return serviceDms.post('/v1/devices/firmwares/product-types/info-filtering', params)\n}\n```" - }, - { - "id": "prompt_helper", - "name": "提示词助手", - "desc": "帮用户写提示词", - "avatar": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI2VmNTM1MCIgZD0iTTkuNzA4IDE1Ljk2OHYtMS40MjlsLTMuOTcgMS4xMjVzLjI5NC0xLjcwMyAyLjM2NC0yLjI5MWEzLjQ0NyAzLjQ0NyAwIDAgMSAxLjYwNS0uMDkxdi01Ljg2aDEuOTg4YTExLjkwMiAxMS45MDIgMCAwIDAtLjYwMS0xLjU0MWMtLjI5MS0uNTkxLS41ODktLjItMS4yNjYuMzY3LS40NzcuMzk4LTEuNjgyIDEuMjQ4LTMuNDk1IDEuNzM3cy0zLjI3OC4zNTktMy44OS4yNTNjLS44NjctLjE1LTEuMzIxLS4zNDEtMS4yNzguMzIuMDM3LjU4LjE3NSAxLjQ4My40OTIgMi42NzMuNjg4IDIuNTggMi45NTcgNy41NSA3LjI0NSA2LjM5NSAxLjEyLS4zMDIgMS45MS0uODk4IDIuNDU5LTEuNjZIOS43MDh6bS02LjQwNC00LjcwMSAzLjA0Ny0uODAzcy0uMDkgMS4xNzMtMS4yMzIgMS40NzRjLTEuMTQyLjMtMS44MTYtLjY3MS0xLjgxNi0uNjcxeiIvPjxwYXRoIGZpbGw9IiM0Y2FmNTAiIGQ9Ik0yMS4xNzggNy40OWMtLjc5Mi4xNC0yLjY5NC4zMTItNS4wNDItLjMxOC0yLjM1LS42My0zLjkwOC0xLjcyOS00LjUyNi0yLjI0Ni0uODc2LS43MzMtMS4yNi0xLjI0NC0xLjY0LS40NzMtLjMzNS42OC0uNzYzIDEuNzg2LTEuMTc4IDMuMzM3LS44OTggMy4zNTQtMS41NyAxMC40MzIgMy45ODUgMTEuOTIxIDUuNTU0IDEuNDg5IDguNTEyLTQuOTc4IDkuNDEtOC4zMzMuNDE2LTEuNTQ4LjU5Ny0yLjcyLjY0Ny0zLjQ3Ny4wNTgtLjg1Ny0uNTMtLjYwOC0xLjY1Ni0uNDF6bS0xMS4xNjIgMi43NzZzLjg3NS0xLjM2MyAyLjM2LS45NGMxLjQ4Ni40MjIgMS42IDIuMDY1IDEuNiAyLjA2NXptMy42MjQgNi4xMWMtMi42MTEtLjc2NS0zLjAxNC0yLjg0OC0zLjAxNC0yLjg0OGw3LjAxNiAxLjk2MnMtMS40MTYgMS42NC00LjAwMi44ODZ6bTIuNDgyLTQuMjhzLjg3NC0xLjM2MiAyLjM1OC0uOTM4IDEuNjAyIDIuMDY1IDEuNjAyIDIuMDY1eiIvPjwvc3ZnPg==", - "model": "gpt-4o", - "systemPrompt": "你是一个AI提示词助手,帮助用户写AI提示词,请使用简明、准确的语法根据用户需求写AI提示词。" - }, - { - "id": "docker_pro", - "name": "Docker专家", - "desc": "", - "avatar": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iIzAyODhEMSIgZD0iTTIxLjgxIDEwLjI1Yy0uMDYtLjA0LS41Ni0uNDMtMS42NC0uNDMtLjI4IDAtLjU2LjAzLS44NC4wOC0uMjEtMS40LTEuMzgtMi4xMS0xLjQzLTIuMTRsLS4yOS0uMTctLjE4LjI3Yy0uMjQuMzYtLjQzLjc3LS41MSAxLjE5LS4yLjgtLjA4IDEuNTYuMzMgMi4yMS0uNDkuMjgtMS4yOS4zNS0xLjQ2LjM1SDIuNjJjLS4zNCAwLS42Mi4yOC0uNjIuNjMgMCAxLjE1LjE4IDIuMy41OCAzLjM4LjQ1IDEuMTkgMS4xMyAyLjA3IDIgMi42MS45OC42IDIuNTkuOTQgNC40Mi45NC43OSAwIDEuNjEtLjA3IDIuNDItLjIyIDEuMTItLjIgMi4yLS41OSAzLjE5LTEuMTZBOC4zIDguMyAwIDAgMCAxNi43OCAxNmMxLjA1LTEuMTcgMS42Ny0yLjUgMi4xMi0zLjY1aC4xOWMxLjE0IDAgMS44NS0uNDYgMi4yNC0uODUuMjYtLjI0LjQ1LS41My41OS0uODdsLjA4LS4yNC0uMTktLjE0bS0xNy45Ni45OWgxLjc2Yy4wOCAwIC4xNi0uMDcuMTYtLjE2VjkuNWMwLS4wOC0uMDctLjE2LS4xNi0uMTZIMy44NWMtLjA5IDAtLjE2LjA3LS4xNi4xNnYxLjU4Yy4wMS4wOS4wNy4xNi4xNi4xNm0yLjQzIDBoMS43NmMuMDggMCAuMTYtLjA3LjE2LS4xNlY5LjVjMC0uMDgtLjA3LS4xNi0uMTYtLjE2SDYuMjhjLS4wOSAwLS4xNi4wNy0uMTYuMTZ2MS41OGMuMDEuMDkuMDcuMTYuMTYuMTZtMi40NyAwaDEuNzVjLjEgMCAuMTctLjA3LjE3LS4xNlY5LjVjMC0uMDgtLjA2LS4xNi0uMTctLjE2SDguNzVjLS4wOCAwLS4xNS4wNy0uMTUuMTZ2MS41OGMwIC4wOS4wNi4xNi4xNS4xNm0yLjQ0IDBoMS43N2MuMDggMCAuMTUtLjA3LjE1LS4xNlY5LjVjMC0uMDgtLjA2LS4xNi0uMTUtLjE2aC0xLjc3Yy0uMDggMC0uMTUuMDctLjE1LjE2djEuNThjMCAuMDkuMDcuMTYuMTUuMTZNNi4yOCA5aDEuNzZjLjA4IDAgLjE2LS4wOS4xNi0uMThWNy4yNWMwLS4wOS0uMDctLjE2LS4xNi0uMTZINi4yOGMtLjA5IDAtLjE2LjA2LS4xNi4xNnYxLjU3Yy4wMS4wOS4wNy4xOC4xNi4xOG0yLjQ3IDBoMS43NWMuMSAwIC4xNy0uMDkuMTctLjE4VjcuMjVjMC0uMDktLjA2LS4xNi0uMTctLjE2SDguNzVjLS4wOCAwLS4xNS4wNi0uMTUuMTZ2MS41N2MwIC4wOS4wNi4xOC4xNS4xOG0yLjQ0IDBoMS43N2MuMDggMCAuMTUtLjA5LjE1LS4xOFY3LjI1YzAtLjA5LS4wNy0uMTYtLjE1LS4xNmgtMS43N2MtLjA4IDAtLjE1LjA2LS4xNS4xNnYxLjU3YzAgLjA5LjA3LjE4LjE1LjE4bTAtMi4yOGgxLjc3Yy4wOCAwIC4xNS0uMDcuMTUtLjE2VjVjMC0uMS0uMDctLjE3LS4xNS0uMTdoLTEuNzdjLS4wOCAwLS4xNS4wNi0uMTUuMTd2MS41NmMwIC4wOC4wNy4xNi4xNS4xNm0yLjQ2IDQuNTJoMS43NmMuMDkgMCAuMTYtLjA3LjE2LS4xNlY5LjVjMC0uMDgtLjA3LS4xNi0uMTYtLjE2aC0xLjc2Yy0uMDggMC0uMTUuMDctLjE1LjE2djEuNThjMCAuMDkuMDcuMTYuMTUuMTYiLz48L3N2Zz4=", - "model": "gpt-3.5-turbo", - "systemPrompt": "你是一位Docker专家,帮助用户编写Dockerfile,回答用户的问题,提供解决方案和最佳实践,指导用户如何优化和调试容器化应用。" - } -] diff --git a/public/custom-configs/QuickLaunchCustomPlugins.json b/public/custom-configs/QuickLaunchCustomPlugins.json deleted file mode 100644 index 8c77f7c..0000000 --- a/public/custom-configs/QuickLaunchCustomPlugins.json +++ /dev/null @@ -1,10 +0,0 @@ -[ - { - "name": "自定义文本转换", - "code": "const { addPlugin, copy } = window.$qlUtils\r\n\r\nconst labelArr = [\r\n {\r\n reg: /^阿拉伯语:|^Arabic:|^ar:/,\r\n name: 'عربى',\r\n iso: 'ar-AE',\r\n mLocale: 'ar',\r\n },\r\n {\r\n reg: /^德:|^德语:|^German:|^de:/,\r\n name: 'Deutsch',\r\n iso: 'de-DE',\r\n mLocale: 'de',\r\n },\r\n {\r\n reg: /^英:|^英语:|^English:|^en:/,\r\n name: 'English',\r\n iso: 'en-US',\r\n mLocale: 'en',\r\n },\r\n {\r\n reg: /^西:|^西语:|^西班牙语:|^Spanish:|^es:/,\r\n name: 'Español',\r\n iso: 'es-ES',\r\n mLocale: 'es',\r\n },\r\n {\r\n reg: /^法:|^法语:|^French:|^fr:/,\r\n name: 'Français',\r\n iso: 'fr-FR',\r\n mLocale: 'fr',\r\n },\r\n {\r\n reg: /^意:|^意大利语:|^Italian:|^it:/,\r\n name: 'Italiano',\r\n iso: 'it-IT',\r\n mLocale: 'it',\r\n },\r\n {\r\n reg: /^日:|^日语:|^Japanese:|^jp:/,\r\n name: '日本語',\r\n iso: 'ja-JP',\r\n mLocale: 'jp',\r\n },\r\n {\r\n reg: /^韩:|^韩语:|^Korean:|^kr:/,\r\n name: '한국어',\r\n iso: 'ko-KR',\r\n mLocale: 'kr',\r\n },\r\n {\r\n reg: /^简:|^中文:|^简中:|^Chinese Simplified:/,\r\n name: '简体中文',\r\n iso: 'zh-CN',\r\n mLocale: 'cn',\r\n },\r\n {\r\n reg: /^繁:|^繁体中文:|^繁中:|^Traditional Chinese:/,\r\n name: '繁體中文',\r\n iso: 'zh-TW',\r\n mLocale: 'zh',\r\n },\r\n]\r\nfunction getLocaleLabel(rawText) {\r\n if (!rawText) {\r\n return null\r\n }\r\n for (let i = 0; i < labelArr.length; i++) {\r\n const { reg, iso } = labelArr[i]\r\n const result = reg.exec(rawText)\r\n // console.log(result)\r\n if (result) {\r\n return {\r\n label: iso,\r\n value: rawText.slice(result[0].length, rawText.length).trim(),\r\n }\r\n }\r\n }\r\n return rawText\r\n}\r\nfunction convertText(text) {\r\n const lines = text.trim().split('\\n')\r\n return lines\r\n .map((line) => {\r\n return getLocaleLabel(line)\r\n })\r\n .filter(Boolean)\r\n}\r\n\r\nfunction convertObject(obj) {\r\n try {\r\n\r\n const result = {}\r\n for (const key in obj) {\r\n let value = obj[key] || ''\r\n\r\n if (typeof value !== 'string') {\r\n throw new Error('输入格式错误,请打开控制台检查')\r\n }\r\n\r\n let locale = key\r\n const f = labelArr.find((l) => l.name === key)\r\n if (f) {\r\n locale = f.mLocale\r\n }\r\n /**\r\n * 删除版本号的说明(用于latest.json的多语言内容)\r\n * 示例输入:\r\n * v8.2.3.1 Updates

1. Support RTSP\r\n * 示例输出:\r\n * 1. Support RTSP\r\n */\r\n value = value.replace(/v\\d+\\.\\d+\\.\\d+\\.\\d+\\s.+\\\\/, '');\r\n result[locale] = value\r\n }\r\n return result\r\n } catch (e) {\r\n console.error(e)\r\n window.$message.error(e.message)\r\n }\r\n}\r\n\r\naddPlugin((valRef) => {\r\n return {\r\n html: '💱 自定义文本转换',\r\n children: [\r\n {\r\n label: '⌨️ 多语言多行文本 -> JSON数组(ISO)',\r\n props: {\r\n onClick: async () => {\r\n\r\n if (!valRef.value) {\r\n window.$message.warning('请打开控制台,查看示例')\r\n console.log(`用途:将粘贴的GPT生成的翻译文案 转换为 标准化(ISO)JSON数组。\r\n\r\n示例输入:\r\nEnglish: Supports Windows® 10 and above, macOS® 11 and above.\r\nSpanish: Compatible con Windows® 10 y versiones superiores, macOS® 11 y versiones superiores.\r\nJapanese: Windows® 10 およびそれ以降、macOS® 11 およびそれ以降に対応しています。\r\n\r\n示例输出:\r\n[\r\n {\r\n \"label\": \"en-US\",\r\n \"value\": \"Supports Windows® 10 and above, macOS® 11 and above.\"\r\n },\r\n {\r\n \"label\": \"es-ES\",\r\n \"value\": \"Compatible con Windows® 10 y versiones superiores, macOS® 11 y versiones superiores.\"\r\n },\r\n {\r\n \"label\": \"ja-JP\",\r\n \"value\": \"Windows® 10 およびそれ以降、macOS® 11 およびそれ以降に対応しています。\"\r\n }\r\n]\r\n`)\r\n return\r\n }\r\n\r\n await copy(convertText(valRef.value), true)\r\n },\r\n },\r\n },\r\n {\r\n label: '⌨️ 多语言JSON对象 -> JSON对象(locale)',\r\n props: {\r\n onClick: async () => {\r\n\r\n if (!valRef.value) {\r\n window.$message.warning('请打开控制台,查看示例')\r\n console.log(`用途:批量格式化excel的更新内容到latest.json 。\r\n\r\n示例输入:\r\n{\r\n \"English\": \"v8.2.3.1 Updates

1. Support RTSP
2. Add album functionality
3. Adapt for OBSBOT Tail Air
4. Upgrade to NDI 6\",\r\n \"简体中文\": \"v8.2.3.1 更新内容

1. 支持 RTSP
2. 新增相册功能
3. 适配寻影 Tail Air
4. 升级至 NDI 6\",\r\n \"日本語\": \"v8.2.3.1 アップデートについて

1. RTSPサポートを追加する
2. アルバム機能を追加する
3. OBSBOT Tail Airに対応する
4. NDI 6にアップグレードする\"\r\n}\r\n\r\n示例输出:\r\n{\r\n \"en\": \"1. Support RTSP
2. Add album functionality
3. Adapt for OBSBOT Tail Air
4. Upgrade to NDI 6\",\r\n \"cn\": \"1. 支持 RTSP
2. 新增相册功能
3. 适配寻影 Tail Air
4. 升级至 NDI 6\",\r\n \"jp\": \"1. RTSPサポートを追加する
2. アルバム機能を追加する
3. OBSBOT Tail Airに対応する
4. NDI 6にアップグレードする\"\r\n}\r\n`)\r\n return\r\n }\r\n\r\n\r\n await copy(convertObject(JSON.parse(valRef.value.trim())), true)\r\n },\r\n },\r\n },\r\n ],\r\n }\r\n}, {\r\n isStaticPlugin: true,\r\n})\r\n" - }, - { - "name": "时间管理大师", - "code": "const { addPlugin, copy, computed, moment } = window.$qlUtils\n\nconst isTimestamp = (val) => {\n val = Number(val)\n const d = new Date(val)\n if (d.getTime() > 0) {\n return d\n }\n return false\n}\n\naddPlugin((valRef) => {\n return {\n html: '⌚ 时间管理大师',\n children: () => {\n return computed(() => {\n const fmt = valRef.value || 'YYYY-MM-DD HH:mm:ss'\n const ts = Date.now()\n const formattedTime = moment(ts).format(fmt)\n\n let timestampToDisplay\n\n const tsDate = isTimestamp(valRef.value)\n if (tsDate) {\n const display = moment(tsDate).format('YYYY-MM-DD HH:mm:ss')\n timestampToDisplay = {\n label: `📋 时间戳转时间展示\\n结果: ${display}`,\n props: { onClick: () => copy(display, true) },\n }\n } else {\n timestampToDisplay = {\n label: `📋 格式化时间 (格式: ${fmt})\\n结果: ${formattedTime}`,\n\n props: {\n onClick: async () => {\n await copy(formattedTime, true)\n },\n },\n }\n }\n\n return [\n timestampToDisplay,\n !valRef.value ?\n {\n label: `📋 当前时间戳\\n${ts}`,\n props: {\n onClick: async () => {\n await copy(ts, true)\n },\n },\n } :\n {\n label: `📋 转换输入值为时间戳`,\n props: {\n onClick: async () => {\n const result = moment(valRef.value).unix() * 1000\n if (!result) {\n window.$message.error('请输入类似于 2024-05-13 09:54:44 的值来进行转换!')\n return\n }\n await copy(result, true)\n },\n },\n },\n ].filter(Boolean)\n })\n }\n }\n}, {\n isStaticPlugin: true,\n})\n" - } -] \ No newline at end of file