广告点击添加

This commit is contained in:
谢宇宁
2026-09-15 22:40:55 +07:00
parent fa02dcbadf
commit 2e8689cae0
53 changed files with 98 additions and 702 deletions
+11
View File
@@ -18,6 +18,8 @@
:scene="vipContentGuideScene"
@close="closeVipContentGuide"
/>
<!-- 九宫格应用广告:启动后不管落在哪个 tab 都弹,每次启动只弹一次 -->
<NineGridPopup v-if="nineGridPopupVisible" :is-open="true" @close="nineGridPopupVisible = false" />
</div>
</template>
<script lang="ts">
@@ -31,11 +33,20 @@ import { useConfigStore } from '@/stores/config';
import { computed } from 'vue';
import { useRoute } from 'vue-router';
import PaymentGuidePopup from '@/components/PaymentGuidePopup/index.vue';
import NineGridPopup from '@/components/NineGridPopup/index.vue';
import { useVipContentUpdateGuideOnMainTabs } from '@/hooks/useVipContentUpdateGuideOnMainTabs';
import { AdType } from '@/enums/app';
import { getAdItem } from '@/utils/getConfig';
import { nineGridPopupVisible } from '@/utils/nineGridPopup';
const route = useRoute();
const globalStore = useGlobalStore();
const configStore = useConfigStore();
if (!globalStore.nineGridFirst && (getAdItem(AdType.QualityApplication) || []).length > 0) {
globalStore.setNineGridFirst();
nineGridPopupVisible.value = true;
}
const {
visible: vipContentGuideVisible,
guide: vipContentGuide,
+1 -1
View File
@@ -162,7 +162,7 @@ const getFirstLoginTime = () => {
};
const toAdv = (item: any) => {
jumpAdv(item);
jumpAdv(item, 'ads');
};
/**
@@ -1,6 +1,6 @@
<template>
<div v-if="props.list" class="fiveGrid">
<div class="rectAdvBox" @click="jumpAdv(item)" v-for="item in props.list" :key="item.id">
<div class="rectAdvBox" @click="jumpAdv(item, 'ads')" v-for="item in props.list" :key="item.id">
<lazyImg class="rectAdvIcon" :src="item.cover" />
<div class="rectName ellipsis">{{ item.title }}</div>
</div>
+1 -1
View File
@@ -34,7 +34,7 @@
class="advImg"
:src="state.advsList[index % state.advsList.length].cover"
:key="state.advsList[index % state.advsList.length].cover"
@click="jumpAdv(state.advsList[index % state.advsList.length])"
@click="jumpAdv(state.advsList[index % state.advsList.length], 'ads')"
/>
</div> -->
</div>
+2 -110
View File
@@ -323,27 +323,6 @@
<!-- <div class="submit-box">-->
<!-- <div class="submit flex-center-center" @click="$router.push('/memberExchange')">前往积分兑换</div>-->
<!-- </div>-->
<Teleport to="body">
<van-popup v-model:show="showDialog">
<div class="warp_taskHall">
<div class="content_warp">
<div class="contents">
<p class="title">温馨提示</p>
<div class="line"></div>
<div class="desc">
实物奖品请联系在线客服领取
<br />
填写收货地址等
</div>
<div class="btn themes_btn_bg flex-center-center" @click="handleContact">联系客服</div>
</div>
<div class="close" @click="close">
<SvgIcon name="new_close" class="closeIcon" />
</div>
</div>
</div>
</van-popup>
</Teleport>
<WorkSignPopup
v-model:show="showSignPopup"
:checked-days="checkedDays"
@@ -414,7 +393,6 @@ setTimeout(() => {
const { openLoading, closeLoading } = useLoading();
const router = useRouter();
const userStore = useUserStore();
const showDialog = ref(false);
const prizeList = ref<any[]>([]);
const bigPrizeList = ref<any[]>([]);
const allMsgObj = ref<any>({});
@@ -435,7 +413,6 @@ const state = reactive({
growTasks: <any>[],
onceTask: <any>[],
integralList: <any>[],
nowData: <any>{},
tabActive: 0,
signExtraPrizesList: <any>[],
freeCount: 0,
@@ -709,14 +686,10 @@ const exchangeItem = async (data: any) => {
let req = {
id: data.id,
};
await exchange(req, data);
// if (data.type == 5) {
// showDialog.value = true;
// state.nowData = data;
// }
await exchange(req);
};
const exchange = async (item: any, data: any) => {
const exchange = async (item: any) => {
try {
let req = item;
const res: any = await HomeApi.exchangeIntegral(req);
@@ -728,22 +701,11 @@ const exchange = async (item: any, data: any) => {
// } else {
showToast(res?.msg || '兑换成功');
// }
if (data && data.type == 5) {
showDialog.value = true;
state.nowData = data;
}
} catch (e) {
console.log(e);
}
};
const close = () => {
showDialog.value = false;
};
const handleContact = () => {
showDialog.value = false;
router.push('/customerService');
};
const getSignExtraPrizesList = async () => {
try {
let req: any = await HomeApi.getSignExtraPrizesList();
@@ -1891,76 +1853,6 @@ onUnmounted(() => {
}
}
}
.warp_taskHall {
.content_warp {
width: 311px;
border-radius: 12px;
// background: linear-gradient(180deg, #222 0%, #1e1e1e 100%);
background: rgba(255, 255, 255, 1);
.contents {
font-size: 12px;
padding: 32px 24px 24px 24px;
box-sizing: border-box;
.title {
font-size: 20px;
text-align: center;
box-sizing: border-box;
font-weight: 550;
color: rgba(0, 0, 0, 0.9);
line-height: 28px;
}
.line {
width: 100%;
height: 1px;
background: rgba(0, 0, 0, 0.1);
margin: 12px 0 0;
position: relative;
}
.desc {
font-size: 16px;
color: rgba(0, 0, 0, 0.55);
margin-bottom: 10px;
line-height: 44px;
text-align: center;
}
.titleText {
margin: 0 0 20px 0;
background-color: rgba(0, 0, 0, 0.1);
border-radius: 5px;
color: #999;
padding: 8px 12px;
:deep(.van-field__control) {
color: rgba(0, 0, 0, 0.9);
overflow: hidden;
}
::placeholder {
color: rgba(0, 0, 0, 0.6);
}
}
:deep(.van-cell::after) {
border-bottom: solid 1px transparent !important;
}
.btn {
width: 264px;
height: 44px;
border-radius: 22px;
font-size: 16px;
margin: 0 auto 0;
background: #e1351f;
color: #fff;
}
}
.close {
position: absolute;
right: 15px;
top: 15px;
svg {
width: 20px;
height: 20px;
}
}
}
}
.progress-icon.shake {
animation: icon-shake 0.72s ease-in-out infinite;
@@ -131,7 +131,7 @@ const openVideo = (videoInfo: any) => {
return;
}
if (videoInfo.type) {
jumpAdv(videoInfo);
jumpAdv(videoInfo, 'ads');
return;
}
if (videoInfo.newsType == 'COVER') {
-14
View File
@@ -35,10 +35,6 @@
<p>3.充值成功后会在1~5分钟内到账,可重新刷新进入当前页面</p>
</div>
<div class="btn" @click="exchange">{{ currentItem.price }}金豆/立即支付</div>
<div class="service">
支付中如有问题 请联系
<span @click="$router.push('/customerService')">在线客服</span>
</div>
</div>
</van-popup>
@@ -343,16 +339,6 @@ export default {
font-style: normal;
font-weight: 400;
}
.service {
color: rgba(255, 255, 255, 0.6);
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 18px; /* 150% */
span {
color: #4beaff;
}
}
}
}
+1 -2
View File
@@ -22,8 +22,7 @@
<p>1. 选择一张人脸清晰,不得有任何遮挡的照片上传(注意:只含一个人物和脸部,图片不能过暗)</p>
<p>2. 选择一个心仪的视频或图片模板,点击生成,生成时间需要3-5分钟,耐心等待。(图片模板可自行上传)</p>
<p>3. 在右上角记录查看生成进度,生成成功后可以点击进行下载,也可以在线观看。</p>
<p>4. 按照上方操作,有问题随时联系在线客服进行处理。</p>
<p>5. 不支持多人图片,禁止未成年人图片</p>
<p>4. 不支持多人图片,禁止未成年人图片</p>
</div>
<div class="imgmess">
<div>
+1 -1
View File
@@ -31,7 +31,7 @@
<div class="aiImg">
<p>案列鉴赏</p>
<AdvSwiper class="advSwiper" :list="props.list" />
<AdvSwiper class="advSwiper" :list="props.list" clickType="none" />
</div>
<div class="bottom">
@@ -1,73 +0,0 @@
<template>
<div class="customerService">
<div class="navBar">
<div @click="$router.go(-1)">
<img class="leftBtn" src="@/assets/images/png/navBarIcon.png" />
</div>
<div class="title">在线客服</div>
</div>
<div class="content" v-if="state.kefuUrl">
<iframe class="iframe" :src="state.kefuUrl" frameborder="0"></iframe>
</div>
</div>
</template>
<script lang="ts" setup>
import { nextTick, reactive } from 'vue';
import UserApi from '@/service/user';
const state = reactive({
kefuUrl: <string>'',
});
nextTick(async () => {
let ret: any = await UserApi.queryCustomerServiceUrl();
state.kefuUrl = ret;
});
</script>
<style lang="scss" scoped>
.customerService {
height: 100%;
width: 100%;
.navBar {
height: 46px;
padding: 8px 14px;
text-align: center;
display: flex;
align-items: center;
justify-content: space-between;
.leftBtn {
width: 30px;
height: 30px;
}
.title {
width: 100%;
font-size: 16px;
color: #ffffff;
margin-right: 30px;
font-weight: bold;
}
.rightBtn {
width: 79px;
height: 32px;
line-height: 32px;
border-radius: 32px;
font-size: 14px;
text-align: center;
}
}
.content {
width: 100%;
height: calc(100% - 46px);
.iframe {
width: 100%;
height: 100%;
}
}
}
</style>
+4 -22
View File
@@ -4,13 +4,9 @@
<div class="titles">常见问题与反馈</div>
<div class="content overflow-y-auto">
<div class="question" style="margin-top: 8px">为什么充值不了?</div>
<div class="answer">
由于网络问题,请尝试其他的充值渠道或重启app再次尝试获取充值链接,如还未解决,请联系客服。
</div>
<div class="answer">由于网络问题,请尝试其他的充值渠道或重启app再次尝试获取充值链接。</div>
<div class="question">充值后没到账</div>
<div class="answer">
由于网络问题,请尝试其他的充值渠道或重启app再次尝试获取充值链接,如未解决,请联系客服。由于网络问题,请尝试其他的充值渠道或重启app再次尝试获取充值链接,请联系客服。
</div>
<div class="answer">充值成功后通常会在数分钟内到账,请刷新APP或重启后查看。</div>
<div class="question">如何分享给好友?</div>
<div class="answer">
点击【我的】—【分享好友】即可进入分享界面。在分享页面点击【保存图片分享】即可保存图片到相册,要分享时选择相册图片即可;点击【复制分享链接】即可复制文字分享,分享时长按粘贴即可
@@ -20,7 +16,7 @@
<div class="answer">邀请好友注册后,需查看好友推广码是否有填写为你的分享码,若没有则需手动填写</div>
<div class="question">购买会员/金币支付失败</div>
<div class="answer">使用支付宝支付失败时,请间隔2分钟重试,如果还是不行,可以换种支付方式或者给客服留言</div>
<div class="answer">使用支付宝支付失败时,请间隔2分钟重试,如果还是不行,可以换种支付方式</div>
<div class="question">如何填写邀请码</div>
<div class="answer">
@@ -28,10 +24,7 @@
</div>
<div class="question">忘记密码,如何找回账号</div>
<div class="answer">请保存好个人推广码或注册账号,向客服留言反馈为你重置修改</div>
</div>
<div class="customerService flex-center-center" @click="$router.push('/customerService')">
<img class="icon" src="@/assets/images/png/kflogo.png" alt="" />
<div class="answer">请在「我的」页面-账号找回,通过账号凭证或绑定的手机号找回账号</div>
</div>
</div>
</template>
@@ -63,16 +56,5 @@
border-bottom: 1px solid #212121;
}
}
.customerService {
position: fixed;
right: 20px;
bottom: 100px;
width: 50px;
height: 50px;
img {
width: 100%;
height: 100%;
}
}
}
</style>
-1
View File
@@ -35,7 +35,6 @@
<div v-if="showMessageRedDot" class="newsTip" />
</div>
<div class="right">
<!-- <img @click="jumpPage('/customerService')" src="@/assets/images/png/mine/server.png" alt="" /> -->
<img @click="jumpPage('/setting')" src="@/assets/images/png/mine/setting.png" alt="" />
</div>
</div>
@@ -172,10 +172,6 @@
¥{{ state.selectedItem.discountedPrice / 10 }}/{{ state.selectedItem.isUpgrade ? '补差价升级' : '立即支付' }}
</div>
</template>
<div class="customerService">
支付问题反馈,点击联系
<span @click="$router.push('customerService')">在线客服</span>
</div>
</div>
<RechargeBox ref="rechargeBoxRef" :is-open="state.isRecharge" @closePay="closePay" />
<van-popup v-model:show="showDialog" teleport="body">
@@ -1241,19 +1237,6 @@ onUnmounted(() => {
width: 335px;
}
}
.customerService {
font-size: 11px;
text-align: center;
position: absolute;
left: 50%;
bottom: 18px;
transform: translate(-50%, -50%);
span {
color: #ebc78a;
}
}
}
.preSaleEntBox {
@@ -243,10 +243,6 @@
¥{{ state.selectedItem.discountedPrice / 10 }}/{{ state.selectedItem.isUpgrade ? '补差价升级' : '立即支付' }}
</div>
</template>
<div class="customerService">
支付问题反馈,点击联系
<span @click="$router.push('customerService')">在线客服</span>
</div>
</div>
<RechargeBox ref="rechargeBoxRef" :is-open="state.isRecharge" @closePay="closePay" />
<van-popup v-model:show="showDialog" teleport="body">
@@ -1388,20 +1384,6 @@ linear-gradient(150.34deg, rgba(102, 102, 102, 0.1) 0.26%, rgba(102, 102, 102, 0
width: 335px;
}
}
.customerService {
font-size: 11px;
text-align: center;
position: absolute;
left: 50%;
bottom: 18px;
transform: translate(-50%, -50%);
color:rgba(220, 220, 220, 1);
span {
color: rgba(255, 212, 96, 1);
}
}
}
.preSaleEntBox {
+1 -105
View File
@@ -62,46 +62,23 @@
<Loading />
</div>
</div>
<van-popup v-model:show="showDialog" teleport="body">
<div class="warp">
<div class="content_warp">
<div class="contents">
<p class="title">温馨提示</p>
<div class="line"></div>
<div class="desc">
实物奖品请联系在线客服领取
<br />
填写收货地址等
</div>
<div class="btn themes_btn_bg flex-center-center" @click="handleContact">联系客服</div>
</div>
<div class="close" @click="close">
<SvgIcon name="new_close" class="closeIcon" />
</div>
</div>
</div>
</van-popup>
</template>
<script lang="ts" setup>
import { reactive, ref } from 'vue';
import { reactive } from 'vue';
import { useUserStore } from '@/stores/user';
import { showToast } from 'vant';
import MineApi from '@/service/mine';
import UserApi from '@/service/user';
import HomeApi from '@/service/home';
import moment from 'moment';
import { useRouter } from 'vue-router';
const userStore = useUserStore();
const router = useRouter();
const showDialog = ref(false);
const state = reactive({
integralListVip: <Array<Types.Recharge.IntegralList>>[], // 积分列表
integralList: <Array<Types.Recharge.IntegralList>>[], // 积分列表
loading: true,
userWallet: <Types.User.WalletInfo>{},
integralRecordList: <any>[],
nowData: <any>{},
});
// 查询会员卡列表
const getVipList = async () => {
@@ -130,10 +107,6 @@ const exchange = async (item: Types.Recharge.IntegralList) => {
state.userWallet.integral -= item.price;
getIntegralRecordList();
showToast('兑换成功');
if (item.type == 5) {
showDialog.value = true;
state.nowData = item;
}
} catch (e) {
console.log(e);
}
@@ -144,13 +117,6 @@ const init = () => {
getIntegralRecordList();
};
init();
const close = () => {
showDialog.value = false;
};
const handleContact = () => {
showDialog.value = false;
router.push('/customerService');
};
</script>
<style lang="scss" scoped>
.memberExchange {
@@ -421,74 +387,4 @@ const handleContact = () => {
}
}
}
.warp {
.content_warp {
width: 311px;
border-radius: 10px;
background: #0f0f0f;
.contents {
font-size: 12px;
padding: 20px 22px 30px 22px;
box-sizing: border-box;
.title {
font-size: 20px;
text-align: center;
// padding: 20px 0;
box-sizing: border-box;
font-weight: 550;
// color: rgba(229, 6, 0, 1);
color: rgba(255, 255, 255, 1);
}
.line {
width: 100%;
height: 1px;
background: #ffffff1a;
margin: 20px 0;
position: relative;
}
.desc {
font-size: 16px;
color: rgba(255, 255, 255, 0.45);
margin-bottom: 20px;
line-height: 44px;
text-align: center;
}
.titleText {
margin: 0 0 20px 0;
background-color: rgba(51, 51, 51, 1);
border-radius: 5px;
color: #999;
padding: 8px 12px;
:deep(.van-field__control) {
color: #fff;
overflow: hidden;
}
::placeholder {
color: rgba(153, 153, 153, 1);
}
}
:deep(.van-cell::after) {
border-bottom: solid 1px transparent !important;
}
.btn {
width: 263px;
height: 44px;
border-radius: 4px;
font-size: 16px;
margin: 24px auto 0;
background: #f68804;
color: #fff;
}
}
.close {
position: absolute;
right: 15px;
top: 15px;
svg {
width: 20px;
height: 20px;
}
}
}
}
</style>
@@ -1,46 +0,0 @@
<template>
<div class="service-wrap">
<div class="list">
<div class="item" @click="$router.push('/customerService')">
<div class="avatar-box flex-center-center">
<SvgIcon name="service" class="icon" />
</div>
官方客服
</div>
</div>
</div>
</template>
<script lang="ts">
export default {
name: 'service',
};
</script>
<script lang="ts" setup></script>
<style lang="scss" scoped>
.service-wrap {
height: 100%;
.list {
.item {
display: flex;
align-items: center;
height: 50px;
color: #fff;
font-size: 14px;
.avatar-box {
width: 50px;
height: 50px;
flex-shrink: 0;
border-radius: 50%;
background: rgba(52, 118, 255, 1);
margin-right: 16px;
.icon {
width: 28px;
height: 28px;
}
}
}
}
}
</style>
-14
View File
@@ -24,13 +24,6 @@
</div>
<input class="file" type="file" accept="image/*" @change="uploadQrcode($event)" />
</div>
<div class="code row" @click="handleContact">
<div class="left">联系客服</div>
<div class="right">
<van-icon name="arrow" color="rgb(167,167,167)" size="13px" />
</div>
</div>
</div>
<van-popup v-model:show="scanVisible" position="bottom" :style="{ height: '70%' }" @closed="stopScanner">
@@ -302,13 +295,6 @@ const login = async (qrUrl: string) => {
const toBindingPhone = () => {
router.push('/findPhone');
};
/**
* 联系客服
*/
const handleContact = () => {
router.push('/customerService');
};
</script>
<style lang="scss" scoped>
.myAccount {
+1 -1
View File
@@ -46,7 +46,7 @@
<div class="mess">
<h2>入驻说明</h2>
<p>1、平台不会通过个人名义收取任何入驻费用</p>
<p>2、请与官方群管理或APP客服确认真实性</p>
<p>2、请与官方群管理确认真实性</p>
<p>3、更多问题请添加官方管理员咨询</p>
</div>
</div>
@@ -3,7 +3,7 @@
<Header title="应用中心" />
<div class="content overflow-y-auto">
<div class="pageBox">
<div class="itemBox" v-for="(item, index) in state.appList" :key="index" @click="download(item.href)">
<div class="itemBox" v-for="(item, index) in state.appList" :key="index" @click="download(item)">
<div class="picBox">
<DecryptImg :src="item.cover" />
</div>
@@ -21,7 +21,7 @@
import { getAdItem } from '@/utils/getConfig';
import { AdType } from '@/enums/app';
import { nextTick, reactive } from 'vue';
import { compatibleAppStoreJump } from '@/utils/index';
import { compatibleAppStoreJump, reportAdClick } from '@/utils/index';
const state = reactive({
appList: <Array<Types.App.AdsInfoListItem>>[],
@@ -29,10 +29,11 @@ const state = reactive({
/**
* 下载应用
* @param link
* @param item 精品应用广告
*/
const download = (link: string) => {
compatibleAppStoreJump(link);
const download = (item: Types.App.AdsInfoListItem) => {
compatibleAppStoreJump(item.href);
reportAdClick(item.id);
};
nextTick(async () => {
+3 -3
View File
@@ -38,13 +38,13 @@ const typeList = ref([
name: '怎么找回账号?',
type: 2,
content:
'本平台登录会自动创建账号,需保存账号凭证或绑定手机号码,才能记录之前的账号信息。受行业限制,APP无法正常使用时需升级,未绑定手机号码会导致账号信息丢失。请及时绑定手机号码或保存账号凭证,以免VIP信息丢失,造成巨大财产损失!账号丢失的用户可在 『我的』页面-账号找回,原账号的VIP信息会转移至新账号上。『账号凭证』『手机绑定』都没有的情况下,如账号VIP信息丢失,可以提供VIP支付充值凭证截图联系在线客服为您查询核实恢复VIP。',
'本平台登录会自动创建账号,需保存账号凭证或绑定手机号码,才能记录之前的账号信息。受行业限制,APP无法正常使用时需升级,未绑定手机号码会导致账号信息丢失。请及时绑定手机号码或保存账号凭证,以免VIP信息丢失,造成巨大财产损失!账号丢失的用户可在 『我的』页面-账号找回,原账号的VIP信息会转移至新账号上。',
},
{
name: '怎么支付不成功?',
type: 3,
content:
'1.因超时支付无法到账,请重新发起。<br/>2.每天发起支付不能超过5次,连续发起且未支付,账号可能被加入黑名单。<br/>3.支付通道在夜间比较忙碌,尝试多次发起,后台会为您自动切换不同支付通道。<br/>4.若充值成功,用户权益通常会在数分钟内到账,请刷新APP或重启。<br/>5.若支付成功并重启APP后依然没有到账,请联系在线客服并提供付款成功凭证截图。',
'1.因超时支付无法到账,请重新发起。<br/>2.每天发起支付不能超过5次,连续发起且未支付,账号可能被加入黑名单。<br/>3.支付通道在夜间比较忙碌,尝试多次发起,后台会为您自动切换不同支付通道。<br/>4.若充值成功,用户权益通常会在数分钟内到账,请刷新APP或重启。',
},
{
name: '收到手机报毒提醒?',
@@ -65,7 +65,7 @@ const typeList = ref([
// {
// name: '忘记密码,如何找回账号',
// type: 7,
// content: '本平台登录会自动创建账号,需保存账号凭证或绑定手机号码,才能记录之前的账号信息。受行业限制,APP无法正常使用时需升级,未绑定手机号码会导致账号信息丢失。请及时绑定手机号码或保存账号凭证,以免VIP信息丢失,造成巨大财产损失!账号丢失的用户可在 『我的』页面-账号找回,原账号的VIP信息会转移至新账号上。『账号凭证』『手机绑定』都没有的情况下,如账号VIP信息丢失,可以提供VIP支付充值凭证截图联系在线客服为您查询核实恢复VIP。',
// content: '本平台登录会自动创建账号,需保存账号凭证或绑定手机号码,才能记录之前的账号信息。受行业限制,APP无法正常使用时需升级,未绑定手机号码会导致账号信息丢失。请及时绑定手机号码或保存账号凭证,以免VIP信息丢失,造成巨大财产损失!账号丢失的用户可在 『我的』页面-账号找回,原账号的VIP信息会转移至新账号上。',
// },
]);
const getHelpList = async (val?: number) => {
-103
View File
@@ -32,25 +32,6 @@
</PullRefresh>
</template>
<Loading v-else />
<van-popup v-model:show="state.show" position="bottom">
<div class="pay-tip">
<div class="popup-title">
支付提示
<div class="close flex-center-center" @click="state.show = false">
<SvgIcon name="community_close" height="24px" width="24px" />
</div>
</div>
<div class="content">
亲,支付到账通常有2-5分钟的延迟,如果5分钟后会员仍 未开通,请联系客服,提供如下图片,带有流水单号的付款
账单详情截图,客服会帮您人工补单!如超过30分钟未到 账,请联系客服咨询补单进度
</div>
<div class="popup-sub-title">支付凭证(示例)</div>
<div class="pay-img"></div>
<div class="contact-btn" @click="openCustomerService">
<div class="btn">联系客服,提供凭证</div>
</div>
</div>
</van-popup>
</div>
</div>
</template>
@@ -60,16 +41,11 @@ import MineApi from '@/service/mine';
import { dateFormat } from '@/utils';
import { showToast } from 'vant';
import toClipboard from '@/utils/clipboard';
import { useRouter } from 'vue-router';
const router = useRouter();
const state = reactive({
list: <Array<Types.Recharge.RechargeRecord>>[],
pageNumber: 1,
pageSize: 15,
show: false,
itemData: <any>{},
loading: true,
});
const moreParams = reactive({
@@ -136,27 +112,8 @@ const copyLink = async (cod: string) => {
console.log(e);
}
};
/**
* 打开凭证
*/
const openCertificate = (item: any) => {
state.itemData = item;
state.show = true;
};
/**
* 跳转客服
*/
const openCustomerService = () => {
copyLink(state.itemData.orderId);
router.push('/customerService');
};
</script>
<style lang="scss" scoped>
:deep(.van-popup) {
background-color: transparent;
}
.recharge-record {
height: 100%;
background: rgba(3, 15, 24, 1);
@@ -221,65 +178,5 @@ const openCustomerService = () => {
}
}
}
.pay-tip {
background-color: white;
border-radius: 10px 10px 0 0;
.popup-title {
height: 48px;
font-size: 16px;
font-weight: 500;
color: $textColor;
letter-spacing: 0.36px;
line-height: 48px;
text-align: center;
position: relative;
.close {
position: absolute;
top: 50%;
right: 10px;
transform: translate(0, -50%);
}
}
.content {
font-size: 14px;
color: $greyDeepColor;
padding: 0 14px;
line-height: 20px;
}
.popup-sub-title {
font-size: 14px;
font-weight: 500;
color: $textColor;
margin: 16px 0;
text-align: center;
}
.pay-img {
height: 300px;
width: 183px;
background: url('@/assets/images/png/pay_img.jpg') no-repeat;
background-size: 100% 100%;
margin: 0 auto;
}
.contact-btn {
position: fixed;
bottom: 0;
left: 0;
height: 80px;
width: 100%;
background-color: white;
.btn {
height: 42px;
width: 337px;
background-color: $themeColor;
border-radius: 6px;
text-align: center;
line-height: 42px;
color: white;
font-size: 14px;
letter-spacing: 0.42px;
margin: 10px auto;
}
}
}
}
</style>
-1
View File
@@ -1,6 +1,5 @@
<template>
<div class="myShare">
<!-- <Header title="邀请记录" rightTitle="联系客服" path="customerService" />-->
<Header title="邀请记录" />
<div class="content overflow-y-auto">
<div class="title">已邀请: {{ state.total || 0 }}人</div>
+1 -1
View File
@@ -1,6 +1,6 @@
<template>
<div class="myShare">
<Header title="分享记录" rightTitle="联系客服" path="customerService" />
<Header title="分享记录" />
<div class="content overflow-y-auto">
<!-- <div class="title">已推广人数-{{ state.inviteInfo.userCount || 0 }}人</div> -->
<!-- <div class="listBox" v-if="state.inviteList.length > 0"> -->
+1 -17
View File
@@ -46,17 +46,10 @@
<!-- <div class="gift" v-if="item.couponDesc">{{ item.couponDesc }}</div> -->
</div>
</div>
<div class="tips">
*如提示【交易失败】【账户风险】等,可重新发起订单,或在15分钟后重试支付。如支付未到账,请
<span @click="$router.push('customerService')">反馈客服订单号</span>
</div>
<div class="tips">*如提示【交易失败】【账户风险】等,可重新发起订单,或在15分钟后重试支付。</div>
<Loading class="loading" v-if="state.amountList.length == 0" />
<div class="bottomBox" v-if="state.amountList.length">
<div class="nowPay" @click="showPay(true)">¥{{ state.amountList[state.selectIndex].money / 100 }}/立即支付</div>
<div class="customerService">
支付问题反馈,点击联系
<span @click="$router.push('customerService')">在线客服</span>
</div>
</div>
<RechargeBox ref="rechargeBoxRef" :is-open="state.isRecharge" @closePay="state.isRecharge = false" />
</div>
@@ -281,15 +274,6 @@ const showPay = (flag: boolean) => {
font-size: 16px;
font-weight: 500;
}
.customerService {
font-size: 12px;
text-align: center;
margin-top: 10px;
color: rgba(220, 220, 220, 1);
span {
color: rgba(249, 193, 66, 1);
}
}
}
}
.user {
+1 -18
View File
@@ -85,13 +85,9 @@
</p>
<p class="withdrawRule">2、每次提现收取{{ state.handlingFee }}%手续费。</p>
<p class="withdrawRule">3、支持银行卡或USDT提现,收款账户卡号与姓名一致,到账时间未72小时内</p>
<p class="withdrawRule">4、申请提现后请随时关注收款账户进款通知,长时间未到账,请及时联系客服</p>
<p class="withdrawRule">4、申请提现后请随时关注收款账户进款通知,长时间未到账请耐心等待</p>
<div class="footer">
<div class="withdrawBtn" @click="confirm">立即提现</div>
<p class="mess">
提现中如有问题,请联系
<span @click="$router.push('/customerService')">在线客服</span>
</p>
</div>
</div>
</div>
@@ -320,19 +316,6 @@ const confirm = async () => {
left: 50%;
transform: translate(-50%, 0);
}
.mess {
width: 100%;
font-size: 12px;
text-align: center;
position: fixed;
bottom: 43px;
left: 50%;
transform: translate(-50%, 0);
color: rgb(255, 255, 255, 0.8);
span {
color: rgba(255, 212, 96, 1);
}
}
.radios {
display: flex;
align-items: center;
@@ -213,7 +213,7 @@ const goBack = async () => {
};
const nearbySlides = SHORT_VIDEO_NEARBY_SLIDES;
/** keep-alive 缓存期间置 false,暂停播放器,避免跳客服/明细等二级页时后台继续播 */
/** keep-alive 缓存期间置 false,暂停播放器,避免跳明细等二级页时后台继续播 */
const isPageActive = ref(true);
const showDramaCardPayPopup = ref(false);
const showCoinPayPopup = ref(false);