Kaynağa Gözat

微信小程序登录逻辑梳理_v2

John-Hong 2 yıl önce
ebeveyn
işleme
a93f13ccd0

+ 10 - 10
public/index.html

@@ -15,16 +15,16 @@
   <script>
     // CONFIGURATIONS_PLACEHOLDER
     
-    // if (window.injectConfig) {
-    //   window.injectConfig = {
-    //     ...window.injectConfig,
-    //     api: 'https://qa-crm-kpl.kerryprops.com.cn/',
-    //     TRACKING_API_URL:
-    //       'https://qa-tracking-cip.kerryplus.com/sa?project=kerry_tracking',
-    //     profileApi: 'https://qa-apim.kerryplus.com/c/api',
-    //     qaPayment: 'https://qa-payment.kerryonvip.com',
-    //   };
-    // }
+    if (/dev-/.test(window?.injectConfig.api) || window.location.href.indexOf(8080) > -1) {
+      window.injectConfig = {
+        ...window.injectConfig,
+        api: 'https://qa-crm-kpl.kerryprops.com.cn/',
+        TRACKING_API_URL:
+          'https://qa-tracking-cip.kerryplus.com/sa?project=kerry_tracking',
+        profileApi: 'https://qa-apim.kerryplus.com/c/api',
+        qaPayment: 'https://qa-payment.kerryonvip.com',
+      };
+    }
     
   </script>
   <script>

+ 3 - 2
src/App.vue

@@ -148,7 +148,7 @@ export default {
             return;
           } */
           // 初始化微信
-          initWxJsSdkConfig(['chooseWXPay']);
+          initWxJsSdkConfig(['chooseWXPay', 'scanQRCode', 'checkJsApi']);
           // 如果用户不选择登录,则不走登录逻辑
           this.isInit = true;
           this.$router.replace({
@@ -230,6 +230,7 @@ export default {
       // 当判断缓存中存在 pageId, token,并且地址栏中不存在 pageId, token。我们需要刷新页面,确保用户在微信小程序和H5公众号中使用的 open ID 保存一致
       if (
         uni.getStorageSync('pageId') &&
+        uni.getStorageSync('pageId') !== 'undefined' &&
         uni.getStorageSync('token') &&
         (!query?.pageId || !query.token)
       ) {
@@ -407,7 +408,7 @@ export default {
               timestamp: res.data.data.timestamp, // 必填,生成签名的时间戳
               nonceStr: res.data.data.nonceStr, // 必填,生成签名的随机串
               signature: res.data.data.signature, // 必填,签名
-              jsApiList: ['chooseWXPay'], // 必填,需要使用的JS接口列表
+              jsApiList: ['chooseWXPay', 'scanQRCode', 'checkJsApi'], // 必填,需要使用的JS接口列表
             });
             self.$wx.ready(function () {
               self.$wx.checkJsApi({

+ 1 - 1
src/pages/parkingFee/parkingFeeDetail.vue

@@ -787,7 +787,7 @@ export default {
       const params = {
         carno: this.payCarno,
         mallid: this.mallid,
-        vipcode: this.member.vipcode,
+        vipcode: this.member?.vipcode,
         groupId: this.groupId,
       };
       this.$md(params);

Dosya farkı çok büyük olduğundan ihmal edildi
+ 654 - 519
src/pages/parkingFee/parkingFeeForm.vue


+ 11 - 2
src/pages/parkingFee/parkingFeePaperCoupon.vue

@@ -180,7 +180,16 @@ export default {
     },
     // 扫码
     scanCode() {
-      uni.scanCode({
+      this.$wx.scanQRCode({
+        needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
+        scanType: ['qrCode', 'barCode'], // 可以指定扫二维码还是一维码,默认二者都有
+        success: (res) => {
+          console.log(187, res);
+          // this.formMsg.deviceCode = res.resultStr;
+        },
+      });
+
+      /* uni.scanCode({
         onlyFromCamera: false,
         scanType: ['qrCode'],
         success: (res) => {
@@ -201,7 +210,7 @@ export default {
             }
           }
         },
-      });
+      }); */
     },
 
     // 根据卡券ID查询卡券信息

+ 1 - 1
src/utils/api-crm-member.js

@@ -97,7 +97,7 @@ export function crmQueryMemberInfo (params) {
 // 获取会员详细信息用于会员注册后完善信息操作,在obj.extend属性中,外层是基础会员信息
 export function kipGetUserDetail (params) {
   // https://apim.kerryplus.com/c/api/profile/v1/customer/crm/current
-  const url = `/profileApi/profile/v1/customer/crm/current`;
+  const url = window.injectConfig.profileApi + `/profile/v1/customer/crm/current`;
   return request.get(url, params, {...DEFAULT_CONFIG});
 }
 

+ 1 - 1
src/utils/request-kip.js

@@ -128,7 +128,7 @@ export default {
       config
     }
     return new Promise((resolve, reject) => {
-      const url = getUrl(/\/sns/.test(path) ? path : `/profileApi${path}`);
+      const url = getUrl(/\/sns/.test(path) ? path : `${window.injectConfig.profileApi}/${path}`);
       // console.log(130, url);
       const { header } = handleConfig(config)
       log.info(`===>request-kip url: ${url}`)

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor