From 3370f0507d5296c9c2ce1c7a16263049c1d97608 Mon Sep 17 00:00:00 2001 From: zheng020 Date: Fri, 22 May 2026 14:22:21 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=A1=A5=E5=85=85=E9=98=BF=E9=87=8C?= =?UTF-8?q?=E4=BA=91Go=20SDK=E8=AF=A6=E7=BB=86=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修正SDK包名为 github.com/alibabacloud-go/dysmsapi-20180501/v2 - 补充环境要求、安装方式、API Endpoint - 新增12.5节:Go SDK使用说明(依赖安装、客户端初始化、发送短信代码示例) - 新增返回码说明(OK、频率限制、内容违规等) - 更新12.6相关文档链接,补充快速入门和SDK示例地址 Co-Authored-By: Claude Opus 4.7 --- .../specs/2026-05-22-sms-register-design.md | 80 +++++++++++++++++-- 1 file changed, 75 insertions(+), 5 deletions(-) diff --git a/docs/superpowers/specs/2026-05-22-sms-register-design.md b/docs/superpowers/specs/2026-05-22-sms-register-design.md index c29d348..d1cee7e 100644 --- a/docs/superpowers/specs/2026-05-22-sms-register-design.md +++ b/docs/superpowers/specs/2026-05-22-sms-register-design.md @@ -155,8 +155,12 @@ register.vue setNickname.vue | 项目 | 选择 | |------|------| -| 短信 SDK | `github.com/aliyundysms/dysmsapi-go-sdk`(阿里官方 Go SDK,需确认最新包名) | -| 认证方式 | AccessKeyID/Secret(短信服务使用直接 AccessKey,非 OSS 的 STS 方式) | +| 短信 SDK | `github.com/alibabacloud-go/dysmsapi-20180501/v2`(阿里官方 V2 Go SDK) | +| 环境要求 | Go 1.10.x 或更高 | +| 安装方式 | `go get github.com/alibabacloud-go/dysmsapi-20180501/v2` | +| 依赖包 | 还需 `github.com/alibabacloud-go/darabonba-openapi/v2/client` | +| 认证方式 | 阿里云默认凭据链(AccessKey 等)自动查找 | +| API Endpoint | `dysmsapi.aliyuncs.com` | | 验证码存储 | Redis(已部署,过期自动失效) | | 推荐方案 | **方案一**(userService) | @@ -399,11 +403,77 @@ SMS_REGION=cn-hangzhou - 签名名称(SignName) - 模板 CODE(TemplateCode) -### 12.5 相关文档 +### 12.5 Go SDK 使用说明 + +#### 依赖安装 + +```bash +go get github.com/alibabacloud-go/dysmsapi-20180501/v2 +go get github.com/alibabacloud-go/darabonba-openapi/v2/client +go get github.com/aliyun/credentials-go/credentials +go get github.com/alibabacloud-go/tea/tea +go get github.com/alibabacloud-go/tea-utils/v2/service +``` + +#### 初始化客户端 + +```go +import ( + dysmsapi20180501 "github.com/alibabacloud-go/dysmsapi-20180501/v2/client" + openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client" + credential "github.com/aliyun/credentials-go/credentials" +) + +// 使用默认凭据链初始化 +cred, _ := credential.NewCredential(nil) +config := &openapi.Config{ + Credential: cred, + Endpoint: tea.String("dysmsapi.aliyuncs.com"), +} +client, _ := dysmsapi20180501.NewClient(config) +``` + +#### 发送短信(注册验证码场景) + +```go +// 构造请求 +request := &dysmsapi20180501.SendSmsRequest{ + PhoneNumbers: tea.String("13800138000"), // 手机号 + SignName: tea.String("TopFans"), // 签名 + TemplateCode: tea.String("SMS_xxxxxxx"), // 模板CODE + TemplateParam: tea.String(`{"code":"123456"}`), // 模板变量 +} + +// 发送 +resp, err := client.SendSmsWithOptions(request, &util.RuntimeOptions{}) +if err != nil { + // 错误处理 + return err +} + +// 成功返回 +fmt.Println(resp.Body.RequestId) // 请求ID +fmt.Println(resp.Body.Code) // 状态码 +fmt.Println(resp.Body.Message) // 状态消息 +``` + +#### 返回码说明 + +| Code | Message | 说明 | +|------|---------|------| +| OK | 请求成功 | 短信发送成功 | +| isv.BUSINESS_LIMIT_CONTROL | 触发频率限制 | 发送过于频繁 | +| isv.DAY_LIMIT_CONTROL | 触发日限额 | 当天发送量已达上限 | +| isv.SMS_CONTENT_ILLEGAL | 内容违规 | 短信内容包含敏感词 | +| isv.MOBILE_NUMBER_ILLEGAL | 手机号格式错误 | 手机号不符合规范 | + +### 12.6 相关文档 - [阿里云短信服务帮助文档](https://help.aliyun.com/zh/sms) -- [短信 API 调用指南](https://help.aliyun.com/zh/sms/developer-reference/sendSms) -- [Go SDK 文档](https://help.aliyun.com/zh/sms/developer-reference/aliyun-java-sdk-sms) +- [快速入门(Go SDK)](https://help.aliyun.com/zh/sms/getting-started/get-started-with-sms) +- [SDK 示例](https://help.aliyun.com/zh/sms/sdk-demo/go) +- [SendSms API 文档](https://help.aliyun.com/zh/sms/developer-reference/sendsms) +- [Go SDK 源码仓库](https://github.com/alibabacloud-go/dysmsapi-20180501/) ---