diff --git a/src/assets/icons/service.svg b/src/assets/icons/service.svg deleted file mode 100644 index 53625bd..0000000 --- a/src/assets/icons/service.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/assets/images/png/kflogo.png b/src/assets/images/png/kflogo.png deleted file mode 100644 index a17f616..0000000 Binary files a/src/assets/images/png/kflogo.png and /dev/null differ diff --git a/src/assets/images/png/mine/server.png b/src/assets/images/png/mine/server.png deleted file mode 100644 index 5107d29..0000000 Binary files a/src/assets/images/png/mine/server.png and /dev/null differ diff --git a/src/components/AdvSwiper/index.vue b/src/components/AdvSwiper/index.vue index 47ca889..f42db20 100644 --- a/src/components/AdvSwiper/index.vue +++ b/src/components/AdvSwiper/index.vue @@ -28,7 +28,8 @@ const props = withDefaults( list: Types.App.AdsInfoListItem[]; height?: string; isShowIndicators?: boolean; - clickType?: 'ads' | 'recreation'; + /** ads:广告位广告,点击上报;recreation:娱乐模块;none:非广告内容(如案例图),不上报 */ + clickType?: 'ads' | 'recreation' | 'none'; autoplay?: number; /** 为 true 时仅挂载当前/相邻项,减轻首屏 DecryptImg 与解密压力 */ lazyRender?: boolean; @@ -46,8 +47,8 @@ const props = withDefaults( const load = () => { emit('load'); }; -const handleJumpAdv = (item: Types.App.AdsInfoListItem, clickType?: 'ads' | 'recreation') => { - jumpAdv(item, clickType); +const handleJumpAdv = (item: Types.App.AdsInfoListItem, clickType?: 'ads' | 'recreation' | 'none') => { + jumpAdv(item, clickType === 'none' ? undefined : clickType); }; diff --git a/src/components/FiveGridAdv/index.vue b/src/components/FiveGridAdv/index.vue index c9cd073..ed71f7a 100644 --- a/src/components/FiveGridAdv/index.vue +++ b/src/components/FiveGridAdv/index.vue @@ -25,7 +25,7 @@ const state = reactive({ advList: (getAdItem(props.advType) || []), // 广告数据 }); const handleJumpAdv = (item: Types.App.AdsInfoListItem) => { - jumpAdv(item); + jumpAdv(item, 'ads'); }; diff --git a/src/permission.ts b/src/permission.ts index ec8604e..6e4f385 100644 --- a/src/permission.ts +++ b/src/permission.ts @@ -126,14 +126,13 @@ router.beforeEach(async (to, from, next) => { } /** * 短剧播放页缓存(单实例,不按剧 id 区分 key): - * - 仅当从播放页内跳出的二级页(客服 / 余额明细 / 评论跳的用户主页、图片预览、影片详情) + * - 仅当从播放页内跳出的二级页(余额明细 / 评论跳的用户主页、图片预览、影片详情) * 返回时保留缓存,恢复剧集与播放进度; * - 其余入口(列表选剧 / 广告 / 深链等)一律清缓存重挂载,避免恢复出上一部剧; * - 回到 Tab / 列表页即销毁,避免播放器实例驻留内存。 */ const dramaPlaySecondary = [ '/transactionRecord', - '/customerService', '/userInfo', '/picturePreview', '/movieDetails', diff --git a/src/router/index.ts b/src/router/index.ts index 74ce7b0..1faf49c 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -488,15 +488,6 @@ const mineCollection: RouteRecordRaw[] = [ pageName: '精品应用', }, }, - { - path: '/customerService', //我的客服 - name: 'customerService', - component: () => import('@/views/lldmine/customerService/index.vue'), - meta: { - pageKey: 'customer_service', - pageName: '我的客服', - }, - }, { path: '/transactionRecord', //交易记录 name: 'transactionRecord', diff --git a/src/service/app.ts b/src/service/app.ts index 8f13245..9833d7b 100644 --- a/src/service/app.ts +++ b/src/service/app.ts @@ -163,11 +163,11 @@ export default class AppApi { return request.get('/modules/announce'); } /** - * @description 广告统计 - * @param data 参数 - * @returns + * @description 广告点击日志 + * @param id 广告 id(后端必填) + * @param type 固定传 0(普通广告) */ - static clickAdv(data: any) { + static clickAdv(data: { id: string; type: number }) { return request.post('/ads/click', data); } } diff --git a/src/service/user.ts b/src/service/user.ts index 0066a6e..dcf2499 100644 --- a/src/service/user.ts +++ b/src/service/user.ts @@ -85,13 +85,6 @@ export default class UserApi { return request.get('/code/userRecord', data); } - /** - * @description 获取客服链接接口 - */ - static queryCustomerServiceUrl() { - return request.get('/customer/url'); - } - /** * @description 意见反馈 */ diff --git a/src/utils/index.ts b/src/utils/index.ts index cbae4c4..3890cc8 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -3,6 +3,7 @@ import moment from 'moment'; import router from '@/router/index'; import type { HistoryVideoType } from '../enums/app'; import HomeApi from '@/service/home'; +import AppApi from '@/service/app'; import MineApi from '@/service/mine'; import { useGlobalStore } from '@/stores/global'; import { @@ -342,7 +343,6 @@ export function innerJump(url: string, options: JumpAdvOptions = {}) { science: '/aiUndress', //AI科技 live_streaming: '/shortVideo?type=0', // 直播 - kefu: '/customerService', //在线客服 community_page: '/community', //跳转社区 publish_page: '/publishGraphics', //跳转发布 binding_page: '/bindingPhone', //跳转绑定手机号 @@ -478,9 +478,19 @@ function hasInnerQueryParam(url: string) { } } +/** + * 广告点击日志:id 为空不报;上报失败不影响跳转 + */ +export function reportAdClick(id?: string | number) { + if (id === undefined || id === null || id === '') return; + AppApi.clickAdv({ id: String(id), type: 0 }).catch((e) => console.log(e)); +} + /** * 跳转广告 * @param {*} item 广告信息 + * @param clickTypeOrOptions 'ads':广告位广告,点击上报 /ads/click;'recreation':娱乐模块广告; + * 公告、跑马灯、文字内链等非广告跳转不传 */ export async function jumpAdv( item: any, @@ -492,6 +502,9 @@ export async function jumpAdv( typeof clickTypeOrOptions === 'object' && clickTypeOrOptions ? clickTypeOrOptions : maybeOptions || {}; + if (clickType === 'ads') { + reportAdClick(item?.id); + } const url = item.href || item.link || item.url || item.link_url || item.linkUrl; if (!url) return; try { diff --git a/src/utils/nineGridPopup.ts b/src/utils/nineGridPopup.ts new file mode 100644 index 0000000..305972c --- /dev/null +++ b/src/utils/nineGridPopup.ts @@ -0,0 +1,8 @@ +import { ref } from 'vue'; + +/** + * 九宫格应用广告弹窗是否正在展示。 + * 弹窗挂在 MainView,跟着启动落地页弹(默认落在短视频 tab,不依赖首页被挂载); + * 首页 HomeAdv 弹窗队列须等它关闭后再接着弹,避免叠在一起。 + */ +export const nineGridPopupVisible = ref(false); diff --git a/src/views/MainView.vue b/src/views/MainView.vue index 6b91b5e..9a15564 100644 --- a/src/views/MainView.vue +++ b/src/views/MainView.vue @@ -18,6 +18,8 @@ :scene="vipContentGuideScene" @close="closeVipContentGuide" /> + + - - diff --git a/src/views/lldmine/feedback/index.vue b/src/views/lldmine/feedback/index.vue index 46c31e4..1057989 100644 --- a/src/views/lldmine/feedback/index.vue +++ b/src/views/lldmine/feedback/index.vue @@ -4,13 +4,9 @@
常见问题与反馈
为什么充值不了?
-
- 由于网络问题,请尝试其他的充值渠道或重启app再次尝试获取充值链接,如还未解决,请联系客服。 -
+
由于网络问题,请尝试其他的充值渠道或重启app再次尝试获取充值链接。
充值后没到账
-
- 由于网络问题,请尝试其他的充值渠道或重启app再次尝试获取充值链接,如未解决,请联系客服。由于网络问题,请尝试其他的充值渠道或重启app再次尝试获取充值链接,请联系客服。 -
+
充值成功后通常会在数分钟内到账,请刷新APP或重启后查看。
如何分享给好友?
点击【我的】—【分享好友】即可进入分享界面。在分享页面点击【保存图片分享】即可保存图片到相册,要分享时选择相册图片即可;点击【复制分享链接】即可复制文字分享,分享时长按粘贴即可 @@ -20,7 +16,7 @@
邀请好友注册后,需查看好友推广码是否有填写为你的分享码,若没有则需手动填写
购买会员/金币支付失败
-
使用支付宝支付失败时,请间隔2分钟重试,如果还是不行,可以换种支付方式或者给客服留言
+
使用支付宝支付失败时,请间隔2分钟重试,如果还是不行,可以换种支付方式
如何填写邀请码
@@ -28,10 +24,7 @@
忘记密码,如何找回账号
-
请保存好个人推广码或注册账号,向客服留言反馈为你重置修改
-
-
- +
请在「我的」页面-账号找回,通过账号凭证或绑定的手机号找回账号
@@ -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%; - } - } } diff --git a/src/views/lldmine/index.vue b/src/views/lldmine/index.vue index 60d193c..bf3baa2 100644 --- a/src/views/lldmine/index.vue +++ b/src/views/lldmine/index.vue @@ -35,7 +35,6 @@
-
diff --git a/src/views/lldmine/member/components/MemberLegacyPanel.vue b/src/views/lldmine/member/components/MemberLegacyPanel.vue index 69eb8ee..6a3e7a1 100644 --- a/src/views/lldmine/member/components/MemberLegacyPanel.vue +++ b/src/views/lldmine/member/components/MemberLegacyPanel.vue @@ -172,10 +172,6 @@ ¥{{ state.selectedItem.discountedPrice / 10 }}/{{ state.selectedItem.isUpgrade ? '补差价升级' : '立即支付' }} -
- 支付问题反馈,点击联系 - 在线客服 -
@@ -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 { diff --git a/src/views/lldmine/member/components/MemberNewPanel.vue b/src/views/lldmine/member/components/MemberNewPanel.vue index d003e86..00f5397 100644 --- a/src/views/lldmine/member/components/MemberNewPanel.vue +++ b/src/views/lldmine/member/components/MemberNewPanel.vue @@ -243,10 +243,6 @@ ¥{{ state.selectedItem.discountedPrice / 10 }}/{{ state.selectedItem.isUpgrade ? '补差价升级' : '立即支付' }} -
- 支付问题反馈,点击联系 - 在线客服 -
@@ -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 { diff --git a/src/views/lldmine/memberExchange/index.vue b/src/views/lldmine/memberExchange/index.vue index 03cd901..7276788 100644 --- a/src/views/lldmine/memberExchange/index.vue +++ b/src/views/lldmine/memberExchange/index.vue @@ -62,46 +62,23 @@ - -
-
-
-

温馨提示

-
-
- 实物奖品请联系在线客服领取 -
- 填写收货地址等 -
-
联系客服
-
-
- -
-
-
-
diff --git a/src/views/lldmine/messageCenter/components/service.vue b/src/views/lldmine/messageCenter/components/service.vue deleted file mode 100644 index 56a6b17..0000000 --- a/src/views/lldmine/messageCenter/components/service.vue +++ /dev/null @@ -1,46 +0,0 @@ - - - - diff --git a/src/views/lldmine/myAccount/index.vue b/src/views/lldmine/myAccount/index.vue index 55b1ee3..1bcac11 100644 --- a/src/views/lldmine/myAccount/index.vue +++ b/src/views/lldmine/myAccount/index.vue @@ -24,13 +24,6 @@ - -
-
联系客服
-
- -
-
@@ -302,13 +295,6 @@ const login = async (qrUrl: string) => { const toBindingPhone = () => { router.push('/findPhone'); }; - -/** - * 联系客服 - */ -const handleContact = () => { - router.push('/customerService'); -}; diff --git a/src/views/lldmine/share/myShare.vue b/src/views/lldmine/share/myShare.vue index 6e73687..dd3faa7 100644 --- a/src/views/lldmine/share/myShare.vue +++ b/src/views/lldmine/share/myShare.vue @@ -1,6 +1,5 @@