base.go
1 package aliyun 2 3 import ( 4 "encoding/json" 5 "github.com/aliyun/alibaba-cloud-sdk-go/sdk" 6 "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests" 7 "go.uber.org/zap" 8 "krillin-ai/config" 9 "krillin-ai/log" 10 ) 11 12 type TokenResult struct { 13 ErrMsg string 14 Token struct { 15 UserId string 16 Id string 17 ExpireTime int64 18 } 19 } 20 21 func CreateToken(ak, sk string) (string, error) { 22 client, err := sdk.NewClientWithAccessKey("cn-shanghai", ak, sk) 23 if err != nil { 24 return "", err 25 } 26 if config.Conf.App.Proxy != "" { 27 client.SetHttpProxy(config.Conf.App.Proxy) 28 } 29 request := requests.NewCommonRequest() 30 request.Method = "POST" 31 request.Domain = "nls-meta.cn-shanghai.aliyuncs.com" 32 request.ApiName = "CreateToken" 33 request.Version = "2019-02-28" 34 response, err := client.ProcessCommonRequest(request) 35 if err != nil { 36 log.GetLogger().Error("aliyun sdk create token request error:", zap.Error(err)) 37 return "", err 38 } 39 40 var tr TokenResult 41 err = json.Unmarshal([]byte(response.GetHttpContentString()), &tr) 42 if err != nil { 43 log.GetLogger().Error("aliyun sdk json unmarshal error:", zap.Error(err)) 44 return "", err 45 } 46 return tr.Token.Id, nil 47 }