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
This commit is contained in:
Ghost
2025-03-18 14:58:50 +08:00
1810 changed files with 8495 additions and 6592 deletions

9
.Cursorignore Normal file
View File

@@ -0,0 +1,9 @@
Server/runtime/
*.png
*.jpg
*.jpeg
*.gif
*.bmp
*.webp
*.ico
*.svg

3
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"git.ignoreLimitWarning": true
}

2
Backend/.env Executable file → Normal file
View 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

View File

@@ -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
View 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
View 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
View 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
View File

78
Backend/README.md Executable file → Normal file
View 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
View File

0
Backend/jsconfig.json Executable file → Normal file
View File

9454
Backend/package-lock.json generated

File diff suppressed because it is too large Load Diff

21
Backend/package.json Executable file → Normal file
View 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
View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

0
Backend/public/index.html Executable file → Normal file
View File

0
Backend/src/$ws.js Executable file → Normal file
View File

0
Backend/src/App.vue Executable file → Normal file
View File

0
Backend/src/api/article.js Executable file → Normal file
View File

0
Backend/src/api/emoticon.js Executable file → Normal file
View File

0
Backend/src/api/role.js Executable file → Normal file
View File

45
Backend/src/api/user.js Executable file → Normal file
View 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
View File

0
Backend/src/assets/css/markdown.css Executable file → Normal file
View File

0
Backend/src/assets/css/page/contacts.less Executable file → Normal file
View File

0
Backend/src/assets/css/page/login-auth.less Executable file → Normal file
View File

0
Backend/src/assets/css/page/note-page.less Executable file → Normal file
View File

0
Backend/src/assets/css/reset.css Executable file → Normal file
View File

0
Backend/src/assets/css/talk/talk-records.less Executable file → Normal file
View File

0
Backend/src/assets/css/variable.less Executable file → Normal file
View File

0
Backend/src/assets/image/1701.mp3 Executable file → Normal file
View File

0
Backend/src/assets/image/59y888piCn92.mp3 Executable file → Normal file
View File

0
Backend/src/assets/image/RaJik9TWDi.png Executable file → Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View File

0
Backend/src/components/editor/MeEditor.vue Executable file → Normal file
View File

0
Backend/src/components/editor/MeEditorEmoticon.vue Executable file → Normal file
View File

0
Backend/src/components/editor/MeEditorFileManage.vue Executable file → Normal file
View File

0
Backend/src/components/editor/MeEditorImageView.vue Executable file → Normal file
View File

0
Backend/src/components/editor/MeEditorRecorder.vue Executable file → Normal file
View File

View File

0
Backend/src/components/global/Empty.vue Executable file → Normal file
View File

0
Backend/src/components/global/Loading.vue Executable file → Normal file
View File

0
Backend/src/components/group/GroupLaunch.vue Executable file → Normal file
View File

0
Backend/src/components/group/GroupManage.vue Executable file → Normal file
View File

0
Backend/src/components/group/GroupNotice.vue Executable file → Normal file
View File

0
Backend/src/components/group/GroupPanel.vue Executable file → Normal file
View File

0
Backend/src/components/layout/AbsModule.vue Executable file → Normal file
View File

0
Backend/src/components/layout/AvatarCropper.vue Executable file → Normal file
View File

0
Backend/src/components/layout/RewardModule.vue Executable file → Normal file
View File

0
Backend/src/components/layout/SkinModule.vue Executable file → Normal file
View File

0
Backend/src/components/layout/WelcomeModule.vue Executable file → Normal file
View File

0
Backend/src/components/note/NoteAnnexBox.vue Executable file → Normal file
View File

0
Backend/src/components/note/NoteAnnexRecycle.vue Executable file → Normal file
View File

0
Backend/src/components/note/NoteTagBox.vue Executable file → Normal file
View File

0
Backend/src/components/svg-icon/index.vue Executable file → Normal file
View File

0
Backend/src/components/user/UserBusinessCard.vue Executable file → Normal file
View File

0
Backend/src/components/user/UserCard.vue Executable file → Normal file
View File

0
Backend/src/components/user/UserEditEmail.vue Executable file → Normal file
View File

0
Backend/src/components/user/UserEditMobile.vue Executable file → Normal file
View File

0
Backend/src/components/user/UserEditPassword.vue Executable file → Normal file
View File

0
Backend/src/components/user/UserSearch.vue Executable file → Normal file
View File

0
Backend/src/config/config.js Executable file → Normal file
View File

0
Backend/src/core/directives.js Executable file → Normal file
View File

0
Backend/src/core/filter.js Executable file → Normal file
View File

0
Backend/src/core/global-component.js Executable file → Normal file
View File

0
Backend/src/core/icons.js Executable file → Normal file
View File

0
Backend/src/core/lazy-use.js Executable file → Normal file
View File

0
Backend/src/directive/PreCode.js Executable file → Normal file
View File

0
Backend/src/icons/avatar-default.png Executable file → Normal file
View 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
View 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
View 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
View 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
View File

0
Backend/src/icons/link.png Executable file → Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Some files were not shown because too many files have changed in this diff Show More