bug修复
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function adminLogin(data) {
|
||||
return request.post('/api/public/admin/login', data)
|
||||
return request.post('/api/public/admin/login', {
|
||||
email: data.email || data.account,
|
||||
password: data.password,
|
||||
rememberMe: data.rememberMe || false,
|
||||
})
|
||||
}
|
||||
|
||||
export function userLogin(data) {
|
||||
|
||||
@@ -109,8 +109,11 @@ const router = createRouter({
|
||||
router.beforeEach((to, from, next) => {
|
||||
document.title = to.meta.title ? `${to.meta.title} - 博客系统` : '博客系统'
|
||||
const token = localStorage.getItem('access_token')
|
||||
const userInfo = JSON.parse(localStorage.getItem('user_info') || 'null')
|
||||
if (to.meta.requiresAuth && !token) {
|
||||
next({ name: 'Login', query: { redirect: to.fullPath } })
|
||||
} else if (to.meta.requiresAdmin && userInfo?.role !== 'ADMIN') {
|
||||
next({ name: 'Home' })
|
||||
} else {
|
||||
next()
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ export const useUserStore = defineStore('user', () => {
|
||||
const res = await adminLogin(data)
|
||||
const loginData = res.data
|
||||
setTokens(loginData.accessToken, loginData.refreshToken)
|
||||
userInfo.value = { ...loginData.userInfo, role: 'ADMIN' }
|
||||
userInfo.value = toUserInfo(loginData, 'ADMIN')
|
||||
localStorage.setItem('user_info', JSON.stringify(userInfo.value))
|
||||
return loginData
|
||||
}
|
||||
@@ -23,7 +23,7 @@ export const useUserStore = defineStore('user', () => {
|
||||
const res = await userLogin(data)
|
||||
const loginData = res.data
|
||||
setTokens(loginData.accessToken, loginData.refreshToken)
|
||||
userInfo.value = { ...loginData.userInfo, role: 'USER' }
|
||||
userInfo.value = toUserInfo(loginData, 'USER')
|
||||
localStorage.setItem('user_info', JSON.stringify(userInfo.value))
|
||||
return loginData
|
||||
}
|
||||
@@ -64,6 +64,17 @@ export const useUserStore = defineStore('user', () => {
|
||||
localStorage.removeItem('user_info')
|
||||
}
|
||||
|
||||
function toUserInfo(loginData, role) {
|
||||
return {
|
||||
id: loginData.userId,
|
||||
email: loginData.email,
|
||||
nickname: loginData.nickname,
|
||||
avatar: loginData.avatar,
|
||||
type: loginData.type,
|
||||
role,
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
token,
|
||||
refreshToken,
|
||||
|
||||
@@ -115,7 +115,7 @@ async function handleSubmit(publish) {
|
||||
const data = {
|
||||
...form.value,
|
||||
content: editor.value?.getHTML() || '',
|
||||
publish,
|
||||
status: publish ? 1 : 0,
|
||||
}
|
||||
if (isEdit.value) {
|
||||
await updateArticle(route.params.id, data)
|
||||
|
||||
Reference in New Issue
Block a user