Files

56 lines
1.4 KiB
Go

package aliyun
import (
"context"
"fmt"
afs "github.com/alibabacloud-go/afs-20180112/client"
rpc "github.com/alibabacloud-go/tea-rpc/client"
"github.com/gogf/gf/v2/frame/g"
"server/internal/model"
icaptcha "server/utility/captcha"
)
type aliyunClient struct {
accessKeyId string
accessKeySecret string
}
// 初始化并注册
func init() {
ctx := context.Background()
client := &aliyunClient{
accessKeyId: g.Config().MustGet(ctx, "sms.aliyun.accessKeyId").String(),
accessKeySecret: g.Config().MustGet(ctx, "sms.aliyun.accessKeySecret").String(),
}
icaptcha.Register("aliyuncaptcha", client)
}
func (a *aliyunClient) client(ctx context.Context) (client *afs.Client, _err error) {
config := new(rpc.Config)
config.SetAccessKeyId("*** Provide your AccessKeyId ***").
SetAccessKeySecret("*** Provide your AccessKeySecret ***").
SetRegionId("cn-hangzhou").
SetEndpoint("afs.aliyuncs.com")
client, _ = afs.NewClient(config)
return client, _err
}
func (a *aliyunClient) Vertify(ctx context.Context, client *afs.Client, in *model.CaptchaIn) (out string, err error) {
request := new(afs.AuthenticateSigRequest)
request.SetSig("xxx")
request.SetSessionId("xxx")
request.SetToken("xxx")
request.SetRemoteIp("xxx")
request.SetScene("xxx")
request.SetAppKey("xxx")
response, _err := client.AuthenticateSig(request)
if _err != nil {
return
}
fmt.Println(response)
return response.String(), nil
}