# iSignature-platform
**Repository Path**: nc-xzeng/i-signature-platform
## Basic Information
- **Project Name**: iSignature-platform
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-07-29
- **Last Updated**: 2024-07-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 电子印章微服务平台
### 一、简介
搭建基于OAuth2的开放平台、为APP端、应用服务提供统一接口管控平台、为第三方合作伙伴的业务对接提供授信可控的技术对接平台
+ 分布式架构,Nacos(服务注册+配置中心)统一管理
+ 统一API网关(参数验签、身份认证、接口鉴权、接口调试、接口限流、接口状态、接口外网访问)
+ 统一oauth2认证协议
### 二、功能介绍
### 三、代码结构
### 四、快速开始
本项目基于SpringCloud打造的分布式快速开发框架,需要了解SpringCloud,SpringBoot开发,分布式原理。
#### 4.1 准备环境
**1.JDK**
```
V1.8.0_181
```
**2.Maven**
```
V3.5.3
```
**3.nacos**
```
docker pull nacos/nacos-server:latest
docker run --name nacos -e MODE=standalone -p 8848:8848 -d nacos/nacos-server:latest
```
**4.Redis**
```
docker pull redis:latest
docker run -itd --name redis-test -p 6379:6379 redis
```
**5.RocketMQ**
```
1.下载解压rocketmq
unzip rocketmq-all-5.2.0-bin-release.zip
2.开启NameServer
bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log
3.开启Broker和Proxy
bin/mqbroker -n localhost:9876 --enable-proxy &
tail -f ~/logs/rocketmqlogs/proxy.log
==修改启动内存
修改runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmxg -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
调整broker的内存(默认是 JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g")
修改runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g"
4.发送和接受消息
client-sdk
5.关闭服务
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
MQ看板
nohup java -jar rocketmq-dashboard-1.0.0.jar &
http://192.168.145.128:8088/#/
```
**6.Mysql**
```
1. 拉取MySQL官方镜像
docker pull mysql:5.7.37
2. 运行MySQL容器
docker run -p 3306:3306 --name mysql -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
命令说明:
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-v $PWD/conf/my.cnf:/etc/mysql/my.cnf:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf
-v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs
-v $PWD/data:/mysql_data:将主机当前目录下的data目录挂载到容器的/mysql_data
-e MYSQL_ROOT_PASSWORD=cG8#uC6::初始化root用户的密码
3、建库
CREATE DATABASE IF NOT EXISTS open_platform
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
4、创建用户:
CREATE USER 'jxca'@'%' IDENTIFIED BY 'cG8#uC6:';
5、授权
GRANT ALL ON open_platform.* TO 'jxca'@'%';
```
2. 执行创建数据库open-platform并执行sql脚本
* docs/sql/oauth2.sql
* docs/sql/base.sql
* docs/sql/gateway.sql
* docs/sql/quartz.sql && scheduler.sql
3. 访问http:localhost:8848/nacos
新建配置文件
```
项目目录/docs/config/db.properties > db.properties
项目目录/docs/config/rocketmq.properties > rocketmq.properties
项目目录/docs/config/redis.properties > redis.properties
项目目录/docs/config/common.properties > common.properties
```
4. 修改主pom.xml
初始化Maven项目
```
maven clean install
```
修改项目目录/pom.xml中nacos配置
```
10.142.12.217:8848
823f7c00-30fd-4929-a930-1d05390d0c43
10.142.12.217:8848
```
5. 服务启动顺序
```
1. BaseApplication(通用权限服务)
2. UaaAdminApplication(平台用户认证服务器)
3. ApiGatewayZuulApplication(网关服务)
访问 http://localhost:8888
接口文档:http://localhost:8888/doc.html
```