Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
company_app
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
毛细亚
company_app
Commits
5f805c29
提交
5f805c29
authored
12月 02, 2025
作者:
毛细亚
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增种花链接
上级
5593e9ce
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
336 行增加
和
1 行删除
+336
-1
game.js
src/api/game.js
+30
-0
flowerLinkDialog.vue
src/views/components/quickSendGame/flowerLinkDialog.vue
+270
-0
vipTools.vue
src/views/components/quickSendGame/vipTools.vue
+36
-1
没有找到文件。
src/api/game.js
浏览文件 @
5f805c29
...
@@ -1467,3 +1467,32 @@ export function sendEmail(data) {
...
@@ -1467,3 +1467,32 @@ export function sendEmail(data) {
})
})
})
})
}
}
// 获取种花道具列表
export
function
getPropList
(
data
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
cross_systemRequest
({
system
:
'zhangyou'
,
api
:
'/api/member/getPropData'
,
params
:
data
}).
then
((
res
)
=>
{
resolve
(
res
)
}).
catch
((
error
)
=>
{
reject
(
error
)
})
})
}
// 种花专属链接
export
function
getFlowerLink
(
data
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
cross_systemRequest
({
system
:
'zhangyou'
,
api
:
'/api/member/getPropUrl'
,
params
:
data
}).
then
((
res
)
=>
{
resolve
(
res
)
}).
catch
((
error
)
=>
{
reject
(
error
)
})
})
}
\ No newline at end of file
src/views/components/quickSendGame/flowerLinkDialog.vue
0 → 100644
浏览文件 @
5f805c29
<
template
>
<el-drawer
title=
"选择角色"
:visible=
"dialogVisible"
direction=
"rtl"
size=
"400px"
@
close=
"close"
>
<div
class=
"flower-link-dialog"
>
<el-form
:model=
"form"
label-position=
"top"
:rules=
"rules"
ref=
"formRef"
>
<el-form-item
label=
"W账号"
prop=
"member_id"
>
<el-select
v-model=
"form.member_id"
placeholder=
"请选择W账号"
style=
"width: 100%"
@
change=
"handleAccountChange"
>
<el-option
v-for=
"item in bindGameUserList"
:key=
"item.member_id"
:label=
"item.username"
:value=
"item.member_id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"角色"
prop=
"role_id"
>
<el-select
v-model=
"form.role_id"
placeholder=
"请选择角色"
style=
"width: 100%"
@
change=
"handleRoleChange"
>
<el-option
v-for=
"item in roleList"
:key=
"item.role_id"
:label=
"item.role_name"
:value=
"item.role_id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"道具"
prop=
"prop_id"
>
<el-select
v-model=
"form.prop_id"
placeholder=
"请选择道具"
style=
"width: 100%"
:disabled=
"!form.role_id"
>
<el-option
v-for=
"item in propList"
:key=
"item.prop_id"
:label=
"item.prop_name"
:value=
"item.prop_id"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
class=
"drawer-footer"
>
<el-button
@
click=
"close"
>
取消
</el-button>
<el-button
type=
"primary"
:loading=
"loading"
@
click=
"submitForm"
>
确定
</el-button>
</div>
</div>
</el-drawer>
</
template
>
<
script
>
import
{
getRoleHoLo
,
getPropList
,
getFlowerLink
}
from
'@/api/game'
export
default
{
name
:
'FlowerLinkDialog'
,
props
:
{
dialogVisible
:
{
type
:
Boolean
,
default
:
false
},
bindGameUserList
:
{
type
:
Array
,
default
:
()
=>
[]
},
member_id
:
{
type
:
String
,
default
:
''
}
},
data
()
{
return
{
form
:
{
member_id
:
''
,
role_id
:
''
,
prop_id
:
''
},
rules
:
{
member_id
:
[{
required
:
true
,
message
:
'请选择W账号'
,
trigger
:
'change'
}],
role_id
:
[{
required
:
true
,
message
:
'请选择角色'
,
trigger
:
'change'
}],
prop_id
:
[{
required
:
true
,
message
:
'请选择道具'
,
trigger
:
'change'
}]
},
loading
:
false
,
roleList
:
[],
propList
:
[],
}
},
mounted
()
{
this
.
form
.
member_id
=
this
.
member_id
this
.
handleAccountChange
(
this
.
member_id
)
},
methods
:
{
// 处理W账号变化
async
handleAccountChange
(
memberId
)
{
this
.
form
.
role_id
=
''
this
.
form
.
prop_id
=
''
this
.
roleList
=
[]
this
.
propList
=
[]
if
(
memberId
)
{
await
this
.
requestRoleList
(
memberId
)
}
},
// 处理角色变化
async
handleRoleChange
(
roleId
)
{
this
.
form
.
prop_id
=
''
this
.
propList
=
[]
if
(
roleId
&&
this
.
form
.
member_id
)
{
await
this
.
requestPropList
(
this
.
form
.
member_id
,
roleId
)
}
},
// 请求角色列表
requestRoleList
(
memberId
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
const
data
=
{
api_search_name
:
''
,
member_id
:
memberId
,
search_type
:
'list'
,
page
:
1
,
page_size
:
100
}
getRoleHoLo
(
data
).
then
(
(
res
)
=>
{
if
(
res
.
status_code
==
1
)
{
this
.
roleList
=
res
.
data
.
data
||
[]
}
else
{
this
.
roleList
=
[]
this
.
$message
.
error
(
res
.
msg
||
'获取角色列表失败'
)
}
resolve
()
},
(
err
)
=>
{
reject
(
err
)
}
)
})
},
// 请求道具列表
requestPropList
(
memberId
,
roleId
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
const
data
=
{
member_id
:
memberId
,
role_id
:
roleId
}
getPropList
(
data
).
then
(
(
res
)
=>
{
if
(
res
.
status_code
==
1
)
{
this
.
propList
=
res
.
data
.
data
||
[]
}
else
{
this
.
propList
=
[]
this
.
$message
.
error
(
res
.
msg
||
'获取道具列表失败'
)
}
resolve
()
},
(
err
)
=>
{
reject
(
err
)
}
)
})
},
// 提交表单
submitForm
()
{
this
.
$refs
.
formRef
.
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
try
{
this
.
loading
=
true
// 获取选中的道具信息,用于获取main_game_id
const
selectedProp
=
this
.
propList
.
find
(
item
=>
item
.
prop_id
===
this
.
form
.
prop_id
)
if
(
!
selectedProp
)
{
this
.
$message
.
error
(
'未找到选中的道具信息'
)
return
}
// 请求种花专属链接
const
res
=
await
getFlowerLink
({
main_game_id
:
selectedProp
.
main_game_id
,
prop_id
:
this
.
form
.
prop_id
})
if
(
res
.
status_code
==
1
)
{
// 发送成功,通过事件通知父组件
this
.
$emit
(
'success'
,
res
.
data
.
data
.
url
)
this
.
close
()
}
else
{
this
.
$message
.
error
(
res
.
msg
||
'获取种花链接失败'
)
}
}
catch
(
error
)
{
this
.
$message
.
error
(
res
.
msg
)
}
finally
{
this
.
loading
=
false
}
}
})
},
// 重置表单
close
()
{
this
.
form
=
{
member_id
:
this
.
member_id
,
role_id
:
''
,
prop_id
:
''
}
this
.
roleList
=
[]
this
.
propList
=
[]
this
.
$emit
(
'update:dialogVisible'
,
false
)
if
(
this
.
$refs
.
formRef
)
{
this
.
$refs
.
formRef
.
resetFields
()
}
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.flower-link-dialog
{
padding
:
20px
;
padding-top
:
0px
;
}
.el-form
{
margin-bottom
:
30px
;
}
.el-form-item
{
margin-bottom
:
20px
;
}
.el-form-item__label
{
font-weight
:
500
;
}
.drawer-footer
{
position
:
absolute
;
bottom
:
20px
;
left
:
20px
;
right
:
20px
;
display
:
flex
;
justify-content
:
flex-end
;
padding-top
:
20px
;
border-top
:
1px
solid
#ebeef5
;
background-color
:
#fff
;
}
</
style
>
src/views/components/quickSendGame/vipTools.vue
浏览文件 @
5f805c29
...
@@ -17,6 +17,14 @@
...
@@ -17,6 +17,14 @@
</p>
</p>
<el-button
size=
"mini"
:disabled=
"accountSelect == ''"
@
click=
"sendReportLink"
>
发送
</el-button>
<el-button
size=
"mini"
:disabled=
"accountSelect == ''"
@
click=
"sendReportLink"
>
发送
</el-button>
</div>
</div>
<!-- 专属种花链接 -->
<div
class=
"gameListItem rowFlex columnCenter spaceBetween"
>
<p
class=
"rowFlex columnCenter"
>
<i
class=
"el-icon-s-operation"
style=
"font-size:16px;margin-right:5px;"
></i>
专属 H5 链接(种花)
</p>
<el-button
size=
"mini"
:disabled=
"accountSelect == ''"
@
click=
"showFlowerLinkDialog"
>
发送
</el-button>
</div>
<div
class=
"rowFlex columnCenter spaceBetween gameCodeTitle"
@
click=
"showGameCode = !showGameCode"
>
<div
class=
"rowFlex columnCenter spaceBetween gameCodeTitle"
@
click=
"showGameCode = !showGameCode"
>
<p
class=
"rowFlex columnCenter spaceBetween"
>
<p
class=
"rowFlex columnCenter spaceBetween"
>
<svg-icon
icon-class=
"gift"
style=
"font-size:20px;margin-right: 5px;margin-top: -2px;"
></svg-icon>
<svg-icon
icon-class=
"gift"
style=
"font-size:20px;margin-right: 5px;margin-top: -2px;"
></svg-icon>
...
@@ -60,6 +68,14 @@
...
@@ -60,6 +68,14 @@
</div>
</div>
<giftCodeDialog
v-if=
"dialogVisible"
:game-name=
"game_name"
:dialogVisible
.
sync=
"dialogVisible"
<giftCodeDialog
v-if=
"dialogVisible"
:game-name=
"game_name"
:dialogVisible
.
sync=
"dialogVisible"
@
result=
"getGiftCodeSubmit"
/>
@
result=
"getGiftCodeSubmit"
/>
<!-- 种花链接弹窗 -->
<flowerLinkDialog
v-if=
"flowerLinkDialogVisible"
:dialogVisible
.
sync=
"flowerLinkDialogVisible"
:member_id=
"accountSelect"
:bindGameUserList=
"bindGameUserList"
@
success=
"handleFlowerLinkSuccess"
/>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
...
@@ -67,6 +83,7 @@ import { mapState, mapMutations } from 'vuex'
...
@@ -67,6 +83,7 @@ import { mapState, mapMutations } from 'vuex'
import
{
passwardEncryption
,
createVipUrl
}
from
'@/api/game'
import
{
passwardEncryption
,
createVipUrl
}
from
'@/api/game'
import
{
giftCodeList
,
sendGiftCode
,
getZyouAuthLink
}
from
'@/api/works'
import
{
giftCodeList
,
sendGiftCode
,
getZyouAuthLink
}
from
'@/api/works'
import
giftCodeDialog
from
'./giftCodeDialog.vue'
import
giftCodeDialog
from
'./giftCodeDialog.vue'
import
flowerLinkDialog
from
'./flowerLinkDialog.vue'
export
default
{
export
default
{
name
:
'vipTools'
,
name
:
'vipTools'
,
data
()
{
data
()
{
...
@@ -76,6 +93,7 @@ export default {
...
@@ -76,6 +93,7 @@ export default {
giftCodeGame
:
[],
giftCodeGame
:
[],
dialogVisible
:
false
,
dialogVisible
:
false
,
game_name
:
''
,
game_name
:
''
,
flowerLinkDialogVisible
:
false
,
giftCodeForm
:
{
giftCodeForm
:
{
member_id
:
''
,
member_id
:
''
,
username
:
''
,
username
:
''
,
...
@@ -87,7 +105,8 @@ export default {
...
@@ -87,7 +105,8 @@ export default {
}
}
},
},
components
:
{
components
:
{
giftCodeDialog
giftCodeDialog
,
flowerLinkDialog
},
},
mounted
()
{
mounted
()
{
this
.
requestGiftCode
()
this
.
requestGiftCode
()
...
@@ -185,6 +204,22 @@ export default {
...
@@ -185,6 +204,22 @@ export default {
console
.
log
(
message
,
'1231'
)
console
.
log
(
message
,
'1231'
)
this
.
$ww
.
sendChatMessage
(
message
)
this
.
$ww
.
sendChatMessage
(
message
)
},
},
// 显示种花链接弹窗
showFlowerLinkDialog
()
{
if
(
this
.
accountSelect
===
''
)
{
this
.
$message
.
warning
(
'请先关联游戏账号'
)
return
}
this
.
flowerLinkDialogVisible
=
true
},
// 处理种花链接发送成功
handleFlowerLinkSuccess
(
url
)
{
if
(
url
)
{
const
list
=
[{
msgtype
:
'text'
,
text
:
{
content
:
url
}}]
this
.
set_sendSkillMessage
(
list
)
this
.
$message
.
success
(
'发送成功'
)
}
},
// 发送举报申诉自助链接
// 发送举报申诉自助链接
async
sendReportLink
()
{
async
sendReportLink
()
{
const
res
=
await
getZyouAuthLink
()
const
res
=
await
getZyouAuthLink
()
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论