Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
company_app
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
毛细亚
company_app
Commits
19fcee13
提交
19fcee13
authored
4月 02, 2026
作者:
施汉文
浏览文件
操作
浏览文件
下载
差异文件
合并分支 'release' 到 'master'
Release 查看合并请求
!66
上级
0180a168
7df1f826
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
1097 行增加
和
588 行删除
+1097
-588
.env.staging
.env.staging
+0
-1
pnpm-lock.yaml
pnpm-lock.yaml
+284
-23
works.js
src/api/works.js
+20
-8
addUser.vue
src/views/components/bindGameAccount/addUser.vue
+455
-322
sendGame.vue
src/views/components/quickSendGame/sendGame.vue
+309
-222
Info.vue
src/views/userInfo/components/Info.vue
+4
-3
vue.config.js
vue.config.js
+25
-9
没有找到文件。
.env.staging
浏览文件 @
19fcee13
# just a flag
# just a flag
NODE_ENV = 'staging'
NODE_ENV = 'staging'
ENV = 'staging'
ENV = 'staging'
...
...
pnpm-lock.yaml
浏览文件 @
19fcee13
...
@@ -11,6 +11,9 @@ importers:
...
@@ -11,6 +11,9 @@ importers:
'
@aliyun-sls/web-track-browser'
:
'
@aliyun-sls/web-track-browser'
:
specifier
:
^0.0.3
specifier
:
^0.0.3
version
:
0.0.3
version
:
0.0.3
'
@bi-plugin/plugin-unicode-fix'
:
specifier
:
^1.0.3
version
:
1.0.3(@rsbuild/core@1.7.4)
'
@wecom/jssdk'
:
'
@wecom/jssdk'
:
specifier
:
^2.3.1
specifier
:
^2.3.1
version
:
2.3.1
version
:
2.3.1
...
@@ -70,7 +73,7 @@ importers:
...
@@ -70,7 +73,7 @@ importers:
version
:
1.89.0
version
:
1.89.0
sass-loader
:
sass-loader
:
specifier
:
^16.0.5
specifier
:
^16.0.5
version
:
16.0.5(node-sass@4.14.1)(sass@1.89.0)(webpack@5.99.8)
version
:
16.0.5(
@rspack/core@1.7.10(@swc/helpers@0.5.20))(
node-sass@4.14.1)(sass@1.89.0)(webpack@5.99.8)
tailwindcss
:
tailwindcss
:
specifier
:
npm:@tailwindcss/postcss7-compat@^2.2.17
specifier
:
npm:@tailwindcss/postcss7-compat@^2.2.17
version
:
'
@tailwindcss/postcss7-compat@2.2.17'
version
:
'
@tailwindcss/postcss7-compat@2.2.17'
...
@@ -101,16 +104,16 @@ importers:
...
@@ -101,16 +104,16 @@ importers:
version
:
0.4.8(vue@2.7.16)
version
:
0.4.8(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(@
rspack/core@1.7.10(@swc/helpers@0.5.20))(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(@rspack/core@1.7.10(@swc/helpers@0.5.20))
(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)
'
@vue/cli-plugin-router'
:
'
@vue/cli-plugin-router'
:
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))
version
:
5.0.8(@vue/cli-service@5.0.8(@
rspack/core@1.7.10(@swc/helpers@0.5.20))(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(@rspack/core@1.7.10(@swc/helpers@0.5.20))
(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))
'
@vue/cli-plugin-vuex'
:
'
@vue/cli-plugin-vuex'
:
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))
version
:
5.0.8(@vue/cli-service@5.0.8(@
rspack/core@1.7.10(@swc/helpers@0.5.20))(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(@rspack/core@1.7.10(@swc/helpers@0.5.20))
(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))
'
@vue/cli-service'
:
'
@vue/cli-service'
:
specifier
:
~5.0.0
specifier
:
~5.0.0
version
:
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)
version
:
5.0.8(@
rspack/core@1.7.10(@swc/helpers@0.5.20))(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(@rspack/core@1.7.10(@swc/helpers@0.5.20))
(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)
element-theme-chalk
:
element-theme-chalk
:
specifier
:
^2.15.14
specifier
:
^2.15.14
version
:
2.15.14
version
:
2.15.14
...
@@ -673,6 +676,11 @@ packages:
...
@@ -673,6 +676,11 @@ packages:
resolution
:
{
integrity
:
sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==
}
resolution
:
{
integrity
:
sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==
}
engines
:
{
node
:
'
>=6.9.0'
}
engines
:
{
node
:
'
>=6.9.0'
}
'
@bi-plugin/plugin-unicode-fix@1.0.3'
:
resolution
:
{
integrity
:
sha512-oLbSTbzJUsZkvT48ioq4M83tDys3TnJZCKBgN+F3QNFP3VifC03FCmHlNpOxSzhNqWICk91P97xjPB0fkmvLDQ==
}
peerDependencies
:
'
@rsbuild/core'
:
1.x
'
@cell-x/el-table-sticky@1.0.4'
:
'
@cell-x/el-table-sticky@1.0.4'
:
resolution
:
{
integrity
:
sha512-2IYDq5czDFamyaqdY0s2A7T5crqslw/a3riKBJSxOlBNOOHdfSfLt1AlLOnkaFhYWg+/QApR0ysokAGRiTXnGQ==
}
resolution
:
{
integrity
:
sha512-2IYDq5czDFamyaqdY0s2A7T5crqslw/a3riKBJSxOlBNOOHdfSfLt1AlLOnkaFhYWg+/QApR0ysokAGRiTXnGQ==
}
...
@@ -680,6 +688,15 @@ packages:
...
@@ -680,6 +688,15 @@ packages:
resolution
:
{
integrity
:
sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
}
resolution
:
{
integrity
:
sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
}
engines
:
{
node
:
'
>=10.0.0'
}
engines
:
{
node
:
'
>=10.0.0'
}
'
@emnapi/core@1.9.1'
:
resolution
:
{
integrity
:
sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==
}
'
@emnapi/runtime@1.9.1'
:
resolution
:
{
integrity
:
sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==
}
'
@emnapi/wasi-threads@1.2.0'
:
resolution
:
{
integrity
:
sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==
}
'
@hapi/hoek@9.3.0'
:
'
@hapi/hoek@9.3.0'
:
resolution
:
{
integrity
:
sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
}
resolution
:
{
integrity
:
sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
}
...
@@ -710,6 +727,27 @@ packages:
...
@@ -710,6 +727,27 @@ packages:
'
@leichtgewicht/ip-codec@2.0.5'
:
'
@leichtgewicht/ip-codec@2.0.5'
:
resolution
:
{
integrity
:
sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==
}
resolution
:
{
integrity
:
sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==
}
'
@module-federation/error-codes@0.22.0'
:
resolution
:
{
integrity
:
sha512-xF9SjnEy7vTdx+xekjPCV5cIHOGCkdn3pIxo9vU7gEZMIw0SvAEdsy6Uh17xaCpm8V0FWvR0SZoK9Ik6jGOaug==
}
'
@module-federation/runtime-core@0.22.0'
:
resolution
:
{
integrity
:
sha512-GR1TcD6/s7zqItfhC87zAp30PqzvceoeDGYTgF3Vx2TXvsfDrhP6Qw9T4vudDQL3uJRne6t7CzdT29YyVxlgIA==
}
'
@module-federation/runtime-tools@0.22.0'
:
resolution
:
{
integrity
:
sha512-4ScUJ/aUfEernb+4PbLdhM/c60VHl698Gn1gY21m9vyC1Ucn69fPCA1y2EwcCB7IItseRMoNhdcWQnzt/OPCNA==
}
'
@module-federation/runtime@0.22.0'
:
resolution
:
{
integrity
:
sha512-38g5iPju2tPC3KHMPxRKmy4k4onNp6ypFPS1eKGsNLUkXgHsPMBFqAjDw96iEcjri91BrahG4XcdyKi97xZzlA==
}
'
@module-federation/sdk@0.22.0'
:
resolution
:
{
integrity
:
sha512-x4aFNBKn2KVQRuNVC5A7SnrSCSqyfIWmm1DvubjbO9iKFe7ith5niw8dqSFBekYBg2Fwy+eMg4sEFNVvCAdo6g==
}
'
@module-federation/webpack-bundler-runtime@0.22.0'
:
resolution
:
{
integrity
:
sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9HfiAZHjqtMV5Lvq/Lvh8LdyA==
}
'
@napi-rs/wasm-runtime@1.0.7'
:
resolution
:
{
integrity
:
sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==
}
'
@node-ipc/js-queue@2.0.3'
:
'
@node-ipc/js-queue@2.0.3'
:
resolution
:
{
integrity
:
sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==
}
resolution
:
{
integrity
:
sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==
}
engines
:
{
node
:
'
>=1.0.0'
}
engines
:
{
node
:
'
>=1.0.0'
}
...
@@ -755,36 +793,42 @@ packages:
...
@@ -755,36 +793,42 @@ packages:
engines
:
{
node
:
'
>=
10.0.0'
}
engines
:
{
node
:
'
>=
10.0.0'
}
cpu
:
[
arm
]
cpu
:
[
arm
]
os
:
[
linux
]
os
:
[
linux
]
libc
:
[
glibc
]
'
@parcel/watcher-linux-arm-musl@2.5.1'
:
'
@parcel/watcher-linux-arm-musl@2.5.1'
:
resolution
:
{
integrity
:
sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==
}
resolution
:
{
integrity
:
sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==
}
engines
:
{
node
:
'
>=
10.0.0'
}
engines
:
{
node
:
'
>=
10.0.0'
}
cpu
:
[
arm
]
cpu
:
[
arm
]
os
:
[
linux
]
os
:
[
linux
]
libc
:
[
musl
]
'
@parcel/watcher-linux-arm64-glibc@2.5.1'
:
'
@parcel/watcher-linux-arm64-glibc@2.5.1'
:
resolution
:
{
integrity
:
sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==
}
resolution
:
{
integrity
:
sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==
}
engines
:
{
node
:
'
>=
10.0.0'
}
engines
:
{
node
:
'
>=
10.0.0'
}
cpu
:
[
arm64
]
cpu
:
[
arm64
]
os
:
[
linux
]
os
:
[
linux
]
libc
:
[
glibc
]
'
@parcel/watcher-linux-arm64-musl@2.5.1'
:
'
@parcel/watcher-linux-arm64-musl@2.5.1'
:
resolution
:
{
integrity
:
sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==
}
resolution
:
{
integrity
:
sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==
}
engines
:
{
node
:
'
>=
10.0.0'
}
engines
:
{
node
:
'
>=
10.0.0'
}
cpu
:
[
arm64
]
cpu
:
[
arm64
]
os
:
[
linux
]
os
:
[
linux
]
libc
:
[
musl
]
'
@parcel/watcher-linux-x64-glibc@2.5.1'
:
'
@parcel/watcher-linux-x64-glibc@2.5.1'
:
resolution
:
{
integrity
:
sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==
}
resolution
:
{
integrity
:
sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==
}
engines
:
{
node
:
'
>=
10.0.0'
}
engines
:
{
node
:
'
>=
10.0.0'
}
cpu
:
[
x64
]
cpu
:
[
x64
]
os
:
[
linux
]
os
:
[
linux
]
libc
:
[
glibc
]
'
@parcel/watcher-linux-x64-musl@2.5.1'
:
'
@parcel/watcher-linux-x64-musl@2.5.1'
:
resolution
:
{
integrity
:
sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==
}
resolution
:
{
integrity
:
sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==
}
engines
:
{
node
:
'
>=
10.0.0'
}
engines
:
{
node
:
'
>=
10.0.0'
}
cpu
:
[
x64
]
cpu
:
[
x64
]
os
:
[
linux
]
os
:
[
linux
]
libc
:
[
musl
]
'
@parcel/watcher-win32-arm64@2.5.1'
:
'
@parcel/watcher-win32-arm64@2.5.1'
:
resolution
:
{
integrity
:
sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==
}
resolution
:
{
integrity
:
sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==
}
...
@@ -811,6 +855,79 @@ packages:
...
@@ -811,6 +855,79 @@ packages:
'
@polka/url@1.0.0-next.29'
:
'
@polka/url@1.0.0-next.29'
:
resolution
:
{
integrity
:
sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==
}
resolution
:
{
integrity
:
sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==
}
'
@rsbuild/core@1.7.4'
:
resolution
:
{
integrity
:
sha512-1hn9j62Kkckh2CGUMQcr/H/PtHgN5iqB3kChaMCVGqxrC4jbJBQxRtuHuWVJDKeEO0uWPMABAR748qJISIyh5w==
}
engines
:
{
node
:
'
>=18.12.0'
}
hasBin
:
true
'
@rspack/binding-darwin-arm64@1.7.10'
:
resolution
:
{
integrity
:
sha512-bsXi7I6TpH+a4L6okIUh1JDvwT+XcK/L7Yvhu5G2t5YYyd2fl5vMM5O9cePRpEb0RdqJZ3Z8i9WIWHap9aQ8Gw==
}
cpu
:
[
arm64
]
os
:
[
darwin
]
'
@rspack/binding-darwin-x64@1.7.10'
:
resolution
:
{
integrity
:
sha512-h/kOGL1bUflDDYnbiUjaRE9kagJpour4FatGihueV03+cRGQ6jpde+BjUakqzMx65CeDbeYI6jAiPhElnlAtRw==
}
cpu
:
[
x64
]
os
:
[
darwin
]
'
@rspack/binding-linux-arm64-gnu@1.7.10'
:
resolution
:
{
integrity
:
sha512-Z4reus7UxGM4+JuhiIht8KuGP1KgM7nNhOlXUHcQCMswP/Rymj5oJQN3TDWgijFUZs09ULl8t3T+AQAVTd/WvA==
}
cpu
:
[
arm64
]
os
:
[
linux
]
libc
:
[
glibc
]
'
@rspack/binding-linux-arm64-musl@1.7.10'
:
resolution
:
{
integrity
:
sha512-LYaoVmWizG4oQ3g+St3eM5qxsyfH07kLirP7NJcDMgvu3eQ29MeyTZ3ugkgW6LvlmJue7eTQyf6CZlanoF5SSg==
}
cpu
:
[
arm64
]
os
:
[
linux
]
libc
:
[
musl
]
'
@rspack/binding-linux-x64-gnu@1.7.10'
:
resolution
:
{
integrity
:
sha512-aIm2G4Kcm3qxDTNqKarK0oaLY2iXnCmpRQQhAcMlR0aS2LmxL89XzVeRr9GFA1MzGrAsZONWCLkxQvn3WUbm4Q==
}
cpu
:
[
x64
]
os
:
[
linux
]
libc
:
[
glibc
]
'
@rspack/binding-linux-x64-musl@1.7.10'
:
resolution
:
{
integrity
:
sha512-SIHQbAgB9IPH0H3H+i5rN5jo9yA/yTMq8b7XfRkTMvZ7P7MXxJ0dE8EJu3BmCLM19sqnTc2eX+SVfE8ZMDzghA==
}
cpu
:
[
x64
]
os
:
[
linux
]
libc
:
[
musl
]
'
@rspack/binding-wasm32-wasi@1.7.10'
:
resolution
:
{
integrity
:
sha512-J9HDXHD1tj+9FmX4+K3CTkO7dCE2bootlR37YuC2Owc0Lwl1/i2oGT71KHnMqI9faF/hipAaQM5OywkiiuNB7w==
}
cpu
:
[
wasm32
]
'
@rspack/binding-win32-arm64-msvc@1.7.10'
:
resolution
:
{
integrity
:
sha512-FaQGSCXH89nMOYW0bVp0bKQDQbrOEFFm7yedla7g6mkWlFVQo5UyBxid5wJUCqGJBtJepRxeRfByWiaI5nVGvg==
}
cpu
:
[
arm64
]
os
:
[
win32
]
'
@rspack/binding-win32-ia32-msvc@1.7.10'
:
resolution
:
{
integrity
:
sha512-/66TNLOeM4R5dHhRWRVbMTgWghgxz+32ym0c/zGGXQRoMbz7210EoL40ALUgdBdeeREO8LoV+Mn7v8/QZCwHzw==
}
cpu
:
[
ia32
]
os
:
[
win32
]
'
@rspack/binding-win32-x64-msvc@1.7.10'
:
resolution
:
{
integrity
:
sha512-SUa3v1W7PGFCy6AHRmDsm43/tkfaZFi1TN2oIk5aCdT9T51baDVBjAbehRDu9xFbK4piL3k7uqIVSIrKgVqk1g==
}
cpu
:
[
x64
]
os
:
[
win32
]
'
@rspack/binding@1.7.10'
:
resolution
:
{
integrity
:
sha512-j+DPEaSJLRgasxXNpYQpvC7wUkQF5WoWPiTfm4fLczwlAmYwGSVkJiyWDrOlvVPiGGYiXIaXEjVWTw6fT6/vnA==
}
'
@rspack/core@1.7.10'
:
resolution
:
{
integrity
:
sha512-dO7J0aHSa9Fg2kGT0+ZsM500lMdlNIyCHavIaz7dTDn6KXvFz1qbWQ/48x3OlNFw1mA0jxAjjw9e7h3sWQZUNg==
}
engines
:
{
node
:
'
>=18.12.0'
}
peerDependencies
:
'
@swc/helpers'
:
'
>=0.5.1'
peerDependenciesMeta
:
'
@swc/helpers'
:
optional
:
true
'
@rspack/lite-tapable@1.1.0'
:
resolution
:
{
integrity
:
sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==
}
'
@sideway/address@4.1.5'
:
'
@sideway/address@4.1.5'
:
resolution
:
{
integrity
:
sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==
}
resolution
:
{
integrity
:
sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==
}
...
@@ -846,6 +963,9 @@ packages:
...
@@ -846,6 +963,9 @@ packages:
'
@stagewise/toolbar@0.4.8'
:
'
@stagewise/toolbar@0.4.8'
:
resolution
:
{
integrity
:
sha512-0ByvC4hYdHHf3rK5M+xSR9mipHYr8naNn2OgDBtv4DE0SoSCr08KfQtZ6VpsBNbOW/Mh1Y4c/AoWcyCTOc2ocA==
}
resolution
:
{
integrity
:
sha512-0ByvC4hYdHHf3rK5M+xSR9mipHYr8naNn2OgDBtv4DE0SoSCr08KfQtZ6VpsBNbOW/Mh1Y4c/AoWcyCTOc2ocA==
}
'
@swc/helpers@0.5.20'
:
resolution
:
{
integrity
:
sha512-2egEBHUMasdypIzrprsu8g+OEVd7Vp2MM3a2eVlM/cyFYto0nGz5BX5BTgh/ShZZI9ed+ozEq+Ngt+rgmUs8tw==
}
'
@tailwindcss/postcss7-compat@2.2.17'
:
'
@tailwindcss/postcss7-compat@2.2.17'
:
resolution
:
{
integrity
:
sha512-3h2svqQAqYHxRZ1KjsJjZOVTQ04m29LjfrLjXyZZEJuvUuJN+BCIF9GI8vhE1s0plS0mogd6E6YLg6mu4Wv/Vw==
}
resolution
:
{
integrity
:
sha512-3h2svqQAqYHxRZ1KjsJjZOVTQ04m29LjfrLjXyZZEJuvUuJN+BCIF9GI8vhE1s0plS0mogd6E6YLg6mu4Wv/Vw==
}
engines
:
{
node
:
'
>=12.13.0'
}
engines
:
{
node
:
'
>=12.13.0'
}
...
@@ -855,6 +975,9 @@ packages:
...
@@ -855,6 +975,9 @@ packages:
resolution
:
{
integrity
:
sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
}
resolution
:
{
integrity
:
sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
}
engines
:
{
node
:
'
>=10.13.0'
}
engines
:
{
node
:
'
>=10.13.0'
}
'
@tybys/wasm-util@0.10.1'
:
resolution
:
{
integrity
:
sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==
}
'
@types/body-parser@1.19.5'
:
'
@types/body-parser@1.19.5'
:
resolution
:
{
integrity
:
sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==
}
resolution
:
{
integrity
:
sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==
}
...
@@ -2006,6 +2129,9 @@ packages:
...
@@ -2006,6 +2129,9 @@ packages:
core-js@3.42.0
:
core-js@3.42.0
:
resolution
:
{
integrity
:
sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==
}
resolution
:
{
integrity
:
sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==
}
core-js@3.47.0
:
resolution
:
{
integrity
:
sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==
}
core-util-is@1.0.2
:
core-util-is@1.0.2
:
resolution
:
{
integrity
:
sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==
}
resolution
:
{
integrity
:
sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==
}
...
@@ -3558,6 +3684,10 @@ packages:
...
@@ -3558,6 +3684,10 @@ packages:
resolution
:
{
integrity
:
sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
}
resolution
:
{
integrity
:
sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
}
engines
:
{
node
:
'
>=
10.13.0'
}
engines
:
{
node
:
'
>=
10.13.0'
}
jiti@2.6.1
:
resolution
:
{
integrity
:
sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==
}
hasBin
:
true
joi@17.13.3
:
joi@17.13.3
:
resolution
:
{
integrity
:
sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==
}
resolution
:
{
integrity
:
sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==
}
...
@@ -6803,6 +6933,10 @@ snapshots:
...
@@ -6803,6 +6933,10 @@ snapshots:
'
@babel/helper-string-parser'
:
7.27.1
'
@babel/helper-string-parser'
:
7.27.1
'
@babel/helper-validator-identifier'
:
7.27.1
'
@babel/helper-validator-identifier'
:
7.27.1
'
@bi-plugin/plugin-unicode-fix@1.0.3(@rsbuild/core@1.7.4)'
:
dependencies
:
'
@rsbuild/core'
:
1.7.4
'
@cell-x/el-table-sticky@1.0.4'
:
'
@cell-x/el-table-sticky@1.0.4'
:
dependencies
:
dependencies
:
gemini-scrollbar
:
1.5.3
gemini-scrollbar
:
1.5.3
...
@@ -6811,6 +6945,22 @@ snapshots:
...
@@ -6811,6 +6945,22 @@ snapshots:
'
@discoveryjs/json-ext@0.5.7'
:
{}
'
@discoveryjs/json-ext@0.5.7'
:
{}
'
@emnapi/core@1.9.1'
:
dependencies
:
'
@emnapi/wasi-threads'
:
1.2.0
tslib
:
2.8.1
optional
:
true
'
@emnapi/runtime@1.9.1'
:
dependencies
:
tslib
:
2.8.1
optional
:
true
'
@emnapi/wasi-threads@1.2.0'
:
dependencies
:
tslib
:
2.8.1
optional
:
true
'
@hapi/hoek@9.3.0'
:
{}
'
@hapi/hoek@9.3.0'
:
{}
'
@hapi/topo@5.1.0'
:
'
@hapi/topo@5.1.0'
:
...
@@ -6841,6 +6991,38 @@ snapshots:
...
@@ -6841,6 +6991,38 @@ snapshots:
'
@leichtgewicht/ip-codec@2.0.5'
:
{}
'
@leichtgewicht/ip-codec@2.0.5'
:
{}
'
@module-federation/error-codes@0.22.0'
:
{}
'
@module-federation/runtime-core@0.22.0'
:
dependencies
:
'
@module-federation/error-codes'
:
0.22.0
'
@module-federation/sdk'
:
0.22.0
'
@module-federation/runtime-tools@0.22.0'
:
dependencies
:
'
@module-federation/runtime'
:
0.22.0
'
@module-federation/webpack-bundler-runtime'
:
0.22.0
'
@module-federation/runtime@0.22.0'
:
dependencies
:
'
@module-federation/error-codes'
:
0.22.0
'
@module-federation/runtime-core'
:
0.22.0
'
@module-federation/sdk'
:
0.22.0
'
@module-federation/sdk@0.22.0'
:
{}
'
@module-federation/webpack-bundler-runtime@0.22.0'
:
dependencies
:
'
@module-federation/runtime'
:
0.22.0
'
@module-federation/sdk'
:
0.22.0
'
@napi-rs/wasm-runtime@1.0.7'
:
dependencies
:
'
@emnapi/core'
:
1.9.1
'
@emnapi/runtime'
:
1.9.1
'
@tybys/wasm-util'
:
0.10.1
optional
:
true
'
@node-ipc/js-queue@2.0.3'
:
'
@node-ipc/js-queue@2.0.3'
:
dependencies
:
dependencies
:
easy-stack
:
1.0.1
easy-stack
:
1.0.1
...
@@ -6920,6 +7102,69 @@ snapshots:
...
@@ -6920,6 +7102,69 @@ snapshots:
'
@polka/url@1.0.0-next.29'
:
{}
'
@polka/url@1.0.0-next.29'
:
{}
'
@rsbuild/core@1.7.4'
:
dependencies
:
'
@rspack/core'
:
1.7.10(@swc/helpers@0.5.20)
'
@rspack/lite-tapable'
:
1.1.0
'
@swc/helpers'
:
0.5.20
core-js
:
3.47.0
jiti
:
2.6.1
'
@rspack/binding-darwin-arm64@1.7.10'
:
optional
:
true
'
@rspack/binding-darwin-x64@1.7.10'
:
optional
:
true
'
@rspack/binding-linux-arm64-gnu@1.7.10'
:
optional
:
true
'
@rspack/binding-linux-arm64-musl@1.7.10'
:
optional
:
true
'
@rspack/binding-linux-x64-gnu@1.7.10'
:
optional
:
true
'
@rspack/binding-linux-x64-musl@1.7.10'
:
optional
:
true
'
@rspack/binding-wasm32-wasi@1.7.10'
:
dependencies
:
'
@napi-rs/wasm-runtime'
:
1.0.7
optional
:
true
'
@rspack/binding-win32-arm64-msvc@1.7.10'
:
optional
:
true
'
@rspack/binding-win32-ia32-msvc@1.7.10'
:
optional
:
true
'
@rspack/binding-win32-x64-msvc@1.7.10'
:
optional
:
true
'
@rspack/binding@1.7.10'
:
optionalDependencies
:
'
@rspack/binding-darwin-arm64'
:
1.7.10
'
@rspack/binding-darwin-x64'
:
1.7.10
'
@rspack/binding-linux-arm64-gnu'
:
1.7.10
'
@rspack/binding-linux-arm64-musl'
:
1.7.10
'
@rspack/binding-linux-x64-gnu'
:
1.7.10
'
@rspack/binding-linux-x64-musl'
:
1.7.10
'
@rspack/binding-wasm32-wasi'
:
1.7.10
'
@rspack/binding-win32-arm64-msvc'
:
1.7.10
'
@rspack/binding-win32-ia32-msvc'
:
1.7.10
'
@rspack/binding-win32-x64-msvc'
:
1.7.10
'
@rspack/core@1.7.10(@swc/helpers@0.5.20)'
:
dependencies
:
'
@module-federation/runtime-tools'
:
0.22.0
'
@rspack/binding'
:
1.7.10
'
@rspack/lite-tapable'
:
1.1.0
optionalDependencies
:
'
@swc/helpers'
:
0.5.20
'
@rspack/lite-tapable@1.1.0'
:
{}
'
@sideway/address@4.1.5'
:
'
@sideway/address@4.1.5'
:
dependencies
:
dependencies
:
'
@hapi/hoek'
:
9.3.0
'
@hapi/hoek'
:
9.3.0
...
@@ -6952,6 +7197,10 @@ snapshots:
...
@@ -6952,6 +7197,10 @@ snapshots:
'
@stagewise/toolbar@0.4.8'
:
{}
'
@stagewise/toolbar@0.4.8'
:
{}
'
@swc/helpers@0.5.20'
:
dependencies
:
tslib
:
2.8.1
'
@tailwindcss/postcss7-compat@2.2.17'
:
'
@tailwindcss/postcss7-compat@2.2.17'
:
dependencies
:
dependencies
:
arg
:
5.0.2
arg
:
5.0.2
...
@@ -6994,6 +7243,11 @@ snapshots:
...
@@ -6994,6 +7243,11 @@ snapshots:
'
@trysound/sax@0.2.0'
:
{}
'
@trysound/sax@0.2.0'
:
{}
'
@tybys/wasm-util@0.10.1'
:
dependencies
:
tslib
:
2.8.1
optional
:
true
'
@types/body-parser@1.19.5'
:
'
@types/body-parser@1.19.5'
:
dependencies
:
dependencies
:
'
@types/connect'
:
3.4.38
'
@types/connect'
:
3.4.38
...
@@ -7247,11 +7501,11 @@ snapshots:
...
@@ -7247,11 +7501,11 @@ snapshots:
'
@vue/cli-overlay@5.0.8'
:
{}
'
@vue/cli-overlay@5.0.8'
:
{}
'
@vue/cli-plugin-babel@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)'
:
'
@vue/cli-plugin-babel@5.0.8(@vue/cli-service@5.0.8(@
rspack/core@1.7.10(@swc/helpers@0.5.20))(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(@rspack/core@1.7.10(@swc/helpers@0.5.20))
(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)'
:
dependencies
:
dependencies
:
'
@babel/core'
:
7.27.1
'
@babel/core'
:
7.27.1
'
@vue/babel-preset-app'
:
5.0.8(@babel/core@7.27.1)(core-js@3.42.0)(vue@2.7.16)
'
@vue/babel-preset-app'
:
5.0.8(@babel/core@7.27.1)(core-js@3.42.0)(vue@2.7.16)
'
@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)
'
@vue/cli-service'
:
5.0.8(@
rspack/core@1.7.10(@swc/helpers@0.5.20))(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(@rspack/core@1.7.10(@swc/helpers@0.5.20))
(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)
'
@vue/cli-shared-utils'
:
5.0.8
'
@vue/cli-shared-utils'
:
5.0.8
babel-loader
:
8.4.1(@babel/core@7.27.1)(webpack@5.99.8)
babel-loader
:
8.4.1(@babel/core@7.27.1)(webpack@5.99.8)
thread-loader
:
3.0.4(webpack@5.99.8)
thread-loader
:
3.0.4(webpack@5.99.8)
...
@@ -7266,29 +7520,29 @@ snapshots:
...
@@ -7266,29 +7520,29 @@ snapshots:
-
vue
-
vue
-
webpack-cli
-
webpack-cli
'
@vue/cli-plugin-router@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))'
:
'
@vue/cli-plugin-router@5.0.8(@vue/cli-service@5.0.8(@
rspack/core@1.7.10(@swc/helpers@0.5.20))(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(@rspack/core@1.7.10(@swc/helpers@0.5.20))
(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))'
:
dependencies
:
dependencies
:
'
@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)
'
@vue/cli-service'
:
5.0.8(@
rspack/core@1.7.10(@swc/helpers@0.5.20))(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(@rspack/core@1.7.10(@swc/helpers@0.5.20))
(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)
'
@vue/cli-shared-utils'
:
5.0.8
'
@vue/cli-shared-utils'
:
5.0.8
transitivePeerDependencies
:
transitivePeerDependencies
:
-
encoding
-
encoding
'
@vue/cli-plugin-vuex@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))'
:
'
@vue/cli-plugin-vuex@5.0.8(@vue/cli-service@5.0.8(@
rspack/core@1.7.10(@swc/helpers@0.5.20))(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(@rspack/core@1.7.10(@swc/helpers@0.5.20))
(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))'
:
dependencies
:
dependencies
:
'
@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)
'
@vue/cli-service'
:
5.0.8(@
rspack/core@1.7.10(@swc/helpers@0.5.20))(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(@rspack/core@1.7.10(@swc/helpers@0.5.20))
(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)
'
@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)'
:
'
@vue/cli-service@5.0.8(@
rspack/core@1.7.10(@swc/helpers@0.5.20))(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(@rspack/core@1.7.10(@swc/helpers@0.5.20))
(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)'
:
dependencies
:
dependencies
:
'
@babel/helper-compilation-targets'
:
7.27.2
'
@babel/helper-compilation-targets'
:
7.27.2
'
@soda/friendly-errors-webpack-plugin'
:
1.8.1(webpack@5.99.8)
'
@soda/friendly-errors-webpack-plugin'
:
1.8.1(webpack@5.99.8)
'
@soda/get-current-script'
:
1.0.2
'
@soda/get-current-script'
:
1.0.2
'
@types/minimist'
:
1.2.5
'
@types/minimist'
:
1.2.5
'
@vue/cli-overlay'
:
5.0.8
'
@vue/cli-overlay'
:
5.0.8
'
@vue/cli-plugin-router'
:
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))
'
@vue/cli-plugin-router'
:
5.0.8(@vue/cli-service@5.0.8(@
rspack/core@1.7.10(@swc/helpers@0.5.20))(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(@rspack/core@1.7.10(@swc/helpers@0.5.20))
(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))
'
@vue/cli-plugin-vuex'
:
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))
'
@vue/cli-plugin-vuex'
:
5.0.8(@vue/cli-service@5.0.8(@
rspack/core@1.7.10(@swc/helpers@0.5.20))(@vue/compiler-sfc@3.5.14)(lodash@4.17.21)(sass-loader@16.0.5(@rspack/core@1.7.10(@swc/helpers@0.5.20))
(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))
'
@vue/cli-shared-utils'
:
5.0.8
'
@vue/cli-shared-utils'
:
5.0.8
'
@vue/component-compiler-utils'
:
3.3.0(lodash@4.17.21)
'
@vue/component-compiler-utils'
:
3.3.0(lodash@4.17.21)
'
@vue/vue-loader-v15'
:
vue-loader@15.11.1(@vue/compiler-sfc@3.5.14)(css-loader@6.11.0(webpack@5.99.8))(lodash@4.17.21)(vue-template-compiler@2.7.16)(webpack@5.99.8)
'
@vue/vue-loader-v15'
:
vue-loader@15.11.1(@vue/compiler-sfc@3.5.14)(css-loader@6.11.0(
@rspack/core@1.7.10(@swc/helpers@0.5.20))(
webpack@5.99.8))(lodash@4.17.21)(vue-template-compiler@2.7.16)(webpack@5.99.8)
'
@vue/web-component-wrapper'
:
1.3.0
'
@vue/web-component-wrapper'
:
1.3.0
acorn
:
8.14.1
acorn
:
8.14.1
acorn-walk
:
8.3.4
acorn-walk
:
8.3.4
...
@@ -7300,7 +7554,7 @@ snapshots:
...
@@ -7300,7 +7554,7 @@ snapshots:
clipboardy
:
2.3.0
clipboardy
:
2.3.0
cliui
:
7.0.4
cliui
:
7.0.4
copy-webpack-plugin
:
9.1.0(webpack@5.99.8)
copy-webpack-plugin
:
9.1.0(webpack@5.99.8)
css-loader
:
6.11.0(webpack@5.99.8)
css-loader
:
6.11.0(
@rspack/core@1.7.10(@swc/helpers@0.5.20))(
webpack@5.99.8)
css-minimizer-webpack-plugin
:
3.4.1(webpack@5.99.8)
css-minimizer-webpack-plugin
:
3.4.1(webpack@5.99.8)
cssnano
:
5.1.15(postcss@8.5.3)
cssnano
:
5.1.15(postcss@8.5.3)
debug
:
4.4.1
debug
:
4.4.1
...
@@ -7310,7 +7564,7 @@ snapshots:
...
@@ -7310,7 +7564,7 @@ snapshots:
fs-extra
:
9.1.0
fs-extra
:
9.1.0
globby
:
11.1.0
globby
:
11.1.0
hash-sum
:
2.0.0
hash-sum
:
2.0.0
html-webpack-plugin
:
5.6.3(webpack@5.99.8)
html-webpack-plugin
:
5.6.3(
@rspack/core@1.7.10(@swc/helpers@0.5.20))(
webpack@5.99.8)
is-file-esm
:
1.0.0
is-file-esm
:
1.0.0
launch-editor-middleware
:
2.10.0
launch-editor-middleware
:
2.10.0
lodash.defaultsdeep
:
4.6.1
lodash.defaultsdeep
:
4.6.1
...
@@ -7335,7 +7589,7 @@ snapshots:
...
@@ -7335,7 +7589,7 @@ snapshots:
webpack-virtual-modules
:
0.4.6
webpack-virtual-modules
:
0.4.6
whatwg-fetch
:
3.6.20
whatwg-fetch
:
3.6.20
optionalDependencies
:
optionalDependencies
:
sass-loader
:
16.0.5(node-sass@4.14.1)(sass@1.89.0)(webpack@5.99.8)
sass-loader
:
16.0.5(
@rspack/core@1.7.10(@swc/helpers@0.5.20))(
node-sass@4.14.1)(sass@1.89.0)(webpack@5.99.8)
vue-template-compiler
:
2.7.16
vue-template-compiler
:
2.7.16
webpack-sources
:
3.2.3
webpack-sources
:
3.2.3
transitivePeerDependencies
:
transitivePeerDependencies
:
...
@@ -8476,6 +8730,8 @@ snapshots:
...
@@ -8476,6 +8730,8 @@ snapshots:
core-js@3.42.0
:
{}
core-js@3.42.0
:
{}
core-js@3.47.0
:
{}
core-util-is@1.0.2
:
core-util-is@1.0.2
:
optional
:
true
optional
:
true
...
@@ -8532,7 +8788,7 @@ snapshots:
...
@@ -8532,7 +8788,7 @@ snapshots:
dependencies
:
dependencies
:
utrie
:
1.0.2
utrie
:
1.0.2
css-loader@6.11.0(webpack@5.99.8)
:
css-loader@6.11.0(
@rspack/core@1.7.10(@swc/helpers@0.5.20))(
webpack@5.99.8)
:
dependencies
:
dependencies
:
icss-utils
:
5.1.0(postcss@8.5.3)
icss-utils
:
5.1.0(postcss@8.5.3)
postcss
:
8.5.3
postcss
:
8.5.3
...
@@ -8543,6 +8799,7 @@ snapshots:
...
@@ -8543,6 +8799,7 @@ snapshots:
postcss-value-parser
:
4.2.0
postcss-value-parser
:
4.2.0
semver
:
7.7.2
semver
:
7.7.2
optionalDependencies
:
optionalDependencies
:
'
@rspack/core'
:
1.7.10(@swc/helpers@0.5.20)
webpack
:
5.99.8
webpack
:
5.99.8
css-minimizer-webpack-plugin@3.4.1(webpack@5.99.8)
:
css-minimizer-webpack-plugin@3.4.1(webpack@5.99.8)
:
...
@@ -9850,7 +10107,7 @@ snapshots:
...
@@ -9850,7 +10107,7 @@ snapshots:
util.promisify
:
1.0.0
util.promisify
:
1.0.0
webpack
:
5.99.8
webpack
:
5.99.8
html-webpack-plugin@5.6.3(webpack@5.99.8)
:
html-webpack-plugin@5.6.3(
@rspack/core@1.7.10(@swc/helpers@0.5.20))(
webpack@5.99.8)
:
dependencies
:
dependencies
:
'
@types/html-minifier-terser'
:
6.1.0
'
@types/html-minifier-terser'
:
6.1.0
html-minifier-terser
:
6.1.0
html-minifier-terser
:
6.1.0
...
@@ -9858,6 +10115,7 @@ snapshots:
...
@@ -9858,6 +10115,7 @@ snapshots:
pretty-error
:
4.0.0
pretty-error
:
4.0.0
tapable
:
2.2.1
tapable
:
2.2.1
optionalDependencies
:
optionalDependencies
:
'
@rspack/core'
:
1.7.10(@swc/helpers@0.5.20)
webpack
:
5.99.8
webpack
:
5.99.8
html2canvas@1.4.1
:
html2canvas@1.4.1
:
...
@@ -10337,6 +10595,8 @@ snapshots:
...
@@ -10337,6 +10595,8 @@ snapshots:
merge-stream
:
2.0.0
merge-stream
:
2.0.0
supports-color
:
8.1.1
supports-color
:
8.1.1
jiti@2.6.1
:
{}
joi@17.13.3
:
joi@17.13.3
:
dependencies
:
dependencies
:
'
@hapi/hoek'
:
9.3.0
'
@hapi/hoek'
:
9.3.0
...
@@ -11894,10 +12154,11 @@ snapshots:
...
@@ -11894,10 +12154,11 @@ snapshots:
yargs
:
13.3.2
yargs
:
13.3.2
optional
:
true
optional
:
true
sass-loader@16.0.5(node-sass@4.14.1)(sass@1.89.0)(webpack@5.99.8)
:
sass-loader@16.0.5(
@rspack/core@1.7.10(@swc/helpers@0.5.20))(
node-sass@4.14.1)(sass@1.89.0)(webpack@5.99.8)
:
dependencies
:
dependencies
:
neo-async
:
2.6.2
neo-async
:
2.6.2
optionalDependencies
:
optionalDependencies
:
'
@rspack/core'
:
1.7.10(@swc/helpers@0.5.20)
node-sass
:
4.14.1
node-sass
:
4.14.1
sass
:
1.89.0
sass
:
1.89.0
webpack
:
5.99.8
webpack
:
5.99.8
...
@@ -12895,10 +13156,10 @@ snapshots:
...
@@ -12895,10 +13156,10 @@ snapshots:
vue-hot-reload-api@2.3.4
:
{}
vue-hot-reload-api@2.3.4
:
{}
vue-loader@15.11.1(@vue/compiler-sfc@3.5.14)(css-loader@6.11.0(webpack@5.99.8))(lodash@4.17.21)(vue-template-compiler@2.7.16)(webpack@5.99.8)
:
vue-loader@15.11.1(@vue/compiler-sfc@3.5.14)(css-loader@6.11.0(
@rspack/core@1.7.10(@swc/helpers@0.5.20))(
webpack@5.99.8))(lodash@4.17.21)(vue-template-compiler@2.7.16)(webpack@5.99.8)
:
dependencies
:
dependencies
:
'
@vue/component-compiler-utils'
:
3.3.0(lodash@4.17.21)
'
@vue/component-compiler-utils'
:
3.3.0(lodash@4.17.21)
css-loader
:
6.11.0(webpack@5.99.8)
css-loader
:
6.11.0(
@rspack/core@1.7.10(@swc/helpers@0.5.20))(
webpack@5.99.8)
hash-sum
:
1.0.2
hash-sum
:
1.0.2
loader-utils
:
1.4.2
loader-utils
:
1.4.2
vue-hot-reload-api
:
2.3.4
vue-hot-reload-api
:
2.3.4
...
...
src/api/works.js
浏览文件 @
19fcee13
...
@@ -313,22 +313,35 @@ export function corp_follow_up_task_index(data) {
...
@@ -313,22 +313,35 @@ export function corp_follow_up_task_index(data) {
return
request
({
return
request
({
url
:
returnApi
(
'/corp_follow_up_task/index'
),
url
:
returnApi
(
'/corp_follow_up_task/index'
),
method
:
'post'
,
method
:
'post'
,
data
data
,
})
})
;
}
}
// 【智能待办】工作台-我的
// 【智能待办】工作台-我的
export
function
corpIntelligentTaskMineList
(
data
)
{
export
function
corpIntelligentTaskMineList
(
data
)
{
return
request
({
return
request
({
url
:
returnApi
(
'/corp_intelligent_task/mineList'
),
url
:
returnApi
(
'/corp_intelligent_task/mineList'
),
method
:
'post'
,
method
:
'post'
,
data
data
,
})
})
;
}
}
// 【智能待办】工作台-完成、未完成
// 【智能待办】工作台-完成、未完成
export
function
corpIntelligentTaskExternalList
(
data
)
{
export
function
corpIntelligentTaskExternalList
(
data
)
{
return
request
({
return
request
({
url
:
returnApi
(
'/corp_intelligent_task/externalList'
),
url
:
returnApi
(
'/corp_intelligent_task/externalList'
),
method
:
'post'
,
method
:
'post'
,
data
data
,
})
});
}
}
\ No newline at end of file
/**
* 查询会员首次绑定企微微信信息(首次绑定昵称/标识与首次绑定时间)
* @see https://doc.wozhangwan.com/project/514/interface/api/58755
* @param {{ member_id: string|number }} data - 掌游会员 id
* @returns {import('axios').AxiosPromise}
*/
export
function
getFirstBindExternalUser
(
data
)
{
return
request
({
url
:
returnApi
(
'/corp_zyou_bind/getFirstBindExternalUser'
),
method
:
'post'
,
data
,
});
}
src/views/components/bindGameAccount/addUser.vue
浏览文件 @
19fcee13
<
template
>
<
template
>
<el-drawer
title=
"新增关联账号"
:visible=
"show"
size=
"360px"
:append-to-body=
"true"
@
close=
"close"
>
<el-drawer
title=
"新增关联账号"
:visible=
"show"
size=
"360px"
:append-to-body=
"true"
@
close=
"close"
>
<div
class=
"content-wrapper"
>
<div
class=
"content-wrapper"
>
<div
class=
"content"
>
<div
class=
"content"
>
<el-form
ref=
"form"
:model=
"form"
label-position=
"top"
:rules=
"rules"
label-width=
"120px"
>
<el-form
<div
class=
"inputContent"
>
ref=
"form"
<el-form-item
label=
"请输入w账号"
prop=
"username"
>
:model=
"form"
<el-input
v-model
.
trim=
"form.username"
placeholder=
"请输入w账号"
class=
"input-with-select"
>
label-position=
"top"
</el-input>
:rules=
"rules"
</el-form-item>
label-width=
"120px"
<el-form-item
label=
"请输入主游戏名"
prop=
"main_game_id"
>
>
<el-select
v-model=
"form.main_game_id"
filterable
remote
clearable
reserve-keyword
placeholder=
"请输入主游戏名"
<div
class=
"inputContent"
>
style=
"width: 100%;"
:remote-method=
"remoteMethod"
:loading=
"loading"
@
focus=
"gameNameList = optionsList"
>
<el-form-item
label=
"请输入w账号"
prop=
"username"
>
<el-option
v-for=
"item in gameNameList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
<el-input
</el-option>
v-model
.
trim=
"form.username"
</el-select>
placeholder=
"请输入w账号"
</el-form-item>
class=
"input-with-select"
<el-form-item
>
label=
"请输入CP角色ID"
</el-input>
prop=
"username"
</el-form-item>
>
<el-form-item
label=
"请输入主游戏名"
prop=
"main_game_id"
>
<el-input
<el-select
v-model
.
trim=
"form.cp_role_id"
v-model=
"form.main_game_id"
placeholder=
"请先选择主游戏"
filterable
:disabled=
"form.main_game_id==''"
remote
class=
"input-with-select"
clearable
>
reserve-keyword
</el-input>
placeholder=
"请输入主游戏名"
</el-form-item>
style=
"width: 100%"
<el-form-item
label=
"请输入区服"
prop=
"server_info"
>
:remote-method=
"remoteMethod"
<el-select
v-model
.
trim=
"form.server_info"
filterable
remote
:disabled=
"form.main_game_id == ''"
clearable
:loading=
"loading"
style=
"width: 100%;"
reserve-keyword
placeholder=
"请先选择主游戏"
:remote-method=
"remoteMethodServer"
@
focus=
"gameNameList = optionsList"
:loading=
"loading"
>
>
<el-option
v-for=
"item in serverNameList"
:key=
"item.id"
:label=
"item.label"
:value=
"item.value"
>
<el-option
</el-option>
v-for=
"item in gameNameList"
</el-select>
:key=
"item.value"
</el-form-item>
:label=
"item.label"
<el-form-item
label=
"请输入角色名"
prop=
"role_name"
>
:value=
"item.value"
<el-input
v-model
.
trim=
"form.role_name"
:disabled=
"form.main_game_id==''"
placeholder=
"请先选择主游戏"
class=
"input-with-select"
>
>
</el-input>
</el-option>
</el-form-item>
</el-select>
<el-form-item>
</el-form-item>
<el-button
type=
"primary"
size=
"small"
@
click=
"onSubmit"
>
搜索
</el-button>
<el-form-item
label=
"请输入CP角色ID"
prop=
"username"
>
</el-form-item>
<el-input
</div>
v-model
.
trim=
"form.cp_role_id"
</el-form>
placeholder=
"请先选择主游戏"
<div
class=
"table account_table"
>
:disabled=
"form.main_game_id == ''"
<div
class=
"bind-account-title"
>
class=
"input-with-select"
账号列表
>
</div>
</el-input>
<userTable
:list=
"tableList"
@
checkedTag=
"checkedTag"
/>
</el-form-item>
</div>
<el-form-item
label=
"请输入区服"
prop=
"server_info"
>
<!--
<div
class=
"line"
></div>
w92865226508-->
<el-select
<div
v-if=
"userDetails.username"
class=
"account_select_userInfo"
>
v-model
.
trim=
"form.server_info"
<div
class=
"bind-account-title"
style=
"margin-top: 20px;"
>
filterable
账号详情
remote
</div>
:disabled=
"form.main_game_id == ''"
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
账号
</span>
clearable
<p
class=
"text"
>
{{
userDetails
.
username
}}
</p>
<span
v-if=
"userDetails.account_type == 2"
style=
"width: 100%"
class=
"account_type"
>
内
</span>
reserve-keyword
</div>
placeholder=
"请先选择主游戏"
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
获客渠道
</span>
:remote-method=
"remoteMethodServer"
<p
class=
"text"
>
{{
userDetails
.
channel_name
}}
</p>
:loading=
"loading"
</div>
>
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
注册渠道
</span>
<el-option
<p
class=
"text"
>
{{
userDetails
.
register_channel_name
}}
</p>
v-for=
"item in serverNameList"
</div>
:key=
"item.id"
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
运营渠道
</span>
:label=
"item.label"
<p
class=
"text"
>
{{
userDetails
.
operator_channel_name
}}
</p>
:value=
"item.value"
</div>
>
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
注册游戏
</span>
</el-option>
<p
class=
"text"
>
{{
userDetails
.
reg_game_name
}}
</p>
</el-select>
</div>
</el-form-item>
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
主游戏
</span>
<el-form-item
label=
"请输入角色名"
prop=
"role_name"
>
<p
class=
"text"
>
{{
userDetails
.
main_game_name
}}
</p>
<el-input
</div>
v-model
.
trim=
"form.role_name"
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
真实姓名
</span>
:disabled=
"form.main_game_id == ''"
<p
class=
"text"
>
{{
userDetails
.
real_name
}}
</p>
placeholder=
"请先选择主游戏"
</div>
class=
"input-with-select"
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
手机号
</span>
>
<p
class=
"text"
>
{{
userDetails
.
mobile
}}
</p>
</el-input>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
size=
"small"
@
click=
"onSubmit"
>
搜索
</el-button
>
</el-form-item>
</div>
</el-form>
<div
class=
"table account_table"
>
<div
class=
"bind-account-title"
>
账号列表
</div>
<userTable
:list=
"tableList"
@
checkedTag=
"checkedTag"
/>
</div>
</div>
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
染色时间
</span>
<!--
<div
class=
"line"
></div>
w92865226508-->
<p
class=
"text"
>
{{
moment
(
userDetails
.
seq_time
*
1000
).
format
(
'YYYY-MM-DD'
)
}}
</p>
<div
v-if=
"userDetails.username"
class=
"account_select_userInfo"
>
</div>
<div
class=
"bind-account-title"
style=
"margin-top: 20px"
>
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
注册时间
</span>
账号详情
<p
class=
"text"
>
{{
moment
(
userDetails
.
reg_time
*
1000
).
format
(
'YYYY-MM-DD'
)
}}
</p>
</div>
</div>
<div
class=
"item rowFlex columnCenter"
>
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
登录系统
</span>
<span
class=
"label"
>
账号
</span>
<p
class=
"text"
>
{{
userDetails
.
last_login_os
}}
</p>
<p
class=
"text"
>
{{
userDetails
.
username
}}
</p>
</div>
<span
v-if=
"userDetails.account_type == 2"
class=
"account_type"
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
充值金额
</span>
>
内
</span
<p
class=
"text"
>
{{
userDetails
.
recharge_total
}}
</p>
>
</div>
</div>
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
是否添加微信
</span>
<div
class=
"item rowFlex columnCenter"
>
<p
class=
"text"
>
{{
userDetails
.
wechat_add_status_text
}}
</p>
<span
class=
"label"
>
获客渠道
</span>
<p
class=
"text"
>
{{
userDetails
.
channel_name
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
>
<span
class=
"label"
>
注册渠道
</span>
<p
class=
"text"
>
{{
userDetails
.
register_channel_name
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
>
<span
class=
"label"
>
运营渠道
</span>
<p
class=
"text"
>
{{
userDetails
.
operator_channel_name
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
>
<span
class=
"label"
>
注册游戏
</span>
<p
class=
"text"
>
{{
userDetails
.
reg_game_name
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
>
<span
class=
"label"
>
主游戏
</span>
<p
class=
"text"
>
{{
userDetails
.
main_game_name
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
>
<span
class=
"label"
>
真实姓名
</span>
<p
class=
"text"
>
{{
userDetails
.
real_name
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
>
<span
class=
"label"
>
手机号
</span>
<p
class=
"text"
>
{{
userDetails
.
mobile
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
>
<span
class=
"label"
>
染色时间
</span>
<p
class=
"text"
>
{{
moment
(
userDetails
.
seq_time
*
1000
).
format
(
'YYYY-MM-DD'
)
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
>
<span
class=
"label"
>
注册时间
</span>
<p
class=
"text"
>
{{
moment
(
userDetails
.
reg_time
*
1000
).
format
(
'YYYY-MM-DD'
)
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
>
<span
class=
"label"
>
登录系统
</span>
<p
class=
"text"
>
{{
userDetails
.
last_login_os
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
>
<span
class=
"label"
>
充值金额
</span>
<p
class=
"text"
>
{{
userDetails
.
recharge_total
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
>
<span
class=
"label"
>
是否添加微信
</span>
<p
class=
"text"
>
{{
userDetails
.
wechat_add_status_text
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
>
<span
class=
"label"
>
首次绑定微信
</span>
<p
class=
"text"
>
{{
firstWechatBind
?.
external_user_name
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
>
<span
class=
"label"
>
首次绑定时间
</span>
<p
class=
"text"
>
{{
firstWechatBind
?.
bind_time
}}
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<page
<page
class=
"pageInfo"
:page-info=
"pageInfo"
@
requestNextPage=
"requestNextPage"
/>
class=
"pageInfo"
<span
class=
"dialog-footer rowFlex"
>
:page-info=
"pageInfo"
<el-button
class=
"btn"
type=
"primary"
size=
"small"
:disabled=
"!userDetails.id"
@
click=
"confirmSubmit"
>
确
@
requestNextPage=
"requestNextPage"
定
</el-button>
/>
<span
class=
"dialog-footer rowFlex"
>
<el-button
class=
"btn"
type=
"primary"
size=
"small"
:disabled=
"!userDetails.id"
@
click=
"confirmSubmit"
>
确 定
</el-button
>
<el-button
class=
"btn"
size=
"small"
@
click=
"close"
>
取 消
</el-button>
<el-button
class=
"btn"
size=
"small"
@
click=
"close"
>
取 消
</el-button>
</span>
</span>
</div>
</div>
...
@@ -108,246 +193,296 @@
...
@@ -108,246 +193,296 @@
</
template
>
</
template
>
<
script
type=
"text/javascript"
>
<
script
type=
"text/javascript"
>
import
moment
from
'moment'
import
moment
from
'moment'
;
import
userTable
from
'./userTable.vue'
import
userTable
from
'./userTable.vue'
;
import
{
getRoleHoLo
,
memberView
,
selectSearch
}
from
'@/api/game'
import
{
getRoleHoLo
,
memberView
,
selectSearch
}
from
'@/api/game'
;
import
{
checkZyouBind
,
zyouBind
}
from
'@/api/works'
import
{
checkZyouBind
,
zyouBind
}
from
'@/api/works'
;
import
{
mapMutations
,
mapActions
,
mapState
}
from
'vuex'
import
{
mapMutations
,
mapActions
,
mapState
}
from
'vuex'
;
import
page
from
'@/components/page/pageNum.vue'
import
{
getFirstBindExternalUser
}
from
'@/api/works'
;
export
default
{
import
page
from
'@/components/page/pageNum.vue'
;
name
:
'addUser'
,
export
default
{
components
:
{
name
:
'addUser'
,
userTable
,
components
:
{
page
userTable
,
},
page
,
props
:
[
'show'
],
},
data
()
{
props
:
[
'show'
],
return
{
data
()
{
moment
,
return
{
tableList
:
[],
moment
,
checkoutUser
:
{},
tableList
:
[],
userDetails
:
{},
checkoutUser
:
{},
loading
:
false
,
userDetails
:
{},
pageInfo
:
{
firstWechatBind
:
{},
page
:
1
,
loading
:
false
,
page_size
:
20
,
pageInfo
:
{
total
:
0
page
:
1
,
},
page_size
:
20
,
form
:
{
total
:
0
,
member_id
:
''
,
},
username
:
''
,
form
:
{
role_name
:
''
,
member_id
:
''
,
cp_role_id
:
''
,
username
:
''
,
main_game_id
:
''
,
role_name
:
''
,
server_info
:
''
cp_role_id
:
''
,
},
main_game_id
:
''
,
gameNameList
:
[],
server_info
:
''
,
optionsList
:
[],
},
serverNameList
:
[],
gameNameList
:
[],
rules
:
{},
optionsList
:
[],
serverNameList
:
[],
rules
:
{},
};
},
computed
:
{
...
mapState
(
'game'
,
[
'chatUserInfo'
,
'userid'
,
'external_userid'
]),
},
watch
:
{
show
(
newVal
,
oldVal
)
{
if
(
newVal
)
{
// this.requestRoleList()
this
.
requestGameList
();
}
}
},
},
computed
:
{
},
...
mapState
(
'game'
,
[
'chatUserInfo'
,
'userid'
,
'external_userid'
]),
mounted
()
{},
},
methods
:
{
watch
:
{
...
mapActions
(
'game'
,
[
'gameBindUser'
]),
show
(
newVal
,
oldVal
)
{
...
mapMutations
(
'game'
,
[
'set_accountSelect'
]),
if
(
newVal
)
{
requestRoleList
()
{
// this.requestRoleList()
const
data
=
{
this
.
requestGameList
()
member_id
:
this
.
form
.
member_id
,
username
:
this
.
form
.
username
.
trim
(),
role_name
:
this
.
form
.
role_name
.
trim
(),
main_game_id
:
this
.
form
.
main_game_id
!==
''
?
[
this
.
form
.
main_game_id
]
:
[],
zyou_server_id
:
this
.
form
.
server_info
!==
''
?
[
this
.
form
.
server_info
]
:
[],
cp_role_id
:
this
.
form
.
cp_role_id
.
trim
()
||
''
,
search_type
:
'bind'
,
...
this
.
pageInfo
,
};
getRoleHoLo
(
data
).
then
((
res
)
=>
{
if
(
res
.
status_code
==
1
)
{
if
(
res
.
data
.
data
.
length
==
0
)
{
this
.
tableList
=
[];
this
.
$message
.
warning
(
'暂无数据'
);
}
else
{
this
.
tableList
=
res
.
data
.
data
;
this
.
pageInfo
=
res
.
data
.
page_info
;
}
}
}
}
}
);
},
},
mounted
()
{
// S181.啊呸¤可瑞 八荒181服
// 分页
requestNextPage
(
pageInfo
)
{
this
.
pageInfo
.
page
=
pageInfo
.
page
;
this
.
requestRoleList
();
},
},
methods
:
{
remoteMethodServer
(
query
)
{
...
mapActions
(
'game'
,
[
'gameBindUser'
]),
if
(
query
!==
''
)
{
...
mapMutations
(
'game'
,
[
'set_accountSelect'
]),
this
.
loading
=
true
;
requestRoleList
()
{
const
data
=
{
const
data
=
{
member_id
:
this
.
form
.
member_id
,
type
:
'server_info'
,
username
:
this
.
form
.
username
.
trim
(),
value
:
query
,
role_name
:
this
.
form
.
role_name
.
trim
(),
main_game_ids
:
this
.
form
.
main_game_id
,
main_game_id
:
this
.
form
.
main_game_id
!==
''
?
[
this
.
form
.
main_game_id
]
:
[],
};
zyou_server_id
:
this
.
form
.
server_info
!==
''
?
[
this
.
form
.
server_info
]
:
[],
selectSearch
(
data
).
then
((
res
)
=>
{
cp_role_id
:
this
.
form
.
cp_role_id
.
trim
()
||
''
,
this
.
loading
=
false
;
search_type
:
'bind'
,
...
this
.
pageInfo
}
getRoleHoLo
(
data
).
then
(
res
=>
{
if
(
res
.
status_code
==
1
)
{
if
(
res
.
status_code
==
1
)
{
if
(
res
.
data
.
data
.
length
==
0
)
{
this
.
serverNameList
=
res
.
data
.
data
;
this
.
tableList
=
[]
this
.
$message
.
warning
(
'暂无数据'
)
}
else
{
this
.
tableList
=
res
.
data
.
data
this
.
pageInfo
=
res
.
data
.
page_info
}
}
}
})
});
},
}
// S181.啊呸¤可瑞 八荒181服
},
remoteMethod
(
query
)
{
// 分页
if
(
query
!==
''
)
{
requestNextPage
(
pageInfo
)
{
this
.
gameNameList
=
this
.
optionsList
.
filter
((
item
)
=>
{
this
.
pageInfo
.
page
=
pageInfo
.
page
return
item
.
label
.
toLowerCase
().
indexOf
(
query
.
toLowerCase
())
>
-
1
;
this
.
requestRoleList
()
});
},
}
else
{
remoteMethodServer
(
query
)
{
this
.
gameNameList
=
[];
if
(
query
!==
''
)
{
}
this
.
loading
=
true
},
const
data
=
{
requestGameList
()
{
type
:
'server_info'
,
const
data
=
{
value
:
query
,
type
:
'mainGameList'
,
main_game_ids
:
this
.
form
.
main_game_id
value
:
''
,
}
weixin_blong_id
:
''
,
selectSearch
(
data
).
then
(
res
=>
{
};
this
.
loading
=
false
selectSearch
(
data
).
then
((
res
)
=>
{
if
(
res
.
status_code
==
1
)
{
this
.
loading
=
false
;
this
.
serverNameList
=
res
.
data
.
data
if
(
res
.
status_code
==
1
)
{
}
this
.
gameNameList
=
this
.
optionsList
=
res
.
data
.
data
;
})
}
}
},
});
remoteMethod
(
query
)
{
},
if
(
query
!==
''
)
{
close
()
{
this
.
gameNameList
=
this
.
optionsList
.
filter
(
item
=>
{
this
.
$emit
(
'update:show'
,
false
);
return
item
.
label
.
toLowerCase
()
this
.
resizeData
();
.
indexOf
(
query
.
toLowerCase
())
>
-
1
this
.
$emit
(
'close'
);
})
},
onSubmit
()
{
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
this
.
pageInfo
=
{
page
:
1
,
page_size
:
20
,
total
:
0
,
};
if
(
valid
)
{
if
(
this
.
form
.
role_name
==
''
&&
this
.
form
.
username
==
''
&&
this
.
form
.
cp_role_id
==
''
)
{
this
.
$message
.
warning
(
'请输入角色名或者w账号或者CP角色ID'
);
return
;
}
this
.
requestRoleList
();
}
else
{
}
else
{
this
.
gameNameList
=
[]
console
.
log
(
'error submit!!'
);
return
false
;
}
}
}
,
}
);
requestGameList
()
{
},
const
data
=
{
resizeData
()
{
type
:
'mainGameList'
,
this
.
form
=
{
value
:
''
,
member_id
:
''
,
weixin_blong_id
:
''
username
:
''
,
}
role_name
:
''
,
selectSearch
(
data
).
then
(
res
=>
{
cp_role_id
:
''
,
this
.
loading
=
false
main_game_id
:
''
,
if
(
res
.
status_code
==
1
)
{
server_info
:
''
,
this
.
gameNameList
=
this
.
optionsList
=
res
.
data
.
data
};
}
this
.
tableList
=
[];
})
this
.
checkoutUser
=
{};
},
this
.
userDetails
=
{};
close
()
{
this
.
firstWechatBind
=
{};
this
.
$emit
(
'update:show'
,
false
)
},
this
.
resizeData
()
/**
this
.
$emit
(
'close'
)
* 拉取当前选中会员的首次绑定微信信息;仅在表格勾选 w 账号并成功返回 memberView 后调用(见 rquestUserInfo)。
},
* 快速切换用户时用 member_id 比对,避免旧请求覆盖新数据。
onSubmit
()
{
* @param {string|number|undefined} memberId - 会员 id,与 userDetails.id 一致
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
*/
this
.
pageInfo
=
{
requestFirstWechatBind
(
memberId
)
{
page
:
1
,
if
(
!
memberId
)
{
page_size
:
20
,
this
.
firstWechatBind
=
{};
total
:
0
return
;
}
}
if
(
valid
)
{
const
reqMemberId
=
memberId
;
if
(
this
.
form
.
role_name
==
''
&&
this
.
form
.
username
==
''
&&
this
.
form
.
cp_role_id
==
''
)
{
getFirstBindExternalUser
({
member_id
:
memberId
})
this
.
$message
.
warning
(
'请输入角色名或者w账号或者CP角色ID'
)
.
then
((
res
)
=>
{
return
if
(
reqMemberId
!==
this
.
userDetails
.
id
)
return
;
}
if
(
res
.
status_code
===
1
&&
res
.
data
)
{
this
.
requestRoleList
()
this
.
firstWechatBind
=
res
.
data
;
}
else
{
}
else
{
console
.
log
(
'error submit!!'
)
this
.
firstWechatBind
=
{};
return
false
}
}
})
})
},
.
catch
(()
=>
{
resizeData
()
{
if
(
reqMemberId
===
this
.
userDetails
.
id
)
{
this
.
form
=
{
this
.
firstWechatBind
=
{};
member_id
:
''
,
}
username
:
''
,
});
role_name
:
''
,
},
cp_role_id
:
''
,
confirmSubmit
()
{
main_game_id
:
''
,
const
data
=
{
server_info
:
''
member_id
:
this
.
userDetails
.
id
&&
this
.
userDetails
.
id
!=
''
?
this
.
userDetails
.
id
:
this
.
checkoutUser
.
member_id
,
username
:
this
.
userDetails
.
username
,
};
checkZyouBind
(
data
).
then
((
res
)
=>
{
console
.
log
(
data
);
if
(
!
res
.
data
.
has_bind
)
{
this
.
submit
();
}
else
{
this
.
$confirm
(
res
.
data
.
tip
||
''
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
.
then
(()
=>
{
this
.
submit
();
})
.
catch
((
err
)
=>
{
console
.
log
(
err
);
this
.
$message
({
type
:
'info'
,
message
:
'已取消删除'
,
});
});
}
}
this
.
tableList
=
[]
});
this
.
checkoutUser
=
{}
},
this
.
userDetails
=
{}
submit
()
{
},
const
data
=
{
confirmSubmit
()
{
userid
:
this
.
userid
||
this
.
chatUserInfo
.
userid
,
const
data
=
{
external_userid
:
member_id
:
this
.
userDetails
.
id
&&
this
.
userDetails
.
id
!=
''
?
this
.
userDetails
.
id
:
this
.
checkoutUser
.
member_id
,
this
.
external_userid
||
this
.
chatUserInfo
.
external_userid
,
username
:
this
.
userDetails
.
username
member_id
:
this
.
userDetails
.
id
&&
this
.
userDetails
.
id
!=
''
?
this
.
userDetails
.
id
:
this
.
checkoutUser
.
member_id
,
username
:
this
.
userDetails
.
username
,
reg_game_id
:
this
.
userDetails
.
reg_game_id
,
main_game_id
:
this
.
userDetails
.
main_game_id
,
recharge_total
:
this
.
userDetails
.
recharge_total
,
};
console
.
log
(
this
.
chatUserInfo
,
'this.chatUserInfo'
,
this
.
userid
,
this
.
external_userid
,
);
// 绑定掌游账号
zyouBind
(
data
).
then
((
res
)
=>
{
if
(
res
.
status_code
==
1
)
{
this
.
$message
.
success
(
res
.
msg
);
this
.
updateData
();
}
}
checkZyouBind
(
data
).
then
(
res
=>
{
});
console
.
log
(
data
)
},
if
(
!
res
.
data
.
has_bind
)
{
// 更新列表数据
this
.
submit
()
updateData
()
{
const
data
=
{
userid
:
this
.
chatUserInfo
.
userid
,
external_userid
:
this
.
chatUserInfo
.
external_userid
,
};
this
.
gameBindUser
(
data
).
then
((
res
)
=>
{
this
.
set_accountSelect
(
this
.
userDetails
.
id
);
this
.
close
();
});
},
// 勾选活码
checkedTag
(
value
)
{
this
.
checkoutUser
=
value
;
const
data
=
{
member_id
:
value
.
member_id
,
need_channel
:
1
,
need_roleInfo
:
1
,
};
this
.
rquestUserInfo
(
data
);
},
rquestUserInfo
(
data
)
{
memberView
(
data
).
then
((
res
)
=>
{
if
(
res
.
status_code
==
1
)
{
this
.
userDetails
=
res
.
data
;
const
memberId
=
res
.
data
.
id
??
res
.
data
.
member_id
??
data
.
member_id
;
if
(
memberId
)
{
this
.
requestFirstWechatBind
(
memberId
);
}
else
{
}
else
{
this
.
$confirm
(
res
.
data
.
tip
||
''
,
{
this
.
firstWechatBind
=
{};
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
})
.
then
(()
=>
{
this
.
submit
()
})
.
catch
((
err
)
=>
{
console
.
log
(
err
)
this
.
$message
({
type
:
'info'
,
message
:
'已取消删除'
})
})
}
}
})
},
submit
()
{
const
data
=
{
userid
:
this
.
userid
||
this
.
chatUserInfo
.
userid
,
external_userid
:
this
.
external_userid
||
this
.
chatUserInfo
.
external_userid
,
member_id
:
this
.
userDetails
.
id
&&
this
.
userDetails
.
id
!=
''
?
this
.
userDetails
.
id
:
this
.
checkoutUser
.
member_id
,
username
:
this
.
userDetails
.
username
,
reg_game_id
:
this
.
userDetails
.
reg_game_id
,
main_game_id
:
this
.
userDetails
.
main_game_id
,
recharge_total
:
this
.
userDetails
.
recharge_total
,
}
console
.
log
(
this
.
chatUserInfo
,
'this.chatUserInfo'
,
this
.
userid
,
this
.
external_userid
)
// 绑定掌游账号
zyouBind
(
data
).
then
(
res
=>
{
if
(
res
.
status_code
==
1
)
{
this
.
$message
.
success
(
res
.
msg
)
this
.
updateData
()
}
})
},
// 更新列表数据
updateData
()
{
const
data
=
{
userid
:
this
.
chatUserInfo
.
userid
,
external_userid
:
this
.
chatUserInfo
.
external_userid
}
}
this
.
gameBindUser
(
data
).
then
(
res
=>
{
});
this
.
set_accountSelect
(
this
.
userDetails
.
id
)
},
this
.
close
()
},
})
};
},
</
script
>
// 勾选活码
checkedTag
(
value
)
{
this
.
checkoutUser
=
value
const
data
=
{
member_id
:
value
.
member_id
,
need_channel
:
1
,
need_roleInfo
:
1
}
this
.
rquestUserInfo
(
data
)
},
rquestUserInfo
(
data
)
{
memberView
(
data
).
then
(
res
=>
{
if
(
res
.
status_code
==
1
)
{
this
.
userDetails
=
res
.
data
}
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
::v-deep
.el-drawer
{
::v-deep
.el-drawer
{
...
@@ -428,7 +563,6 @@
...
@@ -428,7 +563,6 @@
}
}
}
}
}
}
}
}
.account_table
{
.account_table
{
...
@@ -477,4 +611,4 @@
...
@@ -477,4 +611,4 @@
::v-deep
.el-select-dropdown
{
::v-deep
.el-select-dropdown
{
min-width
:
210px
!important
;
min-width
:
210px
!important
;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/views/components/quickSendGame/sendGame.vue
浏览文件 @
19fcee13
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
:key=
"indexs"
:key=
"indexs"
class=
"gameListItem rowFlex columnCenter spaceBetween"
class=
"gameListItem rowFlex columnCenter spaceBetween"
>
>
<p>
{{ items.game_name +
"/"
+ items.game_id }}
</p>
<p>
{{ items.game_name +
'/'
+ items.game_id }}
</p>
<el-popover
placement=
"top"
width=
"160"
trigger=
"hover"
>
<el-popover
placement=
"top"
width=
"160"
trigger=
"hover"
>
<div>
<div>
<p
<p
...
@@ -99,9 +99,24 @@
...
@@ -99,9 +99,24 @@
</p>
</p>
<!-- h5 安卓游戏 IOS游戏 发送分身包 -->
<!-- h5 安卓游戏 IOS游戏 发送分身包 -->
<div
v-if=
"[2].includes(item.game_type)"
>
<div
v-if=
"[2].includes(item.game_type)"
>
<p
class=
"sendLink"
@
click=
"sendTransferCloneGame(2,items)"
>
发送分身包-H5
</p>
<p
<p
class=
"sendLink"
@
click=
"sendTransferCloneGame(3,items)"
>
发送分身包-安卓
</p>
class=
"sendLink"
<p
class=
"sendLink"
@
click=
"sendTransferCloneGame(4,items)"
>
发送分身包-IOS
</p>
@
click=
"sendTransferCloneGame(2, items)"
>
发送分身包-H5
</p>
<p
class=
"sendLink"
@
click=
"sendTransferCloneGame(3, items)"
>
发送分身包-安卓
</p>
<p
class=
"sendLink"
@
click=
"sendTransferCloneGame(4, items)"
>
发送分身包-IOS
</p>
</div>
</div>
</div>
</div>
<el-button
<el-button
...
@@ -179,7 +194,7 @@
...
@@ -179,7 +194,7 @@
:key=
"indexs"
:key=
"indexs"
class=
"gameListItem rowFlex columnCenter spaceBetween"
class=
"gameListItem rowFlex columnCenter spaceBetween"
>
>
<p>
{{ items.game_name +
"/"
+ items.game_id }}
</p>
<p>
{{ items.game_name +
'/'
+ items.game_id }}
</p>
<el-button
<el-button
slot=
"reference"
slot=
"reference"
size=
"mini"
size=
"mini"
...
@@ -282,27 +297,67 @@
...
@@ -282,27 +297,67 @@
:key=
"indexs"
:key=
"indexs"
class=
"gameListItem rowFlex columnCenter spaceBetween"
class=
"gameListItem rowFlex columnCenter spaceBetween"
>
>
<p>
{{ items.label +
"/"
+ items.id }}
</p>
<p>
{{ items.label +
'/'
+ items.id }}
</p>
<!--game_type: 1 微信小游戏 2 H5 游戏 3 安卓游戏 4 IOS 游戏 5 抖音小游戏 -->
<!--game_type: 1 微信小游戏 2 H5 游戏 3 安卓游戏 4 IOS 游戏 5 抖音小游戏 -->
<!-- 微信小游戏 安卓游戏 IOS游戏 处理逻辑 -->
<!-- 微信小游戏 安卓游戏 IOS游戏 处理逻辑 -->
<el-popover
v-if=
"items.game_type == 1 || items.game_type == 3 || items.game_type == 4 || items.game_type == 5"
placement=
"top"
trigger=
"click"
>
<el-popover
<div
v-if=
"items.game_type!=5"
>
v-if=
"
<p
class=
"sendLink"
@
click=
"sendChannelGame(items, item)"
>
发送链接/渠道二维码
</p>
items.game_type == 1 ||
<p
class=
"sendLink"
@
click=
"handleGameType(items, item, item.game_type, index)"
>
发送落地页
</p>
items.game_type == 3 ||
items.game_type == 4 ||
items.game_type == 5
"
placement=
"top"
trigger=
"click"
>
<div
v-if=
"items.game_type != 5"
>
<p
class=
"sendLink"
@
click=
"sendChannelGame(items, item)"
>
发送链接/渠道二维码
</p>
<p
class=
"sendLink"
@
click=
"
handleGameType(items, item, item.game_type, index)
"
>
发送落地页
</p>
<div
v-if=
"items.game_type == 1"
>
<div
v-if=
"items.game_type == 1"
>
<!-- 发送 H5 安卓分身包 -->
<!-- 发送 H5 安卓分身包 -->
<p
class=
"sendLink"
@
click=
"sendH5CloneGame(items, 'android')"
>
发送H5-安卓分身包
</p>
<p
<!-- 发送 H5 IOS 分身包 -->
class=
"sendLink"
<p
class=
"sendLink"
@
click=
"sendH5CloneGame(items, 'ios')"
>
发送H5-IOS分身包
</p>
@
click=
"sendH5CloneGame(items, 'android')"
</div>
>
</div>
发送H5-安卓分身包
<!-- 抖音小游戏发送落地页 -->
</p>
<div
v-else
>
<!-- 发送 H5 IOS 分身包 -->
<p
class=
"sendLink"
@
click=
"handleGameType(items, item, item.game_type, index)"
>
发送落地页
</p>
<p
class=
"sendLink"
@
click=
"sendH5CloneGame(items, 'ios')"
>
发送H5-IOS分身包
</p>
</div>
</div>
<el-button
slot=
"reference"
size=
"mini"
:disabled=
"accountSelect == ''"
>
发送
</el-button>
</div>
</el-popover>
<!-- 抖音小游戏发送落地页 -->
<div
v-else
>
<p
class=
"sendLink"
@
click=
"
handleGameType(items, item, item.game_type, index)
"
>
发送落地页
</p>
</div>
<el-button
slot=
"reference"
size=
"mini"
:disabled=
"accountSelect == ''"
>
发送
</el-button
>
</el-popover>
<el-button
<el-button
v-else
v-else
size=
"mini"
size=
"mini"
...
@@ -393,7 +448,7 @@
...
@@ -393,7 +448,7 @@
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
mapState
,
mapMutations
,
mapActions
}
from
"vuex"
;
import
{
mapState
,
mapMutations
,
mapActions
}
from
'vuex'
;
import
{
import
{
memberExtensionGameList
,
memberExtensionGameList
,
passwardEncryption
,
passwardEncryption
,
...
@@ -407,8 +462,8 @@ import {
...
@@ -407,8 +462,8 @@ import {
getClonePackageLink
,
getClonePackageLink
,
getLandingPageConfig
,
getLandingPageConfig
,
getMemberTransStatus
,
getMemberTransStatus
,
memberRegGameCloneLink
memberRegGameCloneLink
,
}
from
"@/api/game"
;
}
from
'@/api/game'
;
import
{
import
{
getRecentSendLog
,
getRecentSendLog
,
markTransScene
,
markTransScene
,
...
@@ -416,20 +471,20 @@ import {
...
@@ -416,20 +471,20 @@ import {
getZqCserWxBelong
,
getZqCserWxBelong
,
getMediaId
,
getMediaId
,
send_log_add
,
send_log_add
,
}
from
"@/api/works"
;
}
from
'@/api/works'
;
import
{
companyviewConfig
}
from
"@/api/user"
;
import
{
companyviewConfig
}
from
'@/api/user'
;
import
{
throttle
,
throttleStart
}
from
"@/utils/index"
;
import
{
throttle
,
throttleStart
}
from
'@/utils/index'
;
import
createChannel
from
"./sendGame/createChannel"
;
import
createChannel
from
'./sendGame/createChannel'
;
import
sendPage
from
"./sendGame/SendTransPage.vue"
;
import
sendPage
from
'./sendGame/SendTransPage.vue'
;
import
SendTransWxGame
from
"./sendGame/SendTransWxGame.vue"
;
import
SendTransWxGame
from
'./sendGame/SendTransWxGame.vue'
;
import
SendTransAppGame
from
"./sendGame/SendTransAppGame.vue"
;
import
SendTransAppGame
from
'./sendGame/SendTransAppGame.vue'
;
import
selectChannel
from
"./sendGame/selectChannel.vue"
;
import
selectChannel
from
'./sendGame/selectChannel.vue'
;
import
sendSelectChannel
from
"./sendGame/sendSelectChannel.vue"
;
import
sendSelectChannel
from
'./sendGame/sendSelectChannel.vue'
;
import
gameLogMixin
from
"@/mixins/gameLogMixin"
;
import
gameLogMixin
from
'@/mixins/gameLogMixin'
;
import
{
sendChatMessage
}
from
"@/utils/index"
;
import
{
sendChatMessage
}
from
'@/utils/index'
;
import
QrcodeVue
from
"qrcode.vue"
;
import
QrcodeVue
from
'qrcode.vue'
;
export
default
{
export
default
{
name
:
"sendGame"
,
name
:
'sendGame'
,
mixins
:
[
gameLogMixin
],
mixins
:
[
gameLogMixin
],
components
:
{
components
:
{
createChannel
,
createChannel
,
...
@@ -453,15 +508,15 @@ export default {
...
@@ -453,15 +508,15 @@ export default {
weixin_blongs_id
:
[],
weixin_blongs_id
:
[],
regGameList
:
[],
regGameList
:
[],
allRegGameList
:
[],
allRegGameList
:
[],
filterGameText
:
""
,
filterGameText
:
''
,
channelselectList
:
[],
channelselectList
:
[],
webForm
:
{
webForm
:
{
channel_id
:
""
,
channel_id
:
''
,
},
},
sendLoading
:
false
,
sendLoading
:
false
,
belongList
:
[],
// 项目列表
belongList
:
[],
// 项目列表
activeName
:
"1"
,
// 转端 1 转游 2 召回 3
activeName
:
'1'
,
// 转端 1 转游 2 召回 3
sendType
:
""
,
// 1 进发送链接 2 仅发送账号密码 3 发送链接和账号密码
sendType
:
''
,
// 1 进发送链接 2 仅发送账号密码 3 发送链接和账号密码
showCreateChannel
:
false
,
showCreateChannel
:
false
,
showImageComposer
:
false
,
showImageComposer
:
false
,
showWxGameDrawer
:
false
,
showWxGameDrawer
:
false
,
...
@@ -475,7 +530,7 @@ export default {
...
@@ -475,7 +530,7 @@ export default {
channelInfoList
:
{},
channelInfoList
:
{},
transMemberStatus
:
true
,
transMemberStatus
:
true
,
h5CloneGameInfo
:
{},
h5CloneGameInfo
:
{},
qrCodeValue
:
""
,
// 二维码内容
qrCodeValue
:
''
,
// 二维码内容
qrCodeSize
:
200
,
// 二维码大小
qrCodeSize
:
200
,
// 二维码大小
};
};
},
},
...
@@ -484,14 +539,14 @@ export default {
...
@@ -484,14 +539,14 @@ export default {
this
.
sendGameInfo
();
this
.
sendGameInfo
();
},
},
computed
:
{
computed
:
{
...
mapState
(
"game"
,
[
...
mapState
(
'game'
,
[
"accountSelect"
,
'accountSelect'
,
"bindGameUserList"
,
'bindGameUserList'
,
"chatUserInfo"
,
'chatUserInfo'
,
"gameUserInfo"
,
'gameUserInfo'
,
"send_game_log"
,
'send_game_log'
,
]),
]),
...
mapState
(
"user"
,
[
"userInfo"
,
"corp_id"
]),
...
mapState
(
'user'
,
[
'userInfo'
,
'corp_id'
]),
},
},
// props: [ 'chatUserInfo', 'chatUser'],
// props: [ 'chatUserInfo', 'chatUser'],
watch
:
{
watch
:
{
...
@@ -499,7 +554,7 @@ export default {
...
@@ -499,7 +554,7 @@ export default {
// 切换 w 账号的时候清空 conversionGameList 数据
// 切换 w 账号的时候清空 conversionGameList 数据
this
.
conversionGameList
=
[];
this
.
conversionGameList
=
[];
this
.
getMemberTransStatus
();
this
.
getMemberTransStatus
();
if
(
newVal
&&
newVal
!==
""
&&
this
.
bindGameUserList
.
length
>
0
)
{
if
(
newVal
&&
newVal
!==
''
&&
this
.
bindGameUserList
.
length
>
0
)
{
this
.
disabled
=
false
;
this
.
disabled
=
false
;
}
else
{
}
else
{
this
.
disabled
=
true
;
this
.
disabled
=
true
;
...
@@ -511,14 +566,14 @@ export default {
...
@@ -511,14 +566,14 @@ export default {
},
},
},
},
methods
:
{
methods
:
{
...
mapMutations
(
"game"
,
[
"set_send_game_log"
]),
...
mapMutations
(
'game'
,
[
'set_send_game_log'
]),
initDisable
()
{
initDisable
()
{
// 切换 w 账号的时候清空 conversionGameList 数据
// 切换 w 账号的时候清空 conversionGameList 数据
this
.
conversionGameList
=
[];
this
.
conversionGameList
=
[];
this
.
getMemberTransStatus
();
this
.
getMemberTransStatus
();
if
(
if
(
this
.
accountSelect
&&
this
.
accountSelect
&&
this
.
accountSelect
!==
""
&&
this
.
accountSelect
!==
''
&&
this
.
bindGameUserList
.
length
>
0
this
.
bindGameUserList
.
length
>
0
)
{
)
{
this
.
disabled
=
false
;
this
.
disabled
=
false
;
...
@@ -538,20 +593,20 @@ export default {
...
@@ -538,20 +593,20 @@ export default {
async
sendH5CloneGame
(
items
,
type
)
{
async
sendH5CloneGame
(
items
,
type
)
{
const
res
=
await
getClonePackageLink
({
mini_game_id
:
items
.
id
});
const
res
=
await
getClonePackageLink
({
mini_game_id
:
items
.
id
});
if
(
res
.
status_code
==
1
)
{
if
(
res
.
status_code
==
1
)
{
if
(
type
==
"android"
&&
!
res
?.
data
?.
data
?.
android_download_url
)
{
if
(
type
==
'android'
&&
!
res
?.
data
?.
data
?.
android_download_url
)
{
this
.
$message
.
warning
(
"安卓分身包链接不存在,请联系掌游配置"
);
this
.
$message
.
warning
(
'安卓分身包链接不存在,请联系掌游配置'
);
return
;
return
;
}
else
if
(
type
==
"ios"
&&
!
res
?.
data
?.
data
?.
ios_download_url
)
{
}
else
if
(
type
==
'ios'
&&
!
res
?.
data
?.
data
?.
ios_download_url
)
{
this
.
$message
.
warning
(
"IOS分身包链接不存在,请联系掌游配置"
);
this
.
$message
.
warning
(
'IOS分身包链接不存在,请联系掌游配置'
);
return
;
return
;
}
}
let
srt
=
""
;
let
srt
=
''
;
if
(
type
==
"android"
)
{
if
(
type
==
'android'
)
{
srt
=
"安卓分身包链接: "
+
res
.
data
.
data
.
android_download_url
;
srt
=
'安卓分身包链接: '
+
res
.
data
.
data
.
android_download_url
;
}
else
{
}
else
{
srt
=
"IOS分身包链接: "
+
res
.
data
.
data
.
ios_download_url
;
srt
=
'IOS分身包链接: '
+
res
.
data
.
data
.
ios_download_url
;
}
}
sendChatMessage
(
srt
,
"text"
);
sendChatMessage
(
srt
,
'text'
);
}
else
{
}
else
{
this
.
$message
.
warning
(
res
.
msg
);
this
.
$message
.
warning
(
res
.
msg
);
}
}
...
@@ -566,7 +621,7 @@ export default {
...
@@ -566,7 +621,7 @@ export default {
},
},
// 请求当前 W 账号是否符合转端条件 如果不符合 提示 当前w账号不满足转端要求,请联系组长处理
// 请求当前 W 账号是否符合转端条件 如果不符合 提示 当前w账号不满足转端要求,请联系组长处理
async
getMemberTransStatus
()
{
async
getMemberTransStatus
()
{
if
(
this
.
accountSelect
&&
this
.
accountSelect
!==
""
)
{
if
(
this
.
accountSelect
&&
this
.
accountSelect
!==
''
)
{
const
res
=
await
getMemberTransStatus
({
const
res
=
await
getMemberTransStatus
({
member_id
:
this
.
accountSelect
,
member_id
:
this
.
accountSelect
,
});
});
...
@@ -578,11 +633,11 @@ export default {
...
@@ -578,11 +633,11 @@ export default {
}
}
},
},
recallTabChange
()
{
recallTabChange
()
{
this
.
activeName
=
"3"
;
this
.
activeName
=
'3'
;
this
.
sendGameRecallList
();
this
.
sendGameRecallList
();
},
},
async
requestGameSendLog
()
{
async
requestGameSendLog
()
{
this
.
filterGameText
=
""
;
this
.
filterGameText
=
''
;
const
res
=
await
getRecentSendLog
();
const
res
=
await
getRecentSendLog
();
if
(
res
.
status_code
==
1
)
{
if
(
res
.
status_code
==
1
)
{
if
(
res
.
status_code
==
1
&&
res
.
data
.
length
>
0
)
{
if
(
res
.
status_code
==
1
&&
res
.
data
.
length
>
0
)
{
...
@@ -593,22 +648,22 @@ export default {
...
@@ -593,22 +648,22 @@ export default {
}
}
// 检查是否已经存在"最近发送"项
// 检查是否已经存在"最近发送"项
const
recentSendIndex
=
this
.
regGameList
.
findIndex
(
const
recentSendIndex
=
this
.
regGameList
.
findIndex
(
(
item
)
=>
item
.
label
===
"最近发送"
(
item
)
=>
item
.
label
===
'最近发送'
,
);
);
if
(
recentSendIndex
!==
-
1
)
{
if
(
recentSendIndex
!==
-
1
)
{
// 如果已存在,更新它
// 如果已存在,更新它
this
.
$set
(
this
.
regGameList
[
recentSendIndex
],
"children"
,
res
.
data
);
this
.
$set
(
this
.
regGameList
[
recentSendIndex
],
'children'
,
res
.
data
);
}
else
{
}
else
{
// 如果不存在,添加它
// 如果不存在,添加它
this
.
regGameList
.
unshift
({
this
.
regGameList
.
unshift
({
label
:
"最近发送"
,
label
:
'最近发送'
,
children
:
res
.
data
,
children
:
res
.
data
,
});
});
}
}
}
}
},
},
async
sendGameInfo
()
{
async
sendGameInfo
()
{
this
.
activeName
=
"1"
;
this
.
activeName
=
'1'
;
this
.
conversionGameList
=
[];
this
.
conversionGameList
=
[];
this
.
recallGameList
=
[];
this
.
recallGameList
=
[];
this
.
getMemberTransStatus
();
this
.
getMemberTransStatus
();
...
@@ -616,15 +671,15 @@ export default {
...
@@ -616,15 +671,15 @@ export default {
this
.
sendGameList
();
this
.
sendGameList
();
},
},
requestRegGameList
()
{
requestRegGameList
()
{
this
.
activeName
=
"2"
;
this
.
activeName
=
'2'
;
if
(
if
(
this
.
gameUserInfo
.
main_game_id
||
this
.
gameUserInfo
.
main_game_id
||
this
.
gameUserInfo
.
main_game_id
==
0
this
.
gameUserInfo
.
main_game_id
==
0
)
{
)
{
this
.
contentLoading
=
true
;
this
.
contentLoading
=
true
;
const
data
=
{
const
data
=
{
type
:
"gameListWithType"
,
type
:
'gameListWithType'
,
value
:
""
,
value
:
''
,
use_type
:
2
,
use_type
:
2
,
game_id
:
this
.
gameUserInfo
.
main_game_id
,
game_id
:
this
.
gameUserInfo
.
main_game_id
,
use_user_id
:
this
.
userInfo
.
id
,
use_user_id
:
this
.
userInfo
.
id
,
...
@@ -635,7 +690,7 @@ export default {
...
@@ -635,7 +690,7 @@ export default {
if
(
res
.
status_code
==
1
)
{
if
(
res
.
status_code
==
1
)
{
// 暂时隐藏快手小游戏
// 暂时隐藏快手小游戏
const
ksGameIndex
=
res
.
data
.
data
.
findIndex
(
const
ksGameIndex
=
res
.
data
.
data
.
findIndex
(
(
item
)
=>
item
.
label
===
"快手小游戏"
(
item
)
=>
item
.
label
===
'快手小游戏'
,
);
);
if
(
ksGameIndex
!==
-
1
)
{
if
(
ksGameIndex
!==
-
1
)
{
res
.
data
.
data
.
splice
(
ksGameIndex
,
1
);
res
.
data
.
data
.
splice
(
ksGameIndex
,
1
);
...
@@ -655,26 +710,26 @@ export default {
...
@@ -655,26 +710,26 @@ export default {
// 召回发送渠道
// 召回发送渠道
sendChannel
(
items
,
type
)
{
sendChannel
(
items
,
type
)
{
items
.
type
=
3
;
items
.
type
=
3
;
type
?
(
this
.
sendType
=
type
)
:
""
;
type
?
(
this
.
sendType
=
type
)
:
''
;
this
.
channelList
(
items
);
this
.
channelList
(
items
);
},
},
// 转游发送渠道
// 转游发送渠道
sendChannelGame
(
items
,
item
,
type
)
{
sendChannelGame
(
items
,
item
,
type
)
{
console
.
log
(
items
,
"items"
,
item
);
console
.
log
(
items
,
'items'
,
item
);
type
?
(
this
.
sendType
=
type
)
:
""
;
type
?
(
this
.
sendType
=
type
)
:
''
;
const
gameInfo
=
this
.
$clone
(
items
);
const
gameInfo
=
this
.
$clone
(
items
);
gameInfo
.
type
=
2
;
gameInfo
.
type
=
2
;
this
.
channelList
(
gameInfo
);
this
.
channelList
(
gameInfo
);
},
},
changeGameText
()
{
changeGameText
()
{
console
.
log
(
this
.
filterGameText
);
console
.
log
(
this
.
filterGameText
);
if
(
this
.
filterGameText
.
trim
()
===
""
)
{
if
(
this
.
filterGameText
.
trim
()
===
''
)
{
this
.
regGameList
=
this
.
allRegGameList
;
this
.
regGameList
=
this
.
allRegGameList
;
}
else
{
}
else
{
const
list
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
allRegGameList
));
const
list
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
allRegGameList
));
list
.
map
((
item
,
index
)
=>
{
list
.
map
((
item
,
index
)
=>
{
item
.
children
=
item
.
children
.
filter
(
item
.
children
=
item
.
children
.
filter
(
(
items
)
=>
items
.
label
.
indexOf
(
this
.
filterGameText
)
!==
-
1
(
items
)
=>
items
.
label
.
indexOf
(
this
.
filterGameText
)
!==
-
1
,
);
);
});
});
this
.
regGameList
=
list
;
this
.
regGameList
=
list
;
...
@@ -682,7 +737,7 @@ export default {
...
@@ -682,7 +737,7 @@ export default {
},
},
// 获取渠道列表
// 获取渠道列表
channelList
(
items
)
{
channelList
(
items
)
{
console
.
log
(
items
,
"items"
);
console
.
log
(
items
,
'items'
);
const
data
=
{
const
data
=
{
game_id
:
items
.
game_id
||
items
.
id
,
game_id
:
items
.
game_id
||
items
.
id
,
page_size
:
200
,
page_size
:
200
,
...
@@ -691,7 +746,7 @@ export default {
...
@@ -691,7 +746,7 @@ export default {
weixin_blongs_id
:
items
.
weixin_blongs_id
weixin_blongs_id
:
items
.
weixin_blongs_id
?
[
items
.
weixin_blongs_id
]
?
[
items
.
weixin_blongs_id
]
:
this
.
weixin_blongs_id
,
:
this
.
weixin_blongs_id
,
request_system
:
"company_wx"
,
request_system
:
'company_wx'
,
member_id
:
this
.
accountSelect
,
member_id
:
this
.
accountSelect
,
use_type
:
this
.
activeName
,
use_type
:
this
.
activeName
,
};
};
...
@@ -712,7 +767,7 @@ export default {
...
@@ -712,7 +767,7 @@ export default {
}
}
this
.
sendGameLog
(
items
);
this
.
sendGameLog
(
items
);
}
else
{
}
else
{
this
.
$message
.
warning
(
"请到掌游创建运营渠道"
);
this
.
$message
.
warning
(
'请到掌游创建运营渠道'
);
}
}
});
});
},
},
...
@@ -727,7 +782,7 @@ export default {
...
@@ -727,7 +782,7 @@ export default {
this
.
contentLoading
=
false
;
this
.
contentLoading
=
false
;
if
(
res
.
status_code
===
1
&&
res
.
data
.
data
.
length
>
0
)
{
if
(
res
.
status_code
===
1
&&
res
.
data
.
data
.
length
>
0
)
{
const
ksGameIndex
=
res
.
data
.
data
.
findIndex
(
const
ksGameIndex
=
res
.
data
.
data
.
findIndex
(
(
item
)
=>
item
.
game_type
==
6
(
item
)
=>
item
.
game_type
==
6
,
);
);
if
(
ksGameIndex
!=
-
1
)
{
if
(
ksGameIndex
!=
-
1
)
{
res
.
data
.
data
.
splice
(
ksGameIndex
,
1
);
res
.
data
.
data
.
splice
(
ksGameIndex
,
1
);
...
@@ -742,7 +797,7 @@ export default {
...
@@ -742,7 +797,7 @@ export default {
}
}
},
},
async
conversionChangeOld
(
value
)
{
async
conversionChangeOld
(
value
)
{
console
.
log
(
"请求数据"
,
this
.
conversionGameList
);
console
.
log
(
'请求数据'
,
this
.
conversionGameList
);
if
(
this
.
isReqeustData
)
{
if
(
this
.
isReqeustData
)
{
return
;
return
;
}
}
...
@@ -765,7 +820,7 @@ export default {
...
@@ -765,7 +820,7 @@ export default {
// 使用解构赋值简化数据设置
// 使用解构赋值简化数据设置
const
updates
=
{
const
updates
=
{
children
:
reslist
.
data
?.
length
>
0
?
reslist
.
data
:
[],
children
:
reslist
.
data
?.
length
>
0
?
reslist
.
data
:
[],
send_trans_page_id
:
""
,
// 转端要发送的游戏 ID
send_trans_page_id
:
''
,
// 转端要发送的游戏 ID
isReqeustData
:
true
,
isReqeustData
:
true
,
};
};
...
@@ -776,17 +831,17 @@ export default {
...
@@ -776,17 +831,17 @@ export default {
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
console
.
error
(
`Failed to fetch game list for index
${
index
}
:`
,
`Failed to fetch game list for index
${
index
}
:`
,
error
error
,
);
);
// 设置空数组作为默认值
// 设置空数组作为默认值
this
.
$set
(
this
.
conversionGameList
[
index
],
"children"
,
[]);
this
.
$set
(
this
.
conversionGameList
[
index
],
'children'
,
[]);
}
}
});
});
await
Promise
.
all
(
promiseList
);
await
Promise
.
all
(
promiseList
);
this
.
handleConversionGameList
();
this
.
handleConversionGameList
();
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
"Failed to fetch conversion game lists:"
,
error
);
console
.
error
(
'Failed to fetch conversion game lists:'
,
error
);
}
finally
{
}
finally
{
this
.
gameLoding
=
false
;
this
.
gameLoding
=
false
;
this
.
isReqeustData
=
false
;
this
.
isReqeustData
=
false
;
...
@@ -803,56 +858,72 @@ export default {
...
@@ -803,56 +858,72 @@ export default {
item
.
children
.
length
>
0
item
.
children
.
length
>
0
)
{
)
{
const
filteredChildren
=
item
.
children
.
filter
((
child
)
=>
{
const
filteredChildren
=
item
.
children
.
filter
((
child
)
=>
{
return
child
.
game_id
!==
"912"
&&
child
.
game_id
!=
"784"
;
return
child
.
game_id
!==
'912'
&&
child
.
game_id
!=
'784'
;
});
});
this
.
$set
(
this
.
$set
(
this
.
conversionGameList
[
index
],
this
.
conversionGameList
[
index
],
"children"
,
'children'
,
filteredChildren
filteredChildren
,
);
);
}
}
// 隐藏安卓游戏 安卓游戏 game_type: 3
// 隐藏安卓游戏 安卓游戏 game_type: 3
// 隐藏神权之战 这里根据游戏名称判断 因为 game_id 是会变化的
if
(
if
(
item
.
game_type
===
3
&&
item
.
game_type
===
3
&&
item
.
children
&&
item
.
children
&&
item
.
children
.
length
>
0
item
.
children
.
length
>
0
)
{
)
{
// 过滤掉 game_name 为"破日开天"的数据 英雄霸业 741:独步天龙 912:神权之战 繁华梦/2274
const
filterList
=
[
'2365'
,
'2378'
,
'2431'
,
'2437'
,
'2439'
,
'2440'
,
'2441'
,
'2442'
,
'2443'
,
];
// 过滤掉 game_name 为"破日开天"的数据 英雄霸业 741:独步天龙 912:神权之战 繁华梦/2274 黑夜传奇/685 深海花园/2326
const
filteredChildren
=
item
.
children
.
filter
((
child
)
=>
{
const
filteredChildren
=
item
.
children
.
filter
((
child
)
=>
{
return
(
return
(
child
.
game_name
!==
"破日开天"
&&
child
.
game_name
!==
'破日开天'
&&
child
.
game_name
!==
"英雄霸业"
&&
child
.
game_name
!==
'英雄霸业'
&&
child
.
game_
id
!==
"741"
&&
child
.
game_
name
!==
'神权之战'
&&
child
.
game_id
!=
=
"912"
&&
child
.
game_id
!=
'741'
&&
child
.
game_
name
!==
'神权之战'
&&
child
.
game_
id
!=
'2274'
&&
child
.
game_id
!==
'741'
&&
!
filterList
.
includes
(
child
.
game_id
)
&&
child
.
game_
id
!==
'2274'
&&
child
.
game_
name
!==
'繁华梦'
&&
child
.
game_name
!==
'繁华梦'
Number
(
child
.
game_id
)
!==
685
);
);
});
});
this
.
$set
(
this
.
$set
(
this
.
conversionGameList
[
index
],
this
.
conversionGameList
[
index
],
"children"
,
'children'
,
filteredChildren
filteredChildren
,
);
);
}
}
// 隐藏 IOS 游戏 雄霸天下 有两个包 1 个是 691 一个是 819 王鑫说 暂时先隐藏 691 的功能
// 隐藏 IOS 游戏 雄霸天下 有两个包 1 个是 691 一个是 819 王鑫说 暂时先隐藏 691 的功能
// 隐藏神权之战 这里根据游戏名称判断 因为 game_id 是会变化的
if
(
if
(
item
.
game_type
===
4
&&
item
.
game_type
===
4
&&
item
.
children
&&
item
.
children
&&
item
.
children
.
length
>
0
item
.
children
.
length
>
0
)
{
)
{
const
filteredChildren
=
item
.
children
.
filter
((
child
)
=>
{
const
filteredChildren
=
item
.
children
.
filter
((
child
)
=>
{
return
Number
(
child
.
game_id
)
!==
691
;
return
(
Number
(
child
.
game_id
)
!==
691
&&
child
.
game_name
!==
'神权之战'
&&
child
.
game_id
!=
'2393'
);
});
});
this
.
$set
(
this
.
$set
(
this
.
conversionGameList
[
index
],
this
.
conversionGameList
[
index
],
"children"
,
'children'
,
filteredChildren
filteredChildren
,
);
);
}
}
});
});
console
.
log
(
this
.
conversionGameList
,
"conversionGameList"
);
}
}
},
},
// 转端展开
// 转端展开
...
@@ -860,7 +931,7 @@ export default {
...
@@ -860,7 +931,7 @@ export default {
if
(
value
&&
value
.
length
>
0
)
{
if
(
value
&&
value
.
length
>
0
)
{
const
gameType
=
value
[
value
.
length
-
1
];
const
gameType
=
value
[
value
.
length
-
1
];
const
gameIndex
=
this
.
conversionGameList
.
findIndex
(
const
gameIndex
=
this
.
conversionGameList
.
findIndex
(
(
item
)
=>
item
.
game_type
===
gameType
(
item
)
=>
item
.
game_type
===
gameType
,
);
);
if
(
if
(
!
this
.
conversionGameList
[
gameIndex
].
children
||
!
this
.
conversionGameList
[
gameIndex
].
children
||
...
@@ -881,11 +952,11 @@ export default {
...
@@ -881,11 +952,11 @@ export default {
if
(
reslist
.
status_code
===
1
&&
reslist
.
data
.
data
.
length
>
0
)
{
if
(
reslist
.
status_code
===
1
&&
reslist
.
data
.
data
.
length
>
0
)
{
this
.
$set
(
this
.
$set
(
this
.
conversionGameList
[
gameIndex
],
this
.
conversionGameList
[
gameIndex
],
"children"
,
'children'
,
reslist
.
data
.
data
reslist
.
data
.
data
,
);
);
}
else
{
}
else
{
this
.
$set
(
this
.
conversionGameList
[
gameIndex
],
"children"
,
[]);
this
.
$set
(
this
.
conversionGameList
[
gameIndex
],
'children'
,
[]);
}
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
gameLoding
=
false
;
this
.
gameLoding
=
false
;
...
@@ -902,7 +973,7 @@ export default {
...
@@ -902,7 +973,7 @@ export default {
this
.
contentLoading
=
false
;
this
.
contentLoading
=
false
;
if
(
res
.
status_code
===
1
&&
res
.
data
.
data
.
length
>
0
)
{
if
(
res
.
status_code
===
1
&&
res
.
data
.
data
.
length
>
0
)
{
const
ksGameIndex
=
res
.
data
.
data
.
findIndex
(
const
ksGameIndex
=
res
.
data
.
data
.
findIndex
(
(
item
)
=>
item
.
game_type
==
6
(
item
)
=>
item
.
game_type
==
6
,
);
);
if
(
ksGameIndex
!==
-
1
)
{
if
(
ksGameIndex
!==
-
1
)
{
res
.
data
.
data
.
splice
(
ksGameIndex
,
1
);
res
.
data
.
data
.
splice
(
ksGameIndex
,
1
);
...
@@ -921,7 +992,7 @@ export default {
...
@@ -921,7 +992,7 @@ export default {
if
(
value
&&
value
.
length
>
0
)
{
if
(
value
&&
value
.
length
>
0
)
{
const
gameType
=
value
[
value
.
length
-
1
];
const
gameType
=
value
[
value
.
length
-
1
];
const
gameIndex
=
this
.
recallGameList
.
findIndex
(
const
gameIndex
=
this
.
recallGameList
.
findIndex
(
(
item
)
=>
item
.
game_type
===
gameType
(
item
)
=>
item
.
game_type
===
gameType
,
);
);
if
(
if
(
!
this
.
recallGameList
[
gameIndex
].
children
||
!
this
.
recallGameList
[
gameIndex
].
children
||
...
@@ -943,17 +1014,17 @@ export default {
...
@@ -943,17 +1014,17 @@ export default {
if
(
reslist
.
status_code
===
1
&&
reslist
.
data
.
data
.
length
>
0
)
{
if
(
reslist
.
status_code
===
1
&&
reslist
.
data
.
data
.
length
>
0
)
{
this
.
$set
(
this
.
$set
(
this
.
recallGameList
[
gameIndex
],
this
.
recallGameList
[
gameIndex
],
"children"
,
'children'
,
reslist
.
data
.
data
reslist
.
data
.
data
,
);
);
}
else
{
}
else
{
this
.
$set
(
this
.
recallGameList
[
gameIndex
],
"children"
,
[]);
this
.
$set
(
this
.
recallGameList
[
gameIndex
],
'children'
,
[]);
}
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
gameLoding
=
false
;
this
.
gameLoding
=
false
;
},
2000
);
},
2000
);
}
else
{
}
else
{
console
.
log
(
"之前请求过了"
);
console
.
log
(
'之前请求过了'
);
}
}
}
}
},
},
...
@@ -967,7 +1038,7 @@ export default {
...
@@ -967,7 +1038,7 @@ export default {
handleAccount
()
{
handleAccount
()
{
if
(
this
.
bindGameUserList
.
length
>
0
)
{
if
(
this
.
bindGameUserList
.
length
>
0
)
{
const
account
=
this
.
bindGameUserList
.
find
(
const
account
=
this
.
bindGameUserList
.
find
(
(
item
)
=>
item
.
member_id
==
this
.
accountSelect
(
item
)
=>
item
.
member_id
==
this
.
accountSelect
,
);
);
if
(
account
)
{
if
(
account
)
{
return
true
;
return
true
;
...
@@ -980,60 +1051,60 @@ export default {
...
@@ -980,60 +1051,60 @@ export default {
},
},
sendLink
:
throttle
(
function
(
item
,
type
)
{
sendLink
:
throttle
(
function
(
item
,
type
)
{
if
(
!
this
.
transMemberStatus
)
{
if
(
!
this
.
transMemberStatus
)
{
this
.
$message
.
warning
(
"当前w账号不满足转端要求,请联系组长处理"
);
this
.
$message
.
warning
(
'当前w账号不满足转端要求,请联系组长处理'
);
return
;
return
;
}
}
console
.
log
(
item
,
"转端发送仅发送链接"
);
console
.
log
(
item
,
'转端发送仅发送链接'
);
const
result
=
this
.
handleAccount
();
const
result
=
this
.
handleAccount
();
if
(
!
result
)
{
if
(
!
result
)
{
this
.
$message
.
warning
(
"请稍后再试"
);
this
.
$message
.
warning
(
'请稍后再试'
);
return
false
;
return
false
;
}
}
let
str
=
""
;
let
str
=
''
;
if
(
type
==
2
)
{
if
(
type
==
2
)
{
str
=
"网页游戏链接:"
;
str
=
'网页游戏链接:'
;
}
else
if
(
type
==
3
)
{
}
else
if
(
type
==
3
)
{
str
=
"安卓游戏链接:"
;
str
=
'安卓游戏链接:'
;
}
else
if
(
type
==
4
)
{
}
else
if
(
type
==
4
)
{
str
=
"IOS游戏链接:"
;
str
=
'IOS游戏链接:'
;
}
else
{
}
else
{
}
}
// const list = [
// const list = [
// { msgtype: 'text', text: { content: `${str}${item.url}` }}
// { msgtype: 'text', text: { content: `${str}${item.url}` }}
// ]
// ]
this
.
sendChatMessage
(
`
${
str
}${
item
.
url
}
`
,
"text"
);
this
.
sendChatMessage
(
`
${
str
}${
item
.
url
}
`
,
'text'
);
this
.
markTransScene
(
type
);
this
.
markTransScene
(
type
);
item
.
type
=
1
;
item
.
type
=
1
;
this
.
sendGameLog
(
item
);
this
.
sendGameLog
(
item
);
},
500
),
},
500
),
sendPassword
:
throttle
(
function
(
item
,
type
)
{
sendPassword
:
throttle
(
function
(
item
,
type
)
{
if
(
!
this
.
transMemberStatus
)
{
if
(
!
this
.
transMemberStatus
)
{
this
.
$message
.
warning
(
"当前w账号不满足转端要求,请联系组长处理"
);
this
.
$message
.
warning
(
'当前w账号不满足转端要求,请联系组长处理'
);
return
;
return
;
}
}
console
.
log
(
item
,
"转端仅发送账号密码"
);
console
.
log
(
item
,
'转端仅发送账号密码'
);
const
result
=
this
.
handleAccount
();
const
result
=
this
.
handleAccount
();
if
(
!
result
)
{
if
(
!
result
)
{
this
.
$message
.
warning
(
"请稍后再试"
);
this
.
$message
.
warning
(
'请稍后再试'
);
return
false
;
return
false
;
}
}
const
username
=
this
.
bindGameUserList
.
find
(
const
username
=
this
.
bindGameUserList
.
find
(
(
items
)
=>
items
.
member_id
==
this
.
accountSelect
(
items
)
=>
items
.
member_id
==
this
.
accountSelect
,
).
username
;
).
username
;
passwardEncryption
({
member_id
:
this
.
accountSelect
})
passwardEncryption
({
member_id
:
this
.
accountSelect
})
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
this
.
sendChatMessage
(
this
.
sendChatMessage
(
`账号:
${
username
}
\n密码:
${
res
.
data
.
password
}
`
,
`账号:
${
username
}
\n密码:
${
res
.
data
.
password
}
`
,
"text"
'text'
,
);
);
this
.
markTransScene
(
type
);
this
.
markTransScene
(
type
);
this
.
sendGameLog
(
item
);
this
.
sendGameLog
(
item
);
})
})
.
catch
((
err
)
=>
{
.
catch
((
err
)
=>
{
const
list
=
[
const
list
=
[
{
msgtype
:
"text"
,
text
:
{
content
:
`账号:
${
username
}
`
}
},
{
msgtype
:
'text'
,
text
:
{
content
:
`账号:
${
username
}
`
}
},
];
];
this
.
sendChatMessage
(
`账号:
${
username
}
`
,
"text"
);
this
.
sendChatMessage
(
`账号:
${
username
}
`
,
'text'
);
item
.
type
=
1
;
item
.
type
=
1
;
this
.
sendGameLog
(
item
);
this
.
sendGameLog
(
item
);
console
.
log
(
err
);
console
.
log
(
err
);
...
@@ -1041,31 +1112,31 @@ export default {
...
@@ -1041,31 +1112,31 @@ export default {
},
500
),
},
500
),
sendMessage
:
throttle
(
function
(
item
,
type
)
{
sendMessage
:
throttle
(
function
(
item
,
type
)
{
if
(
!
this
.
transMemberStatus
)
{
if
(
!
this
.
transMemberStatus
)
{
this
.
$message
.
warning
(
"当前w账号不满足转端要求,请联系组长处理"
);
this
.
$message
.
warning
(
'当前w账号不满足转端要求,请联系组长处理'
);
return
;
return
;
}
}
const
result
=
this
.
handleAccount
();
const
result
=
this
.
handleAccount
();
if
(
!
result
)
{
if
(
!
result
)
{
this
.
$message
.
warning
(
"请稍后再试"
);
this
.
$message
.
warning
(
'请稍后再试'
);
return
false
;
return
false
;
}
}
let
str
=
""
;
let
str
=
''
;
if
(
type
==
2
)
{
if
(
type
==
2
)
{
str
=
"网页游戏链接:"
;
str
=
'网页游戏链接:'
;
}
else
if
(
type
==
3
)
{
}
else
if
(
type
==
3
)
{
str
=
"安卓游戏链接:"
;
str
=
'安卓游戏链接:'
;
}
else
if
(
type
==
4
)
{
}
else
if
(
type
==
4
)
{
str
=
"IOS游戏链接:"
;
str
=
'IOS游戏链接:'
;
}
else
{
}
else
{
}
}
const
username
=
this
.
bindGameUserList
.
find
(
const
username
=
this
.
bindGameUserList
.
find
(
(
items
)
=>
items
.
member_id
==
this
.
accountSelect
(
items
)
=>
items
.
member_id
==
this
.
accountSelect
,
).
username
;
).
username
;
passwardEncryption
({
member_id
:
this
.
accountSelect
})
passwardEncryption
({
member_id
:
this
.
accountSelect
})
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
const
list
=
[
const
list
=
[
{
{
msgtype
:
"text"
,
msgtype
:
'text'
,
text
:
{
text
:
{
content
:
`
${
str
}${
item
.
url
}
\n账号:
${
username
}
\n密码:
${
res
.
data
.
password
}
`
,
content
:
`
${
str
}${
item
.
url
}
\n账号:
${
username
}
\n密码:
${
res
.
data
.
password
}
`
,
key
:
res
.
data
.
key
,
key
:
res
.
data
.
key
,
...
@@ -1075,7 +1146,7 @@ export default {
...
@@ -1075,7 +1146,7 @@ export default {
];
];
this
.
sendChatMessage
(
this
.
sendChatMessage
(
`
${
str
}${
item
.
url
}
\n账号:
${
username
}
\n密码:
${
res
.
data
.
password
}
`
,
`
${
str
}${
item
.
url
}
\n账号:
${
username
}
\n密码:
${
res
.
data
.
password
}
`
,
"text"
'text'
,
);
);
this
.
markTransScene
(
type
);
this
.
markTransScene
(
type
);
item
.
type
=
1
;
item
.
type
=
1
;
...
@@ -1084,102 +1155,106 @@ export default {
...
@@ -1084,102 +1155,106 @@ export default {
.
catch
((
err
)
=>
{
.
catch
((
err
)
=>
{
const
list
=
[
const
list
=
[
{
{
msgtype
:
"text"
,
msgtype
:
'text'
,
text
:
{
content
:
`
${
str
}${
item
.
url
}
\n账号:
${
username
}
`
},
text
:
{
content
:
`
${
str
}${
item
.
url
}
\n账号:
${
username
}
`
},
},
},
];
];
this
.
sendChatMessage
(
`
${
str
}${
item
.
url
}
\n账号:
${
username
}
`
,
"text"
);
this
.
sendChatMessage
(
`
${
str
}${
item
.
url
}
\n账号:
${
username
}
`
,
'text'
);
this
.
sendGameLog
(
item
);
this
.
sendGameLog
(
item
);
console
.
log
(
err
);
console
.
log
(
err
);
});
});
},
500
),
},
500
),
// 发送游戏落地页
// 发送游戏落地页
startSendPage
(
value
)
{
startSendPage
(
value
)
{
console
.
log
(
value
,
"value"
);
console
.
log
(
value
,
'value'
);
this
.
getMediaId
(
value
,
"image"
);
this
.
getMediaId
(
value
,
'image'
);
},
},
// 转端发送落地页面
// 转端发送落地页面
sendDownLoadPage
:
throttleStart
(
function
(
items
,
type
,
index
)
{
sendDownLoadPage
:
throttleStart
(
function
(
items
,
type
,
index
)
{
if
(
!
this
.
transMemberStatus
)
{
if
(
!
this
.
transMemberStatus
)
{
this
.
$message
.
warning
(
"当前w账号不满足转端要求,请联系组长处理"
);
this
.
$message
.
warning
(
'当前w账号不满足转端要求,请联系组长处理'
);
return
;
return
;
}
}
this
.
$set
(
this
.
$set
(
this
.
conversionGameList
[
index
],
this
.
conversionGameList
[
index
],
"send_trans_page_id"
,
'send_trans_page_id'
,
items
.
game_id
items
.
game_id
,
);
);
this
.
showSendPage
=
true
;
this
.
showSendPage
=
true
;
},
500
),
},
500
),
// 转端发送游戏分身包 h5 安卓游戏 IOS游戏 发送分身包
// 转端发送游戏分身包 h5 安卓游戏 IOS游戏 发送分身包
async
sendTransferCloneGame
(
type
,
items
)
{
async
sendTransferCloneGame
(
type
,
items
)
{
if
(
!
this
.
h5CloneGameInfo
?.
data
?.
h5_download_url
){
if
(
!
this
.
h5CloneGameInfo
?.
data
?.
h5_download_url
)
{
this
.
h5CloneGameInfo
=
await
memberRegGameCloneLink
({
member_id
:
this
.
accountSelect
,
game_id
:
items
.
game_id
})
||
{}
this
.
h5CloneGameInfo
=
(
await
memberRegGameCloneLink
({
member_id
:
this
.
accountSelect
,
game_id
:
items
.
game_id
,
}))
||
{};
}
}
if
(
this
.
h5CloneGameInfo
?.
status_code
==
1
)
{
if
(
this
.
h5CloneGameInfo
?.
status_code
==
1
)
{
// 通过 type 判断 用 switch
// 通过 type 判断 用 switch
switch
(
type
)
{
switch
(
type
)
{
case
2
:
case
2
:
if
(
!
this
.
h5CloneGameInfo
?.
data
?.
h5_download_url
)
{
if
(
!
this
.
h5CloneGameInfo
?.
data
?.
h5_download_url
)
{
this
.
$message
.
warning
(
'H5安卓分身包链接不存在,请联系掌游配置'
)
this
.
$message
.
warning
(
'H5安卓分身包链接不存在,请联系掌游配置'
)
;
return
return
;
}
}
break
break
;
case
3
:
case
3
:
if
(
!
this
.
h5CloneGameInfo
?.
data
?.
android_download_url
)
{
if
(
!
this
.
h5CloneGameInfo
?.
data
?.
android_download_url
)
{
this
.
$message
.
warning
(
'安卓分身包链接不存在,请联系掌游配置'
)
this
.
$message
.
warning
(
'安卓分身包链接不存在,请联系掌游配置'
)
;
return
return
;
}
}
break
break
;
case
4
:
case
4
:
if
(
!
this
.
h5CloneGameInfo
?.
data
?.
ios_download_url
)
{
if
(
!
this
.
h5CloneGameInfo
?.
data
?.
ios_download_url
)
{
this
.
$message
.
warning
(
'IOS分身包链接不存在,请联系掌游配置'
)
this
.
$message
.
warning
(
'IOS分身包链接不存在,请联系掌游配置'
)
;
return
return
;
}
}
break
break
;
default
:
default
:
this
.
$message
.
warning
(
'不支持的游戏类型'
)
this
.
$message
.
warning
(
'不支持的游戏类型'
)
;
return
return
;
}
}
let
srt
=
''
let
srt
=
''
;
switch
(
type
)
{
switch
(
type
)
{
case
2
:
case
2
:
srt
=
this
.
h5CloneGameInfo
?.
data
?.
h5_download_url
srt
=
this
.
h5CloneGameInfo
?.
data
?.
h5_download_url
;
break
break
;
case
3
:
case
3
:
srt
=
this
.
h5CloneGameInfo
?.
data
?.
android_download_url
srt
=
this
.
h5CloneGameInfo
?.
data
?.
android_download_url
;
break
break
;
case
4
:
case
4
:
srt
=
this
.
h5CloneGameInfo
?.
data
?.
ios_download_url
srt
=
this
.
h5CloneGameInfo
?.
data
?.
ios_download_url
;
break
break
;
}
}
this
.
sendChatMessage
(
srt
,
"text"
);
this
.
sendChatMessage
(
srt
,
'text'
);
}
else
{
}
else
{
this
.
$message
.
warning
(
this
.
h5CloneGameInfo
?.
msg
)
this
.
$message
.
warning
(
this
.
h5CloneGameInfo
?.
msg
)
;
}
}
},
},
// 转端发送游戏二维码
// 转端发送游戏二维码
sendDownLoadQrCode
:
throttleStart
(
async
function
(
items
,
type
,
index
)
{
sendDownLoadQrCode
:
throttleStart
(
async
function
(
items
,
type
,
index
)
{
if
(
!
this
.
transMemberStatus
)
{
if
(
!
this
.
transMemberStatus
)
{
this
.
$message
.
warning
(
"当前w账号不满足转端要求,请联系组长处理"
);
this
.
$message
.
warning
(
'当前w账号不满足转端要求,请联系组长处理'
);
return
;
return
;
}
}
const
result
=
this
.
handleAccount
();
const
result
=
this
.
handleAccount
();
if
(
!
result
)
{
if
(
!
result
)
{
this
.
$message
.
warning
(
"请稍后再试"
);
this
.
$message
.
warning
(
'请稍后再试'
);
return
false
;
return
false
;
}
}
try
{
try
{
this
.
sendLoading
=
true
;
this
.
sendLoading
=
true
;
// 获取游戏落地页链接
// 获取游戏落地页链接
let
landingPageUrl
=
""
;
let
landingPageUrl
=
''
;
if
(
items
.
url
)
{
if
(
items
.
url
)
{
landingPageUrl
=
items
.
url
;
landingPageUrl
=
items
.
url
;
}
}
if
(
!
landingPageUrl
)
{
if
(
!
landingPageUrl
)
{
this
.
$message
.
error
(
"没有有效的链接可生成二维码"
);
this
.
$message
.
error
(
'没有有效的链接可生成二维码'
);
return
;
return
;
}
}
...
@@ -1190,23 +1265,23 @@ export default {
...
@@ -1190,23 +1265,23 @@ export default {
await
this
.
$nextTick
();
await
this
.
$nextTick
();
// 获取二维码canvas并转换为Blob
// 获取二维码canvas并转换为Blob
const
canvas
=
this
.
$refs
.
qrcode
.
$el
.
querySelector
(
"canvas"
);
const
canvas
=
this
.
$refs
.
qrcode
.
$el
.
querySelector
(
'canvas'
);
if
(
!
canvas
)
{
if
(
!
canvas
)
{
throw
new
Error
(
"获取二维码canvas失败"
);
throw
new
Error
(
'获取二维码canvas失败'
);
}
}
const
blob
=
await
new
Promise
((
resolve
)
=>
{
const
blob
=
await
new
Promise
((
resolve
)
=>
{
canvas
.
toBlob
((
blob
)
=>
{
canvas
.
toBlob
((
blob
)
=>
{
resolve
(
blob
);
resolve
(
blob
);
},
"image/png"
);
},
'image/png'
);
});
});
// 创建File对象
// 创建File对象
blob
.
name
=
"qrcode.png"
;
blob
.
name
=
'qrcode.png'
;
// 上传图片
// 上传图片
const
uploadConfig
=
{
const
uploadConfig
=
{
dir
:
"/company_wx/service/avatars/"
,
dir
:
'/company_wx/service/avatars/'
,
};
};
const
uploadResult
=
await
this
.
uploading
(
blob
,
uploadConfig
);
const
uploadResult
=
await
this
.
uploading
(
blob
,
uploadConfig
);
debugger
;
debugger
;
...
@@ -1225,17 +1300,17 @@ export default {
...
@@ -1225,17 +1300,17 @@ export default {
// };
// };
// console.log(image, 12312321);
// console.log(image, 12312321);
this
.
sendChatMessage
(
uploadResult
.
data
,
"image"
);
this
.
sendChatMessage
(
uploadResult
.
data
,
'image'
);
this
.
markTransScene
(
type
);
this
.
markTransScene
(
type
);
items
.
type
=
1
;
items
.
type
=
1
;
this
.
sendGameLog
(
items
);
this
.
sendGameLog
(
items
);
this
.
$message
.
success
(
"二维码发送成功"
);
this
.
$message
.
success
(
'二维码发送成功'
);
}
else
{
}
else
{
throw
new
Error
(
"上传失败"
);
throw
new
Error
(
'上传失败'
);
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
"发送二维码失败:"
,
error
);
console
.
error
(
'发送二维码失败:'
,
error
);
this
.
$message
.
error
(
"发送二维码失败,请重试"
);
this
.
$message
.
error
(
'发送二维码失败,请重试'
);
}
finally
{
}
finally
{
this
.
sendLoading
=
false
;
this
.
sendLoading
=
false
;
}
}
...
@@ -1248,10 +1323,10 @@ export default {
...
@@ -1248,10 +1323,10 @@ export default {
};
};
const
res
=
await
markTransScene
(
data
);
const
res
=
await
markTransScene
(
data
);
if
(
res
.
status_code
==
1
)
{
if
(
res
.
status_code
==
1
)
{
console
.
log
(
"标记转端成功"
);
console
.
log
(
'标记转端成功'
);
if
(
if
(
this
.
chatUserInfo
.
trans_scene
&&
this
.
chatUserInfo
.
trans_scene
&&
this
.
chatUserInfo
.
trans_scene
!==
""
&&
this
.
chatUserInfo
.
trans_scene
!==
''
&&
this
.
chatUserInfo
.
trans_scene
!=
type
this
.
chatUserInfo
.
trans_scene
!=
type
)
{
)
{
this
.
chatUserInfo
.
trans_scene
=
type
;
this
.
chatUserInfo
.
trans_scene
=
type
;
...
@@ -1269,14 +1344,14 @@ export default {
...
@@ -1269,14 +1344,14 @@ export default {
return
{
return
{
value
:
item
.
value
,
value
:
item
.
value
,
label
:
label
:
item
.
label
&&
item
.
label
.
split
(
"-"
)[
0
]
item
.
label
&&
item
.
label
.
split
(
'-'
)[
0
]
?
item
.
label
.
split
(
"-"
)[
0
]
?
item
.
label
.
split
(
'-'
)[
0
]
:
""
,
:
''
,
};
};
});
});
resolve
(
this
.
belongList
);
resolve
(
this
.
belongList
);
}
else
{
}
else
{
this
.
$message
.
warning
(
"暂无绑定项目,请先绑定项目"
);
this
.
$message
.
warning
(
'暂无绑定项目,请先绑定项目'
);
reject
(
null
);
reject
(
null
);
}
}
});
});
...
@@ -1297,7 +1372,7 @@ export default {
...
@@ -1297,7 +1372,7 @@ export default {
belonsList
.
length
>
0
belonsList
.
length
>
0
)
{
)
{
groupItem
=
group
.
data
.
data
[
0
];
groupItem
=
group
.
data
.
data
[
0
];
const
group_name_list
=
groupItem
.
label
.
split
(
"-"
);
const
group_name_list
=
groupItem
.
label
.
split
(
'-'
);
const
data
=
{
const
data
=
{
blongs_name
:
belonsList
[
0
].
label
,
blongs_name
:
belonsList
[
0
].
label
,
member_id
:
this
.
accountSelect
,
member_id
:
this
.
accountSelect
,
...
@@ -1305,7 +1380,7 @@ export default {
...
@@ -1305,7 +1380,7 @@ export default {
use_user_name
:
this
.
userInfo
.
username
,
use_user_name
:
this
.
userInfo
.
username
,
group_id
:
groupItem
.
value
,
group_id
:
groupItem
.
value
,
group_name
:
group_name_list
[
group_name_list
.
length
-
1
],
group_name
:
group_name_list
[
group_name_list
.
length
-
1
],
game_type
:
this
.
chatUserInfo
.
trans_scene
||
""
,
game_type
:
this
.
chatUserInfo
.
trans_scene
||
''
,
};
};
this
.
sendLoading
=
true
;
this
.
sendLoading
=
true
;
try
{
try
{
...
@@ -1320,11 +1395,11 @@ export default {
...
@@ -1320,11 +1395,11 @@ export default {
this
.
$message
.
success
(
res
.
msg
);
this
.
$message
.
success
(
res
.
msg
);
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
this
.
$message
.
error
(
"获取召回链接失败,请重新再试"
);
this
.
$message
.
error
(
'获取召回链接失败,请重新再试'
);
this
.
sendLoading
=
false
;
this
.
sendLoading
=
false
;
}
}
}
else
{
}
else
{
this
.
$message
.
error
(
"获取分组失败,请到掌权添加分组"
);
this
.
$message
.
error
(
'获取分组失败,请到掌权添加分组'
);
return
;
return
;
}
}
},
},
...
@@ -1342,11 +1417,11 @@ export default {
...
@@ -1342,11 +1417,11 @@ export default {
*/
*/
handleSendType
(
data
)
{
handleSendType
(
data
)
{
console
.
log
(
data
,
"获取一键发送的信息"
);
console
.
log
(
data
,
'获取一键发送的信息'
);
// 转端发送优先逻辑 不需要了 现在发送当前会话框选中的账号对应的注册游戏
// 转端发送优先逻辑 不需要了 现在发送当前会话框选中的账号对应的注册游戏
data
?.
game_data
?.
game_type
data
?.
game_data
?.
game_type
?
(
this
.
chatUserInfo
.
trans_scene
=
data
.
game_data
.
game_type
)
?
(
this
.
chatUserInfo
.
trans_scene
=
data
.
game_data
.
game_type
)
:
""
;
:
''
;
if
(
this
.
chatUserInfo
.
trans_scene
&&
this
.
chatUserInfo
.
trans_scene
!=
1
)
{
if
(
this
.
chatUserInfo
.
trans_scene
&&
this
.
chatUserInfo
.
trans_scene
!=
1
)
{
this
.
sendCreateChannel
(
data
.
game_data
,
data
.
game_data
.
game_type
);
this
.
sendCreateChannel
(
data
.
game_data
,
data
.
game_data
.
game_type
);
}
else
{
}
else
{
...
@@ -1362,13 +1437,13 @@ export default {
...
@@ -1362,13 +1437,13 @@ export default {
page
:
data
.
share_data
.
page
,
page
:
data
.
share_data
.
page
,
imgUrl
:
data
.
share_data
.
share_img
,
imgUrl
:
data
.
share_data
.
share_img
,
};
};
this
.
sendChatMessage
(
miniprogramInfo
,
"miniprogram"
);
this
.
sendChatMessage
(
miniprogramInfo
,
'miniprogram'
);
const
game_data
=
this
.
$clone
(
data
.
game_data
);
const
game_data
=
this
.
$clone
(
data
.
game_data
);
game_data
.
type
=
3
;
game_data
.
type
=
3
;
console
.
log
(
game_data
,
"data----------"
);
console
.
log
(
game_data
,
'data----------'
);
this
.
sendGameLog
(
game_data
);
this
.
sendGameLog
(
game_data
);
}
else
{
}
else
{
this
.
getMediaId
(
data
.
game_data
.
game_url
,
"image"
);
this
.
getMediaId
(
data
.
game_data
.
game_url
,
'image'
);
this
.
sendGameLog
(
data
.
game_data
);
this
.
sendGameLog
(
data
.
game_data
);
}
}
}
}
...
@@ -1386,26 +1461,26 @@ export default {
...
@@ -1386,26 +1461,26 @@ export default {
sendCreateChannel
:
throttle
(
function
(
item
,
type
)
{
sendCreateChannel
:
throttle
(
function
(
item
,
type
)
{
const
result
=
this
.
handleAccount
();
const
result
=
this
.
handleAccount
();
if
(
!
result
)
{
if
(
!
result
)
{
this
.
$message
.
warning
(
"请稍后再试"
);
this
.
$message
.
warning
(
'请稍后再试'
);
return
false
;
return
false
;
}
}
let
str
=
""
;
let
str
=
''
;
if
(
type
==
2
)
{
if
(
type
==
2
)
{
str
=
"网页游戏链接:"
;
str
=
'网页游戏链接:'
;
}
else
if
(
type
==
3
)
{
}
else
if
(
type
==
3
)
{
str
=
"安卓游戏链接:"
;
str
=
'安卓游戏链接:'
;
}
else
if
(
type
==
4
)
{
}
else
if
(
type
==
4
)
{
str
=
"IOS游戏链接:"
;
str
=
'IOS游戏链接:'
;
}
else
{
}
else
{
}
}
const
username
=
this
.
bindGameUserList
.
find
(
const
username
=
this
.
bindGameUserList
.
find
(
(
items
)
=>
items
.
member_id
==
this
.
accountSelect
(
items
)
=>
items
.
member_id
==
this
.
accountSelect
,
).
username
;
).
username
;
passwardEncryption
({
member_id
:
this
.
accountSelect
}).
then
((
res
)
=>
{
passwardEncryption
({
member_id
:
this
.
accountSelect
}).
then
((
res
)
=>
{
const
list
=
[
const
list
=
[
{
{
msgtype
:
"text"
,
msgtype
:
'text'
,
// 一键发送渠道任务相关的参数
// 一键发送渠道任务相关的参数
taskInfo
:
{
taskInfo
:
{
task_id
:
this
.
chatUser
.
task_id
,
task_id
:
this
.
chatUser
.
task_id
,
...
@@ -1422,7 +1497,7 @@ export default {
...
@@ -1422,7 +1497,7 @@ export default {
];
];
this
.
sendChatMessage
(
this
.
sendChatMessage
(
`
${
str
}${
item
.
game_url
}
\n账号:
${
username
}
\n密码:
${
res
.
data
.
password
}
`
,
`
${
str
}${
item
.
game_url
}
\n账号:
${
username
}
\n密码:
${
res
.
data
.
password
}
`
,
"text"
'text'
,
);
);
item
.
type
=
3
;
item
.
type
=
3
;
this
.
sendGameLog
(
item
);
this
.
sendGameLog
(
item
);
...
@@ -1433,7 +1508,12 @@ export default {
...
@@ -1433,7 +1508,12 @@ export default {
const
params
=
{
const
params
=
{
main_game_id
:
items
.
main_game_id
,
main_game_id
:
items
.
main_game_id
,
weixin_blongs_id
:
items
.
weixin_blongs_id
,
weixin_blongs_id
:
items
.
weixin_blongs_id
,
type
:
items
.
game_type
==
1
||
items
.
game_type
==
5
?
2
:
items
.
game_type
==
3
||
items
.
game_type
==
4
?
1
:
''
type
:
items
.
game_type
==
1
||
items
.
game_type
==
5
?
2
:
items
.
game_type
==
3
||
items
.
game_type
==
4
?
1
:
''
,
};
};
const
res
=
await
getLandingPageConfig
(
params
);
const
res
=
await
getLandingPageConfig
(
params
);
if
(
res
.
status_code
===
1
&&
res
.
data
)
{
if
(
res
.
status_code
===
1
&&
res
.
data
)
{
...
@@ -1457,7 +1537,7 @@ export default {
...
@@ -1457,7 +1537,7 @@ export default {
this
.
showWxGameDrawer
=
true
;
this
.
showWxGameDrawer
=
true
;
return
true
;
return
true
;
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
"处理微信小游戏失败:"
,
error
);
console
.
error
(
'处理微信小游戏失败:'
,
error
);
return
false
;
return
false
;
}
}
},
},
...
@@ -1468,12 +1548,12 @@ export default {
...
@@ -1468,12 +1548,12 @@ export default {
return
targetList
.
filter
(
return
targetList
.
filter
(
(
game
)
=>
(
game
)
=>
game
.
weixin_blongs_id
===
sourceGame
.
weixin_blongs_id
&&
game
.
weixin_blongs_id
===
sourceGame
.
weixin_blongs_id
&&
game
.
main_game_id
===
sourceGame
.
main_game_id
game
.
main_game_id
===
sourceGame
.
main_game_id
,
);
);
},
},
handleAndroidList
(
items
,
item
)
{
handleAndroidList
(
items
,
item
)
{
const
androidGameList
=
this
.
regGameList
.
find
((
item
)
=>
const
androidGameList
=
this
.
regGameList
.
find
((
item
)
=>
item
.
label
.
includes
(
"安卓"
)
item
.
label
.
includes
(
'安卓'
),
);
);
if
(
if
(
androidGameList
&&
androidGameList
&&
...
@@ -1482,7 +1562,7 @@ export default {
...
@@ -1482,7 +1562,7 @@ export default {
)
{
)
{
androidGameList
.
children
=
this
.
filterGameList
(
androidGameList
.
children
=
this
.
filterGameList
(
items
,
items
,
androidGameList
.
children
androidGameList
.
children
,
);
);
}
else
{
}
else
{
androidGameList
.
children
=
[];
androidGameList
.
children
=
[];
...
@@ -1496,7 +1576,7 @@ export default {
...
@@ -1496,7 +1576,7 @@ export default {
},
},
handleIosList
(
items
,
item
)
{
handleIosList
(
items
,
item
)
{
const
IOSGameList
=
this
.
regGameList
.
find
((
item
)
=>
const
IOSGameList
=
this
.
regGameList
.
find
((
item
)
=>
item
.
label
.
includes
(
"IOS"
||
"ios"
)
item
.
label
.
includes
(
'IOS'
||
'ios'
),
);
);
IOSGameList
.
game_type
=
4
;
IOSGameList
.
game_type
=
4
;
if
(
if
(
...
@@ -1519,13 +1599,20 @@ export default {
...
@@ -1519,13 +1599,20 @@ export default {
this
.
showAppGameDrawer
=
true
;
this
.
showAppGameDrawer
=
true
;
const
androidGameList
=
this
.
handleAndroidList
(
items
,
item
);
const
androidGameList
=
this
.
handleAndroidList
(
items
,
item
);
const
IOSGameList
=
this
.
handleIosList
(
items
,
item
);
const
IOSGameList
=
this
.
handleIosList
(
items
,
item
);
androidGameList
?
this
.
selectedAppGameList
.
push
(
androidGameList
)
:
""
;
androidGameList
?
this
.
selectedAppGameList
.
push
(
androidGameList
)
:
''
;
IOSGameList
?
this
.
selectedAppGameList
.
push
(
IOSGameList
)
:
""
;
IOSGameList
?
this
.
selectedAppGameList
.
push
(
IOSGameList
)
:
''
;
console
.
log
(
this
.
selectedAppGameList
,
"selectedAppGameList"
);
console
.
log
(
this
.
selectedAppGameList
,
'selectedAppGameList'
);
},
},
// 主方法
// 主方法
async
handleGameType
(
items
,
item
,
type
,
index
)
{
async
handleGameType
(
items
,
item
,
type
,
index
)
{
if
((
items
.
game_type
==
1
||
items
.
game_type
==
3
||
items
.
game_type
==
4
||
items
.
game_type
==
5
)
&&
items
.
main_game_id
&&
items
.
weixin_blongs_id
)
{
if
(
(
items
.
game_type
==
1
||
items
.
game_type
==
3
||
items
.
game_type
==
4
||
items
.
game_type
==
5
)
&&
items
.
main_game_id
&&
items
.
weixin_blongs_id
)
{
const
result
=
await
this
.
getLandingPageConfig
(
items
,
item
);
const
result
=
await
this
.
getLandingPageConfig
(
items
,
item
);
if
(
result
&&
result
.
data
?.
data
?.
tag
)
{
if
(
result
&&
result
.
data
?.
data
?.
tag
)
{
if
(
items
.
game_type
==
1
||
items
.
game_type
==
5
)
{
if
(
items
.
game_type
==
1
||
items
.
game_type
==
5
)
{
...
@@ -1548,8 +1635,8 @@ export default {
...
@@ -1548,8 +1635,8 @@ export default {
},
},
// 小游戏游戏确认
// 小游戏游戏确认
async
handleWxGameConfirm
(
value
)
{
async
handleWxGameConfirm
(
value
)
{
console
.
log
(
value
,
"value"
);
console
.
log
(
value
,
'value'
);
this
.
getMediaId
(
value
,
"image"
);
this
.
getMediaId
(
value
,
'image'
);
},
},
SendTransAppGameClose
()
{
SendTransAppGameClose
()
{
this
.
selectedAppGameList
=
[];
this
.
selectedAppGameList
=
[];
...
@@ -1562,17 +1649,17 @@ export default {
...
@@ -1562,17 +1649,17 @@ export default {
this
.
selectedAppGameList
=
[];
this
.
selectedAppGameList
=
[];
this
.
sendChatMessage
(
this
.
sendChatMessage
(
`游戏地址:
${
data
.
landing_page_url
}
\n账号:
${
data
.
username
}
\n密码:
${
data
.
password
}
`
,
`游戏地址:
${
data
.
landing_page_url
}
\n账号:
${
data
.
username
}
\n密码:
${
data
.
password
}
`
,
"text"
'text'
,
);
);
},
},
async
getMediaId
(
picurl
)
{
async
getMediaId
(
picurl
)
{
// 发送图片作为链接消息
// 发送图片作为链接消息
if
(
picurl
)
{
if
(
picurl
)
{
this
.
sendChatMessage
(
picurl
,
"image"
);
this
.
sendChatMessage
(
picurl
,
'image'
);
}
else
{
}
else
{
// 如果没有图片URL,提示用户
// 如果没有图片URL,提示用户
this
.
$message
.
error
(
"图片链接不存在,无法发送"
);
this
.
$message
.
error
(
'图片链接不存在,无法发送'
);
}
}
},
},
},
},
...
...
src/views/userInfo/components/Info.vue
浏览文件 @
19fcee13
...
@@ -128,11 +128,12 @@
...
@@ -128,11 +128,12 @@
@
change
=
"handleInputRemark"
@
change
=
"handleInputRemark"
@
blur
=
"showInputRemark = false"
@
blur
=
"showInputRemark = false"
><
/el-input
>
><
/el-input
>
<
i
<
svg
-
icon
class
=
"el-icon-edit icon"
icon
-
class
=
"edit"
class
=
"icon"
style
=
"font-size: 14px"
style
=
"font-size: 14px"
@
click
=
"editRemark"
@
click
=
"editRemark"
><
/i
>
/
>
<
/div
>
<
/div
>
<
div
class
=
"item rowFlex columnCenter"
v
-
if
=
"lastTime"
>
<
div
class
=
"item rowFlex columnCenter"
v
-
if
=
"lastTime"
>
<
div
class
=
"rowFlex columnCenter"
>
<
div
class
=
"rowFlex columnCenter"
>
...
...
vue.config.js
浏览文件 @
19fcee13
const
{
defineConfig
}
=
require
(
'@vue/cli-service'
)
const
{
defineConfig
}
=
require
(
'@vue/cli-service'
)
const
path
=
require
(
'path'
)
const
path
=
require
(
'path'
)
const
fs
=
require
(
'fs'
)
const
fs
=
require
(
'fs'
)
const
CssMinimizerPlugin
=
require
(
'css-minimizer-webpack-plugin'
)
// 构建前删除 company_app 文件夹
// 构建前删除 company_app 文件夹
function
removeOutputDir
()
{
function
removeOutputDir
()
{
...
@@ -20,7 +21,7 @@ function resolve(dir) {
...
@@ -20,7 +21,7 @@ function resolve(dir) {
return
path
.
join
(
__dirname
,
dir
)
return
path
.
join
(
__dirname
,
dir
)
}
}
module
.
exports
=
defineConfig
({
module
.
exports
=
defineConfig
({
publicPath
:
'./'
,
publicPath
:
'./'
,
assetsDir
:
'static'
,
assetsDir
:
'static'
,
transpileDependencies
:
true
,
transpileDependencies
:
true
,
outputDir
:
'company_app'
,
outputDir
:
'company_app'
,
...
@@ -47,14 +48,29 @@ module.exports = defineConfig({
...
@@ -47,14 +48,29 @@ module.exports = defineConfig({
}
}
}
}
},
},
configureWebpack
:
{
configureWebpack
(
config
)
{
name
:
'企微侧边栏'
,
config
.
name
=
'企微侧边栏'
// provide the app's title in webpack's name field, so that
config
.
resolve
=
config
.
resolve
||
{}
// it can be accessed in index.html to inject the correct title.
config
.
resolve
.
alias
=
{
resolve
:
{
...
config
.
resolve
.
alias
,
alias
:
{
'@'
:
resolve
(
'src'
)
'@'
:
resolve
(
'src'
)
}
}
if
(
process
.
env
.
NODE_ENV
===
'production'
)
{
config
.
optimization
=
config
.
optimization
||
{}
config
.
optimization
.
minimizer
=
[
'...'
,
new
CssMinimizerPlugin
({
minimizerOptions
:
{
preset
:
[
'default'
,
{
normalizeUnicode
:
false
}
]
}
})
]
}
}
},
},
css
:
{
css
:
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论