diff --git a/README.md b/README.md index f926723..dd34808 100644 --- a/README.md +++ b/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(集成开发环境)、
Postman(接口测试) | Maven 3.6.3 | | +| 小程序 | Taro 3.x(小程序跨端解决方案)、Vue 3(JavaScript框架) | VS Code(代码编辑器)、
微信开发者工具(微信小程序打包工具)、
小程序开发工具(支付宝小程序打包工具) | 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 文件,找到如下位置,将 `` 部分粘贴进去: +> +> ```xml +> +> +> +> +> +> alimaven +> aliyun maven +> https://maven.aliyun.com/repository/public +> central +> +> +> +> ``` +> +> 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/ ,然后左侧菜单最后一项【设置】,滑到最下面【帐号信息】,AppID(小程序ID)一栏就是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
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目录下,所以不可以同时开发调试 + +- 拉取项目仓库最新代码&切换到对应分支 + ## 相关链接 diff --git a/docs/开发步骤记录.md b/docs/开发步骤记录.md new file mode 100644 index 0000000..91f38ab --- /dev/null +++ b/docs/开发步骤记录.md @@ -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
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. 业务类 +