更新README
This commit is contained in:
parent
396cbdb95d
commit
d28fa0dd00
374
README.md
374
README.md
@ -34,16 +34,16 @@
|
||||
|
||||
## 使用技术栈
|
||||
|
||||
项目开发环境:Windows 11 / Ubuntu Desktop 22.04 LTS、OpenJDK 11、MySQL 8.0.12(暂定)
|
||||
项目开发环境:Windows 11 / Ubuntu Desktop 22.04 LTS、OpenJDK 11、MySQL 8.0.12、Node 14.18.0、Git(暂定)
|
||||
|
||||
项目部署环境:Linux、MySQL、nacos(暂定)
|
||||
项目部署环境:Linux、MySQL 8.0.x、nacos(暂定)
|
||||
|
||||
| 板块 | 技术栈 | 开发工具 | 备注 |
|
||||
| ------ | ------------------------------------------------------------ | --------------------------------------- | ---- |
|
||||
| 前端 | Vue 3(JavaScript框架)、Element Plus(UI组件库) | VS Code | 暂定 |
|
||||
| 后端 | Java 11(开发语言)、SpringCloud(微服务)、nacos-server-2.1.2(服务注册与发现)、Redis(缓存) | Intellij IDEA | |
|
||||
| 小程序 | Taro(小程序跨端跨框架) | VS Code、微信开发者工具、小程序开发工具 | |
|
||||
| 数据库 | MySQL(数据存储) | Navicat | |
|
||||
| 板块 | 技术栈 | 开发工具 | 依赖管理 | 备注 |
|
||||
| ------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ----------- | ---- |
|
||||
| 前端 | Vue 3(JavaScript框架)、Element Plus(UI组件库) | VS Code(代码编辑器) | npm 8.19.2 | 暂定 |
|
||||
| 后端 | Java 11(开发语言)、SpringCloud(微服务)、nacos-server-2.1.2(服务注册与发现)、Redis(缓存) | Intellij IDEA Ultimate(集成开发环境)、<br />Postman(接口测试) | Maven 3.6.3 | |
|
||||
| 小程序 | Taro 3.x(小程序跨端解决方案)、Vue 3(JavaScript框架) | VS Code(代码编辑器)、<br />微信开发者工具(微信小程序打包工具)、<br />小程序开发工具(支付宝小程序打包工具) | npm 8.19.2 | |
|
||||
| 数据库 | MySQL 8.0.12(数据存储) | Navicat | - | |
|
||||
|
||||
|
||||
|
||||
@ -53,20 +53,298 @@
|
||||
|
||||
用户表
|
||||
|
||||
人员进出日志表(按月归档)
|
||||
人员进出日志表
|
||||
|
||||
体温上报表(按日归档)
|
||||
体温上报表
|
||||
|
||||
|
||||
|
||||
## 需要注意
|
||||
|
||||
### 写在最前
|
||||
|
||||
这个项目是我的本科毕设项目,所以部分功能做的比较粗糙,并不能保证数据安全及抗住并发,不建议直接部署到真实场景使用。
|
||||
|
||||
如果你想要拿我的项目作为毕设,我有义务先让你知晓,我并不保证这个项目在你演示的时候不出任何问题,也没有义务免费帮你答疑、安装环境和调试等。当然,如果我有空,可以付费咨询,我不保证付费就能解决你的问题,但如果没有解决你的问题,我不会收你一分钱。
|
||||
|
||||
|
||||
|
||||
### 不允许
|
||||
|
||||
- ⚠不允许使用这个项目进行广告营销
|
||||
|
||||
- ⚠不允许提供本项目第三方下载渠道(例如网盘分享等)
|
||||
|
||||
- ⚠不允许以任何形式二次出售卖钱。如果你想拿我的项目进行包装后收费卖给其他人,那么这里不欢迎你
|
||||
- ⚠不允许拿本项目去申请版权、著作权等相关权属证明
|
||||
|
||||
|
||||
|
||||
### 一些说明
|
||||
|
||||
微信小程序支付功能如果没有微信支付商户号无法开发&测试,我没有商户号,所以微信小程序的支付功能没有做兼容。
|
||||
|
||||
支付宝小程序在沙箱环境下,可以测试完整的支付流程,所以支付宝小程序的开发全部在沙箱环境下进行(没有在线上支付宝环境测试过)。
|
||||
|
||||
|
||||
|
||||
## 启动项目
|
||||
|
||||
### Step0. 启动前的准备
|
||||
|
||||
#### 1.安装运行环境
|
||||
|
||||
需要准备如下项目运行环境
|
||||
|
||||
代码管理:[Git](https://git-scm.com/download)
|
||||
|
||||
前端:[**Nodejs**](https://nodejs.org/zh-cn/),**npm**(安装node时会自带npm),[**Taro CLI**](https://taro-docs.jd.com/docs/GETTING-STARTED),Vue 3[ ](https://cn.vuejs.org/guide/quick-start.html)
|
||||
|
||||
后端:安装[**OpenJDK 11**](https://jdk.java.net/java-se-ri/11)、[**Maven**](https://maven.apache.org/download.cgi)(需要JDK、Maven配置环境变量及Maven国内镜像源),[**nacos**](https://github.com/alibaba/nacos/releases/tag/2.1.2)
|
||||
|
||||
数据库:[**MySQL 8.0.x**](https://downloads.mysql.com/archives/community/)、[Navicat](http://www.navicat.com.cn/products/navicat-premium)(需要激活,可使用其他数据库管理工具代替)
|
||||
|
||||
开发工具:[VSCode](https://code.visualstudio.com/#alt-downloads)(建议安装扩展:[EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig);[Vue Language Features (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.volar))、[IDEA Ultimate](https://www.jetbrains.com/zh-cn/idea/download/)(需要激活)、[微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)、[小程序开发工具](https://opendocs.alipay.com/mini/ide/download)(需要安装 `沙箱环境切换插件` 扩展并重启工具)
|
||||
|
||||
手机应用:[微信](https://weixin.qq.com/)(用于测试微信小程序)、[支付宝客户端沙箱版](https://open.alipay.com/develop/sandbox/tool/alipayclint)(用于测试支付宝小程序)
|
||||
|
||||
接口测试工具:[Postman](https://www.postman.com/downloads/)
|
||||
|
||||
> 如果希望查看环境变量是否配置成功,可以使用以下命令:
|
||||
>
|
||||
> (下面以 Windows 下命令说明,Linux 系统下 `echo %变量名%` 需要改成 `echo $变量名`)
|
||||
>
|
||||
> ```bash
|
||||
> echo %PATH%
|
||||
> # 您会看到以;分隔的很多路径,其中应该包括:
|
||||
> # JDK 所在文件夹下的 bin 目录:...\openjdk-11\bin
|
||||
> # Maven 所在文件夹下的 bin 目录:...\apache-maven-3.6.3\bin
|
||||
>
|
||||
> echo %JAVA_HOME%
|
||||
> # 您会看到 JDK 所在文件夹
|
||||
>
|
||||
> echo %MAVEN_HOME%
|
||||
> # 您会看到 Maven 所在文件夹
|
||||
> ```
|
||||
>
|
||||
> 如果希望查看环境是否安装成功或安装的环境版本,可以使用以下命令:
|
||||
>
|
||||
> ```bash
|
||||
> # 查看 Git 版本
|
||||
> git --version
|
||||
> # 您应该看到类似如下输出👇
|
||||
> # git version 2.35.1.windows.2
|
||||
>
|
||||
> # 查看 MySQL 版本(如果 MySQL 的 bin 目录没有配在环境变量中,则需要先 cd 切换到 bin 目录下)
|
||||
> mysql --version
|
||||
> # 您应该看到类似如下输出👇
|
||||
> # mysql Ver 8.0.12 for Win64 on x86_64 (MySQL Community Server - GPL)
|
||||
>
|
||||
> # 查看 JDK 版本
|
||||
> java -version
|
||||
> # 您应该看到类似如下输出👇
|
||||
> # openjdk version "11" 2018-09-25
|
||||
> # OpenJDK Runtime Environment 18.9 (build 11+28)
|
||||
> # OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
|
||||
>
|
||||
> # 查看 Maven 版本
|
||||
> mvn -v
|
||||
> # 您应该看到类似如下输出👇
|
||||
> # Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
|
||||
> # Maven home: xxxxxx\apache-maven-3.6.3\bin\..
|
||||
> # Java version: 11, vendor: Oracle Corporation, runtime: xxxxxx\openjdk-11
|
||||
> # Default locale: zh_CN, platform encoding: GBK
|
||||
> # OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
|
||||
>
|
||||
> # 查看 node 版本
|
||||
> node -v
|
||||
> # 您应该看到类似如下输出👇
|
||||
> # v14.18.0
|
||||
>
|
||||
> # 查看 npm 版本
|
||||
> # 您应该看到类似如下输出👇
|
||||
> # 8.19.2
|
||||
> ```
|
||||
>
|
||||
> Maven 镜像源配置(下面以阿里云镜像为例,其他镜像可自行替换):
|
||||
>
|
||||
> 用编辑器打开 maven 目录下 conf/settings.xml 文件,找到如下位置,将 `<mirror></mirror>` 部分粘贴进去:
|
||||
>
|
||||
> ```xml
|
||||
> <!-- mirrors
|
||||
> | This is a list of mirrors to be used in downloading artifacts from remote repositories.
|
||||
> |
|
||||
> | It works like this: a POM may declare a repository to use in resolving certain artifacts.
|
||||
> | However, this repository may have problems with heavy traffic at times, so people have mirrored
|
||||
> | it to several places.
|
||||
> |
|
||||
> | That repository definition will have a unique id, so we can create a mirror reference for that
|
||||
> | repository, to be used as an alternate download site. The mirror site will be the preferred
|
||||
> | server for that repository.
|
||||
> |-->
|
||||
> <mirrors>
|
||||
> <!-- mirror
|
||||
> | Specifies a repository mirror site to use instead of a given repository. The repository that
|
||||
> | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
|
||||
> | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
||||
> |
|
||||
> <mirror>
|
||||
> <id>mirrorId</id>
|
||||
> <mirrorOf>repositoryId</mirrorOf>
|
||||
> <name>Human Readable Name for this Mirror.</name>
|
||||
> <url>http://my.repository.com/repo/path</url>
|
||||
> </mirror>
|
||||
> -->
|
||||
> <!-- ######## 👇👇👇将以下部分粘贴进去👇👇👇 ######## -->
|
||||
> <mirror>
|
||||
> <id>alimaven</id>
|
||||
> <name>aliyun maven</name>
|
||||
> <url>https://maven.aliyun.com/repository/public</url>
|
||||
> <mirrorOf>central</mirrorOf>
|
||||
> <!-- ######## 👆👆👆将以上部分粘贴进去👆👆👆 ######## -->
|
||||
> </mirror>
|
||||
> </mirrors>
|
||||
> ```
|
||||
>
|
||||
> npm 镜像源配置(下面以淘宝镜像为例,其他镜像可自行替换):
|
||||
>
|
||||
> ```bash
|
||||
> # 配置镜像源
|
||||
> npm config set registry https://registry.npm.taobao.org/
|
||||
> # 配置后可通过以下命令查看是否配置成功
|
||||
> npm config get registry
|
||||
> ```
|
||||
>
|
||||
>
|
||||
|
||||
|
||||
|
||||
#### 2.克隆项目代码到本地
|
||||
|
||||
```bash
|
||||
# 克隆项目代码到本地
|
||||
git clone https://github.com/coder-xiaomo/epp
|
||||
# 或者选择以下地址
|
||||
# git clone https://gitee.com/coder-xiaomo/epp
|
||||
# git clone https://git.only4.work/coder-xiaomo/epp
|
||||
# 进入项目根目录
|
||||
cd epp
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### 3.数据库
|
||||
|
||||
导入数据库SQL(SQL文件在 `database` 目录下)
|
||||
|
||||
|
||||
|
||||
#### 4.后端依赖
|
||||
|
||||
```bash
|
||||
# 进入 backend 目录
|
||||
cd backend
|
||||
mvn clean install
|
||||
# 回到项目根目录下
|
||||
cd ../
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### 5.前端依赖
|
||||
|
||||
代码克隆下来后,第一次需要安装依赖
|
||||
|
||||
```bash
|
||||
# 进入 frontend 目录
|
||||
cd frontend
|
||||
# 建议使用 cnpm 安装依赖,如果没有安装 cnpm,可以通过 npm i cnpm进行安装
|
||||
cnpm install
|
||||
# npm install --legacy-peer-deps
|
||||
# 回到项目根目录下
|
||||
cd ../
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### 6.小程序依赖
|
||||
|
||||
```bash
|
||||
# 进入 miniprogram 目录
|
||||
cd miniprogram
|
||||
npm install
|
||||
# 回到项目根目录下
|
||||
cd ../
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### 7.小程序配置
|
||||
|
||||
##### 配置业务域名
|
||||
|
||||
修改 `miniprogram/src/app.js` 文件
|
||||
|
||||
```javascript
|
||||
App.use(setGlobalDataPlugin, {
|
||||
globalData: {
|
||||
baseUrl: "⚠此处修改为你自己的后端地址。注意需要https://开头,最后不带/",
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
同时记得在小程序后台填写小程序的业务域名。
|
||||
|
||||
##### 配置微信小程序appid
|
||||
|
||||
> ❓在哪里找appid?
|
||||
>
|
||||
> 如果没有注册小程序,可以申请小程序测试号进行测试,申请地址:https://mp.weixin.qq.com/wxamp/sandbox
|
||||
>
|
||||
> 如果已经注册过小程序,可以在此处微信扫码登录:https://mp.weixin.qq.com/ ,然后左侧菜单最后一项【设置】,滑到最下面【帐号信息】,<u>AppID(小程序ID)</u>一栏就是appid
|
||||
|
||||
修改 `miniprogram/project.config.json` 文件
|
||||
|
||||
```json
|
||||
{
|
||||
...
|
||||
"appid": "⚠此处修改为你的微信小程序appid",
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### 8.小程序打包
|
||||
|
||||
##### 打包微信小程序
|
||||
|
||||
```bash
|
||||
cd miniprogram
|
||||
npm run build:weapp
|
||||
```
|
||||
|
||||
打开**微信开发者工具**,小程序目录选择 `miniprogram` 目录
|
||||
|
||||
接下来按照正常的小程序发布流程进行发布即可。发布前记得测试小程序各功能是否正常。
|
||||
|
||||
##### 打包支付宝小程序
|
||||
|
||||
```bash
|
||||
cd miniprogram
|
||||
npm run build:alipay
|
||||
```
|
||||
|
||||
打开**小程序开发者工具**,小程序目录选择 `miniprogram/dist` 目录
|
||||
|
||||
接下来按照正常的小程序发布流程进行发布即可。发布前记得测试小程序各功能是否正常。
|
||||
|
||||
|
||||
|
||||
### Step1. 启动项目后端
|
||||
|
||||
#### 1.启动nacos
|
||||
|
||||
Nacos下载地址:https://github.com/alibaba/nacos/releases/tag/2.1.2
|
||||
|
||||
> standalone代表着单机模式运行,非集群模式
|
||||
>
|
||||
|
||||
@ -79,7 +357,7 @@ startup.cmd -m standalone
|
||||
# bash startup.sh -m standalone
|
||||
```
|
||||
|
||||
Nacos后台默认用户名密码都是:**nacos**
|
||||
Nacos后台地址为:http://localhost:8848/nacos/index.html,默认用户名密码都是:**nacos**
|
||||
|
||||
#### 2.启动MySQL
|
||||
|
||||
@ -89,7 +367,8 @@ Nacos后台默认用户名密码都是:**nacos**
|
||||
|
||||
```
|
||||
# 启动 UserProvider
|
||||
# 启动
|
||||
# 启动 Gateway
|
||||
# ......
|
||||
```
|
||||
|
||||
|
||||
@ -98,15 +377,6 @@ Nacos后台默认用户名密码都是:**nacos**
|
||||
|
||||
#### 1.启动后台管理员项目
|
||||
|
||||
代码克隆下来后,第一次需要安装依赖
|
||||
|
||||
```bash
|
||||
cd ./frontend
|
||||
# 建议使用 cnpm 安装依赖,如果没有安装 cnpm,可以通过 npm i cnpm进行安装
|
||||
cnpm install
|
||||
# npm install --legacy-peer-deps
|
||||
```
|
||||
|
||||
之后在 `frontend` 目录下运行即可
|
||||
|
||||
```bash
|
||||
@ -119,54 +389,36 @@ npm run serve
|
||||
|
||||
|
||||
|
||||
## 开发步骤记录
|
||||
## 停止项目
|
||||
|
||||
### 前端
|
||||
|
||||
#### 初始化Element-plus项目
|
||||
|
||||
参考:https://blog.csdn.net/weixin_39237340/article/details/121132154
|
||||
|
||||
```bash
|
||||
# 检查 node 版本
|
||||
node -v
|
||||
# 安装 vue3 脚手架
|
||||
npm install -g @vue/cli
|
||||
# 查看安装的 vue/cli 版本
|
||||
vue --version
|
||||
# 使用GUI(可视化面板)形式来创建vue项目
|
||||
vue ui
|
||||
# npm install element-plus --save
|
||||
```
|
||||
### Step1. 停止各个微服务
|
||||
|
||||
|
||||
|
||||
### 后端
|
||||
|
||||
#### SpringCloud组件
|
||||
|
||||
| 功能 | 组件 |
|
||||
| -------------------------------- | ------------------------------------------------------------ |
|
||||
| 服务注册中心(服务注册与发现) | Eureka(停更)、Zookeeper、Consul、Alibaba Nacos(推荐) |
|
||||
| 服务调用(服务负载与调用) | Netflix OSS Ribbon(进入维护)、SpringCloud LoadBlancer<br />Netflix Feign(停更)、OpenFeign |
|
||||
| 服务降级(服务熔断降级) | Hystrix(停更)、resilience4j、Alibaba Sentinel(推荐) |
|
||||
| 服务网关 | Zuul(停更)、Zuul2(胎死腹中)、SpringCloud Gateway(推荐) |
|
||||
| 服务分布式配置(服务分布式配置) | SpringCloud Config(不再使用)、Alibaba Nacos(推荐) |
|
||||
| 服务总线 | SpringCloud Bus(不再使用)、Alibaba Nacos(推荐) |
|
||||
| 服务开发 | Spring Boot |
|
||||
### Step2. 停止nacos
|
||||
|
||||
|
||||
|
||||
#### 创建Module步骤
|
||||
|
||||
1. 创建Module
|
||||
2. 改pom
|
||||
3. 写yml
|
||||
4. 主启动
|
||||
5. 业务类
|
||||
### Step3. 停止MySQL
|
||||
|
||||
|
||||
|
||||
## 启动项目开发环境
|
||||
|
||||
- 启动开发工具:IDEA Ultimate、VSCode、微信开发者工具、小程序开发工具
|
||||
|
||||
- 启动数据库及可视化工具:MySQL、Navicat
|
||||
|
||||
- 启动后端微服务注册中心:nacos
|
||||
|
||||
- 启动接口测试工具:Postman
|
||||
|
||||
- 启动命令行:`npm run dev:alipay`(支付宝小程序)、`npm run dev:weapp`(微信小程序)
|
||||
|
||||
> 因为支付宝小程序和微信小程序输出都在dist目录下,所以不可以同时开发调试
|
||||
|
||||
- 拉取项目仓库最新代码&切换到对应分支
|
||||
|
||||
|
||||
|
||||
## 相关链接
|
||||
|
46
docs/开发步骤记录.md
Normal file
46
docs/开发步骤记录.md
Normal file
@ -0,0 +1,46 @@
|
||||
## 开发步骤记录
|
||||
|
||||
### 前端
|
||||
|
||||
#### 初始化Element-plus项目
|
||||
|
||||
参考:https://blog.csdn.net/weixin_39237340/article/details/121132154
|
||||
|
||||
```bash
|
||||
# 检查 node 版本
|
||||
node -v
|
||||
# 安装 vue3 脚手架
|
||||
npm install -g @vue/cli
|
||||
# 查看安装的 vue/cli 版本
|
||||
vue --version
|
||||
# 使用GUI(可视化面板)形式来创建vue项目
|
||||
vue ui
|
||||
# npm install element-plus --save
|
||||
```
|
||||
|
||||
|
||||
|
||||
### 后端
|
||||
|
||||
#### SpringCloud组件
|
||||
|
||||
| 功能 | 组件 |
|
||||
| -------------------------------- | ------------------------------------------------------------ |
|
||||
| 服务注册中心(服务注册与发现) | Eureka(停更)、Zookeeper、Consul、Alibaba Nacos(推荐) |
|
||||
| 服务调用(服务负载与调用) | Netflix OSS Ribbon(进入维护)、SpringCloud LoadBlancer<br />Netflix Feign(停更)、OpenFeign |
|
||||
| 服务降级(服务熔断降级) | Hystrix(停更)、resilience4j、Alibaba Sentinel(推荐) |
|
||||
| 服务网关 | Zuul(停更)、Zuul2(胎死腹中)、SpringCloud Gateway(推荐) |
|
||||
| 服务分布式配置(服务分布式配置) | SpringCloud Config(不再使用)、Alibaba Nacos(推荐) |
|
||||
| 服务总线 | SpringCloud Bus(不再使用)、Alibaba Nacos(推荐) |
|
||||
| 服务开发 | Spring Boot |
|
||||
|
||||
|
||||
|
||||
#### 创建Module步骤
|
||||
|
||||
1. 创建Module
|
||||
2. 改pom
|
||||
3. 写yml
|
||||
4. 主启动
|
||||
5. 业务类
|
||||
|
Loading…
Reference in New Issue
Block a user