docs(deploy): 添加部署文档和安全设计规范
- 新增 XuqmGroup 部署文档,包含部署方案、架构建议和部署步骤 - 添加安全设计规范,涵盖密码安全、AppSecret验证和服务端API认证 - 补充平台REST API规范,定义Server-to-Server调用接口和错误码 - 创建Java IM服务端SDK计划文档,规划Maven包发布和接口实现
这个提交包含在:
父节点
663c0eeb10
当前提交
d318f7e8ad
@ -25,8 +25,8 @@
|
|||||||
| 字段 | 内容 |
|
| 字段 | 内容 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| **测试目的** | 验证 SDK 初始化及模块配置 |
|
| **测试目的** | 验证 SDK 初始化及模块配置 |
|
||||||
| **测试步骤** | 1. 在 `AppDelegate` 中调用 `XuqmSDK.shared.initialize(config: SDKConfig(appId:appSecret:))` <br> 2. 确认 `XuqmSDK.shared.requireConfig()` 返回有效配置 <br> 3. 确认 `ApiClient.shared` 已配置 baseURL 与拦截器 |
|
| **测试步骤** | 1. 在 `AppDelegate` 中调用 `XuqmSDK.shared.initialize(config: SDKConfig(appKey:appSecret:))` <br> 2. 确认 `XuqmSDK.shared.requireConfig()` 返回有效配置 <br> 3. 确认 `ApiClient.shared` 已配置 baseURL 与拦截器 |
|
||||||
| **预期结果** | 1. 初始化成功,无 fatalError <br> 2. `config.appId` 与传入值一致 <br> 3. `TokenStore` 已实例化 |
|
| **预期结果** | 1. 初始化成功,无 fatalError <br> 2. `config.appKey` 与传入值一致 <br> 3. `TokenStore` 已实例化 |
|
||||||
| **实际结果** | 待测试 |
|
| **实际结果** | 待测试 |
|
||||||
| **通过状态** | ⬜ |
|
| **通过状态** | ⬜ |
|
||||||
|
|
||||||
|
|||||||
@ -224,7 +224,7 @@ platform :ios do
|
|||||||
tenant_url = options[:tenant_url].to_s.strip
|
tenant_url = options[:tenant_url].to_s.strip
|
||||||
return {} if tenant_url.empty?
|
return {} if tenant_url.empty?
|
||||||
|
|
||||||
uri = URI("#{tenant_url}/api/sdk/config?appId=#{options[:app_key]}&platform=#{options[:platform]}")
|
uri = URI("#{tenant_url}/api/sdk/config?appKey=#{options[:app_key]}&platform=#{options[:platform]}")
|
||||||
req = Net::HTTP::Get.new(uri)
|
req = Net::HTTP::Get.new(uri)
|
||||||
resp = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |h| h.request(req) }
|
resp = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |h| h.request(req) }
|
||||||
body = JSON.parse(resp.body)
|
body = JSON.parse(resp.body)
|
||||||
@ -235,7 +235,7 @@ platform :ios do
|
|||||||
end
|
end
|
||||||
|
|
||||||
private_lane :xuqm_get_latest_version_code do |options|
|
private_lane :xuqm_get_latest_version_code do |options|
|
||||||
uri = URI("#{options[:server_url]}/api/v1/updates/app/list?appId=#{options[:app_key]}&platform=#{options[:platform]}")
|
uri = URI("#{options[:server_url]}/api/v1/updates/app/list?appKey=#{options[:app_key]}&platform=#{options[:platform]}")
|
||||||
req = Net::HTTP::Get.new(uri)
|
req = Net::HTTP::Get.new(uri)
|
||||||
req["Authorization"] = "Bearer #{options[:api_token]}"
|
req["Authorization"] = "Bearer #{options[:api_token]}"
|
||||||
resp = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |h| h.request(req) }
|
resp = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |h| h.request(req) }
|
||||||
@ -249,7 +249,7 @@ platform :ios do
|
|||||||
|
|
||||||
uri = URI("#{options[:server_url]}/api/v1/updates/app/upload")
|
uri = URI("#{options[:server_url]}/api/v1/updates/app/upload")
|
||||||
request = Net::HTTP::Post::Multipart.new(uri.path,
|
request = Net::HTTP::Post::Multipart.new(uri.path,
|
||||||
"appId" => options[:app_key],
|
"appKey" => options[:app_key],
|
||||||
"platform" => "IOS",
|
"platform" => "IOS",
|
||||||
"versionName" => options[:version_name],
|
"versionName" => options[:version_name],
|
||||||
"versionCode" => options[:version_code].to_s,
|
"versionCode" => options[:version_code].to_s,
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户