Merge branch 'develop' of https://gitee.com/Tyssen/yi-shi into develop
# Conflicts: # Server/.env # Server/application/common/model/CompanyAccountModel.php # Server/application/common/model/DeviceModel.php # Server/application/common/model/WechatAccountModel.php
9
.Cursorignore
Normal file
@@ -0,0 +1,9 @@
|
||||
Server/runtime/
|
||||
*.png
|
||||
*.jpg
|
||||
*.jpeg
|
||||
*.gif
|
||||
*.bmp
|
||||
*.webp
|
||||
*.ico
|
||||
*.svg
|
||||
3
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"git.ignoreLimitWarning": true
|
||||
}
|
||||
2
Backend/.env
Executable file → Normal file
@@ -4,3 +4,5 @@ VUE_APP_API_BASE_URL=http://yishi.com
|
||||
VUE_APP_WWW_BASE_URL=http://yishi.com
|
||||
VUE_APP_WEB_SOCKET_URL=ws://yishi.com:2348
|
||||
VUE_APP_WEBSITE_NAME="管理后台"
|
||||
VUE_APP_TITLE=医师管理系统
|
||||
VUE_APP_API_URL=http://yishi.com
|
||||
@@ -1,6 +0,0 @@
|
||||
NODE_ENV=development
|
||||
VUE_APP_PREVIEW=true
|
||||
VUE_APP_API_BASE_URL=http://yishi.com
|
||||
VUE_APP_WWW_BASE_URL=http://yishi.com
|
||||
VUE_APP_WEB_SOCKET_URL=ws://yishi.com:2348
|
||||
VUE_APP_WEBSITE_NAME="管理后台"
|
||||
14
Backend/.env.production
Normal file
@@ -0,0 +1,14 @@
|
||||
# 环境标识
|
||||
NODE_ENV=production
|
||||
|
||||
# 应用名称
|
||||
VUE_APP_WEBSITE_NAME=医师管理系统
|
||||
|
||||
# API基础URL
|
||||
VUE_APP_API_BASE_URL=https://api.yishi.com
|
||||
|
||||
# 前端网站URL
|
||||
VUE_APP_WWW_BASE_URL=https://www.yishi.com
|
||||
|
||||
# WebSocket URL
|
||||
VUE_APP_WEB_SOCKET_URL=wss://api.yishi.com/ws
|
||||
14
Backend/.env.test
Normal file
@@ -0,0 +1,14 @@
|
||||
# 环境标识
|
||||
NODE_ENV=production
|
||||
|
||||
# 应用名称
|
||||
VUE_APP_WEBSITE_NAME=医师管理系统(测试)
|
||||
|
||||
# API基础URL
|
||||
VUE_APP_API_BASE_URL=https://test-api.yishi.com
|
||||
|
||||
# 前端网站URL
|
||||
VUE_APP_WWW_BASE_URL=https://test.yishi.com
|
||||
|
||||
# WebSocket URL
|
||||
VUE_APP_WEB_SOCKET_URL=wss://test-api.yishi.com/ws
|
||||
1
Backend/.gitignore
vendored
Executable file → Normal file
@@ -5,6 +5,7 @@ node_modules
|
||||
|
||||
# local env files
|
||||
.env.local
|
||||
.env.development
|
||||
.env.*.local
|
||||
|
||||
# Log files
|
||||
|
||||
0
Backend/LICENSE
Executable file → Normal file
78
Backend/README.md
Executable file → Normal file
@@ -86,3 +86,81 @@ server {
|
||||
QQ : 837215079
|
||||
|
||||
### 如果你觉得还不错,请 Star , Fork 给作者鼓励一下。
|
||||
|
||||
## 环境变量配置
|
||||
|
||||
本项目使用Vue CLI的环境变量配置功能,可以在不同环境下使用不同的配置。
|
||||
|
||||
### 配置文件
|
||||
|
||||
- `.env` - 所有环境的默认配置
|
||||
- `.env.development` - 开发环境配置
|
||||
- `.env.test` - 测试环境配置
|
||||
- `.env.production` - 生产环境配置
|
||||
|
||||
### 环境变量
|
||||
|
||||
项目中使用的主要环境变量:
|
||||
|
||||
- `VUE_APP_WEBSITE_NAME` - 网站名称
|
||||
- `VUE_APP_API_BASE_URL` - API基础URL
|
||||
- `VUE_APP_WWW_BASE_URL` - 前端网站URL
|
||||
- `VUE_APP_WEB_SOCKET_URL` - WebSocket URL
|
||||
|
||||
### 使用方法
|
||||
|
||||
在代码中可以通过以下方式访问环境变量:
|
||||
|
||||
```js
|
||||
// 直接访问
|
||||
console.log(process.env.VUE_APP_API_BASE_URL)
|
||||
|
||||
// 通过配置文件访问
|
||||
import config from '@/config/config'
|
||||
console.log(config.BASE_API_URL)
|
||||
```
|
||||
|
||||
### 运行与构建
|
||||
|
||||
开发环境:
|
||||
```bash
|
||||
# 使用开发环境配置运行
|
||||
npm run serve:dev
|
||||
|
||||
# 使用开发环境配置构建
|
||||
npm run build:dev
|
||||
```
|
||||
|
||||
测试环境:
|
||||
```bash
|
||||
# 使用测试环境配置运行
|
||||
npm run serve:test
|
||||
|
||||
# 使用测试环境配置构建
|
||||
npm run build:test
|
||||
```
|
||||
|
||||
生产环境:
|
||||
```bash
|
||||
# 使用生产环境配置运行
|
||||
npm run serve:prod
|
||||
|
||||
# 使用生产环境配置构建
|
||||
npm run build:prod
|
||||
```
|
||||
|
||||
## 项目设置
|
||||
|
||||
```bash
|
||||
# 安装依赖
|
||||
npm install
|
||||
|
||||
# 启动开发服务器
|
||||
npm run serve
|
||||
|
||||
# 构建生产版本
|
||||
npm run build
|
||||
|
||||
# 代码检查
|
||||
npm run lint
|
||||
```
|
||||
0
Backend/babel.config.js
Executable file → Normal file
0
Backend/jsconfig.json
Executable file → Normal file
9454
Backend/package-lock.json
generated
21
Backend/package.json
Executable file → Normal file
@@ -1,17 +1,24 @@
|
||||
{
|
||||
"name": "YiShi",
|
||||
"version": "0.1.0",
|
||||
"name": "yishi-admin",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
"serve:dev": "vue-cli-service serve --mode development",
|
||||
"serve:test": "vue-cli-service serve --mode test",
|
||||
"serve:prod": "vue-cli-service serve --mode production",
|
||||
"build": "vue-cli-service build",
|
||||
"build:dev": "vue-cli-service build --mode development",
|
||||
"build:test": "vue-cli-service build --mode test",
|
||||
"build:prod": "vue-cli-service build --mode production",
|
||||
"lint": "vue-cli-service lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^0.21.0",
|
||||
"axios": "^0.21.1",
|
||||
"babel-plugin-prismjs": "^2.0.1",
|
||||
"core-js": "^3.6.5",
|
||||
"element-ui": "^2.14.1",
|
||||
"crypto-js": "^4.2.0",
|
||||
"element-ui": "^2.15.6",
|
||||
"js-audio-recorder": "^1.0.6",
|
||||
"js-base64": "^2.5.1",
|
||||
"mavon-editor": "^2.9.0",
|
||||
@@ -22,12 +29,14 @@
|
||||
"vue-contextmenujs": "^1.3.13",
|
||||
"vue-cropper": "^0.5.5",
|
||||
"vue-prism-editor": "^0.5.1",
|
||||
"vue-router": "^3.4.9",
|
||||
"vuex": "^3.5.1"
|
||||
"vue-router": "^3.2.0",
|
||||
"vuex": "^3.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli-plugin-babel": "~4.5.0",
|
||||
"@vue/cli-plugin-eslint": "~4.5.0",
|
||||
"@vue/cli-plugin-router": "~4.5.0",
|
||||
"@vue/cli-plugin-vuex": "~4.5.0",
|
||||
"@vue/cli-service": "~4.5.0",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"babel-plugin-import": "^1.13.1",
|
||||
|
||||
0
Backend/public/favicon.ico
Executable file → Normal file
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
0
Backend/public/index.html
Executable file → Normal file
0
Backend/src/$ws.js
Executable file → Normal file
0
Backend/src/App.vue
Executable file → Normal file
0
Backend/src/api/article.js
Executable file → Normal file
0
Backend/src/api/emoticon.js
Executable file → Normal file
0
Backend/src/api/role.js
Executable file → Normal file
45
Backend/src/api/user.js
Executable file → Normal file
@@ -1,12 +1,42 @@
|
||||
import { post } from '@/utils/request'
|
||||
import { post, get } from '@/utils/request'
|
||||
|
||||
// 登录服务接口
|
||||
export const ServeLogin = data => {
|
||||
return post('/backend/user/login', data)
|
||||
/**
|
||||
* 用户登录
|
||||
* @param {Object} data 登录数据
|
||||
* @param {string} data.username 用户名
|
||||
* @param {string} data.password 密码
|
||||
* @param {boolean} data.is_encrypted 密码是否已加密
|
||||
* @returns {Promise} 登录结果
|
||||
*/
|
||||
export function ServeLogin(data) {
|
||||
return post('/api/auth/login', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 手机号验证码登录
|
||||
* @param {Object} data 登录数据
|
||||
* @param {string} data.mobile 手机号
|
||||
* @param {string} data.code 验证码
|
||||
* @param {boolean} data.is_encrypted 验证码是否已加密
|
||||
* @returns {Promise} 登录结果
|
||||
*/
|
||||
export function ServeMobileLogin(data) {
|
||||
return post('/api/auth/mobile-login', data)
|
||||
}
|
||||
|
||||
// 发送验证码
|
||||
export const ServeSendCode = data => {
|
||||
return post('/api/auth/code', data)
|
||||
}
|
||||
|
||||
// 获取用户信息
|
||||
export const ServeGetUser = () => {
|
||||
return post('/backend/user/get')
|
||||
return get('/api/auth/info')
|
||||
}
|
||||
|
||||
// 刷新token
|
||||
export const ServeRefreshToken = () => {
|
||||
return post('/api/auth/refresh')
|
||||
}
|
||||
|
||||
export const ServeSetUserPassword = (data) => {
|
||||
@@ -14,8 +44,9 @@ export const ServeSetUserPassword = (data) => {
|
||||
}
|
||||
|
||||
// 退出登录服务接口
|
||||
export const ServeLogout = data => {
|
||||
return post('/backend/user/logout', data)
|
||||
export const ServeLogout = () => {
|
||||
// JWT不需要服务端登出,直接清除本地token即可
|
||||
return Promise.resolve({ code: 200, msg: '退出成功' })
|
||||
}
|
||||
|
||||
export const UserIndex = data => {
|
||||
|
||||
0
Backend/src/assets/css/global.less
Executable file → Normal file
0
Backend/src/assets/css/markdown.css
Executable file → Normal file
0
Backend/src/assets/css/page/contacts.less
Executable file → Normal file
0
Backend/src/assets/css/page/login-auth.less
Executable file → Normal file
0
Backend/src/assets/css/page/note-page.less
Executable file → Normal file
0
Backend/src/assets/css/reset.css
Executable file → Normal file
0
Backend/src/assets/css/talk/talk-records.less
Executable file → Normal file
0
Backend/src/assets/css/variable.less
Executable file → Normal file
0
Backend/src/assets/image/1701.mp3
Executable file → Normal file
0
Backend/src/assets/image/59y888piCn92.mp3
Executable file → Normal file
0
Backend/src/assets/image/RaJik9TWDi.png
Executable file → Normal file
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
0
Backend/src/assets/image/aliyun-abs.jpg
Executable file → Normal file
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 117 KiB |
0
Backend/src/assets/image/background/001.jpg
Executable file → Normal file
|
Before Width: | Height: | Size: 830 KiB After Width: | Height: | Size: 830 KiB |
0
Backend/src/assets/image/background/002.jpg
Executable file → Normal file
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
0
Backend/src/assets/image/background/003.jpg
Executable file → Normal file
|
Before Width: | Height: | Size: 789 KiB After Width: | Height: | Size: 789 KiB |
0
Backend/src/assets/image/background/004.jpg
Executable file → Normal file
|
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 114 KiB |
0
Backend/src/assets/image/background/005.png
Executable file → Normal file
|
Before Width: | Height: | Size: 671 KiB After Width: | Height: | Size: 671 KiB |
0
Backend/src/assets/image/chat-search-no-message.png
Executable file → Normal file
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
0
Backend/src/assets/image/chat.png
Executable file → Normal file
|
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
0
Backend/src/assets/image/default-user-banner.png
Executable file → Normal file
|
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 192 KiB |
0
Backend/src/assets/image/detault-avatar.jpg
Executable file → Normal file
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
0
Backend/src/assets/image/gitee-avatar.jpg
Executable file → Normal file
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
0
Backend/src/assets/image/github-avatar.jpg
Executable file → Normal file
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
0
Backend/src/assets/image/icon_face.png
Executable file → Normal file
|
Before Width: | Height: | Size: 758 B After Width: | Height: | Size: 758 B |
0
Backend/src/assets/image/icon_heart.png
Executable file → Normal file
|
Before Width: | Height: | Size: 882 B After Width: | Height: | Size: 882 B |
0
Backend/src/assets/image/no-oncall.6b776fcf.png
Executable file → Normal file
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
0
Backend/src/assets/image/obj_w5zD.mp3
Executable file → Normal file
0
Backend/src/components/editor/MeEditor.vue
Executable file → Normal file
0
Backend/src/components/editor/MeEditorEmoticon.vue
Executable file → Normal file
0
Backend/src/components/editor/MeEditorFileManage.vue
Executable file → Normal file
0
Backend/src/components/editor/MeEditorImageView.vue
Executable file → Normal file
0
Backend/src/components/editor/MeEditorRecorder.vue
Executable file → Normal file
0
Backend/src/components/editor/MeEditorSystemEmoticon.vue
Executable file → Normal file
0
Backend/src/components/global/Empty.vue
Executable file → Normal file
0
Backend/src/components/global/Loading.vue
Executable file → Normal file
0
Backend/src/components/group/GroupLaunch.vue
Executable file → Normal file
0
Backend/src/components/group/GroupManage.vue
Executable file → Normal file
0
Backend/src/components/group/GroupNotice.vue
Executable file → Normal file
0
Backend/src/components/group/GroupPanel.vue
Executable file → Normal file
0
Backend/src/components/layout/AbsModule.vue
Executable file → Normal file
0
Backend/src/components/layout/AvatarCropper.vue
Executable file → Normal file
0
Backend/src/components/layout/RewardModule.vue
Executable file → Normal file
0
Backend/src/components/layout/SkinModule.vue
Executable file → Normal file
0
Backend/src/components/layout/WelcomeModule.vue
Executable file → Normal file
0
Backend/src/components/note/NoteAnnexBox.vue
Executable file → Normal file
0
Backend/src/components/note/NoteAnnexRecycle.vue
Executable file → Normal file
0
Backend/src/components/note/NoteTagBox.vue
Executable file → Normal file
0
Backend/src/components/svg-icon/index.vue
Executable file → Normal file
0
Backend/src/components/user/UserBusinessCard.vue
Executable file → Normal file
0
Backend/src/components/user/UserCard.vue
Executable file → Normal file
0
Backend/src/components/user/UserEditEmail.vue
Executable file → Normal file
0
Backend/src/components/user/UserEditMobile.vue
Executable file → Normal file
0
Backend/src/components/user/UserEditPassword.vue
Executable file → Normal file
0
Backend/src/components/user/UserSearch.vue
Executable file → Normal file
0
Backend/src/config/config.js
Executable file → Normal file
0
Backend/src/core/directives.js
Executable file → Normal file
0
Backend/src/core/filter.js
Executable file → Normal file
0
Backend/src/core/global-component.js
Executable file → Normal file
0
Backend/src/core/icons.js
Executable file → Normal file
0
Backend/src/core/lazy-use.js
Executable file → Normal file
0
Backend/src/directive/PreCode.js
Executable file → Normal file
0
Backend/src/icons/avatar-default.png
Executable file → Normal file
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
0
Backend/src/icons/avatar-room.png
Executable file → Normal file
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
0
Backend/src/icons/check.png
Executable file → Normal file
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
0
Backend/src/icons/image-default.png
Executable file → Normal file
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
0
Backend/src/icons/index.js
Executable file → Normal file
0
Backend/src/icons/link.png
Executable file → Normal file
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
0
Backend/src/icons/logo.png
Executable file → Normal file
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
0
Backend/src/icons/main-client-down.png
Executable file → Normal file
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
0
Backend/src/icons/main-client-total.png
Executable file → Normal file
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
0
Backend/src/icons/main-client-up.png
Executable file → Normal file
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
0
Backend/src/icons/main-room-total.png
Executable file → Normal file
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
0
Backend/src/icons/main-room-up.png
Executable file → Normal file
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
0
Backend/src/icons/map.png
Executable file → Normal file
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
0
Backend/src/icons/play.png
Executable file → Normal file
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
0
Backend/src/icons/svg/mention-down.svg
Executable file → Normal file
|
Before Width: | Height: | Size: 613 B After Width: | Height: | Size: 613 B |
0
Backend/src/icons/svg/not-data.svg
Executable file → Normal file
|
Before Width: | Height: | Size: 659 B After Width: | Height: | Size: 659 B |
0
Backend/src/icons/svg/not-fount.svg
Executable file → Normal file
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
0
Backend/src/icons/svg/note-book.svg
Executable file → Normal file
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |