Compare commits
2 Commits
df5e7e4ae7
...
33c491befa
Author | SHA1 | Date |
---|---|---|
admin | 33c491befa | |
admin | ac44b970dd |
|
@ -4,6 +4,14 @@ export function getLoginRandom(ngxCookie) {
|
||||||
return request.get('/sms/v1/trx/randomstr', { params: { ngxCookie } })
|
return request.get('/sms/v1/trx/randomstr', { params: { ngxCookie } })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getSoftLoginRandom(ngxCookie,account) { //多传一个账号,这个接口返回的结果,作为randoms
|
||||||
|
return request.get('/sms/v1/trx/soft/randomstr', { params: { ngxCookie,account } })
|
||||||
|
}
|
||||||
|
|
||||||
|
export function trxSoftLogin(params) {
|
||||||
|
return request.post('/sms/v1/trx/softlogin', params)
|
||||||
|
}
|
||||||
|
|
||||||
export function trxLogin(params) {
|
export function trxLogin(params) {
|
||||||
return request.post('/sms/v1/trx/login', params)
|
return request.post('/sms/v1/trx/login', params)
|
||||||
}
|
}
|
||||||
|
@ -12,6 +20,14 @@ export function offlineToken(trxToken) {
|
||||||
return request.post('/sms/v1/trx/logout', { trxToken })
|
return request.post('/sms/v1/trx/logout', { trxToken })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getSoftLoginRandom(ngxCookie,account) { //多传一个账号,这个接口返回的结果,作为randoms
|
||||||
|
return request.get('/sms/v1/trx/soft/randomstr', { params: { ngxCookie,account } })
|
||||||
|
}
|
||||||
|
|
||||||
|
export function trxSoftLogin(params) {
|
||||||
|
return request.post('/sms/v1/trx/softlogin', params)
|
||||||
|
}
|
||||||
|
|
||||||
// 理想那边给的代码调用 getAuthToken 时需要传 ip,云管目前不传
|
// 理想那边给的代码调用 getAuthToken 时需要传 ip,云管目前不传
|
||||||
export function getIp() {
|
export function getIp() {
|
||||||
return request({
|
return request({
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
import { getClientHello } from 'services/ukeyAuth.js'
|
||||||
|
import { getSoftLoginRandom, trxSoftLogin } from 'services/trxLogin.js'
|
||||||
|
import Cookies from 'js-cookie'
|
||||||
|
import { ElMessage } from 'element-plus'
|
||||||
|
const state = {}
|
||||||
|
const mutations = {}
|
||||||
|
const actions = {
|
||||||
|
// 登录
|
||||||
|
Login({ commit }, loginParam) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
// 调用 skey 获取 clientHello
|
||||||
|
console.log('执行 store.dispatch(skey/Login)开始,传参为password:', loginParam.password)
|
||||||
|
getClientHello(loginParam.password).then(checkRes => {
|
||||||
|
console.log('调用 skey getClientHello 方法,接口返回结果为:', checkRes)
|
||||||
|
if (checkRes.result !== 0) {
|
||||||
|
console.log('调用 skey getClientHello 方法失败,接口返回结果为:', checkRes)
|
||||||
|
Cookies.remove('ngx_cookie')
|
||||||
|
ElMessage({ message: checkRes.message, type: 'error' })
|
||||||
|
resolve({
|
||||||
|
success: false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const clientHello = checkRes.clientHello
|
||||||
|
console.log('clientHello:', clientHello)
|
||||||
|
Cookies.set('ngx_cookie', clientHello)
|
||||||
|
// 调用天融信单点登录获取 serverHello
|
||||||
|
getSoftLoginRandom(clientHello, loginParam.account)
|
||||||
|
.then(randomRes => {
|
||||||
|
console.log('调用 getSoftLoginRandom 方法,接口返回结果为:', randomRes)
|
||||||
|
if (!randomRes.success) {
|
||||||
|
console.log('调用 getSoftLoginRandom 方法失败,接口返回结果为:', randomRes)
|
||||||
|
resolve({
|
||||||
|
success: false
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const randoms = randomRes.result
|
||||||
|
console.log('loginRandom:', randoms)
|
||||||
|
trxSoftLogin({clientHello, randoms, password: loginParam.password}).then(loginRes=>{
|
||||||
|
console.log('调用 trxSoftLogin 方法,接口返回结果为:', loginRes)
|
||||||
|
if (!loginRes.success) {
|
||||||
|
console.log('调用 trxSoftLogin 方法失败,接口返回结果为:', loginRes)
|
||||||
|
resolve({
|
||||||
|
success: false
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resolve(loginRes)
|
||||||
|
return
|
||||||
|
}).catch(err => {
|
||||||
|
console.log('调用 trxSoftLogin 方法 [catch] ,接口返回结果为:', err)
|
||||||
|
reject(err)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
console.log('调用 getSoftLoginRandom 方法 [catch] ,接口返回结果为:', err)
|
||||||
|
reject(err)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export default {
|
||||||
|
namespaced: true,
|
||||||
|
state,
|
||||||
|
mutations,
|
||||||
|
actions
|
||||||
|
}
|
|
@ -62,6 +62,39 @@
|
||||||
<el-button class="login-btn" type="primary" :loading="loading" @click="handleUkeyLogin">登录</el-button>
|
<el-button class="login-btn" type="primary" :loading="loading" @click="handleUkeyLogin">登录</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="软KEY登录" name="SKEY">
|
||||||
|
<div v-if="activeName === 'SKEY'">
|
||||||
|
<div class="login-title">账号登录</div>
|
||||||
|
<el-form-item class="login-form-item" prop="account" :rules="[{ ...required, message: '请输入用户名' }]">
|
||||||
|
<el-input v-model="loginForm.saccount" autocomplete="off" placeholder="登录账户">
|
||||||
|
<template #prefix>
|
||||||
|
<el-icon>
|
||||||
|
<icon-ep-user />
|
||||||
|
</el-icon>
|
||||||
|
</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-tooltip :visible="capsTooltip" content="大写锁定已打开" placement="right" :manual="true">
|
||||||
|
<el-form-item class="login-form-item" prop="password" :rules="[{ ...required, message: '请输入密码' }]">
|
||||||
|
<el-input show-password v-model="loginForm.spassword" placeholder="密码" @blur="capsTooltip = false" @keyup="checkCapslock">
|
||||||
|
<template #prefix>
|
||||||
|
<el-icon><icon-ep-lock /></el-icon>
|
||||||
|
</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-tooltip>
|
||||||
|
<el-form-item class="login-form-item">
|
||||||
|
<div class="operate-region">
|
||||||
|
<span class="remember">
|
||||||
|
<el-switch v-model="remember"></el-switch>
|
||||||
|
<span class="m-l-xs">记住密码</span>
|
||||||
|
</span>
|
||||||
|
<a :href="`mailto:${configs.helpInformationLink}`" type="text" class="text-info help-info" :title="configs.helpInformationContent">{{ configs.helpInformationContent }}</a>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
<el-button class="login-btn" type="primary" :loading="loading" @click="handleLogin4sKey">登录</el-button>
|
||||||
|
</div>
|
||||||
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
@ -144,6 +177,27 @@ function handleLogin() {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 软key 登录
|
||||||
|
function handleLogin4sKey() {
|
||||||
|
if (!loginFormRef.value) return
|
||||||
|
loginFormRef.value.validate(async valid => {
|
||||||
|
if (valid) {
|
||||||
|
loading.value = true
|
||||||
|
const { saccount, spassword } = loginForm
|
||||||
|
const res = await store
|
||||||
|
.dispatch('skey/Login', {account: saccount, password: spassword})
|
||||||
|
.finally(() => (loading.value = false))
|
||||||
|
.catch(() => (loading.value = false))
|
||||||
|
if (res && res.success) {
|
||||||
|
console.log('SKEY: 登录成功,云管融合登录接口返回', res)
|
||||||
|
goLogin(res.data)
|
||||||
|
} else {
|
||||||
|
console.log('SKEY: 登录失败,云管融合登录接口返回', res)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
// ukey 登录
|
// ukey 登录
|
||||||
async function handleUkeyLogin() {
|
async function handleUkeyLogin() {
|
||||||
if (!loginFormRef.value) return
|
if (!loginFormRef.value) return
|
||||||
|
|
Loading…
Reference in New Issue