pxb hai 2 semanas
pai
achega
9949e13cbb

+ 8 - 8
src/components/appFooter/index.vue

@@ -153,22 +153,22 @@ function About() {
 
 function goService() {
     if(uni.getStorageSync('token')) {
-        uni.navigateTo({
-            url: '/pages/common/customerService/index'
+        router.pushTab({
+            name: 'customerService'
         })
     } else {
       if(!uni.getStorageSync('youke_token')){
         userGuestRegister().then((res) => {
           uni.setStorageSync('youke_token', res.data.token);
-          router.push({
-            name: 'customerService',
-            query: { GuestMode: 1 }
+          uni.setStorageSync('GuestMode', 1)
+          router.pushTab({
+            name: 'customerService'
           });
         })
       } else {
-        router.push({
-          name: 'customerService',
-          query: { GuestMode: 1 }
+        uni.setStorageSync('GuestMode', 1)
+        router.pushTab({
+          name: 'customerService'
         });
       }
     }

+ 49 - 42
src/pages/common/customerService/index.vue

@@ -9,58 +9,65 @@
 </template>
 
 <script setup>
+import { onShow } from '@dcloudio/uni-app'
 
 const route = useRoute()
 
 let token = ref(uni.getStorageSync('token'));
-let user_info = ref(uni.getStorageSync('user_info'));
-if(route.query.GuestMode && route.query.GuestMode == 1){
-  token.value = uni.getStorageSync('youke_token')
-}
+let url = ref('');
 
-console.log(user_info);
+function buildUrl() {
+  // GuestMode 优先取 query(兼容老入口),其次取 storage(switchTab 传不了 query)
+  const guestMode = (route.query.GuestMode && route.query.GuestMode == 1) || uni.getStorageSync('GuestMode') == 1;
+  if(guestMode){
+    token.value = uni.getStorageSync('youke_token')
+  }
+  // 一次性读取,避免之后正常进入客服页被误判为游客
+  uni.removeStorageSync('GuestMode');
+  // 每次页面显示时重新读取,登录返回客服页也能拿到最新用户信息
+  let user_info = uni.getStorageSync('user_info');
 
-let lang = ref(uni.getStorageSync('locale') || 'zh');
+  let lang = uni.getStorageSync('locale') || 'zh';
 
-let params;
-if (user_info.value && user_info.value.user_id) {
-  // 有用户信息,用原有参数
-  params = new URLSearchParams({
-    from: 1,
-    uid: user_info.value.user_id,
-    account: user_info.value.account ? user_info.value.account : user_info.value.user_id,
-    avatar: user_info.value.avatar,
-    realname: user_info.value.first_name,
-    Lang: lang.value
-  });
-} else {
-  // 游客模式:user_info 为空时
-  // uid = 2位大小写字母 + 从"完整时间戳+9位随机数"随机取8位,再随机打乱拼接为10位
-  const letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
-  const letterPart = `${letters[Math.floor(Math.random() * 52)]}${letters[Math.floor(Math.random() * 52)]}`;
-  const tsRand = `${Date.now()}${Math.floor(Math.random() * 1000000000)}`;
-  let numPart = '';
-  for (let i = 0; i < 8; i++) {
-    numPart += tsRand[Math.floor(Math.random() * tsRand.length)];
+  let params;
+  if (user_info && user_info.user_id) {
+    // 有用户信息,用原有参数
+    params = new URLSearchParams({
+      from: 1,
+      uid: user_info.user_id,
+      account: user_info.account ? user_info.account : user_info.user_id,
+      avatar: user_info.avatar,
+      realname: user_info.first_name,
+      Lang: lang
+    });
+  } else {
+    // 游客模式:user_info 为空时
+    // uid = 2位大小写字母 + 从"完整时间戳+9位随机数"随机取8位,再随机打乱拼接为10位
+    const letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
+    const letterPart = `${letters[Math.floor(Math.random() * 52)]}${letters[Math.floor(Math.random() * 52)]}`;
+    const tsRand = `${Date.now()}${Math.floor(Math.random() * 1000000000)}`;
+    let numPart = '';
+    for (let i = 0; i < 8; i++) {
+      numPart += tsRand[Math.floor(Math.random() * tsRand.length)];
+    }
+    const uid = (letterPart + numPart).split('').sort(() => Math.random() - 0.5).join('');
+    params = new URLSearchParams({
+      from: 1,
+      uid: uid,
+      account: uid,
+      realname: `游客B_${uid.slice(-4)}`,
+      Lang: lang
+    });
   }
-  const uid = (letterPart + numPart).split('').sort(() => Math.random() - 0.5).join('');
-  params = new URLSearchParams({
-    from: 1,
-    uid: uid,
-    account: uid,
-    realname: `游客B_${uid.slice(-4)}`,
-    Lang: lang.value
-  });
-}
-console.log(params);
 
-// var url = ref('http://bot28webkefu.sp2509.cc/#/userMsg?token=' + token.value + '&Lang=' + lang.value);
-var url = ref(`http://bot28webkefu.sp2509.cc/#/userMsg?${params.toString()}`);
+  // #ifdef H5
+  url.value = `${window.global.serviceURL}/#/userMsg?${params.toString()}`;
+  // #endif
+}
 
-// #ifdef H5
-// var url = window.global.serviceURL + '/#/userMsg?token=' + token.value + '&Lang=' + lang.value;
-var url = ref(`${window.global.serviceURL}/#/userMsg?${params.toString()}`);
-// #endif
+onShow(() => {
+  buildUrl();
+});
 </script>
 
 <style scoped lang="scss">

+ 4 - 14
src/pages/login/index.vue

@@ -251,20 +251,10 @@ function onGuestClick() {
 }
 
 function onLineService() {
-  if (!uni.getStorageSync('youke_token')) {
-    userGuestRegister().then((res) => {
-      uni.setStorageSync('youke_token', res.data.token);
-      router.push({
-        name: 'customerService',
-        query: { GuestMode: 1 }
-      });
-    })
-  } else {
-    router.push({
-      name: 'customerService',
-      query: { GuestMode: 1 }
-    });
-  }
+  uni.setStorageSync('GuestMode', 1)
+  router.pushTab({
+    name: 'customerService'
+  });
 }
 
 function onLoginClick() {

+ 4 - 14
src/pages/register/index.vue

@@ -296,20 +296,10 @@ function onGuestClick() {
 }
 
 function onLineService() {
-  if (!uni.getStorageSync('youke_token')) {
-    userGuestRegister().then((res) => {
-      uni.setStorageSync('youke_token', res.data.token);
-      router.push({
-        name: 'customerService',
-        query: { GuestMode: 1 }
-      });
-    })
-  } else {
-    router.push({
-      name: 'customerService',
-      query: { GuestMode: 1 }
-    });
-  }
+  uni.setStorageSync('GuestMode', 1)
+  router.pushTab({
+    name: 'customerService'
+  });
 }
 
 // 获取背景图原始宽高,计算出缩放比例

+ 2 - 2
src/static/config.js

@@ -8,8 +8,8 @@ window.global = {
   botURL: 'https://bot28api.sp2509.cc/api/',
   openPCUrl: 'https://www.f1bet888.com',
   landingPageURL: 'https://land.f1bet888.com/',
-  // serviceURL: 'https://service.8xbet001.com',
-  serviceURL: 'https://bot28webkefu.sp2509.cc',
+  serviceURL: 'https://service.askgoing.com',
+  // serviceURL: 'https://bot28webkefu.sp2509.cc',
   PermanentURL: 'F1bet.cc',
 }
 // #endif