Commit 87ade056 by yuzhenWang

非超级管理员加产品--选择平台参数

parent d6b27755
import router from '@/router' import router from '@/router'
import { ElMessageBox, } from 'element-plus' import { ElMessageBox } from 'element-plus'
import { login, logout, getInfo } from '@/api/login' import { login, logout, getInfo } from '@/api/login'
import { getToken, setToken, removeToken } from '@/utils/auth' import { getToken, setToken, removeToken } from '@/utils/auth'
import { isHttp, isEmpty } from "@/utils/validate" import { isHttp, isEmpty } from '@/utils/validate'
import defAva from '@/assets/images/profile.jpg' import defAva from '@/assets/images/profile.jpg'
import usePermissionStore from '@/store/modules/permission' import usePermissionStore from '@/store/modules/permission'
const useUserStore = defineStore( const useUserStore = defineStore('user', {
'user', state: () => ({
{ token: getToken(),
state: () => ({ id: '',
token: getToken(), name: '',
id: '', nickName: '',
name: '', avatar: '',
nickName: '', isSuperAdmin: 0,
avatar: '', roles: [],
isSuperAdmin: 0, permissions: [],
roles: [], tenants: [], // 新增租户列表
permissions: [], currentTenant: null // 新增当前租户
tenants: [], // 新增租户列表 }),
currentTenant: null // 新增当前租户 actions: {
}), // 登录
actions: { login(userInfo) {
// 登录 const username = userInfo.username.trim()
login(userInfo) { const password = userInfo.password
const username = userInfo.username.trim() const code = userInfo.code
const password = userInfo.password const uuid = userInfo.uuid
const code = userInfo.code return new Promise((resolve, reject) => {
const uuid = userInfo.uuid login(username, password, code, uuid)
return new Promise((resolve, reject) => { .then(res => {
login(username, password, code, uuid).then(res => {
setToken(res.data.token) setToken(res.data.token)
this.token = res.data.token this.token = res.data.token
resolve() resolve()
}).catch(error => { })
.catch(error => {
reject(error) reject(error)
}) })
}) })
}, },
// 获取用户信息 // 获取用户信息
getInfo() { getInfo() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getInfo().then(res => { getInfo()
.then(res => {
const user = res.data.apiLoginUserInfoResponse const user = res.data.apiLoginUserInfoResponse
let avatar = user.avatar || "" let avatar = user.avatar || ''
if (!isHttp(avatar)) { if (!isHttp(avatar)) {
avatar = (isEmpty(avatar)) ? defAva : import.meta.env.VITE_APP_BASE_API + avatar avatar = isEmpty(avatar) ? defAva : import.meta.env.VITE_APP_BASE_API + avatar
} }
// 设置租户列表 // 设置租户列表
this.tenants = res.data.apiLoginTenantResponseList || [] this.tenants = res.data.apiLoginTenantResponseList || []
// 尝试从本地存储获取当前租户,否则使用第一个 // 尝试从本地存储获取当前租户,否则使用第一个
const savedTenant = JSON.parse(localStorage.getItem('' + const savedTenant = JSON.parse(localStorage.getItem('' + ''))
''))
const currentTenant = savedTenant || (this.tenants.length > 0 ? this.tenants[0] : null) const currentTenant = savedTenant || (this.tenants.length > 0 ? this.tenants[0] : null)
if (currentTenant) { if (currentTenant) {
...@@ -74,51 +74,61 @@ const useUserStore = defineStore( ...@@ -74,51 +74,61 @@ const useUserStore = defineStore(
this.nickName = user.nickName this.nickName = user.nickName
this.avatar = avatar this.avatar = avatar
this.isSuperAdmin = user.isSuperAdmin this.isSuperAdmin = user.isSuperAdmin
console.log('====================================')
console.log('user', user)
console.log('====================================')
/* 初始密码提示 */ /* 初始密码提示 */
if(res.data.isDefaultModifyPwd) { if (res.data.isDefaultModifyPwd) {
ElMessageBox.confirm('您的密码还是初始密码,请修改密码!', '安全提示', { ElMessageBox.confirm('您的密码还是初始密码,请修改密码!', '安全提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { })
router.push({ name: 'Profile', params: { activeTab: 'resetPwd' } }) .then(() => {
}).catch(() => {}) router.push({ name: 'Profile', params: { activeTab: 'resetPwd' } })
})
.catch(() => {})
} }
/* 过期密码提示 */ /* 过期密码提示 */
if(!res.data.isDefaultModifyPwd && res.isPasswordExpired) { if (!res.data.isDefaultModifyPwd && res.isPasswordExpired) {
ElMessageBox.confirm('您的密码已过期,请尽快修改密码!', '安全提示', { ElMessageBox.confirm('您的密码已过期,请尽快修改密码!', '安全提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { })
router.push({ name: 'Profile', params: { activeTab: 'resetPwd' } }) .then(() => {
}).catch(() => {}) router.push({ name: 'Profile', params: { activeTab: 'resetPwd' } })
})
.catch(() => {})
} }
resolve(res) resolve(res)
}).catch(error => { })
.catch(error => {
reject(error) reject(error)
}) })
}) })
}, },
//切换租户 //切换租户
switchTenant(tenant) { switchTenant(tenant) {
return new Promise((resolve) => { return new Promise(resolve => {
this.currentTenant = tenant this.currentTenant = tenant
localStorage.setItem('currentTenant', JSON.stringify(tenant)) localStorage.setItem('currentTenant', JSON.stringify(tenant))
// 保存租户ID到专用字段 // 保存租户ID到专用字段
localStorage.setItem('selectedTenantId', tenant.apiLoginTenantInfoResponse.tenantBizId) localStorage.setItem('selectedTenantId', tenant.apiLoginTenantInfoResponse.tenantBizId)
// 更新角色和权限 // 更新角色和权限
if (tenant.roles && tenant.roles.length > 0) { if (tenant.roles && tenant.roles.length > 0) {
this.roles = tenant.roles this.roles = tenant.roles
this.permissions = tenant.permissions this.permissions = tenant.permissions
} else { } else {
this.roles = ['ROLE_DEFAULT'] this.roles = ['ROLE_DEFAULT']
} }
usePermissionStore().generateRoutes().then(accessRoutes => { usePermissionStore()
.generateRoutes()
.then(accessRoutes => {
// 移除旧路由 // 移除旧路由
const currentRoutes = router.getRoutes() const currentRoutes = router.getRoutes()
currentRoutes.forEach(route => { currentRoutes.forEach(route => {
...@@ -139,35 +149,35 @@ const useUserStore = defineStore( ...@@ -139,35 +149,35 @@ const useUserStore = defineStore(
// window.location.reload() // 确保完全刷新 // window.location.reload() // 确保完全刷新
// }) // })
}) })
router.push('/workbench') router.push('/workbench')
}) })
}, },
// 退出系统 // 退出系统
logOut() { logOut() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.token = '' this.token = ''
this.roles = [] this.roles = []
this.permissions = [] this.permissions = []
this.tenants = [] this.tenants = []
this.currentTenant = null this.currentTenant = null
removeToken() removeToken()
localStorage.removeItem('currentTenant') localStorage.removeItem('currentTenant')
resolve() resolve()
// logout(this.token).then(() => { // logout(this.token).then(() => {
// this.token = '' // this.token = ''
// this.roles = [] // this.roles = []
// this.permissions = [] // this.permissions = []
// this.tenants = [] // this.tenants = []
// this.currentTenant = null // this.currentTenant = null
// removeToken() // removeToken()
// localStorage.removeItem('currentTenant') // localStorage.removeItem('currentTenant')
// resolve() // resolve()
// }).catch(error => { // }).catch(error => {
// reject(error) // reject(error)
// }) // })
}) })
}
} }
}) }
})
export default useUserStore export default useUserStore
...@@ -895,6 +895,7 @@ import useUserStore from '@/store/modules/user' ...@@ -895,6 +895,7 @@ import useUserStore from '@/store/modules/user'
import { ref, computed, watch, nextTick } from 'vue' import { ref, computed, watch, nextTick } from 'vue'
import ImageUpload from '@/components/ImageUpload/index.vue' //图片上传组件 import ImageUpload from '@/components/ImageUpload/index.vue' //图片上传组件
import CategoryTable from '@/components/CategoryTable/index.vue' //图片上传组件 import CategoryTable from '@/components/CategoryTable/index.vue' //图片上传组件
const emit = defineEmits(['handleSuccess']) const emit = defineEmits(['handleSuccess'])
const props = defineProps({ const props = defineProps({
// 类型,是新增还是编辑, // 类型,是新增还是编辑,
...@@ -1105,7 +1106,9 @@ const confirmPlatform = () => { ...@@ -1105,7 +1106,9 @@ const confirmPlatform = () => {
const choosePlatform = async () => { const choosePlatform = async () => {
platFormOpen.value = true platFormOpen.value = true
platFormQueryParams.value.pageNo = 1 platFormQueryParams.value.pageNo = 1
if (userStore.isSuperAdmin == '0') {
platFormQueryParams.value.loginTenantBizId = userStore.currentTenant.apiLoginTenantInfoResponse.tenantBizId
}
// 获取列表数据 // 获取列表数据
await getPlatFormList() await getPlatFormList()
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment