Przeglądaj źródła

---author:liusq---date:2023-12-01---for:增加oauth2登录逻辑---

25067 2 lat temu
rodzic
commit
e7bfcf697b
2 zmienionych plików z 34 dodań i 4 usunięć
  1. 7 3
      pages.json
  2. 27 1
      store/index.js

+ 7 - 3
pages.json

@@ -1,6 +1,13 @@
 {
 	"pages": [
 		//pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+		{
+			"path": "pages/login/login",
+			"style": {}
+		}, {
+			"path": "pages/login/loginOauth2",
+			"style": {}
+		},
 		{
 			"path": "pages/index/index",
 			"style": {}
@@ -103,9 +110,6 @@
 		}, {
 			"path": "pages/home/home",
 			"style": {}
-		}, {
-			"path": "pages/login/login",
-			"style": {}
 		}, {
 			"path": "pages/user/userexit",
 			"style": {}

+ 27 - 1
store/index.js

@@ -2,7 +2,7 @@ import Vue from 'vue'
 import Vuex from 'vuex'
 import api from "@/api/api"
 import MinCache from'@/common/util/MinCache.js'
-import { ACCESS_TOKEN,USER_NAME,USER_INFO } from "@/common/util/constants"
+import { ACCESS_TOKEN,USER_NAME,USER_INFO,X_TENANT_ID } from "@/common/util/constants"
 
 Vue.use(Vuex)
 
@@ -72,6 +72,32 @@ export default new Vuex.Store({
         })
       })
     },
+    // 第三方登录
+    ThirdLogin({ commit }, param) {
+      return new Promise((resolve, reject) => {
+        api.thirdLogin(param.token,param.thirdType,param.tenantId).then(response => {
+          if(response.data.code =='200'){
+            const result = response.data.result
+            const userInfo = result.userInfo
+            uni.setStorageSync(ACCESS_TOKEN,result.token);
+            uni.setStorageSync(USER_INFO,userInfo);
+            uni.setStorageSync(X_TENANT_ID,userInfo.loginTenantId);
+
+            commit('SET_TOKEN', result.token)
+            commit('SET_AVATAR', userInfo.avatar)
+            commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname })
+            commit('SET_ID', userInfo.id)
+            commit('SET_INFO', userInfo)
+            commit('SET_TENANTID', userInfo.loginTenantId)
+            resolve(response)
+          }else{
+            reject(response)
+          }
+        }).catch(error => {
+          reject(error)
+        })
+      })
+    },
     // 登出
     Logout({ commit, state }) {
       return new Promise((resolve) => {