jnpf3.6私有化部署

文件内容

project

        

web


>

 特别说明:源码、JDK、MySQL、Redis等安装或存放路径禁止包含中文、空格、特殊字符等## 一 技术栈- 主框架:`Spring Boot` + `Spring Framework`
- 持久层框架:`MyBatis-Plus`
- 数据库连接池:`Alibaba Druid`
- 多数据源:`Dynamic-Datasource`
- 数据库兼容: `MySQL`(默认)、`SQLServer`、`Oracle`、`PostgreSQL`、`达数据库`、`人大金仓数据库`
- 分库分表解决方案:`Apache ShardingSphere`
- 权限认证框架:`Sa-Token`+`JWT`
- 代码生成器:`MyBatis-Plus-Generator`
- 模板引擎:`Velocity`
- 任务调度:`XXL-JOB`
- 分布式锁:`Lock4j`
- JSON序列化: `Jackson`&`Fastjson`
- 缓存数据库:`Redis`
- 校验框架:`Validation`
- 分布式文件存储:兼容`MinIO`及多个云对象存储,如阿里云 OSS、华为云 OBS、七牛云 Kodo、腾讯云 COS等
- 工具类框架:`Hutool`、`Lombok`
- 接口文档:`Knife4j`
- 项目构建:`Maven`## 二 环境要求### 2.1 开发环境| 类目 | 版本说明或建议                                                                                                                                                       |
| --- |---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 电脑配置 | 建议开发电脑I3及以上CPU,内存16G及以上                                                                                                                                       |
| 操作系统 | Windows 10/11,MacOS                                                                                                                                           |
| JDK | 建议使用`1.8.0_281`及以上版本,可使用`Eclipse Temurin JDK 8`、`Alibaba Dragonwell 8`、`BiSheng JDK 8`等                                                                       |
| Maven | `3.6.3`及以上版本                                                                                                                                                  |
| 数据缓存 | Redis `3.2.100`(Windows)/`4.0.x`+ (Linux,Mac)  或  TongRDS `2.2.x`                                                                                             |
| 数据库 | 兼容`MySQL 5.7.x/8.0.x`(默认)、`SQLServer 2012+`、`Oracle 11g`、`PostgreSQL 12+`、`达梦数据库(DM8)`、`人大金仓数据库(KingbaseES_V8R6)`                                             |
| 后端开发 | `IDEA2020`及以上版本、`Eclipse` 、 `Spring Tool Suite`等                                                                                                              |
| 前端开发 | `Node.js` v16.15.0(某些情况下可能需要安装 `Python3`)及以上版本;<br/>`Yarn` v1.22.x 版本;<br/>`pnpm` v8.10及以上版本;<br/>浏览器推荐使用`Chrome` 90及以上版本;<br/>`Visual Studio Code`(简称VSCode) |
| 移动端开发 | `Node.js` v12/v14/v16(某些情况下可能需要安装 Python3);<br/>HBuilder X(最新版)                                                                                               |
| 文件存储 | 默认使用本地存储,兼容 `MinIO` 及多个云对象存储,如`阿里云 OSS`、`华为云 OBS`、`七牛云 Kodo`、`腾讯云 COS`等                                                                                       |### 2.2 运行环境> 适用于测试或生产环境| 类目 | 版本说明或建议                                                                                                           |
| --- |-------------------------------------------------------------------------------------------------------------------|
| 服务器配置 | 最低配置要求:4c/16G/50G;                                                                                                |
| 操作系统 | 推荐使用`Ubuntu 18.0.4`及以上版本,兼容 `统信UOS`,`OpenEuler`,`麒麟服务器版`等国产信创环境;                                                  |
| JRE | 建议使用`1.8.0_281`及以上版本,如`Eclipse Temurin JRE 8/11/17`、`Alibaba Dragonwell 8/11/17`、`BiSheng JRE 8/11/17`;           |
| 数据缓存 | Redis `4.0.x+` 或 TongRDS `2.2.x`                                                                                  |
| 数据库 | 兼容`MySQL 5.7.x/8.0.x`(默认)、`SQLServer 2012+`、`Oracle 11g`、`PostgreSQL 12+`、`达梦数据库(DM8)`、`人大金仓数据库(KingbaseES_V8R6)` |
| 中间件(可选) | 东方通 `Tong-web`、金蝶天燕-应用服务器`AAS` v10;                                                                               |
| 文件存储 | 默认使用本地存储,兼容`MinIO`及多个云对象存储,如阿里云 OSS、华为云 OBS、七牛云 Kodo、腾讯云 COS等                                                     |
| 前端服务器 | Nginx 建议使用`1.18.0`及以上版本  或 TongHttpServer `6.0`                                                                   |## 三 IDEA插件- `Lombok`(必须)
- `Alibaba Java Coding Guidelines`
- `MybatisX`## 四 Maven私服配置> Apache Maven 3.6.3及以上版本<br>解决以下依赖无法从公共Maven仓库下载的问题- com.dm:DmJdbcDriver18:1.8.0
- com.kingbase8:kingbase8-jdbc:2.0
- dingtalk-sdk-java:taobao-sdk-java-source:1.0
- dingtalk-sdk-java:taobao-sdk-java:1.0打开Maven安装目录中的 `conf/settings.xml` 文件,<br>
在 `<servers></servers>` 中添加如下内容```xml
<server><id>maven-releases</id><username>jnpf-user</username><password>HLrQ0MA%S1nE</password>
</server>
```
在 `<mirrors></mirrors>` 中添加```xml
<mirror><id>maven-releases</id><mirrorOf>*</mirrorOf><name>maven-releases</name><url>https://repository.jnpfsoft.com/repository/maven-public/</url>
</mirror>
```## 五 配套项目| 项目 | 分支 | 分支(Coding) | 说明 |
| --- | --- | --- | --- |
| **后端** |  |  |  |
| jnpf-common | v3.6.x | v3.6.x-stable | java基础依赖项目源码 |
| jnpf-file-core-starter | v3.6.x | v3.6.x-stable | 文件基础依赖项目源码 |
| jnpf-scheduletask | v3.6.x | v3.6.x-stable | 任务调度客户端依赖及服务端项目源码 |
| jnpf-datareport | v3.6.x | v3.6.x-stable | 报表后端项目源码 |
| jnpf-file-preview | v3.6.x | v3.6.x-stable | 本地文档预览项目源码 |
| **前端** |  |  |  |
| jnpf-web | v3.6.x | v3.6.x-stable | 前端主项目(Vue2)源码 |
| jnpf-web-vue3 | v3.6.x | v3.6.x-stable | 前端主项目(Vue3)源码 |
| jnpf-web-datascreen | v3.6.x | v3.6.x-stable | 大屏前端项目(Vue2)源码 |
| jnpf-web-datascreen-vue3 | v3.6.x | v3.6.x-stable | 大屏前端项目(Vue3)源码 |
| jnpf-web-datareport | v3.6.x | v3.6.x-stable | 报表前端项目源码 |
| **移动端** |  |  |  |
| jnpf-app | v3.6.x | v3.6.x-stable | 移动端项目(Vue2)源码 |
| jnpf-app-vue3 | v3.6.x | v3.6.x-stable | 移动端项目(Vue3)源码 |
| **静态资源** |  |  |  |
| jnpf-resources | v3.6.x | v3.6.x-stable | 静态资源 |
| **数据库** |  |  |  |
| jnpf-database | v3.6.x | v3.6.x-stable | 数据库脚本或文件 |## 六 开发环境### 6.1 导入数据库脚本> 以 MySQL数据库为例<br>字符集:utf8mb4<br/>排序规则:utf8mb4_general_ci#### 6.1.1 创建平台数据库在MySQL创建 `jnpf_init` 数据库,并将 `jnpf-database/MySQL/jnpf_init.sql` 以【新建查询】方式导入#### 6.1.2 创建系统调度数据库在MySQL创建 `jnpf_xxjob` 数据库,并将 `jnpf-database/MySQL/jnpf_xxjob_init.sql` 以【新建查询】方式导入### 6.2 导入依赖#### 6.2.1 基础依赖详见 `jnpf-common` 项目中的 `README.md` 文档说明#### 6.2.2 文件基础依赖详见 `jnpf-file-starter` 项目中的 `README.md` 文档说明#### 6.2.3 导入系统调度服务端详见 `jnpf-scheduletask` 项目中的 `README.md` 文档说明### 6.3 项目配置打开编辑 `jnpf-admin/src/main/resources/application.yml`#### 6.3.1 指定环境配置- `application-dev.yml`  开发环境(默认)
- `application-test.yml`  测试环境
- `application-preview.yml` 预发布环境
- `application-pro.yml` 生产环境```yaml
# application.yml第5行,可选值:dev(默认)|test|pro|preview
active: dev
```
#### 6.3.2 配置域名
打开编辑 `jnpf-admin/src/main/resources/application.yml` ,修改以下配置```yamlPreviewType: kkfile #文件预览方式 (1.yozo 2.kkfile)默认使用kkfilekkFileUrl: http://127.0.0.1:30090/FileServer/ #kkfile文件预览服务地址ApiDomain: http://127.0.0.1:30000 #后端域名(文档预览中使用)FrontDomain: http://127.0.0.1:3000 #前端域名(文档预览中使用)AppDomain: http://127.0.0.1:8080 #app/h5端域名配置(文档预览中使用)
```#### 6.3.3 数据源配置打开编辑 `jnpf-admin/src/main/resources/application-dev.yml`,修改以下配置
> 具体配置说明参考:[https://jnpfsoft.coding.net/p/jnpf-docs/wiki/2165](https://jnpfsoft.coding.net/p/jnpf-docs/wiki/2165)```yamldatasource:db-type: MySQL #数据库类型(可选值 MySQL、SQLServer、Oracle、DM8、KingbaseES、PostgreSQL,请严格按可选值填写)host: 192.168.0.213port: 3306username: rootpassword: a26d27e6a6cd4538db-name: java_boot_testdb-schema: #金仓达梦选填prepare-url: #自定义url
```
#### 6.3.4 Redis配置打开编辑 `jnpf-admin/src/main/resources/application-dev.yml`,修改以下配置
> 支持单机模式和集群模式,配置默认为单机模式**Redis单机模式**```yamlredis:database: 200 #缓存库编号host: 192.168.0.213port: 6379password: ucfbVgZgyB0dBQdh  # 密码为空时,请将本行注释timeout: 3000 #超时时间(单位:秒)lettuce: #Lettuce为Redis的Java驱动包pool:max-active: 8 # 连接池最大连接数max-wait: -1ms  # 连接池最大阻塞等待时间(使用负值表示没有限制)min-idle: 0 # 连接池中的最小空闲连接max-idle: 8 # 连接池中的最大空闲连接
```**Redis集群模式**```yamlredis:cluster:nodes:- 192.168.0.225:6380- 192.168.0.225:6381- 192.168.0.225:6382- 192.168.0.225:6383- 192.168.0.225:6384- 192.168.0.225:6385password: 123456 # 密码为空时,请将本行注释timeout: 3000 # 超时时间(单位:秒)lettuce: #Lettuce为Redis的Java驱动包pool:max-active: 8 # 连接池最大连接数max-wait: -1ms  # 连接池最大阻塞等待时间(使用负值表示没有限制)min-idle: 0 # 连接池中的最小空闲连接max-idle: 8 # 连接池中的最大空闲连接
```
#### 6.3.5 静态资源配置打开编辑 `jnpf-admin/src/main/resources/application-dev.yml` ,修改以下配置
> 默认使用本地存储,兼容`MinIO`及多个云对象存储,如阿里云 OSS、华为云 OBS、七牛云 Kodo、腾讯云 COS等```yaml# ===================== 文件存储配置 =====================file-storage: #文件存储配置,不使用的情况下可以不写default-platform: local-plus-1 #默认使用的存储平台thumbnail-suffix: ".min.jpg" #缩略图后缀,例如【.min.jpg】【.png】local-plus: # 本地存储升级版- platform: local-plus-1 # 存储平台标识enable-storage: true  #启用存储enable-access: true #启用访问(线上请使用 Nginx 配置,效率更高)domain: "" # 访问域名,例如:“http://127.0.0.1:8030/”,注意后面要和 path-patterns 保持一致,“/”结尾,本地存储建议使用相对路径,方便后期更换域名base-path: D:/project/jnpf-resources/ # 基础路径path-patterns: /** # 访问路径storage-path:  # 存储路径aliyun-oss: # 阿里云 OSS ,不使用的情况下可以不写- platform: aliyun-oss-1 # 存储平台标识enable-storage: false  # 启用存储access-key: ??secret-key: ??end-point: ??bucket-name: ??domain: ?? # 访问域名,注意“/”结尾,例如:https://abc.oss-cn-shanghai.aliyuncs.com/base-path: hy/ # 基础路径qiniu-kodo: # 七牛云 kodo ,不使用的情况下可以不写- platform: qiniu-kodo-1 # 存储平台标识enable-storage: false  # 启用存储access-key: ??secret-key: ??bucket-name: ??domain: ?? # 访问域名,注意“/”结尾,例如:http://abc.hn-bkt.clouddn.com/base-path: base/ # 基础路径tencent-cos: # 腾讯云 COS- platform: tencent-cos-1 # 存储平台标识enable-storage: false  # 启用存储secret-id: ??secret-key: ??region: ?? #存仓库所在地域bucket-name: ??domain: ?? # 访问域名,注意“/”结尾,例如:https://abc.cos.ap-nanjing.myqcloud.com/base-path: hy/ # 基础路径minio: # MinIO,由于 MinIO SDK 支持 AWS S3,其它兼容 AWS S3 协议的存储平台也都可配置在这里- platform: minio-1 # 存储平台标识enable-storage: true  # 启用存储access-key: Q9jJs2b6Tvsecret-key: Thj2WkpLu9DhmJyJend-point: http://192.168.0.207:9000/bucket-name: jnpfsoftossdomain:  # 访问域名,注意“/”结尾,例如:http://minio.abc.com/abc/base-path:  # 基础路径
```
#### 6.3.6 第三方登录配置打开编辑 `jnpf-admin/src/main/resources/application-dev.yml` ,修改以下配置
> 配置默认关闭```yaml
socials:# 第三方登录功能开关(false-关闭,true-开启)socials-enabled: falseconfig:- # 微信provider: wechat_openclient-id: your-client-idclient-secret: your-client-secret- # qqprovider: qqclient-id: your-client-idclient-secret: your-client-secret- # 企业微信provider: wechat_enterpriseclient-id: your-client-idclient-secret: your-client-secretagentId: your-agentId- # 钉钉provider: dingtalkclient-id: your-client-idclient-secret: your-client-secretagentId: your-agentId- # 飞书provider: feishuclient-id: your-client-idclient-secret: your-client-secret- # 小程序provider: wechat_appletsclient-id: your-client-idclient-secret: your-client-secret
```
#### 6.3.7 任务调度配置打开编辑 `jnpf-admin/src/main/resources/application-dev.yml` ,修改以下配置,调整 xxl.job.admin.addresses 地址```yaml
xxl:job:accessToken: ''i18n: zh_CNlogretentiondays: 30triggerpool:fast:max: 200slow:max: 100# xxl-job服务端地址admin:addresses: http://127.0.0.1:30020/xxl-job-admin/executor:address: ''appname: xxl-job-executor-sample1ip: ''logpath: /data/applogs/xxl-job/jobhandlerlogretentiondays: 30port: 9999# rest调用xxl-job接口地址admin:register:handle-query-address: ${xxl.job.admin.addresses}api/handler/queryListjob-info-address: ${xxl.job.admin.addresses}api/jobinfolog-query-address: ${xxl.job.admin.addresses}api/logtask-list-address: ${xxl.job.admin.addresses}api/ScheduleTask/Listtask-info-address: ${xxl.job.admin.addresses}api/ScheduleTask/getInfotask-save-address: ${xxl.job.admin.addresses}api/ScheduleTasktask-update-address: ${xxl.job.admin.addresses}api/ScheduleTasktask-remove-address: ${xxl.job.admin.addresses}api/ScheduleTask/removetask-start-or-remove-address: ${xxl.job.admin.addresses}api/ScheduleTask/updateTask
```
## 七 启动项目找到`jnpf-admin/src/main/java/JnpfAdminApplication.java`,右击运行即可。## 八 项目发布- 在IDEA中,双击右侧Maven中 `jnpf-java-boot` > `Lifecycle` > `clean` 清理项目
- 在IDEA中,双击右侧Maven中 `jnpf-java-boot` > `Lifecycle` > `package` 打包项目
- 打开 `jnpf-java-boot\jnpf-admin\target`,将 `jnpf-admin-3.5.0-RELEASE.jar` 上传至服务器## 九 接口文档- `http://localhost:30000/doc.html`

运行后结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/787708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV与AI深度学习 | 实战 | YOLOv8自定义数据集训练实现手势识别 (标注+训练+预测 保姆级教程)

本文来源公众号“OpenCV与AI深度学习”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;实战 | YOLOv8自定义数据集训练实现手势识别 (标注训练预测 保姆级教程) 0 导 读 本文将手把手教你用YoloV8训练自己的数据集并实现手势识别…

IDEA中连接SQLserver数据库(DataGrip相同连接)

IDEA中连接SQLserver数据库(DataGrip相同连接) 1. 打开IDEA-database组件 2. 新建SQL server连接 3. 填写信息进行连接 填写连接名称&#xff0c;连接主机IP&#xff0c;端口&#xff0c;默认端口1433&#xff0c;数据库用户名密码&#xff0c;默认数据库用户名是sa 第一次连接…

2024最新软件测试【测试理论+ 接口自动化测试】面试题(内附答案)

一、测试理论 3.1 你们原来项目的测试流程是怎么样的? 我们的测试流程主要有三个阶段&#xff1a;需求了解分析、测试准备、测试执行。 1、需求了解分析阶段 我们的 SE 会把需求文档给我们自己先去了解一到两天这样&#xff0c;之后我们会有一个需求澄清会议&#xff0c; …

LLMs 可能在 2 年内彻底改变金融行业

在艾伦图灵研究所&#xff08;The Alan Turing Institute&#xff09;最新的一项研究中&#xff0c;我们看到了大型语言模型&#xff08;Large Language Models&#xff0c;LLMs&#xff09;的一种可能性。它有望通过检测欺诈行为、生成财务洞察以及自动化客户服务&#xff0c;…

Java的编程之旅44——学生信息管理系统

目录 1.MVC设计模式初探 文件结构的搭建 2.Student类用来初始化学生信息 3.主函数里的两个功能 1.调用初始化学生信息的功能 2.输出欢迎界面功能 4.Global类中方法的编写 5.StuPage类&#xff0c;StuCtrl类&#xff0c;StuModel类中方法的编写 1.查询功能 selStu方法的…

想要成为一名合格的软件测试工程师,你得会些啥?

对于很多新入行或者打算入行&#xff0c;成为软件测试工程师的小伙伴来说&#xff0c;刚开始接触这行&#xff0c;不知道自己究竟该学些什么&#xff0c;或者不知道必须掌握哪些知识&#xff0c;才能成为一名合格的测试工程师。 根据笔者观点&#xff0c;如果你能在学习过程中…

每日一题 第六十四期 洛谷 树状数组模板2

【模板】树状数组 2 题目描述 如题&#xff0c;已知一个数列&#xff0c;你需要进行下面两种操作&#xff1a; 将某区间每一个数加上 x x x&#xff1b; 求出某一个数的值。 输入格式 第一行包含两个整数 N N N、 M M M&#xff0c;分别表示该数列数字的个数和操作的总…

iOS17 隐私协议适配详解

1. 背景 网上搜了很多文章&#xff0c;总算有点头绪了。其实隐私清单最后做出来就是一个plist文件。找了几个常用三方已经配好的看了看&#xff0c;比着做就好了。 WWDC23 中关于隐私部分的更新&#xff08;WWDC23 隐私更新官网&#xff09;&#xff0c;其中提到了第三方 SDK 的…

简单而复杂的Python

Python是一种简单&复杂的编程语言。简单的时候可以到极致&#xff1a; print(hello world!)另一方面&#xff0c;Python 也具有许多复杂的语法特性&#xff0c;例如面向对象编程、装饰器、迭代器、生成器等等。这些特性使得 Python 适用于各种不同的编程任务和项目。 当我…

手撸一个简易 Grid 拖拽布局

公众号&#xff1a;程序员白特&#xff0c;欢迎一起交流学习~ 以下文章来源于稀土掘金技术社区 &#xff0c;作者游仙好梦 最近有个需求需要实现自定义首页布局&#xff0c;需要将屏幕按照 6 列 4 行进行等分成多个格子&#xff0c;然后将组件可拖拽对应格子进行渲染展示。 对比…

实验:基于Red Hat Enterprise Linux系统的创建磁盘和磁盘分区(一)

目录 一. 实验目的 二. 实验内容 三. 实验设计描述及实验结果 fdisk [参数] [设备] 1. 为虚拟机添加1块大小为3-5G的硬盘nvme&#xff0c;将该硬盘划分1个主分区和两个逻辑分区分别为600MB。 partprobe [选项] [设备] 2. 将主分区格式化为ext4文件系统并挂载到/自己名字命名…

二百二十九、离线数仓——离线数仓Hive从Kafka、MySQL到ClickHouse的完整开发流程

一、目的 为了整理离线数仓开发的全流程&#xff0c;算是温故知新吧 离线数仓的数据源是Kafka和MySQL数据库&#xff0c;Kafka存业务数据&#xff0c;MySQL存维度数据 采集工具是Kettle和Flume&#xff0c;Flume采集Kafka数据&#xff0c;Kettle采集MySQL数据 离线数仓是Hi…

iOS苹果签名共享签名是什么以及如何获取?

哈喽&#xff0c;大家好呀&#xff0c;咕噜淼淼又来和大家见面啦&#xff0c;最近有很多朋友都来向我咨询共享签名iOS苹果IPA共享签名是什么&#xff0c;针对这个问题&#xff0c;淼淼来解答一下大家的疑惑并告诉大家iOS苹果ipa共享签名需要如何获取。 现在苹果签名在市场上的…

2024最新软件测试【测试理论+ 接口测试】面试题(内附答案)

一、测试理论 3.1 你们原来项目的测试流程是怎么样的? 我们的测试流程主要有三个阶段&#xff1a;需求了解分析、测试准备、测试执行。 1、需求了解分析阶段 我们的 SE 会把需求文档给我们自己先去了解一到两天这样&#xff0c;之后我们会有一个需求澄清会议&#xff0c; …

加密/ 解密 PDF:使用Python为PDF文档设置、移除密码

在数字化时代&#xff0c;文档的安全性变得越来越重要。特别是对于包含敏感信息的PDF文件&#xff0c;确保其不被未经授权的人员访问或修改是至关重要的。本文将介绍如何使用Python在PDF文档中设置密码&#xff0c;以及如何移除已经设置的密码。 目录 PDF加密基础知识 Pytho…

蓝桥杯第1593题——二进制问题

题目描述 小蓝最近在学习二进制。他想知道 1 到 N 中有多少个数满足其二进制表示中恰好有 K 个 1。你能帮助他吗&#xff1f; 输入描述 输入一行包含两个整数 N 和 K。 输出描述 输出一个整数表示答案。 输入输出样例 示例 输入 7 2输出 3评测用例规模与约定 对于 30% …

【SQL】1633. 各赛事的用户注册率(COUNT函数 表达式用法)

题目描述 leetcode题目&#xff1a;1633. 各赛事的用户注册率 Code select contest_id, round(count(*)/(select count(*) from Users)*100, 2) as percentage from Register group by contest_id order by percentage desc, contest_id ascCOUNT()函数 COUNT函数用法&#…

C语言联合体,枚举详解

1. 前言 前边我们已经了解了结构体在C语言当中是如何使用的&#xff0c;今天咱来一起聊一聊联合体与枚举在C语言当中又是如何运用的呢 2. 联合体的了解与运用 2.1 联合体的声明&#xff1a; 相比于结构体来说&#xff0c;联合体最大的区别就在于它是联合体当中所有成员共用一…

易语言控件绑定数据库

易语言是一门中文编程语言&#xff0c;由国人开发&#xff0c;虽然比较冷门&#xff0c;但是在有些场合却非常流行&#xff0c;比如自动化脚本&#xff0c;还有开发外挂。 在易语言中&#xff0c;只要控件的属性里有数据源的都可以与数据库的数据绑定&#xff0c;以下将演示易…