修改辽宁免登录
This commit is contained in:
6
.env.LNqr
Normal file
6
.env.LNqr
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# 辽宁嵌入
|
||||||
|
NODE_ENV = LNqr
|
||||||
|
VITE_NAME="LNqr"
|
||||||
|
# 电网一张图 地图图层
|
||||||
|
VITE_NARIMAP=null
|
||||||
|
VITE_NRGISCOMMON=null
|
||||||
@@ -8,11 +8,13 @@
|
|||||||
"dev:jibei": "vite --mode jibei",
|
"dev:jibei": "vite --mode jibei",
|
||||||
"dev:hainan": "vite --mode hainan",
|
"dev:hainan": "vite --mode hainan",
|
||||||
"dev:qujing": "vite --mode qujing",
|
"dev:qujing": "vite --mode qujing",
|
||||||
|
"dev:LNqr": "vite --mode LNqr",
|
||||||
"dev:removeMode": "vite --mode removeMode",
|
"dev:removeMode": "vite --mode removeMode",
|
||||||
"build": "vite build --mode dev",
|
"build": "vite build --mode dev",
|
||||||
"build:jibei": "vite build --mode jibei",
|
"build:jibei": "vite build --mode jibei",
|
||||||
"build:hainan": "vite build --mode hainan",
|
"build:hainan": "vite build --mode hainan",
|
||||||
"build:qujing": "vite build --mode qujing",
|
"build:qujing": "vite build --mode qujing",
|
||||||
|
"build:LNqr": "vite build --mode LNqr",
|
||||||
"build:removeMode": "vite build --mode removeMode",
|
"build:removeMode": "vite build --mode removeMode",
|
||||||
"preview": "vite preview"
|
"preview": "vite preview"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,215 +1,223 @@
|
|||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
import { LoginData } from '@/api/types'
|
import { LoginData } from '@/api/types'
|
||||||
import { useAdminInfo } from '@/stores/adminInfo'
|
import { useAdminInfo } from '@/stores/adminInfo'
|
||||||
import { sm3Digest } from '@/assets/commjs/sm3.js'
|
import { sm3Digest } from '@/assets/commjs/sm3.js'
|
||||||
import { sm2, encrypt } from '@/assets/commjs/sm2.js'
|
import { sm2, encrypt } from '@/assets/commjs/sm2.js'
|
||||||
|
|
||||||
// 获取公钥
|
// 获取公钥
|
||||||
export function gongkey(params?: any) {
|
export function gongkey(params?: any) {
|
||||||
if (!params) {
|
if (!params) {
|
||||||
const adminInfo = useAdminInfo()
|
const adminInfo = useAdminInfo()
|
||||||
params = {
|
params = {
|
||||||
loginName: encrypt(adminInfo.$state.loginName)
|
loginName: encrypt(adminInfo.$state.loginName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/user/generateSm2Key',
|
url: '/user-boot/user/generateSm2Key',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params
|
params
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function pwdSm3(pwd: any, loginName?: string) {
|
export async function pwdSm3(pwd: any, loginName?: string) {
|
||||||
let publicKey = await gongkey(
|
let publicKey = await gongkey(
|
||||||
loginName
|
loginName
|
||||||
? {
|
? {
|
||||||
loginName: encrypt(loginName)
|
loginName: encrypt(loginName)
|
||||||
}
|
}
|
||||||
: false
|
: false
|
||||||
)
|
)
|
||||||
let sm3Pwd = sm3Digest(pwd) //SM3加密
|
let sm3Pwd = sm3Digest(pwd) //SM3加密
|
||||||
return sm2(sm3Pwd + '|' + pwd, publicKey.data, 0)
|
return sm2(sm3Pwd + '|' + pwd, publicKey.data, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
//登录获取token
|
//登录获取token
|
||||||
export async function login(params: any) {
|
export async function login(params: any) {
|
||||||
if (params.refresh_token == undefined) {
|
if (params.refresh_token == undefined) {
|
||||||
params.password = await pwdSm3(params.password, params.username)
|
params.password = await pwdSm3(params.password, params.username)
|
||||||
}
|
}
|
||||||
params.username = encrypt(params.username)
|
params.username = encrypt(params.username)
|
||||||
return request({
|
return request({
|
||||||
url: '/pqs-auth/oauth/token',
|
url: '/pqs-auth/oauth/token',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
params
|
params
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
//辽宁嵌入登录获取token
|
||||||
//获取用户信息
|
export async function loginLNqr() {
|
||||||
export function getUserById() {
|
return request({
|
||||||
const adminInfo = useAdminInfo()
|
url: '/LNapi/pqs-auth/oauth/lnLogin',
|
||||||
return request({
|
method: 'get',
|
||||||
url: '/user-boot/user/getUserById?id=' + adminInfo.userIndex,
|
baseURL: ''
|
||||||
method: 'get'
|
})
|
||||||
})
|
}
|
||||||
}
|
|
||||||
|
//获取用户信息
|
||||||
// 刷新token
|
export function getUserById() {
|
||||||
// 导出一个名为refreshToken的函数,该函数返回一个Promise对象
|
const adminInfo = useAdminInfo()
|
||||||
export function refreshToken(): Promise<any> {
|
return request({
|
||||||
// 调用useAdminInfo函数获取管理员信息,并将其赋值给adminInfo变量
|
url: '/user-boot/user/getUserById?id=' + adminInfo.userIndex,
|
||||||
const adminInfo = useAdminInfo()
|
method: 'get'
|
||||||
// 调用login函数,传入一个对象作为参数,该对象包含grant_type、refresh_token和username三个属性
|
})
|
||||||
// grant_type设置为'refresh_token',表示使用刷新令牌的方式获取新的访问令牌
|
}
|
||||||
// refresh_token使用adminInfo中的refresh_token属性
|
|
||||||
// username使用adminInfo中的loginName属性
|
// 刷新token
|
||||||
// 返回login函数的调用结果,即一个Promise对象
|
// 导出一个名为refreshToken的函数,该函数返回一个Promise对象
|
||||||
return login({
|
export function refreshToken(): Promise<any> {
|
||||||
grant_type: 'refresh_token',
|
// 调用useAdminInfo函数获取管理员信息,并将其赋值给adminInfo变量
|
||||||
refresh_token: adminInfo.refresh_token,
|
const adminInfo = useAdminInfo()
|
||||||
username: adminInfo.loginName
|
// 调用login函数,传入一个对象作为参数,该对象包含grant_type、refresh_token和username三个属性
|
||||||
})
|
// grant_type设置为'refresh_token',表示使用刷新令牌的方式获取新的访问令牌
|
||||||
}
|
// refresh_token使用adminInfo中的refresh_token属性
|
||||||
|
// username使用adminInfo中的loginName属性
|
||||||
/**
|
// 返回login函数的调用结果,即一个Promise对象
|
||||||
* 获取营销用户列表
|
return login({
|
||||||
* @returns {AxiosPromise}
|
grant_type: 'refresh_token',
|
||||||
*/
|
refresh_token: adminInfo.refresh_token,
|
||||||
export const getMarketList = () => {
|
username: adminInfo.loginName
|
||||||
return request({
|
})
|
||||||
url: '/user-boot/user/getMarketList',
|
}
|
||||||
method: 'post'
|
|
||||||
})
|
/**
|
||||||
}
|
* 获取营销用户列表
|
||||||
|
* @returns {AxiosPromise}
|
||||||
export function add(data: any) {
|
*/
|
||||||
return request({
|
export const getMarketList = () => {
|
||||||
url: '/user-boot/user/add',
|
return request({
|
||||||
method: 'post',
|
url: '/user-boot/user/getMarketList',
|
||||||
data: data
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function edit(data: any) {
|
export function add(data: any) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/user/update',
|
url: '/user-boot/user/add',
|
||||||
method: 'put',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function passwordConfirm(pwd: string) {
|
export function edit(data: any) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/user/passwordConfirm?password=' + (await pwdSm3(pwd)),
|
url: '/user-boot/user/update',
|
||||||
method: 'get'
|
method: 'put',
|
||||||
})
|
data: data
|
||||||
}
|
})
|
||||||
|
}
|
||||||
export function deluser(data: any) {
|
|
||||||
return request({
|
export async function passwordConfirm(pwd: string) {
|
||||||
url: '/user-boot/user/delete',
|
return request({
|
||||||
method: 'delete',
|
url: '/user-boot/user/passwordConfirm?password=' + (await pwdSm3(pwd)),
|
||||||
params: data
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function activateUser(data: any) {
|
export function deluser(data: any) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/user/activateUser',
|
url: '/user-boot/user/delete',
|
||||||
method: 'put',
|
method: 'delete',
|
||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function updatePassword(params: any) {
|
export function activateUser(data: any) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/user/updatePassword',
|
url: '/user-boot/user/activateUser',
|
||||||
method: 'put',
|
method: 'put',
|
||||||
params: {
|
params: data
|
||||||
id: params.id,
|
})
|
||||||
newPassword: await pwdSm3(params.newPassword)
|
}
|
||||||
}
|
|
||||||
})
|
export async function updatePassword(params: any) {
|
||||||
}
|
return request({
|
||||||
|
url: '/user-boot/user/updatePassword',
|
||||||
export async function updateFirstPassword(params: any) {
|
method: 'put',
|
||||||
return request({
|
params: {
|
||||||
url: '/user-boot/user/updateFirstPassword',
|
id: params.id,
|
||||||
method: 'put',
|
newPassword: await pwdSm3(params.newPassword)
|
||||||
data: {
|
}
|
||||||
name: encrypt(params.name),
|
})
|
||||||
password: await pwdSm3(params.password, params.name)
|
}
|
||||||
}
|
|
||||||
})
|
export async function updateFirstPassword(params: any) {
|
||||||
}
|
return request({
|
||||||
|
url: '/user-boot/user/updateFirstPassword',
|
||||||
export function checkUser(data: any) {
|
method: 'put',
|
||||||
return request({
|
data: {
|
||||||
url: '/user-boot/user/check',
|
name: encrypt(params.name),
|
||||||
method: 'put',
|
password: await pwdSm3(params.password, params.name)
|
||||||
data: data
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function existMonitorDeptTree() {
|
|
||||||
return request({
|
export function checkUser(data: any) {
|
||||||
url: '/user-boot/dept/existMonitorDeptTree',
|
return request({
|
||||||
method: 'post'
|
url: '/user-boot/user/check',
|
||||||
})
|
method: 'put',
|
||||||
}
|
data: data
|
||||||
// 获取用户
|
})
|
||||||
export function getUserByRoleType(data: any) {
|
}
|
||||||
return request({
|
export function existMonitorDeptTree() {
|
||||||
url: '/user-boot/user/getUserByRoleType?roleType=' + data,
|
return request({
|
||||||
method: 'GET'
|
url: '/user-boot/dept/existMonitorDeptTree',
|
||||||
})
|
method: 'post'
|
||||||
}
|
})
|
||||||
|
}
|
||||||
// 获取部门下所有用户
|
// 获取用户
|
||||||
export function listAllUserByDeptId(data: any) {
|
export function getUserByRoleType(data: any) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/user/listAllUserByDeptId?deptId=' + data,
|
url: '/user-boot/user/getUserByRoleType?roleType=' + data,
|
||||||
method: 'GET'
|
method: 'GET'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据id获取所有用户信息
|
// 获取部门下所有用户
|
||||||
export function getUserListByIds(data: any) {
|
export function listAllUserByDeptId(data: any) {
|
||||||
return request({
|
return request({
|
||||||
url: '/user-boot/user/getUserListByIds',
|
url: '/user-boot/user/listAllUserByDeptId?deptId=' + data,
|
||||||
method: 'POST',
|
method: 'GET'
|
||||||
data
|
})
|
||||||
})
|
}
|
||||||
}
|
|
||||||
|
// 根据id获取所有用户信息
|
||||||
/**
|
export function getUserListByIds(data: any) {
|
||||||
* 查询所有用户不包括管理员
|
return request({
|
||||||
*/
|
url: '/user-boot/user/getUserListByIds',
|
||||||
export const getUserSimpleList = () => {
|
method: 'POST',
|
||||||
return request({
|
data
|
||||||
url: '/user-boot/user/simpleList',
|
})
|
||||||
method: 'GET'
|
}
|
||||||
})
|
|
||||||
}
|
/**
|
||||||
|
* 查询所有用户不包括管理员
|
||||||
/**
|
*/
|
||||||
* 查询所有用户包括管理员
|
export const getUserSimpleList = () => {
|
||||||
*/
|
return request({
|
||||||
export const getAllUserSimpleList = () => {
|
url: '/user-boot/user/simpleList',
|
||||||
return request({
|
method: 'GET'
|
||||||
url: '/user-boot/user/getAllUserSimpleList',
|
})
|
||||||
method: 'GET'
|
}
|
||||||
})
|
|
||||||
}
|
/**
|
||||||
|
* 查询所有用户包括管理员
|
||||||
export const getSysConfig = () => {
|
*/
|
||||||
return request({
|
export const getAllUserSimpleList = () => {
|
||||||
url: '/system-boot/config/getSysConfig',
|
return request({
|
||||||
method: 'get'
|
url: '/user-boot/user/getAllUserSimpleList',
|
||||||
})
|
method: 'GET'
|
||||||
}
|
})
|
||||||
// 驾驶舱组件配置
|
}
|
||||||
export const componentTree = () => {
|
|
||||||
return request({
|
export const getSysConfig = () => {
|
||||||
url: '/user-boot/component/componentTree',
|
return request({
|
||||||
method: 'GET'
|
url: '/system-boot/config/getSysConfig',
|
||||||
})
|
method: 'get'
|
||||||
}
|
})
|
||||||
|
}
|
||||||
|
// 驾驶舱组件配置
|
||||||
|
export const componentTree = () => {
|
||||||
|
return request({
|
||||||
|
url: '/user-boot/component/componentTree',
|
||||||
|
method: 'GET'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -107,7 +107,11 @@ function createAxios<Data = any, T = ApiPromise<Data>>(
|
|||||||
config.headers.Authorization = 'Basic bmpjbjpuamNucHFz'
|
config.headers.Authorization = 'Basic bmpjbjpuamNucHFz'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (config.url == '/user-boot/user/generateSm2Key' || config.url == '/pqs-auth/oauth/token') {
|
if (
|
||||||
|
config.url == '/user-boot/user/generateSm2Key' ||
|
||||||
|
config.url == '/pqs-auth/oauth/token' ||
|
||||||
|
config.url == '/LNapi/pqs-auth/oauth/token'
|
||||||
|
) {
|
||||||
config.headers.Authorization = 'Basic bmpjbjpuamNucHFz'
|
config.headers.Authorization = 'Basic bmpjbjpuamNucHFz'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,14 +12,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<el-form :rules="rules" ref="formRef" size="large" class="login-form" :model="form">
|
<el-form :rules="rules" ref="formRef" size="large" class="login-form" :model="form">
|
||||||
<el-form-item prop="username">
|
<el-form-item prop="username">
|
||||||
<el-input
|
<el-input ref="usernameRef" v-model="form.username" type="text" clearable placeholder="用户名"
|
||||||
ref="usernameRef"
|
autocomplete="off">
|
||||||
v-model="form.username"
|
|
||||||
type="text"
|
|
||||||
clearable
|
|
||||||
placeholder="用户名"
|
|
||||||
autocomplete="off"
|
|
||||||
>
|
|
||||||
<template #prefix>
|
<template #prefix>
|
||||||
<!-- <span class="iconfont icon-yonghu" style="color: var(--el-color-primary)"></span> -->
|
<!-- <span class="iconfont icon-yonghu" style="color: var(--el-color-primary)"></span> -->
|
||||||
<Icon name="fa fa-user" style="color: var(--el-color-primary); font-size: 16px" />
|
<Icon name="fa fa-user" style="color: var(--el-color-primary); font-size: 16px" />
|
||||||
@@ -27,13 +21,8 @@
|
|||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="password">
|
<el-form-item prop="password">
|
||||||
<el-input
|
<el-input ref="passwordRef" v-model="form.password" type="password" placeholder="密码"
|
||||||
ref="passwordRef"
|
autocomplete="off">
|
||||||
v-model="form.password"
|
|
||||||
type="password"
|
|
||||||
placeholder="密码"
|
|
||||||
autocomplete="off"
|
|
||||||
>
|
|
||||||
<template #prefix>
|
<template #prefix>
|
||||||
<Icon name="local-password" style="color: var(--el-color-primary); font-size: 16px" />
|
<Icon name="local-password" style="color: var(--el-color-primary); font-size: 16px" />
|
||||||
<!-- <span class="iconfont icon-mima" style="color: var(--el-color-primary)"></span> -->
|
<!-- <span class="iconfont icon-mima" style="color: var(--el-color-primary)"></span> -->
|
||||||
@@ -41,13 +30,8 @@
|
|||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button :loading="state.submitLoading" class="submit-btn" round type="info"
|
||||||
:loading="state.submitLoading"
|
@click="onSubmit(formRef)">
|
||||||
class="submit-btn"
|
|
||||||
round
|
|
||||||
type="info"
|
|
||||||
@click="onSubmit(formRef)"
|
|
||||||
>
|
|
||||||
登录
|
登录
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -68,7 +52,7 @@
|
|||||||
import { onMounted, onBeforeUnmount, reactive, ref, nextTick } from 'vue'
|
import { onMounted, onBeforeUnmount, reactive, ref, nextTick } from 'vue'
|
||||||
import * as pageBubble from '@/utils/pageBubble'
|
import * as pageBubble from '@/utils/pageBubble'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
import { gongkey, login,getSysConfig } from '@/api/user-boot/user'
|
import { gongkey, login, getSysConfig, loginLNqr } from '@/api/user-boot/user'
|
||||||
import { useAdminInfo } from '@/stores/adminInfo'
|
import { useAdminInfo } from '@/stores/adminInfo'
|
||||||
import type { FormInstance, InputInstance, FormRules } from 'element-plus'
|
import type { FormInstance, InputInstance, FormRules } from 'element-plus'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
@@ -77,7 +61,7 @@ import { Local } from '@/utils/storage'
|
|||||||
import { getTheme } from '@/api/systerm'
|
import { getTheme } from '@/api/systerm'
|
||||||
import { useConfig } from '@/stores/config'
|
import { useConfig } from '@/stores/config'
|
||||||
import PopupUpdatePwd from './popupUpdatePwd.vue'
|
import PopupUpdatePwd from './popupUpdatePwd.vue'
|
||||||
|
const VITE_FLAG = import.meta.env.VITE_NAME == 'LNqr'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
let timer: number
|
let timer: number
|
||||||
const configStore = useConfig()
|
const configStore = useConfig()
|
||||||
@@ -117,6 +101,9 @@ const focusInput = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
if (VITE_FLAG) {
|
||||||
|
LNonSubmit()
|
||||||
|
}
|
||||||
timer = window.setTimeout(() => {
|
timer = window.setTimeout(() => {
|
||||||
pageBubble.init()
|
pageBubble.init()
|
||||||
}, 0)
|
}, 0)
|
||||||
@@ -182,6 +169,28 @@ const onSubmit = async (formEl: FormInstance | undefined) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const LNonSubmit = async () => {
|
||||||
|
|
||||||
|
state.submitLoading = true
|
||||||
|
loginLNqr()
|
||||||
|
.then(res => {
|
||||||
|
userInfo.dataFill(res.data)
|
||||||
|
state.submitLoading = false
|
||||||
|
getSysConfig().then(res => {
|
||||||
|
window.localStorage.setItem('sysdata', JSON.stringify(res.data))
|
||||||
|
})
|
||||||
|
router.push({
|
||||||
|
path: '/'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
//
|
||||||
|
})
|
||||||
|
setTimeout(() => {
|
||||||
|
state.submitLoading = false
|
||||||
|
}, 500)
|
||||||
|
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
@@ -312,6 +321,7 @@ const onSubmit = async (formEl: FormInstance | undefined) => {
|
|||||||
// background: #009688;
|
// background: #009688;
|
||||||
//background: #4d6ea1;
|
//background: #4d6ea1;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: var(--el-color-primary-light-5);
|
background: var(--el-color-primary-light-5);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user