# huaweicloud-solution-prim-service **Repository Path**: HuaweiCloudDeveloper/huaweicloud-solution-prim-service ## Basic Information - **Project Name**: huaweicloud-solution-prim-service - **Description**: 本项目是Prim转售管理平台的后端,主要基于GO语言开发。 提供转售管理平台后台对接华为云合作伙伴中心功能,提供账号管理,资源管理等功能。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-30 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [TOC] ## 概述 - 功能描述:本项目是COC-Prim管理平台的后端,基于云厂商产品构建独立品牌云服务。 ## 组织结构 ``` ├── README.md ├── src | ├── common --HTTP的请求体与响应体 | ├── conf --配置文件 | ├── config --数据库配置文件 | ├── dao --数据库相关操作 | ├── db --数据库初始化 | ├── errcode --错误码 | ├── go.mod --项目依赖模块 | ├── logger --记录日志 | ├── main.go --程序入口 | ├── model --数据表 | ├── primservice --路由控制器以及鉴权 | ├── service --业务服务 | └── util --工具服务 ``` ## 编译 - 软件依赖:GO 1.18.4及以上版本; - 操作系统:CentOS7.5; ## 部署 1. 资源准备:RDS、OBS、ECS 3. 创建名称为dbName的数据库 4. 创建用于idp_metadata.xml验证的公私钥 生成私钥文件`private.key` ```shell openssl genrsa -out private.key 2048 ``` 生成证书文件`ca.crt`,有效期十年 ```shell openssl req -new -x509 -key private.key -out ca.crt -days 3650 ``` 5. 创建用于密码加密的公私钥 生成私钥文件`rsa_private_key.pem` ```shell openssl genrsa -out rsa_private_key.pem 2048 ``` 生成公钥文件`rsa_public_key.pem` ```shell openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem ``` 6. 把sp_metadata.xml, idp_metadata.xml, ca.crt, private.key, rsa_private_key.pem保存到服务器,rsa_public_key.pem保存到前端,位置和证书下载时指定路径相同 7. 设置配置文件config.ini ``` [DBConfig] DB_VIP='127.0.0.1' #数据库地址 DB_PORT='3306' #数据库端口 DB_USER='root' #数据库账号 DB_PWD='' #数据库密码 DB_NAME = '' #数据库名称 [OBSConfig] OBS_ENDPOINT = '' #obs的endpoint OBS_AK = '' #华为云账户的AK OBS_SK = '' #华为云账户的SK OBS_BUCKETNAME = '' #OBS创建的桶名--存放头像等信息 [COCOBSConfig] COC_OBS_ENDPOINT = '' #obs的endpoint COC_OBS_AK = '' #华为云账户的AK COC_OBS_SK = '' #华为云账户的SK COC_OBS_BUCKETNAME = '' #OBS创建的桶名--由合作伙伴中心的设置决定 [BSSConfig] BSS_ENDPOINT = '' #合作伙伴中心的endpoint BSS_AK = '' #合作伙伴bp账号的AK BSS_SK = '' #合作伙伴bp账号的SK BSS_XACCOUNT_TYPE = '' #伙伴平台标识 BSS_BPID = '' #合作伙伴bp账号的ID [AdminConfig] ADMIN_INIT_NAME = '' #平台管理员初始账号 ADMIN_INIT_PWD = '' #平台管理员初始密码 [RSAConfig] PRIVATE_KEY_PATH = "" # 用于密码加密的私钥路径 [SAMLConfig] SP_METADATA_PATH = "" # sp_metadata.xml文件路径 IDP_METADATA_PATH = "" # idp_metadata.xml文件路径 SIGNATURE_PRIVATE_KEY_PATH = "" # 用于idp_metadata.xml验证的私钥路径 SIGNATURE_CA_KEY_PATH = "" # 用于idp_metadata.xml验证的证书路径 ``` 6. 设置配置文件app.conf ``` redisHost = "127.0.0.1" # redis服务器ip redisPort = "" # redis服务器端口 redisPassword = "" # redis密码 redisDB = 0 # 使用的redis数据库 redisPrefix = "" # redis键前缀 sessionon = true # 开启session sessionname = "sessionId" # cookie的名字 SessionCookieLifeTime = 3600 sessiongcmaxlifetime = 3600 jwtkey = # JWT加密使用的密码 # jwtToken的存活时间单位为分钟 jwtTokenLifeTimeMinute = 60 # JWT token的存活时间,单位为分钟 # 使用http EnableHTTP = true EnableHTTPS = false EnableHttpTLS = false HTTPPort = 81 ``` 8. 在src目录下运行命令 ``` go mod tidy go build ./prim-server ``` ## API 文档 详细请查看[API文档](./doc/api.yaml) ## License 请查看[LICENSE](./LICENSE)