# 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 ```