Browse Source

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

John-Hong 2 years ago
parent
commit
ed7154c08c
4 changed files with 60 additions and 60 deletions
  1. 1 1
      src/components/Login/Login.vue
  2. 7 7
      src/pages/login/login.vue
  3. 1 1
      src/utils/cache-tool.js
  4. 51 51
      src/utils/login.js

+ 1 - 1
src/components/Login/Login.vue

@@ -115,7 +115,7 @@ export default {
       if (openid && openid !== 'undefined') {
         this.$store.commit('SET_OPENID', openid);
       }
-      if (!openid && false) {
+      if (!openid) {
         // 当进入其他页面时,需要先打开路由展示
         this.isInit = true;
         // 前往授权页面

+ 7 - 7
src/pages/login/login.vue

@@ -157,7 +157,7 @@ import { mapState } from 'vuex';
 import { getUTMSource } from '@/utils/utils.js';
 import CacheTool from '@/utils/cache-tool.js';
 
-const { KERRY_ON_BRAND_ID, HANGZHOU_LBS_ID } = CacheTool.getCurEnvConst();
+// const { KERRY_ON_BRAND_ID, HANGZHOU_LBS_ID } = CacheTool.getCurEnvConst();
 import { REG_SOURCE } from '@/constants.js';
 import uni from '@/utils/uniHooks.js';
 
@@ -199,12 +199,12 @@ export default {
       return this.brandInfo?.logo || CacheTool.getLogoByMallid(this.mallid);
       // return 'https://kip-public-qa.oss-cn-shanghai.aliyuncs.com/1634707859342-qldc5c.jpg';
     },
-    isHangzhou() {
-      return uni.getStorageSync('mallid') == HANGZHOU_LBS_ID;
-    },
-    isKerryOn() {
-      return uni.getStorageSync('groupId') == KERRY_ON_BRAND_ID;
-    },
+    // isHangzhou() {
+    //   return uni.getStorageSync('mallid') == HANGZHOU_LBS_ID;
+    // },
+    // isKerryOn() {
+    //   return uni.getStorageSync('groupId') == KERRY_ON_BRAND_ID;
+    // },
   },
   watch: {
     groupId(val) {

+ 1 - 1
src/utils/cache-tool.js

@@ -107,7 +107,7 @@ export default {
 	},
 	getMarketList() {
 		const marketList = uni.getStorageSync("marketList");
-		if (!marketList || marketList.length ===0) {
+		if (!marketList || marketList.length === 0) {
 			console.error("=>[getMarketList]marketList is empty")
 			return []
 		}

+ 51 - 51
src/utils/login.js

@@ -5,7 +5,7 @@ import request from '@/utils/request-kip.js'
 const get = request.get
 const post = request.post
 import store from '@/store';
-import { getMobileOperatingSystem,getQueryParam,isInWeixinH5 } from '@/utils';
+import { getMobileOperatingSystem, getQueryParam, isInWeixinH5 } from '@/utils';
 // import { Token } from './config/tokenManager';
 
 const OAUTH_PREFIX = '/oauth/v1';
@@ -20,7 +20,7 @@ const OAUTH_PREFIX = '/oauth/v1';
  */
 export function login(params) {
   // request.post(url, params, {contentType: 'form', ...DEFAULT_CONFIG, noToken: true});
-  return request.post(`${ OAUTH_PREFIX }/auth/phone-login`,params,{isAuthRequest: true,isHandleError: false});
+  return request.post(`${OAUTH_PREFIX}/auth/phone-login`, params, { isAuthRequest: true, isHandleError: false });
 }
 
 //
@@ -34,7 +34,7 @@ export function login(params) {
  : Promise<{ code: string, data: Token }>
  */
 export function loginWeixinH5(params) {
-  return request.post(`${ OAUTH_PREFIX }/auth/subscription-phone-login`,params,{isAuthRequest: true,isHandleError: false});
+  return request.post(`${OAUTH_PREFIX}/auth/subscription-phone-login`, params, { isAuthRequest: true, isHandleError: false });
 }
 
 /*
@@ -47,15 +47,15 @@ export function loginWeixinH5(params) {
  : Promise<{ code: string, data: Token }>
  */
 export function loginByWxOnClick(params) {
-  return request.post(`${ OAUTH_PREFIX }/auth/authorized-phone-login`,params,{isAuthRequest: true,isHandleError: false});
+  return request.post(`${OAUTH_PREFIX}/auth/authorized-phone-login`, params, { isAuthRequest: true, isHandleError: false });
 }
 
 /*
  jsCode: string
  : Promise<{ code: string, data: Token }>
  */
-export function getLoginTokenByWxCode( jsCode ) {
-  return request.post(`${ OAUTH_PREFIX }/auth/openid-login`,{jsCode,},{isAuthRequest: true,isHandleError: false});
+export function getLoginTokenByWxCode(jsCode) {
+  return request.post(`${OAUTH_PREFIX}/auth/openid-login`, { jsCode, }, { isAuthRequest: true, isHandleError: false });
 }
 
 /*
@@ -63,8 +63,8 @@ export function getLoginTokenByWxCode( jsCode ) {
  authCode: string
  : Promise<{ code: string, data: Token }>
  */
-export function getLoginTokenByWxCodeH5( authCode ) {
-  return request.post(`${ OAUTH_PREFIX }/auth/subscription-code-login`,{authCode},{isAuthRequest: true,isHandleError: false});
+export function getLoginTokenByWxCodeH5(authCode) {
+  return request.post(`${OAUTH_PREFIX}/auth/subscription-code-login`, { authCode }, { isAuthRequest: true, isHandleError: false });
 }
 
 /*
@@ -72,8 +72,8 @@ export function getLoginTokenByWxCodeH5( authCode ) {
 
  : Promise<ApiResponse<Token>>
  */
-export function updateToken( refresh_token ) {
-  return request.post(`${ OAUTH_PREFIX }/oauth/renewToken`,{refreshToken: refresh_token},{isAuthRequest: true,isHandleError: false})
+export function updateToken(refresh_token) {
+  return request.post(`${OAUTH_PREFIX}/oauth/renewToken`, { refreshToken: refresh_token }, { isAuthRequest: true, isHandleError: false })
 }
 
 /*
@@ -83,14 +83,14 @@ export function updateToken( refresh_token ) {
 export function logout() {
   let data = undefined;
   // #ifdef MP-WEIXIN
-  data = {'removeBinding': 1};
+  data = { 'removeBinding': 1 };
   // #endif
   // #ifdef H5
-  if ( isInWeixinH5() ) {
-    data = {'removeBinding': 1};
+  if (isInWeixinH5()) {
+    data = { 'removeBinding': 1 };
   }
   // #endif
-  return post(`${ OAUTH_PREFIX }/auth/logout`,data,{isLogout: true});
+  return post(`${OAUTH_PREFIX}/auth/logout`, data, { isLogout: true });
 }
 
 // 微信公众号H5获取用户openId - 需要登录
@@ -103,8 +103,8 @@ export function logout() {
  data: string
  }>
  */
-export function WxJsOpenId( param ) {
-  return request.get(`/sns/oauth2/access_token`,param);
+export function WxJsOpenId(param) {
+  return request.get(`/sns/oauth2/access_token`, param);
 }
 
 // H5获取微信签名信息Api - 需要登录
@@ -122,8 +122,8 @@ export function WxJsOpenId( param ) {
  }
  }>
  */
-function WxJsSdkSignature( param ) {
-  return request.post(`/oauth/v1/wx/config/signature`,param);
+function WxJsSdkSignature(param) {
+  return request.post(`/oauth/v1/wx/config/signature`, param);
 }
 
 /*
@@ -131,14 +131,14 @@ function WxJsSdkSignature( param ) {
 
 
  */
-export function initWxJsSdkConfig( jsApiList = [],openTagList = [] ) {
+export function initWxJsSdkConfig(jsApiList = [], openTagList = []) {
   let url = location.href;
   // https://developers.weixin.qq.com/community/develop/doc/000ae2cb950808f90d8bc415551800
-  if ( getMobileOperatingSystem() === 'iOS' && window.H5_LAUNCH_URL ) {
+  if (getMobileOperatingSystem() === 'iOS' && window.H5_LAUNCH_URL) {
     url = window.H5_LAUNCH_URL;
   }
   window.wxJsSdkConfigInitPromise = null;
-  window.wxJsSdkConfigInitPromise = WxJsSdkConfig(jsApiList,url,openTagList);
+  window.wxJsSdkConfigInitPromise = WxJsSdkConfig(jsApiList, url, openTagList);
 }
 
 /*
@@ -146,13 +146,13 @@ export function initWxJsSdkConfig( jsApiList = [],openTagList = [] ) {
  jsApiList: string[], url?: string, openTagList?: string[]
  : Promise<{ errMsg: "wx.config:OK" }>
  */
-async function WxJsSdkConfig( jsApiList = [],url = '',openTagList = [] ) {
-  const res = await WxJsSdkSignature({url: url ? url : location.href}); // 这个接口需要登录!
+async function WxJsSdkConfig(jsApiList = [], url = '', openTagList = []) {
+  const res = await WxJsSdkSignature({ url: url ? url : location.href }); // 这个接口需要登录!
   let debug = false;
   try {
     debug = uni.getStorageSync("WX_JSSDK_DEBUG");
   } catch { }
-  return new Promise(( resolve,reject ) => {
+  return new Promise((resolve, reject) => {
     wx.config({
       debug,
       appId: res.data.appId,
@@ -168,9 +168,9 @@ async function WxJsSdkConfig( jsApiList = [],url = '',openTagList = [] ) {
       // 所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
       // eslint-disable-next-line no-console
       console.log('wx.ready');
-      resolve({errMsg: 'wx.config:OK'});
+      resolve({ errMsg: 'wx.config:OK' });
     });
-    wx.error(function ( err ) {
+    wx.error(function (err) {
       // eslint-disable-next-line no-console
       console.log('err');
       console.log(err);
@@ -190,8 +190,8 @@ async function WxJsSdkConfig( jsApiList = [],url = '',openTagList = [] ) {
  videoUrl: string
  }>
  */
-export function WxJsUploadMediaToOSS( param ) {
-  return request.get(`/oauth/v1/wx/config/wechat/h5/mediaUrl`,param);
+export function WxJsUploadMediaToOSS(param) {
+  return request.get(`/oauth/v1/wx/config/wechat/h5/mediaUrl`, param);
 }
 
 /*
@@ -206,24 +206,24 @@ export function WxJsUploadMediaToOSS( param ) {
 
  : Promise<{ message: string, ossUrls: string[] }>
  */
-export async function wxChooseImageAndUpload( count,sizeType,sourceType,loadingText ) {
-  return new Promise(( resolve,reject ) => {
+export async function wxChooseImageAndUpload(count, sizeType, sourceType, loadingText) {
+  return new Promise((resolve, reject) => {
     wx.chooseImage({
       count: count,
       sizeType,
       sourceType,
       // : { localIds: string[] }
-      success: ( res ) => {
-        if ( loadingText ) {
+      success: (res) => {
+        if (loadingText) {
           setTimeout(() => {
             uni.showLoading({
               title: loadingText,
             });
-          },100);
+          }, 100);
         }
         const localIds = res.localIds;
         // eslint-disable-next-line no-console
-        console.log("----00---",res.localIds);
+        console.log("----00---", res.localIds);
         const serverIds = [];
         const ossUrls = [];
         let i = 0;
@@ -233,34 +233,34 @@ export async function wxChooseImageAndUpload( count,sizeType,sourceType,loadingT
             localId: localIds[i],
             isShowProgressTips: 0,
             // : { serverId : string}
-            success: async ( resUpload ) => {
+            success: async (resUpload) => {
               serverIds.push(resUpload.serverId);
               // eslint-disable-next-line no-console
-              console.log("----01---",serverIds.join(';'));
-              const resOssUpload = await WxJsUploadMediaToOSS({appId: store.state.appId,mediaId: resUpload.serverId});
+              console.log("----01---", serverIds.join(';'));
+              const resOssUpload = await WxJsUploadMediaToOSS({ appId: store.state.appId, mediaId: resUpload.serverId });
               ossUrls.unshift(resOssUpload.videoUrl);
               // eslint-disable-next-line no-console
-              console.log("----02---",serverIds.join(';'),ossUrls);
+              console.log("----02---", serverIds.join(';'), ossUrls);
               //如果还有照片,继续上传
               i++;
-              if ( i < length ) {
+              if (i < length) {
                 upload();
               } else {
-                resolve({message: '',ossUrls: ossUrls});
+                resolve({ message: '', ossUrls: ossUrls });
               }
             },
-            fail: ( resFail ) => {
+            fail: (resFail) => {
               // eslint-disable-next-line no-console
-              console.log("----03---",resFail);
+              console.log("----03---", resFail);
               reject(resFail);
             }
           });
         };
         upload();
       },
-      fail: ( resFail ) => {
+      fail: (resFail) => {
         // eslint-disable-next-line no-console
-        console.log("----04---",resFail);
+        console.log("----04---", resFail);
         reject(resFail);
       }
     });
@@ -274,15 +274,15 @@ export function getOpenIdInH5() {
   const OPENID_KEY = store.state.appId + '-openid';
   const LANDING_PAGE = '/pages/weixin-h5/order';
   const openId = uni.getStorageSync(OPENID_KEY);
-  if ( openId ) {
+  if (openId) {
     // eslint-disable-next-line no-console
-    console.log('openId in H5:',openId);
+    console.log('openId in H5:', openId);
     return;
   }
 
   const query = getQueryParam();
-  const fullPath = location.href.replace(location.origin,'');
-  if ( fullPath.indexOf(LANDING_PAGE) == 0 ) {
+  const fullPath = location.href.replace(location.origin, '');
+  if (fullPath.indexOf(LANDING_PAGE) == 0) {
     return;
   }
 
@@ -291,9 +291,9 @@ export function getOpenIdInH5() {
     + "&redirect_uri=" + encodeURIComponent(fullPath);
   const state = 'abc123';
 
-  const url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${ store.state.appId }` +
-    `&redirect_uri=${ encodeURIComponent(redirect_uri) }&response_type=code&scope=snsapi_userinfo` +
-    `&state=${ state }#wechat_redirect`;
+  const url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${store.state.appId}` +
+    `&redirect_uri=${encodeURIComponent(redirect_uri)}&response_type=code&scope=snsapi_userinfo` +
+    `&state=${state}#wechat_redirect`;
 
   location.href = url;
   // #endif