提交 e22b54bf 作者: 毛细亚

发送游戏样式修改完成

上级 e9099ce1
...@@ -23,7 +23,7 @@ alwaysApply: false ...@@ -23,7 +23,7 @@ alwaysApply: false
- [public/](mdc:public):静态资源目录,供打包时复制到最终输出。 - [public/](mdc:public):静态资源目录,供打包时复制到最终输出。
- [package.json](mdc:package.json):项目依赖和脚本配置。 - [package.json](mdc:package.json):项目依赖和脚本配置。
- [README.md](mdc:README.md):项目说明文档。 - [README.md](mdc:README.md):项目说明文档。
如需详细了解某一目录或文件,可参考上述路径。 如需详细了解某一目录或文件,可参考上述路径。
...@@ -35,6 +35,7 @@ alwaysApply: false ...@@ -35,6 +35,7 @@ alwaysApply: false
- 使用 element-ui 2.15.6 作为 UI 库 - 使用 element-ui 2.15.6 作为 UI 库
- axios 请求 api - axios 请求 api
- 基于企业微信 新版本 jssdk 来进行开发 企业微信的变量是 `ww` - 基于企业微信 新版本 jssdk 来进行开发 企业微信的变量是 `ww`
- 使用 pnpm 作为包管理工具 安装命令都使用 pnpm
# 开发规范 # 开发规范
- 组件命名规范 - 组件命名规范
- Props类型声明 Props 尽量用规范的写法 并且声明默认值 - Props类型声明 Props 尽量用规范的写法 并且声明默认值
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
- 使用 element-ui 2.15.6 作为 UI 库 - 使用 element-ui 2.15.6 作为 UI 库
- axios 请求 api - axios 请求 api
- 基于企业微信 新版本 jssdk 来进行开发 企业微信的变量是 `ww` - 基于企业微信 新版本 jssdk 来进行开发 企业微信的变量是 `ww`
- 使用 pnpm 作为包管理工具 安装命令都使用 pnpm
## 开发规范 ## 开发规范
- 组件命名规范 - 组件命名规范
- Props类型声明 Props 尽量用规范的写法 并且声明默认值 - Props类型声明 Props 尽量用规范的写法 并且声明默认值
......
# Stagewise 工具栏集成文档
## 概述
Stagewise 是一个浏览器工具栏,可以连接前端 UI 到代码编辑器中的 AI 代理。它允许开发人员在网页应用中选择元素,添加注释,并让 AI 代理根据上下文进行代码修改。
## 集成方式
Stagewise 工具栏已经集成到项目中,并且只在开发环境下启用。集成代码位于 `src/main.js` 文件中:
```javascript
// 开发环境下初始化 stagewise 工具栏
if (process.env.NODE_ENV === 'development') {
import('@stagewise/toolbar').then(({ initToolbar }) => {
const stagewiseConfig = {
plugins: []
};
initToolbar(stagewiseConfig);
}).catch(err => {
console.error('Failed to initialize stagewise toolbar:', err);
});
}
```
## 使用方法
1. 在开发环境下启动应用(`pnpm dev` 或相应的开发命令)
2. 打开浏览器访问应用
3. Stagewise 工具栏将自动显示在浏览器中
4. 使用工具栏可以:
- 选择页面上的元素
- 添加注释和改进建议
- 将这些建议发送到您的代码编辑器中的 AI 代理
## 连接到 IDE
为了使 Stagewise 工具栏能够与您的代码编辑器通信,您需要:
1. 打开您的 IDE(Cursor、Windsurf 等)
2. 安装 Stagewise 扩展
- 在 Cursor 中,搜索扩展市场中的 "stagewise"
- 在 VSCode 中,访问扩展市场并搜索 "stagewise"
3. 确保扩展已激活
4. 在浏览器中的 Stagewise 工具栏上点击"刷新"或"重新连接"按钮
5. 如果成功连接,工具栏将显示已连接状态
## 注意事项
- Stagewise 工具栏仅在开发环境中可用,不会包含在生产构建中
- 如果需要配置更多插件,可以修改 `stagewiseConfig` 对象中的 `plugins` 数组
- 更多信息请参考 [Stagewise 官方文档](https://stagewise.ai)
- IDE扩展和浏览器工具栏必须同时运行才能正常工作
## 故障排除
如果 Stagewise 工具栏没有正确显示,请检查:
1. 确认应用是在开发模式下运行
2. 检查浏览器控制台是否有任何错误消息
3. 确认 `@stagewise/toolbar` 包已正确安装
4. 尝试清除浏览器缓存后重新加载页面
如果工具栏显示但无法连接到IDE:
1. 确认IDE中的Stagewise扩展已安装并激活
2. 确认您的IDE和浏览器都在运行
3. 在工具栏中点击"刷新"按钮
4. 尝试重启IDE和浏览器
5. 检查是否有防火墙或网络设置阻止了连接
\ No newline at end of file
...@@ -36,6 +36,8 @@ ...@@ -36,6 +36,8 @@
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.12.16", "@babel/core": "^7.12.16",
"@stagewise/toolbar": "^0.4.4",
"@stagewise/toolbar-vue": "^0.4.4",
"@vue/cli-plugin-babel": "~5.0.0", "@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-router": "~5.0.0", "@vue/cli-plugin-router": "~5.0.0",
"@vue/cli-plugin-vuex": "~5.0.0", "@vue/cli-plugin-vuex": "~5.0.0",
......
...@@ -60,8 +60,8 @@ importers: ...@@ -60,8 +60,8 @@ importers:
specifier: ^0.8.1 specifier: ^0.8.1
version: 0.8.1 version: 0.8.1
qrcode.vue: qrcode.vue:
specifier: ^3.6.0 specifier: ^1.7.0
version: 3.6.0(vue@2.7.16) version: 1.7.0(vue@2.7.16)
sass: sass:
specifier: ^1.89.0 specifier: ^1.89.0
version: 1.89.0 version: 1.89.0
...@@ -84,6 +84,12 @@ importers: ...@@ -84,6 +84,12 @@ importers:
'@babel/core': '@babel/core':
specifier: ^7.12.16 specifier: ^7.12.16
version: 7.27.1 version: 7.27.1
'@stagewise/toolbar':
specifier: ^0.4.4
version: 0.4.4
'@stagewise/toolbar-vue':
specifier: ^0.4.4
version: 0.4.4(vue@2.7.16)
'@vue/cli-plugin-babel': '@vue/cli-plugin-babel':
specifier: ~5.0.0 specifier: ~5.0.0
version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(node-sass@4.14.1)(sass@1.89.0)(webpack@5.99.8))(vue-template-compiler@2.7.16)(vue@2.7.16)(webpack-sources@3.2.3))(core-js@3.42.0)(vue@2.7.16) version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(node-sass@4.14.1)(sass@1.89.0)(webpack@5.99.8))(vue-template-compiler@2.7.16)(vue@2.7.16)(webpack-sources@3.2.3))(core-js@3.42.0)(vue@2.7.16)
...@@ -803,6 +809,14 @@ packages: ...@@ -803,6 +809,14 @@ packages:
'@soda/get-current-script@1.0.2': '@soda/get-current-script@1.0.2':
resolution: {integrity: sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==} resolution: {integrity: sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==}
'@stagewise/toolbar-vue@0.4.4':
resolution: {integrity: sha512-0+r8SGExjz3+A64aMGgbg0clESg6yxZPwlO1aY+3bIwBjE+F/V3MetRE+5b7AuRKqEoz8GUXnll5O/zHIL+I3Q==}
peerDependencies:
vue: '>=3.0.0'
'@stagewise/toolbar@0.4.4':
resolution: {integrity: sha512-hVxGqeYFx780m9SIv+YqhHx4o/fq94pMwr8OoemOCyOKozCGkvSIjpqkONvUyY5yWR+AVcop2p79LsSTdA6Etw==}
'@trysound/sax@0.2.0': '@trysound/sax@0.2.0':
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
...@@ -4265,10 +4279,10 @@ packages: ...@@ -4265,10 +4279,10 @@ packages:
(For a CapTP with native promises, see @endo/eventual-send and @endo/captp) (For a CapTP with native promises, see @endo/eventual-send and @endo/captp)
qrcode.vue@3.6.0: qrcode.vue@1.7.0:
resolution: {integrity: sha512-vQcl2fyHYHMjDO1GguCldJxepq2izQjBkDEEu9NENgfVKP6mv/e2SU62WbqYHGwTgWXLhxZ1NCD1dAZKHQq1fg==} resolution: {integrity: sha512-R7t6Y3fDDtcU7L4rtqwGUDP9xD64gJhIwpfjhRCTKmBoYF6SS49PIJHRJ048cse6OI7iwTwgyy2C46N9Ygoc6g==}
peerDependencies: peerDependencies:
vue: ^3.0.0 vue: ^2.0.0
qs@6.13.0: qs@6.13.0:
resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
...@@ -6261,6 +6275,13 @@ snapshots: ...@@ -6261,6 +6275,13 @@ snapshots:
'@soda/get-current-script@1.0.2': {} '@soda/get-current-script@1.0.2': {}
'@stagewise/toolbar-vue@0.4.4(vue@2.7.16)':
dependencies:
'@stagewise/toolbar': 0.4.4
vue: 2.7.16
'@stagewise/toolbar@0.4.4': {}
'@trysound/sax@0.2.0': {} '@trysound/sax@0.2.0': {}
'@types/body-parser@1.19.5': '@types/body-parser@1.19.5':
...@@ -10356,7 +10377,7 @@ snapshots: ...@@ -10356,7 +10377,7 @@ snapshots:
q@1.5.1: q@1.5.1:
optional: true optional: true
qrcode.vue@3.6.0(vue@2.7.16): qrcode.vue@1.7.0(vue@2.7.16):
dependencies: dependencies:
vue: 2.7.16 vue: 2.7.16
......
...@@ -81,10 +81,10 @@ export default { ...@@ -81,10 +81,10 @@ export default {
path: '/giftRecord' path: '/giftRecord'
}, },
{ // {
label: '任务记录', // label: '任务记录',
path: '/taskRecord' // path: '/taskRecord'
}, // },
{ {
label: '申请记录', label: '申请记录',
path: '/applyRecord' path: '/applyRecord'
......
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>安卓</title>
<g id="企微客户端应用" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="发送游戏" transform="translate(-1144, -363)" fill-rule="nonzero">
<g id="4.数据展示/10.Popover气泡卡片/上左⬇️" transform="translate(1132, 287)">
<g id="编组-10备份-2" transform="translate(0, 60)">
<g id="安卓" transform="translate(12, 16)">
<rect id="矩形" fill="#323335" opacity="0" x="0" y="0" width="16" height="16"></rect>
<g id="编组" transform="translate(2.223, 1.0636)" fill="#93C85C">
<path d="M2.31100462,10.4052376 C2.31100462,10.7232376 2.57100462,10.9832376 2.88900462,10.9832376 L3.46600462,10.9832376 L3.46600462,13.0062376 C3.46600462,13.4847924 3.85394989,13.8727376 4.33250462,13.8727376 C4.81105936,13.8727376 5.19900462,13.4847924 5.19900462,13.0062376 L5.19900462,10.9832376 L6.35500462,10.9832376 L6.35500462,13.0062376 C6.35500462,13.4847924 6.74294989,13.8727376 7.22150462,13.8727376 C7.70005936,13.8727376 8.08800462,13.4847924 8.08800462,13.0062376 L8.08800462,10.9832376 L8.66500462,10.9832376 C8.98376958,10.9821403 9.24190731,10.7240026 9.24300462,10.4052376 L9.24300462,4.62823765 L2.31100462,4.62823765 L2.31100462,10.4062376 L2.31100462,10.4052376 Z M0.867004622,4.62823765 C0.636899047,4.62770499 0.416064587,4.71887832 0.253354938,4.88158796 C0.09064529,5.04429761 -0.000528032368,5.26513207 2.30072207e-06,5.49523765 L2.30072207e-06,9.53823765 C2.30072207e-06,10.0167924 0.387949886,10.4047376 0.866504622,10.4047376 C1.34505936,10.4047376 1.73300694,10.0167924 1.73300694,9.53823765 L1.73300694,5.49423765 C1.73353641,5.26430567 1.64250019,5.04362343 1.48000714,4.88094274 C1.31751409,4.71826206 1.09693706,4.62697121 0.867004622,4.62723707 L0.867004622,4.62823765 Z M10.6870046,4.62823765 C10.4570722,4.62797121 10.2364952,4.71926206 10.0740021,4.88194274 C9.91150905,5.04462343 9.82047283,5.26530567 9.8210023,5.49523765 L9.8210023,9.53823765 C9.8210023,10.0167924 10.2089499,10.4047376 10.6875046,10.4047376 C11.1660594,10.4047376 11.5540069,10.0167924 11.5540069,9.53823765 L11.5540069,5.49423765 C11.5545373,5.26413207 11.463364,5.04329761 11.3006543,4.88058796 C11.1379447,4.71787832 10.9171102,4.62670499 10.6870046,4.62723533 L10.6870046,4.62823765 Z M7.81700462,1.25323765 L8.57000462,0.499237647 C8.64738311,0.427522384 8.67935601,0.319238135 8.6533421,0.216994377 C8.62732819,0.114750619 8.54749165,0.0349140831 8.44524789,0.00890016922 C8.34300413,-0.0171137447 8.23471988,0.0148591565 8.16300462,0.092237647 L7.30800462,0.944237647 C6.34087286,0.463540973 5.20419506,0.464651733 4.23800462,0.947237647 L3.38000462,0.089237647 C3.30730107,0.0163554622 3.20123804,-0.0122035721 3.10176845,0.0143184562 C3.00229885,0.0408404846 2.92453449,0.118414248 2.89776844,0.217818461 C2.8710024,0.317222673 2.89930107,0.423355468 2.97200462,0.496237647 L3.72900462,1.25323765 C2.83823676,1.9068514 2.31172461,2.94539476 2.31100462,4.05023765 L9.24300462,4.05023765 C9.24300462,2.90023765 8.68000462,1.88323765 7.81600462,1.25323765 L7.81700462,1.25323765 Z M4.62100462,2.89323765 L4.04300462,2.89323765 L4.04300462,2.31623765 L4.62100462,2.31623765 L4.62100462,2.89323765 Z M7.50900462,2.89323765 L6.93100462,2.89323765 L6.93100462,2.31623765 L7.50900462,2.31623765 L7.50900462,2.89323765 Z" id="形状"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>H5</title>
<g id="企微客户端应用" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="发送游戏" transform="translate(-1144, -303)" fill-rule="nonzero">
<g id="4.数据展示/10.Popover气泡卡片/上左⬇️" transform="translate(1132, 287)">
<g id="H5" transform="translate(12, 16)">
<rect id="矩形" fill="#323335" opacity="0" x="0" y="0" width="16" height="16"></rect>
<path d="M2.133,1.333 L3.2,13.333 L7.993,14.667 L12.8,13.333 L13.867,1.333 L2.133,1.333 L2.133,1.333 Z M11.367,5.107 L5.7,5.107 L5.873,7.02 L11.2,7.02 L10.827,11.18 L8,11.96 L5.173,11.173 L5,9.227 L6.067,9.227 L6.167,10.36 L8,10.853 L8.053,10.84 L9.827,10.36 L10.027,8.093 L4.893,8.093 L4.533,4.04 L11.467,4.04 L11.367,5.107 L11.367,5.107 Z" id="形状" fill="#CC337D" opacity="0.99"></path>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>iOS</title>
<g id="企微客户端应用" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="发送游戏" transform="translate(-1144, -423)" fill-rule="nonzero">
<g id="4.数据展示/10.Popover气泡卡片/上左⬇️" transform="translate(1132, 287)">
<g id="编组-10备份-4" transform="translate(0, 120)">
<g id="iOS" transform="translate(12, 16)">
<rect id="矩形" fill="#323335" opacity="0" x="0" y="0" width="16" height="16"></rect>
<path d="M13.2677706,11.0140014 C13.2507706,11.0640014 12.9977706,11.9500014 12.3727706,12.8610014 C11.8327706,13.6470014 11.2737706,14.4390014 10.3917706,14.4530014 C9.52377064,14.4680014 9.24577064,13.9350014 8.25577064,13.9350014 C7.26577064,13.9350014 6.95577064,14.4390014 6.13577064,14.4680014 C5.28677064,14.5030014 4.63577064,13.6100014 4.09277064,12.8280014 C2.98377064,11.2250014 2.13077064,8.28700144 3.27577064,6.31800144 C3.83877064,5.33200144 4.85077064,4.70600144 5.95277064,4.68900144 C6.78277064,4.67300144 7.57377064,5.25200144 8.07877064,5.25200144 C8.59677064,5.25200144 9.55277064,4.55200144 10.5617706,4.65700144 C10.9837706,4.67500144 12.1647706,4.83300144 12.9257706,5.93700144 C12.8657706,5.97700144 11.5127706,6.77600144 11.5277706,8.40100144 C11.5477706,10.3640014 13.2487706,11.0070014 13.2677706,11.0140014 M9.90177064,3.60500144 C10.3557706,3.05100144 10.6547706,2.28800144 10.5767706,1.53100144 C9.92677064,1.55600144 9.13577064,1.96200144 8.66577064,2.51300144 C8.24977064,2.99500144 7.88377064,3.76900144 7.98577064,4.51800144 C8.70677064,4.56200144 9.44877064,4.14000144 9.90177064,3.60500144" id="形状" fill="#A995FF"></path>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><circle fill="#111" cx="8" cy="8" r="8"/><path d="M4.295 10.035a3.095 3.095 0 0 1 3.091-3.092v1.855c-.682 0-1.236.554-1.236 1.237 0 .607.328 1.26 1.05 1.26.048 0 1.176-.01 1.176-.97v-7.03h1.976c.002.923.75 1.67 1.673 1.671l-.001 1.852a3.433 3.433 0 0 1-1.793-.49v3.998c0 1.835-1.562 2.825-3.032 2.825-1.655 0-2.904-1.34-2.904-3.116Z" fill="#FF4040" fill-rule="nonzero"/><path d="M3.8 9.54a3.095 3.095 0 0 1 3.092-3.092v1.855A1.239 1.239 0 0 0 5.655 9.54c0 .607.329 1.261 1.05 1.261.048 0 1.176-.011 1.176-.97V2.8h1.977c.002.923.75 1.67 1.673 1.672l-.002 1.851a3.433 3.433 0 0 1-1.792-.489l-.001 3.997c0 1.835-1.562 2.825-3.031 2.825-1.656 0-2.905-1.34-2.905-3.116Z" fill="#00F5FF" fill-rule="nonzero"/><path d="M6.892 6.98c-1.996.254-3.575 2.8-1.937 5.09 1.513 1.238 4.697.519 4.785-2.16l-.002-4.074a3.52 3.52 0 0 0 1.796.486V4.889a1.822 1.822 0 0 1-.916-.689 1.7 1.7 0 0 1-.687-.91H8.377l-.002 7.056c0 .986-1.646 1.337-2.063.38-1.046-.5-.81-2.4.582-2.42L6.892 6.98Z" fill="#FFF" fill-rule="nonzero"/></g></svg>
\ No newline at end of file
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path data-follow-fill="#5BCA54" fill-rule="evenodd" fill="#5BCA54" d="M7.687.001c3.998-.062 6.559 2.18 7.726 4.952.79 1.875.779 4.28-.01 6.15-.954 2.258-2.757 3.88-5.235 4.614-.542.16-1.119.188-1.752.283l-.794-.01-.85-.077c-.65-.127-1.245-.284-1.784-.512-2.237-.944-3.862-2.622-4.614-5.05C.088 9.427-.13 8.043.091 6.858c.1-.533.192-1.05.37-1.513.9-2.333 2.471-3.964 4.8-4.865.467-.18.984-.287 1.523-.392l.903-.087ZM9.926 4c-.276.103-.579.082-.825.177-.931.36-1.538.965-1.747 2.034-.067.343.024.743-.036 1.124v2.081c.05.78-.033 1.435-.461 1.75-.877.646-1.967.314-2.317-.555-.053-.131-.134-.326-.097-.533.086-.488.455-.783.861-.957.267-.116.64-.225.74-.497.159-.428-.265-.828-.594-.887-.435-.079-1.041.326-1.286.485-.445.287-.857.611-1.068 1.123-.093.225-.121.562-.073.852.185 1.098.562 1.81 1.359 2.294 1.702 1.035 3.67-.125 4.21-1.467.133-.332.09-.74.157-1.17v-2.59c0-.328-.031-.71.049-.97.086-.28.266-.521.497-.662.845-.516 1.93-.192 2.244.556.055.128.137.323.097.532-.177.935-1.37.883-1.637 1.62-.053.146-.005.3.048.402.218.418.775.435 1.262.248 1.103-.423 2.151-1.993 1.48-3.512-.422-.954-1.45-1.482-2.863-1.478Z"/></svg>
...@@ -23,6 +23,19 @@ import permission from '@/directive/permission/index.js' // 权限判断指令 ...@@ -23,6 +23,19 @@ import permission from '@/directive/permission/index.js' // 权限判断指令
Vue.use(globalComponent).use(permission).use(clickagain).use(loadmore) Vue.use(globalComponent).use(permission).use(clickagain).use(loadmore)
// 导入 VConsole 清理工具 // 导入 VConsole 清理工具
import '@/utils/vconsoleCleanup' import '@/utils/vconsoleCleanup'
// 开发环境下初始化 stagewise 工具栏
if (process.env.NODE_ENV === 'development') {
import('@stagewise/toolbar').then(({ initToolbar }) => {
const stagewiseConfig = {
plugins: []
};
initToolbar(stagewiseConfig);
}).catch(err => {
console.error('Failed to initialize stagewise toolbar:', err);
});
}
// 开发环境不收集日志 // 开发环境不收集日志
if (process.env.NODE_ENV !== 'development') { if (process.env.NODE_ENV !== 'development') {
errorHandle.onload() errorHandle.onload()
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
ref="taskForm" ref="taskForm"
:model="terminaForm" :model="terminaForm"
class="taskForm" class="taskForm"
label-position="top"
label-width="85px" label-width="85px"
> >
<el-form-item label="审批状态"> <el-form-item label="审批状态">
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
<el-form <el-form
ref="taskForm" ref="taskForm"
:model="terminaForm" :model="terminaForm"
label-position="top"
class="terminaListForm" class="terminaListForm"
label-width="85px" label-width="85px"
> >
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
>新增误操作</el-button> >新增误操作</el-button>
</div> </div>
<div class="filterList"> <div class="filterList">
<div class="rowFlex columnCenter" style="margin-top:10px;"> <div class=" columnCenter" style="margin-top:10px;">
角色名称: 角色名称:
<searchSelect :account-change="accountChange" style="margin-left:4px;width:70%;" placeholder="请输入角色名称" @result="selectResult" /> <searchSelect :account-change="accountChange" style="margin-left:4px;width:70%;" placeholder="请输入角色名称" @result="selectResult" />
</div> </div>
......
...@@ -12,8 +12,17 @@ ...@@ -12,8 +12,17 @@
<!-- 转端 --> <!-- 转端 -->
<el-collapse v-if="activeName == '1' && conversionGameList.length > 0" :disabled="disabled" <el-collapse v-if="activeName == '1' && conversionGameList.length > 0" :disabled="disabled"
@change="conversionChangeOld"> @change="conversionChangeOld">
<el-collapse-item v-for="(item, index) in conversionGameList" :key="index" :title="item.game_text" <el-collapse-item v-for="(item, index) in conversionGameList" :key="index" :name="item.game_type">
:name="item.game_type"> <template slot="title">
<div class="title-with-icon">
<img v-if="item.game_type == 1" src="@/assets/icon/wxgame.svg" class="game-icon" alt="微信小游戏">
<img v-else-if="item.game_type == 5" src="@/assets/icon/douyin.svg" class="game-icon" alt="抖音小游戏">
<img v-else-if="item.game_type == 3" src="@/assets/icon/Android.svg" class="game-icon" alt="安卓游戏">
<img v-else-if="item.game_type == 4" src="@/assets/icon/IOS.svg" class="game-icon" alt="IOS游戏">
<img v-else-if="item.game_type == 2" src="@/assets/icon/H5.svg" class="game-icon" alt="H5游戏">
{{ item.game_text }}
</div>
</template>
<div v-if="item.children && item.children.length > 0"> <div v-if="item.children && item.children.length > 0">
<div v-for="(items, indexs) in item.children" :key="indexs" <div v-for="(items, indexs) in item.children" :key="indexs"
class="gameListItem rowFlex columnCenter spaceBetween"> class="gameListItem rowFlex columnCenter spaceBetween">
...@@ -50,8 +59,17 @@ ...@@ -50,8 +59,17 @@
<el-button v-if='false' type="primary" style="margin-left:50px;" :loading="sendLoading" <el-button v-if='false' type="primary" style="margin-left:50px;" :loading="sendLoading"
@click="sendTaskChannel">根据任务一键发送链接</el-button> @click="sendTaskChannel">根据任务一键发送链接</el-button>
<el-collapse :disabled="disabled" @change="recallChange"> <el-collapse :disabled="disabled" @change="recallChange">
<el-collapse-item v-for="(item, index) in recallGameList" :key="index" :title="item.game_text" <el-collapse-item v-for="(item, index) in recallGameList" :key="index" :name="item.game_type">
:name="item.game_type"> <template slot="title">
<div class="title-with-icon">
<img v-if="item.game_type == 1" src="@/assets/icon/wxgame.svg" class="game-icon" alt="微信小游戏">
<img v-else-if="item.game_type == 5" src="@/assets/icon/douyin.svg" class="game-icon" alt="抖音小游戏">
<img v-else-if="item.game_type == 3" src="@/assets/icon/Android.svg" class="game-icon" alt="安卓游戏">
<img v-else-if="item.game_type == 4" src="@/assets/icon/IOS.svg" class="game-icon" alt="IOS游戏">
<img v-else-if="item.game_type == 2" src="@/assets/icon/H5.svg" class="game-icon" alt="H5游戏">
{{ item.game_text }}
</div>
</template>
<div v-if="item.children && item.children.length > 0"> <div v-if="item.children && item.children.length > 0">
<div v-for="(items, indexs) in item.children" :key="indexs" <div v-for="(items, indexs) in item.children" :key="indexs"
class="gameListItem rowFlex columnCenter spaceBetween"> class="gameListItem rowFlex columnCenter spaceBetween">
...@@ -85,7 +103,25 @@ ...@@ -85,7 +103,25 @@
@keydown.enter.native="changeGameText" @blur="changeGameText"> @keydown.enter.native="changeGameText" @blur="changeGameText">
<i slot="prefix" class="el-input__icon el-icon-search"></i> <i slot="prefix" class="el-input__icon el-icon-search"></i>
</el-input> </el-input>
<el-collapse-item v-for="(item, index) in regGameList" :key="index" :title="item.label"> <el-collapse-item v-for="(item, index) in regGameList" :key="index" :name="item.label">
<template slot="title">
<div class="title-with-icon">
<img v-if="item.label.includes('微信')" src="@/assets/icon/wxgame.svg" class="game-icon" alt="微信小游戏">
<img v-else-if="item.label.includes('抖音')" src="@/assets/icon/douyin.svg" class="game-icon" alt="抖音小游戏">
<img v-else-if="item.label.includes('安卓')" src="@/assets/icon/Android.svg" class="game-icon" alt="安卓游戏">
<img v-else-if="item.label.includes('IOS') || item.label.includes('iOS') || item.label.includes('ios')" src="@/assets/icon/IOS.svg" class="game-icon" alt="IOS游戏">
<img v-else-if="item.label.includes('H5') || item.label.includes('h5')" src="@/assets/icon/H5.svg" class="game-icon" alt="H5游戏">
{{ item.label }}
</div>
</template>
<!--
title 上要加入 游戏类型的 icon 和游戏名称 游戏的 icon 在 assets/icon 文件夹下
微信小游戏 item.game_type == 1 icon 是 wxgame.svg
抖音小游戏 item.game_type == 5 icon 是 douyin.svg
安卓游戏 item.game_type == 3 icon 是 Android.svg
IOS游戏 item.game_type == 4 icon 是 IOS.svg
H5游戏 item.game_type == 2 icon 是 H5.svg
-->
<div v-if="regGameList.length > 0"> <div v-if="regGameList.length > 0">
<div v-for="(items, indexs) in item.children" :key="indexs" <div v-for="(items, indexs) in item.children" :key="indexs"
class="gameListItem rowFlex columnCenter spaceBetween"> class="gameListItem rowFlex columnCenter spaceBetween">
...@@ -100,7 +136,6 @@ ...@@ -100,7 +136,6 @@
<p class="sendLink" @click="handleGameType(items, item, item.game_type, index)"> <p class="sendLink" @click="handleGameType(items, item, item.game_type, index)">
发送落地页 发送落地页
</p> </p>
<el-button slot="reference" size="mini" :disabled="accountSelect == ''">发送</el-button> <el-button slot="reference" size="mini" :disabled="accountSelect == ''">发送</el-button>
</el-popover> </el-popover>
<el-button v-else size="mini" :disabled="accountSelect == ''" <el-button v-else size="mini" :disabled="accountSelect == ''"
...@@ -296,10 +331,18 @@ export default { ...@@ -296,10 +331,18 @@ export default {
item.id = item.game_id item.id = item.game_id
}) })
} }
this.regGameList.unshift({ // 检查是否已经存在"最近发送"项
label: '最近发送', const recentSendIndex = this.regGameList.findIndex(item => item.label === '最近发送')
children: res.data if (recentSendIndex !== -1) {
}) // 如果已存在,更新它
this.$set(this.regGameList[recentSendIndex], 'children', res.data)
} else {
// 如果不存在,添加它
this.regGameList.unshift({
label: '最近发送',
children: res.data
})
}
} }
}, },
async sendGameInfo() { async sendGameInfo() {
...@@ -1072,6 +1115,17 @@ export default { ...@@ -1072,6 +1115,17 @@ export default {
} }
} }
.title-with-icon {
display: flex;
align-items: center;
.game-icon {
width: 20px;
height: 20px;
margin-right: 8px;
}
}
.channelLoading { .channelLoading {
color: #00bf8a; color: #00bf8a;
font-size: 16px; font-size: 16px;
...@@ -1108,7 +1162,6 @@ export default { ...@@ -1108,7 +1162,6 @@ export default {
justify-content: center; justify-content: center;
font-size: 14px; font-size: 14px;
font-weight: 500; font-weight: 500;
border-color: #f0f0f0;
} }
} }
} }
...@@ -1243,6 +1296,17 @@ export default { ...@@ -1243,6 +1296,17 @@ export default {
} }
} }
} }
/* 当转端按钮处于激活状态时保持自定义样式 */
::v-deep .el-radio-button.is-active{
.el-radio-button__inner {
background: #E8F7FF;
border-color: #3491FA;
border: 1px solid #3491FA;
color: #3491FA;
box-shadow: none;
}
}
} }
</style> </style>
<style> <style>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论