提交 95d30a97 作者: 毛细亚

更新代码

上级 42cb6805
......@@ -140,6 +140,22 @@
<p class="sendLink" @click="handleGameType(items, item, item.game_type, index)">
发送落地页
</p>
<div v-if="items.game_type == 1">
<!-- 发送 H5 安卓分身包 -->
<p
class="sendLink"
@click="sendH5CloneGame(items,'android')"
>
发送H5-安卓分身包
</p>
<!-- 发送 H5 IOS 分身包 -->
<p
class="sendLink"
@click="sendH5CloneGame(items,'ios')"
>
发送H5-IOS分身包
</p>
</div>
<el-button slot="reference" size="mini" :disabled="accountSelect == ''">发送</el-button>
</el-popover>
<el-button v-else size="mini" :disabled="accountSelect == ''"
......@@ -195,6 +211,7 @@ import {
quickRecallChannelLink,
recallChannelSeq,
getLandingPageMemberLink,
getClonePackageLink,
getLandingPageConfig,
getMemberTransStatus
} from '@/api/game'
......@@ -208,7 +225,7 @@ import SendTransAppGame from './sendGame/SendTransAppGame.vue'
import selectChannel from './sendGame/selectChannel.vue'
import sendSelectChannel from './sendGame/sendSelectChannel.vue'
import gameLogMixin from '@/mixins/gameLogMixin'
import { sendChatMessage } from '@/utils/index'
export default {
name: 'sendGame',
mixins: [gameLogMixin],
......@@ -303,6 +320,27 @@ export default {
this.showLayer = true
}
},
async sendH5CloneGame(items, type) {
const res = await getClonePackageLink({ mini_game_id: items.main_game_id })
if (res.status_code == 1 ) {
if(type == 'android' && !res?.data?.data?.android_download_url){
this.$message.warning('安卓分身包链接不存在')
return
}else if(type == 'ios' && !res?.data?.data?.ios_download_url){
this.$message.warning('IOS分身包链接不存在')
return
}
let srt = ''
if(type == 'android'){
srt = '安卓分身包链接: '+res.data.data.android_download_url
}else{
srt = 'IOS分身包链接: '+res.data.data.ios_download_url
}
sendChatMessage(srt,'text')
}else{
this.$message.warning(res.msg)
}
},
requestConfig() {
return new Promise((resolve, reject) => {
companyviewConfig({ corp_id: this.corp_id }).then((res) => {
......
<!--
* @Author: maoxiya 937667504@qq.com
* @Date: 2025-09-22 18:18:27
* @LastEditors: maoxiya 937667504@qq.com
* @LastEditTime: 2025-09-22 19:20:09
* @FilePath: /company_wx_frontend/src/views/works/component/gameInfo/lastLogin.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<div class="lastLogin">
<el-popover placement="top" trigger="click" title="最近登录">
<div class="lastLoginContent" v-if="loginInfo.game_id">
<div class="lastLoginContentItem rowFlex columnCenter">
<div class="lastLoginContentItemTitle" style="color: #999;margin-right: 10px;">马甲包:</div>
<div class="lastLoginContentItemContent">{{ `${loginInfo.game_name} - ${loginInfo.game_id}` }}</div>
</div>
<div class="lastLoginContentItem rowFlex columnCenter">
<div class="lastLoginContentItemTitle" style="color: #999;margin-right: 10px;">角色名:</div>
<div class="lastLoginContentItemContent">{{ loginInfo.role_name || '-' }}</div>
</div>
<div class="lastLoginContentItem rowFlex columnCenter">
<div class="lastLoginContentItemTitle" style="color: #999;margin-right: 10px;">登录时间:</div>
<div class="lastLoginContentItemContent">{{ loginInfo.login_time || '-' }}</div>
</div>
</div>
<div v-else>
暂无最近登录
</div>
<el-button slot="reference" @click="lastLogin" type="text">近期登录</el-button>
</el-popover>
</div>
</template>
<script>
import { getRecentRoleLoginLog } from '@/api/game';
import { mapState } from 'vuex';
export default {
name: 'LastLogin',
data() {
return {
loginInfo: {}
}
},
computed: {
...mapState('game', ['accountSelect'])
},
methods: {
async lastLogin() {
try {
const res = await getRecentRoleLoginLog({ member_id: this.accountSelect })
if(res.status_code == 1 && res?.data?.data){
this.loginInfo = res.data.data
}else{
this.loginInfo = {}
this.$message.error(res.msg)
}
} catch (error) {
console.log(error)
}
}
}
}
</script>
<style scoped lang="scss">
.lastLogin{
.lastLoginContent{
.lastLoginContentItemTitle{
color: #999;
font-size: 14px;
font-weight: 400;
margin-right: 10px;
}
.lastLoginContentItemContent{
font-size: 14px;
font-weight: 500;
color: #333333;
}
}
}
</style>
......@@ -31,7 +31,7 @@
<div class="item rowFlex columnCenter spaceBetween">
<div class="rowFlex">
<span class="label" style="min-width:40px;">账号:</span>
<p class="text">{{ gameUserInfo.username }} <span v-if="gameUserInfo.account_type==2" class="account_type">(内) 勿回,找组长!!!</span></p>
<p class="text">{{ gameUserInfo.username }} <span v-if="gameUserInfo.account_type==2" class="account_type">(内) 勿回,找组长!!!</span> <LastLogin/> </p>
</div>
</div>
<!-- 营销面板 -->
......@@ -304,11 +304,13 @@ import MarketingPanel from './MarketingPanel.vue';
import moment from 'moment';
import ZyouTag from './ZyouTag.vue';
import { debounce } from '@/utils';
import LastLogin from '@/views/components/quickSendGame/sendGame/lastLogin.vue';
export default {
name: 'gameUserInfo',
components: {
ZyouTag,
MarketingPanel,
LastLogin,
},
props: ['gameUserInfo', 'chatUserDetails'],
data() {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论