Browse Source

访问链接需要带上token

pull/1/head
kuaileWu 2 weeks ago
parent
commit
456bd05d40
  1. BIN
      src/assets/header-logo.png
  2. 18
      src/components/Header.vue
  3. 4
      src/main.js
  4. 25
      src/router/index.js
  5. 30
      src/utils/request.js
  6. 14
      src/views/AddNewTreatment.vue
  7. 17
      src/views/DoctorInformation.vue
  8. 15
      src/views/ErrorAccess.vue
  9. 81
      src/views/HomeView.vue

BIN
src/assets/header-logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

18
src/components/Header.vue

@ -1,12 +1,12 @@
<template> <template>
<div class="header-wrap "> <div class="header-wrap ">
<div class="header-logo"> <div class="header-logo" @click="toHome">
<img src="../assets/header-logo.png" alt=""> <img src="../assets/header-logo.png" alt="">
</div> </div>
<div class="header-right flex"> <div class="header-right flex">
<!-- <div class="right-item">权限设置</div> <!-- <div class="right-item">权限设置</div>
<div class="right-item">岗位设置</div> --> <div class="right-item">岗位设置</div> -->
<el-dropdown trigger="click"> <!-- <el-dropdown trigger="click">
<div class="right-item flex el-dropdown-link"> <div class="right-item flex el-dropdown-link">
<img class="right-item-icon" src="../assets/header-icon.png" alt=""> <img class="right-item-icon" src="../assets/header-icon.png" alt="">
<span>学术论文出版</span> <span>学术论文出版</span>
@ -19,10 +19,21 @@
<el-dropdown-item icon="el-icon-check">双皮奶</el-dropdown-item> <el-dropdown-item icon="el-icon-check">双皮奶</el-dropdown-item>
<el-dropdown-item icon="el-icon-circle-check">蚵仔煎</el-dropdown-item> <el-dropdown-item icon="el-icon-circle-check">蚵仔煎</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown> -->
</div> </div>
</div> </div>
</template> </template>
<script>
export default {
methods: {
toHome() {
this.$router.push({
path: '/'
})
}
}
}
</script>
<style lang="scss" scoped> <style lang="scss" scoped>
.flex { .flex {
display: flex; display: flex;
@ -38,6 +49,7 @@
position: absolute; position: absolute;
z-index: 9; z-index: 9;
.header-logo { .header-logo {
cursor: pointer;
img { img {
height: 46px; height: 46px;
} }

4
src/main.js

@ -27,8 +27,8 @@ new Vue({
render: h => h(App) render: h => h(App)
}).$mount('#app') }).$mount('#app')
// function q(e) { // function q(e) {
// for (var t = 1; t < arguments.length; t++) { // for (var t = 1; t < arguments.length; t++) {
// var r = null != arguments[t] ? arguments[t] : {}; // var r = null != arguments[t] ? arguments[t] : {};
// t % 2 ? F(Object(r), !0).forEach((function (t) { T(e, t, r[t]) })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : F(Object(r)).forEach((function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t)) })) } return e } // t % 2 ? F(Object(r), !0).forEach((function (t) { T(e, t, r[t]) })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : F(Object(r)).forEach((function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t)) })) } return e }

25
src/router/index.js

@ -5,16 +5,14 @@ import HomeView from '../views/HomeView.vue';
Vue.use(VueRouter) Vue.use(VueRouter)
const whiteSlideList = [ '/ui', '/hosInformation']; //侧边导航白名单 const whiteSlideList = [ '/ui', '/hosInformation']; //侧边导航白名单
const blackHeaderList = [ const blackHeaderList = ['/ErrorAccess']; //头部导航黑名单
]; //头部导航黑名单 const whiteFooterList = ['/','/doctorInformation' ,'/hosInformation','/addNewTreatment']; //底部白名单
const whiteFooterList = ['/','/doctorInformation' ,'/hosInformation','/addNewTreatment'
]; //底部白名单
const routes = [ const routes = [
{ {
path: '/', path: '/',
name: '首页', name: '首页',
component: HomeView, component: HomeView,
meta: { meta: {
title: '医生列表', title: '医生列表',
hideBreadcrumb: true // 首页不显示面包屑 hideBreadcrumb: true // 首页不显示面包屑
} }
@ -23,16 +21,25 @@ const routes = [
path: '/doctorInformation', path: '/doctorInformation',
name: '医生信息', name: '医生信息',
component: () => import('../views/DoctorInformation.vue'), component: () => import('../views/DoctorInformation.vue'),
meta: { meta: {
title: '编辑信息', title: '编辑信息',
breadcrumbParent: '首页' // 手动指定父级 breadcrumbParent: '首页' // 手动指定父级
} }
}, },
{ {
path: '/ErrorAccess',
name: '访问出错',
component: () => import('../views/ErrorAccess.vue'),
meta: {
title: '访问出错',
hideBreadcrumb: true // 首页不显示面包屑
}
},
{
path: '/hosInformation', path: '/hosInformation',
name: '医院信息', name: '医院信息',
component: () => import('../views/HosInformation.vue'), component: () => import('../views/HosInformation.vue'),
meta: { meta: {
title: '编辑医院', title: '编辑医院',
breadcrumbParent: '医生信息' // 手动指定父级 breadcrumbParent: '医生信息' // 手动指定父级
// r如果想隐藏中间层级 // r如果想隐藏中间层级
@ -40,12 +47,12 @@ const routes = [
// hideInBreadcrumb: true // 可选:隐藏当前项 // hideInBreadcrumb: true // 可选:隐藏当前项
} }
}, },
{ {
path: '/addNewTreatment', path: '/addNewTreatment',
component: () => import( /* webpackChunkName: "addNewTreatment" */ '../views/AddNewTreatment.vue'), component: () => import( /* webpackChunkName: "addNewTreatment" */ '../views/AddNewTreatment.vue'),
name: '新增套餐', name: '新增套餐',
meta: { meta: {
hideBreadcrumb: true // 首页不显示面包屑 hideBreadcrumb: true // 首页不显示面包屑
} }
}, },

30
src/utils/request.js

@ -1,6 +1,5 @@
// src/utils/request.js // src/utils/request.js
import axios from "axios"; import axios from "axios";
const baseURL = process.env.VUE_APP_BASE_API; const baseURL = process.env.VUE_APP_BASE_API;
// 创建 axios 实例 // 创建 axios 实例
const service = axios.create({ const service = axios.create({
@ -8,7 +7,7 @@ const service = axios.create({
timeout: 60000, // 请求超时时间 timeout: 60000, // 请求超时时间
headers: { headers: {
'Content-Type': 'application/x-www-form-urlencoded', 'Content-Type': 'application/x-www-form-urlencoded',
'AUTHADMIN' :'b10346e6-5003-4644-8e48-e14f49874338' 'AUTHADMIN' :localStorage.getItem("authtoken")
}, },
}); });
@ -75,20 +74,43 @@ const request = (method, url, data = {}, config = {}) => {
const lowerCaseMethod = method.toLowerCase(); const lowerCaseMethod = method.toLowerCase();
if (lowerCaseMethod === "get") { if (lowerCaseMethod === "get") {
// GET 请求将参数拼接到 URL 上 // GET 请求将参数拼接到 URL 上
return service({ var res = service({
method: "get", method: "get",
url, url,
params: data, params: data,
...config, ...config,
}); });
res.then(response => {
if(response.msg.indexOf('非法操作') > -1) {
localStorage.removeItem('authtoken')
location.href = '/ErrorAccess'
return;
}
}).catch(error => {
console.error('API Error:', error);
});
return res;
} else { } else {
// 其他请求(POST, PUT, DELETE 等)将参数放在请求体中 // 其他请求(POST, PUT, DELETE 等)将参数放在请求体中
return service({ var respost = service({
method: lowerCaseMethod, method: lowerCaseMethod,
url, url,
data, data,
...config, ...config,
}); });
respost.then(response => {
if(response.msg.indexOf('非法操作') > -1) {
localStorage.removeItem('authtoken')
location.href = '/ErrorAccess'
return;
}
}).catch(error => {
console.error('API Error:', error);
});
return respost;
} }
}; };

14
src/views/AddNewTreatment.vue

@ -140,20 +140,6 @@ export default {
treatMentList: [],// treatMentList: [],//
projectList: [],// projectList: [],//
projectTagData: [], projectTagData: [],
// {
// 27:{
// classify_name:"",
// create_time:"2025-05-29 17:09:43",
// id:"1",
// name:"",
// num:"2",
// pid:"1",
// price:"200.00",
// project_id:"27",
// sort:"1",
// status:"1",
// }
// },
selectedRows: [], selectedRows: [],
sortedProjectRows: [], sortedProjectRows: [],
siteForm: { siteForm: {

17
src/views/DoctorInformation.vue

@ -161,22 +161,7 @@ export default {
doctorAvatorUrl: '', doctorAvatorUrl: '',
approverWechatUrl:'', approverWechatUrl:'',
approverWechatFile:[], approverWechatFile:[],
options_payword: [{ options_payword: [],
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
groupOptions: [ groupOptions: [
{ label: '需审批', value: '1' }, { label: '需审批', value: '1' },
{ label: '不需审批', value: '0' }, { label: '不需审批', value: '0' },

15
src/views/ErrorAccess.vue

@ -0,0 +1,15 @@
<template>
<div class="main-error">
访问出错...
</div>
</template>
<style lang="scss" scoped>
.main-error{
width: 100%;
height: 100vh;
font-size: 20px;
color: red;
margin-top: 100px;
}
</style>

81
src/views/HomeView.vue

@ -1,5 +1,5 @@
<template> <template>
<div class="min-width pagePadding " style="background: #F5F7FA;"> <div class="min-width pagePadding " style="background: #F5F7FA;" v-if="pageShow">
<div class="doctor-list-wrap "> <div class="doctor-list-wrap ">
<p class="pageTitle">医生列表</p> <p class="pageTitle">医生列表</p>
<el-form> <el-form>
@ -107,66 +107,19 @@ export default {
data() { data() {
return { return {
list: { list: {
approver_phone: "18888888888", approver_phone: "",
code: "en4b1v", code: "",
create: "2025-05-19 16:20:58", create: "",
desc: "擅长运用麦粒灸治疗疑难杂症,特别是恶性肿瘤的治疗,显著改善患者免疫状态。", desc: "",
detail: "北京中医药大学中医临床特聘专家,师从师怀堂和谢锡亮两大中医泰斗,从事针灸临床50余年,善治免疫系统及其它病症如:各种肿瘤癌症,血小板减少或增多,白细胞减少,经常性感冒、支气管哮喘、过敏性紫癜、妇女尿失禁、夜尿增多,痤疮,急慢性肠炎、痛风、颈椎管狭窄、颈肩腰腿痛、疲劳综合征、失眠,及小儿夜啼、厌食和发育不良等症。", detail: "",
first_visit_audit: "1", first_visit_audit: "",
id: "1", id: "",
idcard: "510322197808271433", idcard: "",
label: "", label: "",
name: "张小琪", name: "",
phone: "18888888888", phone: "",
uid: "46", uid: "",
departs: { departs: {}
1: [
{
classify_count: 3,
create: "2025-05-29 16:37:28",
depart_id: "1",
depart_name: "中医科",
doctor_id: "1",
hid: "1",
hispital_name: "",
id: "1",
is_fixed: "1",
project_count: 24,
status: "1",
type: "0"
}
],
2: [
{
classify_count: 3,
create: "2025-05-29 16:37:28",
depart_id: "12",
depart_name: "中医科",
doctor_id: "1",
hid: "1",
hispital_name: "",
id: "1",
is_fixed: "1",
project_count: 24,
status: "1",
type: "0"
},
{
classify_count: 3,
create: "2025-05-29 16:37:28",
depart_id: "11",
depart_name: "中医科",
doctor_id: "1",
hid: "1",
hispital_name: "",
id: "1",
is_fixed: "1",
project_count: 24,
status: "1",
type: "0"
},
]
}
}, },
tableSelections: [],// tableSelections: [],//
tableData: [ tableData: [
@ -185,6 +138,7 @@ export default {
isIndeterminate: false, isIndeterminate: false,
doctorList: false, doctorList: false,
allChecked: false, allChecked: false,
pageShow:false
} }
}, },
components: { components: {
@ -197,6 +151,12 @@ export default {
// CustomDropdown // CustomDropdown
}, },
created() { created() {
const { authtoken } = this.$route.query;
if(authtoken) {
localStorage.setItem('authtoken', authtoken);
location.href = '/'
return;
}
store.commit('SET_PAGENAME', '医生管理'); // store.commit('SET_PAGENAME', '医生管理'); //
}, },
mounted() { mounted() {
@ -223,6 +183,7 @@ export default {
}) })
this.doctorList = list this.doctorList = list
this.calculateTotalNum() this.calculateTotalNum()
this.pageShow = true
} }
}).catch(error => { }).catch(error => {
console.error(error, 'error') console.error(error, 'error')

Loading…
Cancel
Save