فهرست منبع

fix: 优化token写入和获取

carver 2 سال پیش
والد
کامیت
54c154b893
4فایلهای تغییر یافته به همراه122 افزوده شده و 118 حذف شده
  1. 3 1
      .mini-ide/project-ide.json
  2. 111 113
      antbuilder/core/store/actions/login.js
  3. 4 3
      antbuilder/core/utils/request.js
  4. 4 1
      antbuilder/core/utils/service.js

+ 3 - 1
.mini-ide/project-ide.json

@@ -1,4 +1,6 @@
 {
 {
   "enableLegacyRemoteDebug": false,
   "enableLegacyRemoteDebug": false,
-  "disableSimulatorPermissionCheck": true
+  "disableSimulatorPermissionCheck": true,
+  "ignoreWebViewDomainCheck": true,
+  "ignoreHttpDomainCheck": true
 }
 }

+ 111 - 113
antbuilder/core/store/actions/login.js

@@ -1,118 +1,116 @@
-import { getIn } from 'herculex/dist/utils/manipulate';
+import { getIn } from "herculex/dist/utils/manipulate";
 import {
 import {
-  getSilentAuthCode,
-  getAuthUser,
-  getOpenUserInfo,
-  getPhoneNumber,
-  getIDNumber,
-} from '../../utils/jsapi';
-import request from '../../utils/request';
-import { setStorage } from '../../utils';
-import { userInfoUrl, loginUrl } from '../../utils/constants';
+	getSilentAuthCode,
+	getAuthUser,
+	getOpenUserInfo,
+	getPhoneNumber,
+	getIDNumber,
+} from "../../utils/jsapi";
+import request from "../../utils/request";
+import { setStorage } from "../../utils";
+import { userInfoUrl, loginUrl } from "../../utils/constants";
 
 
 export default {
 export default {
-  async checkUserLogin({ commit }) {
-    const [authcodeErr, authcodeRes] = await getSilentAuthCode();
-    if (authcodeErr) return [authcodeErr, null];
-    const [err, res] = await request({
-      url: userInfoUrl,
-      data: { authCode: authcodeRes.authCode },
-    });
-    if (err) return [err, null];
-    if (res) {
-      // eslint-disable-next-line no-undef
-      const app = getApp();
-      if (res.ticket) {
-        app.globalData.ticketData.ticket = res.ticket;
-        app.globalData.ticketData.expiresTime = res.expiresTime;
-      }
-      app.globalData.isUserLogin = true;
-      commit('updateUserInfo', {
-        ...res,
-        isLogin: true,
-      });
-    }
-  },
+	async checkUserLogin({ commit }) {
+		const [authcodeErr, authcodeRes] = await getSilentAuthCode();
+		if (authcodeErr) return [authcodeErr, null];
+		const [err, res] = await request({
+			url: userInfoUrl,
+			data: { authCode: authcodeRes.authCode },
+		});
+		if (err) return [err, null];
+		if (res) {
+			// eslint-disable-next-line no-undef
+			const app = getApp();
+			if (res.ticket) {
+				app.globalData.ticketData.ticket = res.ticket;
+				app.globalData.ticketData.expiresTime = res.expiresTime;
+			}
+			app.globalData.isUserLogin = true;
+			commit("updateUserInfo", {
+				...res,
+				isLogin: true,
+			});
+		}
+	},
 
 
-  async doLogin({ state, commit }, payload) {
-    const {
-      scopesList = '',
-      scopes = state.scopes || 'auth_user',
-    } = payload || {};
-    let isLoginSuccess = false;
-    let data = { formId: state.formId };
-    const url = loginUrl[scopes] || '';
-    /*
-    * 静默授权
-    * */
-    if (scopes === 'auth_user') {
-      const [err, res] = await getAuthUser(scopesList);
-      if (err) return isLoginSuccess;
-      data = {
-        ...data,
-        authCode: getIn(res, ['authCode']),
-      };
-    } else if (scopes === 'userInfo') {
-      const [err, res] = await getOpenUserInfo();
-      if (err) {
-        console.error('获取用户公开信息异常:', err);
-        return isLoginSuccess;
-      }
-      data = {
-        ...data,
-        city: res.city,
-        gender: res.gender,
-        avatar: res.avatar,
-        nickName: res.nickName,
-        province: res.province,
-      };
-    } else if (scopes === 'phoneNumber') {
-      const [err, res] = await getPhoneNumber();
-      if (err) return isLoginSuccess;
-      data = {
-        ...data,
-        encryptedData: res,
-        scope: 'phoneNumber',
-      };
-    } else if (scopes === 'IDNumber') {
-      const [err, res] = await getIDNumber();
-      if (err) return isLoginSuccess;
-      data = {
-        ...data,
-        encryptedData: res,
-        scope: 'IDNumber',
-      };
-    }
-    my.showLoading({
-      content: '登录中...',
-    });
-    const [err, res] = await request({
-      url,
-      data,
-    });
-    const $pageAfter = getCurrentPages();
-    $pageAfter.forEach(element => {
-      my.hideLoading({
-        page: element,
-      });
-    });
-    if (err) return isLoginSuccess;
-    // eslint-disable-next-line no-undef
-    const app = getApp();
-    if (res && res.ticket) {
-      app.globalData.ticketData.ticket = res.ticket;
-      app.globalData.ticketData.expiresTime = res.expiresTime;
-    }
-    app.globalData.isUserLogin = true;
-    app.globalData.userInfo = res;
-    commit({
-      userInfo: {
-        isLogin: true,
-        ...res,
-      },
-    });
-    await setStorage('logout', false);
-    isLoginSuccess = true;
-    return isLoginSuccess;
-  },
+	async doLogin({ state, commit }, payload) {
+		const { scopesList = "", scopes = state.scopes || "auth_user" } =
+			payload || {};
+		let isLoginSuccess = false;
+		let data = { formId: state.formId };
+		const url = loginUrl[scopes] || "";
+		/*
+		 * 静默授权
+		 * */
+		if (scopes === "auth_user") {
+			const [err, res] = await getAuthUser(scopesList);
+			if (err) return isLoginSuccess;
+			data = {
+				...data,
+				authCode: getIn(res, ["authCode"]),
+			};
+		} else if (scopes === "userInfo") {
+			const [err, res] = await getOpenUserInfo();
+			if (err) {
+				console.error("获取用户公开信息异常:", err);
+				return isLoginSuccess;
+			}
+			data = {
+				...data,
+				city: res.city,
+				gender: res.gender,
+				avatar: res.avatar,
+				nickName: res.nickName,
+				province: res.province,
+			};
+		} else if (scopes === "phoneNumber") {
+			const [err, res] = await getPhoneNumber();
+			if (err) return isLoginSuccess;
+			data = {
+				...data,
+				encryptedData: res,
+				scope: "phoneNumber",
+			};
+		} else if (scopes === "IDNumber") {
+			const [err, res] = await getIDNumber();
+			if (err) return isLoginSuccess;
+			data = {
+				...data,
+				encryptedData: res,
+				scope: "IDNumber",
+			};
+		}
+		my.showLoading({
+			content: "登录中...",
+		});
+		const [err, res] = await request({
+			url,
+			data,
+		});
+		const $pageAfter = getCurrentPages();
+		$pageAfter.forEach((element) => {
+			my.hideLoading({
+				page: element,
+			});
+		});
+		if (err) return isLoginSuccess;
+		// eslint-disable-next-line no-undef
+		const app = getApp();
+		if (res && res.ticket) {
+			app.globalData.ticketData.ticket = res.ticket;
+			app.globalData.ticketData.expiresTime = res.expiresTime;
+		}
+		app.globalData.isUserLogin = true;
+		app.globalData.userInfo = res;
+		commit({
+			userInfo: {
+				isLogin: true,
+				...res,
+			},
+		});
+		await setStorage("logout", false);
+		isLoginSuccess = true;
+		return isLoginSuccess;
+	},
 };
 };

+ 4 - 3
antbuilder/core/utils/request.js

@@ -35,6 +35,7 @@ export function _request({
 		}
 		}
 		// eslint-disable-next-line no-undef
 		// eslint-disable-next-line no-undef
 		const app = getApp();
 		const app = getApp();
+		const token = my.getStorageSync({ key: "YWT_TOKEN" });
 		my.request({
 		my.request({
 			url: url.startsWith("http") ? url : joinUrl(host, url),
 			url: url.startsWith("http") ? url : joinUrl(host, url),
 			method,
 			method,
@@ -43,7 +44,7 @@ export function _request({
 				"content-type": "application/x-www-form-urlencoded",
 				"content-type": "application/x-www-form-urlencoded",
 				ticket: app.globalData.ticketData.ticket, // todo test
 				ticket: app.globalData.ticketData.ticket, // todo test
 				appId: app.globalData.appId, // todo test
 				appId: app.globalData.appId, // todo test
-				ywtToken: "ywtToken",
+				ywtToken: token.data || "",
 				...headers,
 				...headers,
 			},
 			},
 			dataType: "json",
 			dataType: "json",
@@ -102,13 +103,13 @@ export function _ywtRequest({
 		if (isShowLoadig) {
 		if (isShowLoadig) {
 			my.showLoading();
 			my.showLoading();
 		}
 		}
-		const token = getStorage("YWT_TOKEN");
+		const token = my.getStorageSync({ key: "YWT_TOKEN" });
 		my.request({
 		my.request({
 			url: url.startsWith("http") ? url : joinUrl(ywtRequestUrl, url),
 			url: url.startsWith("http") ? url : joinUrl(ywtRequestUrl, url),
 			method,
 			method,
 			data,
 			data,
 			headers: {
 			headers: {
-				ywtToken: token || "",
+				ywtToken: token.data || "",
 				...headers,
 				...headers,
 			},
 			},
 			dataType: "json",
 			dataType: "json",

+ 4 - 1
antbuilder/core/utils/service.js

@@ -79,7 +79,10 @@ export async function checkUserInfo() {
 	app.globalData.ticketData.expiresTime = expiresTime;
 	app.globalData.ticketData.expiresTime = expiresTime;
 	const [ywtErr, ywtResult] = await ywtAuth({ ticket, gwAppId });
 	const [ywtErr, ywtResult] = await ywtAuth({ ticket, gwAppId });
 	if (!ywtErr && ywtResult && ywtResult.token) {
 	if (!ywtErr && ywtResult && ywtResult.token) {
-		setStorage("YWT_TOKEN", ywtResult.token);
+		my.setStorageSync({
+			key: "YWT_TOKEN",
+			data: ywtResult.token,
+		});
 	}
 	}
 	return [null, res];
 	return [null, res];
 }
 }