Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-middle-front
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-middle-front
Commits
87ade056
Commit
87ade056
authored
May 15, 2026
by
yuzhenWang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
非超级管理员加产品--选择平台参数
parent
d6b27755
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
108 additions
and
95 deletions
+108
-95
src/store/modules/user.js
+104
-94
src/views/merchandise/components/productBaseInfo.vue
+4
-1
No files found.
src/store/modules/user.js
View file @
87ade056
import
router
from
'@/router'
import
{
ElMessageBox
,
}
from
'element-plus'
import
{
ElMessageBox
}
from
'element-plus'
import
{
login
,
logout
,
getInfo
}
from
'@/api/login'
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
usePermissionStore
from
'@/store/modules/permission'
const
useUserStore
=
defineStore
(
'user'
,
{
state
:
()
=>
({
token
:
getToken
(),
id
:
''
,
name
:
''
,
nickName
:
''
,
avatar
:
''
,
isSuperAdmin
:
0
,
roles
:
[],
permissions
:
[],
tenants
:
[],
// 新增租户列表
currentTenant
:
null
// 新增当前租户
}),
actions
:
{
// 登录
login
(
userInfo
)
{
const
username
=
userInfo
.
username
.
trim
()
const
password
=
userInfo
.
password
const
code
=
userInfo
.
code
const
uuid
=
userInfo
.
uuid
return
new
Promise
((
resolve
,
reject
)
=>
{
login
(
username
,
password
,
code
,
uuid
).
then
(
res
=>
{
const
useUserStore
=
defineStore
(
'user'
,
{
state
:
()
=>
({
token
:
getToken
(),
id
:
''
,
name
:
''
,
nickName
:
''
,
avatar
:
''
,
isSuperAdmin
:
0
,
roles
:
[],
permissions
:
[],
tenants
:
[],
// 新增租户列表
currentTenant
:
null
// 新增当前租户
}),
actions
:
{
// 登录
login
(
userInfo
)
{
const
username
=
userInfo
.
username
.
trim
()
const
password
=
userInfo
.
password
const
code
=
userInfo
.
code
const
uuid
=
userInfo
.
uuid
return
new
Promise
((
resolve
,
reject
)
=>
{
login
(
username
,
password
,
code
,
uuid
)
.
then
(
res
=>
{
setToken
(
res
.
data
.
token
)
this
.
token
=
res
.
data
.
token
resolve
()
}).
catch
(
error
=>
{
})
.
catch
(
error
=>
{
reject
(
error
)
})
})
},
// 获取用户信息
getInfo
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
getInfo
().
then
(
res
=>
{
})
},
// 获取用户信息
getInfo
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
getInfo
()
.
then
(
res
=>
{
const
user
=
res
.
data
.
apiLoginUserInfoResponse
let
avatar
=
user
.
avatar
||
""
let
avatar
=
user
.
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
||
[]
// 尝试从本地存储获取当前租户,否则使用第一个
const
savedTenant
=
JSON
.
parse
(
localStorage
.
getItem
(
''
+
''
))
const
savedTenant
=
JSON
.
parse
(
localStorage
.
getItem
(
''
+
''
))
const
currentTenant
=
savedTenant
||
(
this
.
tenants
.
length
>
0
?
this
.
tenants
[
0
]
:
null
)
if
(
currentTenant
)
{
...
...
@@ -74,51 +74,61 @@ const useUserStore = defineStore(
this
.
nickName
=
user
.
nickName
this
.
avatar
=
avatar
this
.
isSuperAdmin
=
user
.
isSuperAdmin
console
.
log
(
'===================================='
)
console
.
log
(
'user'
,
user
)
console
.
log
(
'===================================='
)
/* 初始密码提示 */
if
(
res
.
data
.
isDefaultModifyPwd
)
{
ElMessageBox
.
confirm
(
'您的密码还是初始密码,请修改密码!'
,
'安全提示'
,
{
if
(
res
.
data
.
isDefaultModifyPwd
)
{
ElMessageBox
.
confirm
(
'您的密码还是初始密码,请修改密码!'
,
'安全提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
router
.
push
({
name
:
'Profile'
,
params
:
{
activeTab
:
'resetPwd'
}
})
}).
catch
(()
=>
{})
})
.
then
(()
=>
{
router
.
push
({
name
:
'Profile'
,
params
:
{
activeTab
:
'resetPwd'
}
})
})
.
catch
(()
=>
{})
}
/* 过期密码提示 */
if
(
!
res
.
data
.
isDefaultModifyPwd
&&
res
.
isPasswordExpired
)
{
ElMessageBox
.
confirm
(
'您的密码已过期,请尽快修改密码!'
,
'安全提示'
,
{
if
(
!
res
.
data
.
isDefaultModifyPwd
&&
res
.
isPasswordExpired
)
{
ElMessageBox
.
confirm
(
'您的密码已过期,请尽快修改密码!'
,
'安全提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
router
.
push
({
name
:
'Profile'
,
params
:
{
activeTab
:
'resetPwd'
}
})
}).
catch
(()
=>
{})
})
.
then
(()
=>
{
router
.
push
({
name
:
'Profile'
,
params
:
{
activeTab
:
'resetPwd'
}
})
})
.
catch
(()
=>
{})
}
resolve
(
res
)
}).
catch
(
error
=>
{
})
.
catch
(
error
=>
{
reject
(
error
)
})
})
},
//切换租户
switchTenant
(
tenant
)
{
return
new
Promise
((
resolve
)
=>
{
this
.
currentTenant
=
tenant
localStorage
.
setItem
(
'currentTenant'
,
JSON
.
stringify
(
tenant
))
})
},
//切换租户
switchTenant
(
tenant
)
{
return
new
Promise
(
resolve
=>
{
this
.
currentTenant
=
tenant
localStorage
.
setItem
(
'currentTenant'
,
JSON
.
stringify
(
tenant
))
// 保存租户ID到专用字段
localStorage
.
setItem
(
'selectedTenantId'
,
tenant
.
apiLoginTenantInfoResponse
.
tenantBizId
)
// 保存租户ID到专用字段
localStorage
.
setItem
(
'selectedTenantId'
,
tenant
.
apiLoginTenantInfoResponse
.
tenantBizId
)
// 更新角色和权限
if
(
tenant
.
roles
&&
tenant
.
roles
.
length
>
0
)
{
this
.
roles
=
tenant
.
roles
this
.
permissions
=
tenant
.
permissions
}
else
{
this
.
roles
=
[
'ROLE_DEFAULT'
]
}
// 更新角色和权限
if
(
tenant
.
roles
&&
tenant
.
roles
.
length
>
0
)
{
this
.
roles
=
tenant
.
roles
this
.
permissions
=
tenant
.
permissions
}
else
{
this
.
roles
=
[
'ROLE_DEFAULT'
]
}
usePermissionStore
().
generateRoutes
().
then
(
accessRoutes
=>
{
usePermissionStore
()
.
generateRoutes
()
.
then
(
accessRoutes
=>
{
// 移除旧路由
const
currentRoutes
=
router
.
getRoutes
()
currentRoutes
.
forEach
(
route
=>
{
...
...
@@ -139,35 +149,35 @@ const useUserStore = defineStore(
// window.location.reload() // 确保完全刷新
// })
})
router
.
push
(
'/workbench'
)
})
},
// 退出系统
logOut
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
token
=
''
this
.
roles
=
[]
this
.
permissions
=
[]
this
.
tenants
=
[]
this
.
currentTenant
=
null
removeToken
()
localStorage
.
removeItem
(
'currentTenant'
)
resolve
()
// logout(this.token).then(() => {
// this.token = ''
// this.roles = []
// this.permissions = []
// this.tenants = []
// this.currentTenant = null
// removeToken()
// localStorage.removeItem('currentTenant')
// resolve()
// }).catch(error => {
// reject(error)
// })
})
}
router
.
push
(
'/workbench'
)
})
},
// 退出系统
logOut
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
token
=
''
this
.
roles
=
[]
this
.
permissions
=
[]
this
.
tenants
=
[]
this
.
currentTenant
=
null
removeToken
()
localStorage
.
removeItem
(
'currentTenant'
)
resolve
()
// logout(this.token).then(() => {
// this.token = ''
// this.roles = []
// this.permissions = []
// this.tenants = []
// this.currentTenant = null
// removeToken()
// localStorage.removeItem('currentTenant')
// resolve()
// }).catch(error => {
// reject(error)
// })
})
}
})
}
})
export
default
useUserStore
src/views/merchandise/components/productBaseInfo.vue
View file @
87ade056
...
...
@@ -895,6 +895,7 @@ import useUserStore from '@/store/modules/user'
import
{
ref
,
computed
,
watch
,
nextTick
}
from
'vue'
import
ImageUpload
from
'@/components/ImageUpload/index.vue'
//图片上传组件
import
CategoryTable
from
'@/components/CategoryTable/index.vue'
//图片上传组件
const
emit
=
defineEmits
([
'handleSuccess'
])
const
props
=
defineProps
({
// 类型,是新增还是编辑,
...
...
@@ -1105,7 +1106,9 @@ const confirmPlatform = () => {
const
choosePlatform
=
async
()
=>
{
platFormOpen
.
value
=
true
platFormQueryParams
.
value
.
pageNo
=
1
if
(
userStore
.
isSuperAdmin
==
'0'
)
{
platFormQueryParams
.
value
.
loginTenantBizId
=
userStore
.
currentTenant
.
apiLoginTenantInfoResponse
.
tenantBizId
}
// 获取列表数据
await
getPlatFormList
()
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment