mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-15 05:00:49 +08:00
improve admin details
This commit is contained in:
@@ -38,9 +38,6 @@ import api from "../utils/api";
|
||||
export default {
|
||||
name: 'Header',
|
||||
props: {
|
||||
userInfo: {
|
||||
type: Object
|
||||
}
|
||||
},
|
||||
setup(props, context) {
|
||||
const router = useRouter()
|
||||
@@ -54,14 +51,10 @@ export default {
|
||||
onMounted(async () => {
|
||||
console.log("Head onMounted!")
|
||||
console.log(props)
|
||||
// let userInfo = localGet(userInfoKey);
|
||||
// if (userInfo) {
|
||||
// state.userInfo = userInfo;
|
||||
// } else {
|
||||
// let res = await api.getUserBase()
|
||||
// state.userInfo = res.data
|
||||
// localSet(userInfoKey, res.data)
|
||||
// }
|
||||
let userInfo = localGet(userInfoKey);
|
||||
if (userInfo) {
|
||||
state.userInfo = userInfo;
|
||||
}
|
||||
})
|
||||
const logout = () => {
|
||||
api.logout().then(() => {
|
||||
@@ -74,13 +67,9 @@ export default {
|
||||
router.back()
|
||||
}
|
||||
router.afterEach((to) => {
|
||||
console.log("Head afterEach to", to)
|
||||
// console.log("Head afterEach to", to)
|
||||
const { id } = to.query
|
||||
state.name = pathMap[to.name]
|
||||
if (id && to.name == 'add') {
|
||||
state.name = '编辑商品'
|
||||
}
|
||||
state.hasBack = ['level2', 'level3', 'order_detail'].includes(to.name)
|
||||
})
|
||||
return {
|
||||
...toRefs(state),
|
||||
|
||||
20
admin/src/utils/axios.js
vendored
20
admin/src/utils/axios.js
vendored
@@ -1,6 +1,7 @@
|
||||
import axios from 'axios'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import {localGet} from "./index";
|
||||
import {localGet} from "./index"
|
||||
import router from '../router/index'
|
||||
|
||||
axios.defaults.baseURL = 'http://nexus-php8.tinyhd.net/api'
|
||||
axios.defaults.withCredentials = true
|
||||
@@ -9,8 +10,14 @@ axios.defaults.headers['Content-Type'] = 'application/json'
|
||||
axios.defaults.headers['Accept'] = 'application/json'
|
||||
axios.defaults.headers['Authorization'] = 'Bearer ' + localGet('token')
|
||||
|
||||
// 请求拦截器,内部根据返回值,重新组装,统一管理。
|
||||
// axios.interceptors.request.use(config => {
|
||||
// // console.log('before request', config)
|
||||
// config.headers['Authorization'] = 'Bearer ' + localGet('token')
|
||||
// return config
|
||||
// })
|
||||
|
||||
axios.interceptors.response.use(res => {
|
||||
console.log(res)
|
||||
if (typeof res.data !== 'object') {
|
||||
ElMessage.error('Server Error 1')
|
||||
return Promise.reject(res)
|
||||
@@ -21,7 +28,14 @@ axios.interceptors.response.use(res => {
|
||||
}
|
||||
return res.data
|
||||
}, error => {
|
||||
ElMessage.error(error.response.data.msg || 'Server Error 2')
|
||||
let res = error.response;
|
||||
console.log(res)
|
||||
if (res.status == 401) {
|
||||
router.push({
|
||||
name: 'login'
|
||||
})
|
||||
}
|
||||
ElMessage.error(res.data.msg || 'Server Error 2')
|
||||
return Promise.reject(error)
|
||||
})
|
||||
|
||||
|
||||
@@ -122,6 +122,7 @@ export default {
|
||||
const state = useTable()
|
||||
|
||||
onMounted(() => {
|
||||
console.log('ExamTable onMounted')
|
||||
fetchTableData()
|
||||
})
|
||||
// 获取轮播图列表
|
||||
|
||||
@@ -5,15 +5,15 @@
|
||||
<img class="logo" src="http://demo.nexusphp.org/favicon.ico" />
|
||||
<div class="name">
|
||||
<div class="title">NexusPHP</div>
|
||||
<div class="tips">Management system - v1.6</div>
|
||||
<div class="tips">Management system</div>
|
||||
</div>
|
||||
</div>
|
||||
<el-form label-position="top" :rules="rules" :model="ruleForm" ref="loginForm" class="login-form">
|
||||
<el-form-item label="Username" prop="username">
|
||||
<el-input type="text" v-model.trim="ruleForm.username" autocomplete="off"></el-input>
|
||||
<el-input type="text" v-model.trim="ruleForm.username" autocomplete="off" @keyup.enter="submitForm"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Password" prop="password">
|
||||
<el-input type="password" v-model.trim="ruleForm.password" autocomplete="off"></el-input>
|
||||
<el-input type="password" v-model.trim="ruleForm.password" autocomplete="off" @keyup.enter="submitForm"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item style="margin-top: 50px">
|
||||
<!-- <div style="color: #333">登录表示您已同意<a>《服务条款》</a></div>-->
|
||||
@@ -56,8 +56,12 @@ export default {
|
||||
loginForm.value.validate((valid) => {
|
||||
if (valid) {
|
||||
api.login(state.ruleForm).then(res => {
|
||||
console.log(res)
|
||||
localSet('token', res.data.token)
|
||||
router.push({name: 'dashboard'})
|
||||
// api.getUserBase().then(res => {
|
||||
// localSet('userInfo', res.data)
|
||||
// })
|
||||
})
|
||||
} else {
|
||||
console.log('error submit!!')
|
||||
|
||||
@@ -35,8 +35,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="visible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="handleSubmit">确 定</el-button>
|
||||
<el-button @click="visible = false">Cancel</el-button>
|
||||
<el-button type="primary" @click="handleSubmit">Save</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@@ -118,6 +118,7 @@ export default {
|
||||
const state = useTable()
|
||||
|
||||
onMounted(() => {
|
||||
console.log('UserTable onMounted');
|
||||
fetchTableData()
|
||||
})
|
||||
const fetchTableData = async () => {
|
||||
|
||||
Reference in New Issue
Block a user