单点登录增加

This commit is contained in:
梁州 2025-06-09 09:50:01 +08:00
parent 1e35b38dca
commit 8ce3f7689d

View File

@ -11,9 +11,9 @@
<el-form-item style="width: 100%"> <el-form-item style="width: 100%">
<el-button type="primary" style="width: 100%; border: none" @click="login">登录</el-button> <el-button type="primary" style="width: 100%; border: none" @click="login">登录</el-button>
</el-form-item> </el-form-item>
<!-- <el-form-item style="width: 100%"> <el-form-item style="width: 100%">
<el-button type="primary" style="width: 100%; border: none" @click="loginCate">卡特账号登录</el-button> <el-button type="primary" style="width: 100%; border: none" @click="loginCate">卡特账号登录</el-button>
</el-form-item> --> </el-form-item>
</el-form> </el-form>
</body> </body>
</template> </template>
@ -26,6 +26,7 @@ import { reactive, onMounted } from 'vue';
import store from '@/store' import store from '@/store'
import router from '@/router' import router from '@/router'
import crypto from 'crypto' import crypto from 'crypto'
import loading from "@/utils/loading";
// Dependency: Node.js crypto module // Dependency: Node.js crypto module
// https://nodejs.org/api/crypto.html#crypto_crypto // https://nodejs.org/api/crypto.html#crypto_crypto
function base64URLEncode(str) { function base64URLEncode(str) {
@ -96,12 +97,8 @@ const loginCate = () => {
// window.open(cateLoginUrl)// // window.open(cateLoginUrl)//
} }
onMounted(() => { onMounted(() => {
if (router.currentRoute.value.query.code != null | undefined) { if (router.currentRoute.value.query.code !== undefined) {
const loading = ElLoading.service({ loading.open('请求登录中...')
lock: true,
text: 'Loading',
background: 'rgba(0, 0, 0, 0.7)',
})
const tokenParam = { const tokenParam = {
code_verifier: store.getters.getVerify, code_verifier: store.getters.getVerify,
client_id: '609f8296-74ab-441e-904f-3a8508030511', client_id: '609f8296-74ab-441e-904f-3a8508030511',
@ -114,15 +111,13 @@ onMounted(() => {
// response_mode: 'form_post' // response_mode: 'form_post'
} }
postToGetToken(tokenParam).then(res => { postToGetToken(tokenParam).then(res => {
loading.close()
store.commit('mutationClearVerify', verifier)// store.commit('mutationClearVerify', verifier)//
if (res.data.id_token != null | undefined) { if (res.data.id_token !== undefined) {
const codeInfo = { const codeInfo = {
id_token: res.data.id_token id_token: res.data.id_token
} }
getUser(codeInfo).then(res => { getUser(codeInfo).then(res => {
loading.close() if (res.data.code === 0) {
if (res.data.code == 0) {
store.commit('mutationUser', res.data.returnData.user)// store.commit('mutationUser', res.data.returnData.user)//
store.commit('mutationMenu', res.data.returnData.menuList)// store.commit('mutationMenu', res.data.returnData.menuList)//
store.commit('mutationStandId', res.data.returnData.standId) store.commit('mutationStandId', res.data.returnData.standId)
@ -132,14 +127,14 @@ onMounted(() => {
} }
}).catch(err => { }).catch(err => {
console.log(err) console.log(err)
loading.close()
ElMessage.error('登录失败!') ElMessage.error('登录失败!')
}) })
} }
}).catch(err => { }).catch(err => {
console.log(err) console.log(err)
loading.close()
ElMessage.error('登录错误') ElMessage.error('登录错误')
}).finally(() => {
loading.close()
}) })
} }
}) })