广告点击添加
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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') {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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,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>
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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>
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 () => {
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
@@ -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,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,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"> -->
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user