[add]钉钉单点登录前端代码的增加

This commit is contained in:
fengchenchen
2024-03-01 15:29:56 +08:00
parent 5904190722
commit 4ac7edad8a
9 changed files with 112 additions and 23 deletions
+34 -2
View File
@@ -1,8 +1,8 @@
import Vue from 'vue'
import { login, logout, phoneLogin, thirdLogin } from '@/api/login'
import {login, logout, phoneLogin, thirdLogin, dingLogin} from '@/api/login'
import { ACCESS_TOKEN, USER_NAME, USER_INFO, USER_AUTH, SYS_BUTTON_AUTH, UI_CACHE_DB_DICT_DATA, TENANT_ID, CACHE_INCLUDED_ROUTES } from '@/store/mutation-types'
import store from '@/store'
import { welcome } from '@/utils/util'
import { welcome, getDingCode } from '@/utils/util'
import { queryPermissionsByUser } from '@/api/api'
import { getAction } from '@/api/manage'
@@ -157,6 +157,38 @@ const user = {
})
})
},
// 钉钉单点登录
async DingLogin ({ commit }) {
const code = await getDingCode()
console.log('--getDingCode---', code)
// 先使用钉钉本身的api获取当前登录人的coode码 然后传给后端调用单点登录的接口
return new Promise((resolve, reject) => {
if (code) {
// 使用code调用后端hiwork登录的接口
dingLogin({ code }).then(response => {
if (response.code + '' === '200') {
const result = response.result
const userInfo = result.userInfo
Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000)
Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000)
Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000)
Vue.ls.set(UI_CACHE_DB_DICT_DATA, result.sysAllDictItems, 7 * 24 * 60 * 60 * 1000)
commit('SET_TOKEN', result.token)
commit('SET_INFO', userInfo)
commit('SET_NAME', { username: userInfo.username, realname: userInfo.realname, welcome: welcome() })
commit('SET_AVATAR', userInfo.avatar)
resolve(response)
} else {
reject(response)
}
}).catch(error => {
reject(error)
})
} else {
reject()
}
})
},
// 登出
Logout ({ commit, state }) {