Teng's blog Teng's blog
首页
Java
H5前端
GitHub (opens new window)
首页
Java
H5前端
GitHub (opens new window)
  • 01.项目介绍
  • 02.后台系统-搭建项目
  • 03.后台系统-医院设置模块
  • 04.后台系统-统一异常处理
  • 05.后台系统-统一日志处理
  • 06.后台系统-搭建管理后台前端
    • 前端开发知识储备
    • 平台管理前端搭建
      • 前端开发步骤
      • 修改package.json
      • 更改.eslintrc.js
      • 更改登录
  • 07.后台系统-医院设置前端
  • 08.后台系统-数据字典
  • 09.SpringCache+Redis缓存数据
  • 10.集成与配置Nginx
  • 11.启动医院接口模拟系统
  • 12.后台系统-上传医院信息
  • 13.后台系统-上传科室信息
  • 14.后台系统-上传排班信息
  • 15.搭建服务注册中心Nacos
  • 16.后台系统-医院管理
  • 17.后台系统-排班管理
  • 18.搭建服务网关Gateway
  • 19.前台系统-搭建前端环境
  • 20.前台系统-首页
  • 21.前台系统-医院详情页
  • 22.前台系统-用户登录
  • 23.后台系统-短信服务
  • 24.用户认证与网关整合
  • 25.前台系统-微信登录
  • 26.前台系统-实名认证
  • 27.前台系统-就诊人管理
  • 28.后台系统-平台用户管理
  • 29.前台系统-预约挂号详情
  • 30.前台系统-预约确认
  • 31.前台系统-预约下单
  • 32.前台系统-订单管理
  • 33.后台系统-订单管理
  • 34.前台系统-微信支付
  • 35.前台系统-取消预约
  • 36.前台系统-就医提醒
  • 37.后台系统-预约统计
  • 38.小结
  • 附录:医院接口模拟系统说明
  • 附录:在线预约挂号API接口文档
  • Project-尚医通
Shetengteng
2021-11-27

06.后台系统-搭建管理后台前端

# 前端开发知识储备

前端工程师“Front-End-Developer”源自于美国。大约从2005年开始正式的前端工程师角色被行业所认可,到了2010年,互联网开始全面进入移动时代,前端开发的工作越来越重要

最初所有的开发工作都是由后端工程师完成的,随着业务越来越繁杂,工作量变大,于是我们将项目中的可视化部分和一部分交互功能的开发工作剥离出来,形成了前端开发

1

提示

如果已经掌握,可以忽略

如果需要学习,可按照从左到右依次学习

🚀 VSCode安装与使用

vscode 宇宙第一的 IDE

🚀 ECMAScript 6

本项目只需要了解【快速入门】即可

🚀 Vue入门

本项目只需要了解【快速入门】即可

🚀 axios基础使用

本项目只需要了解【快速入门】即可

🚀 nodejs快速入门

本项目只需要了解【快速入门】即可

🚀 NPM包管理

本项目只需要了解【快速入门】即可

🚀 Webpack入门

🚀 Vue-element-admin使用

- name: 🚀 VSCode安装与使用
  desc: 'vscode 宇宙第一的 IDE'
  link: /pages/7ce1c3/
  bgColor: '#DFEEE7'
  textColor: '#2A3344'
- name: 🚀 ECMAScript 6
  desc: '本项目只需要了解【快速入门】即可'
  link: /pages/b3f21e/
  bgColor: '#DFEEE7'
  textColor: '#2A3344'
- name: 🚀 Vue入门
  desc: '本项目只需要了解【快速入门】即可'
  link: /pages/4e328b/
  bgColor: '#DFEEE7'
  textColor: '#2A3344'
- name: 🚀 axios基础使用
  desc: '本项目只需要了解【快速入门】即可'
  link: /pages/579573/
  bgColor: '#DFEEE7'
  textColor: '#2A3344'
- name: 🚀 nodejs快速入门
  desc: '本项目只需要了解【快速入门】即可'
  link: /pages/8bcbc9/
  bgColor: '#DFEEE7'
  textColor: '#2A3344'
- name: 🚀 NPM包管理
  desc: '本项目只需要了解【快速入门】即可'
  link: /pages/621fd6/
  bgColor: '#DFEEE7'
  textColor: '#2A3344'
- name: 🚀 Webpack入门
  desc: ' '
  link: /pages/41b293/
  bgColor: '#DFEEE7'
  textColor: '#2A3344'
- name: 🚀 Vue-element-admin使用
  desc: ' '
  link: /pages/e74d2b/
  bgColor: '#DFEEE7'
  textColor: '#2A3344'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

# 平台管理前端搭建

本项目使用的是 vue-admin-template (opens new window)

访问 vue-admin-template 项目,进行克隆或者下载zip解压

重命名为yygh-admin

执行 npm intall 安装依赖

执行 npm run dev 运行查看是否正常

# 前端开发步骤

step1:在 src/router/index.js 中添加路由信息,格式如下

{
    path: 'table',
    name: 'Table',
    component: () => import('@/views/table/index'),
    meta: { title: 'Table', icon: 'table' }
}
1
2
3
4
5
6

step2:设置页面跳转路径页面,编写该页面

component: () => import('@/views/table/index'),
1

step3:在src/api文件夹下创建js文件,用于定义接口请求

step4:在编写的页面中,引入该接口请求的js,调用接口实现业务逻辑

# 修改package.json

修改项目基本信息

"name": "yygh-admin",
"version": "4.4.0",
"description": "在线预约挂号项目学习",
"author": "work_stt@163.com",
1
2
3
4

# 更改.eslintrc.js

将2 -- error,改为1-- warn

在vue中,希望可以多个属性作为一行显示,而不报错

  rules: {
    "vue/max-attributes-per-line": [1, { ...
1
2

# 更改登录

由于该 vue-admin-template 登录是从mock数据中获取,当前开发没有user信息等,故先修改,写成固定user,方便登录

将登陆相关请求接口改为静态数据,不请求接口

  • 修改 login getInfo logout 三个接口
import { getToken, removeToken, setToken } from '@/utils/auth'

const getDefaultState = () => {
  return {
    token: getToken(),
    name: '',
    avatar: ''
  }
}

const state = getDefaultState()

const mutations = {
  RESET_STATE: (state) => {
    Object.assign(state, getDefaultState())
  },
  SET_TOKEN: (state, token) => {
    state.token = token
  },
  SET_NAME: (state, name) => {
    state.name = name
  },
  SET_AVATAR: (state, avatar) => {
    state.avatar = avatar
  }
}

const actions = {
  // user login
  // login({ commit }, userInfo) {
  //   const { username, password } = userInfo
  //   return new Promise((resolve, reject) => {
  //     login({ username: username.trim(), password: password }).then(response => {
  //       const { data } = response
  //       commit('SET_TOKEN', data.token)
  //       setToken(data.token)
  //       resolve()
  //     }).catch(error => {
  //       reject(error)
  //     })
  //   })
  // },

  login({ commit }, userInfo) {
    const data = { 'token': 'admin' }
    commit('SET_TOKEN', data.token)
    setToken(data.token)
  },

  // get user info
  // getInfo({ commit, state }) {
  //   return new Promise((resolve, reject) => {
  //     getInfo(state.token).then(response => {
  //       const { data } = response
  //
  //       if (!data) {
  //         return reject('Verification failed, please Login again.')
  //       }
  //
  //       const { name, avatar } = data
  //
  //       commit('SET_NAME', name)
  //       commit('SET_AVATAR', avatar)
  //       resolve(data)
  //     }).catch(error => {
  //       reject(error)
  //     })
  //   })
  // },

  getInfo({ commit, state }) {
    const data = {
      'roles': [
        'admin'
      ],
      'name': 'admin',
      'avatar': 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif'
    }
    if (data.roles && data.roles.length > 0) { // 验证返回的roles是否是一个非空数组
      commit('SET_ROLES', data.roles)
    }
    commit('SET_NAME', data.name)
    commit('SET_AVATAR', data.avatar)
  },

  // user logout
  // logout({ commit, state }) {
  //   return new Promise((resolve, reject) => {
  //     logout(state.token).then(() => {
  //       removeToken() // must remove  token  first
  //       resetRouter()
  //       commit('RESET_STATE')
  //       resolve()
  //     }).catch(error => {
  //       reject(error)
  //     })
  //   })
  // },

  logout({ commit, state }) {
    return new Promise((resolve, reject) => {
      commit('SET_TOKEN', '')
      commit('SET_ROLES', [])
      removeToken()
      resolve()
    })
  },

  // remove token
  resetToken({ commit }) {
    return new Promise(resolve => {
      removeToken() // must remove  token  first
      commit('RESET_STATE')
      resolve()
    })
  }
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
Last Updated: 2022/01/16, 11:29:51
05.后台系统-统一日志处理
07.后台系统-医院设置前端

← 05.后台系统-统一日志处理 07.后台系统-医院设置前端→

Theme by Vdoing | Copyright © 2021-2022 Shetengteng | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式