Ai
1 Star 0 Fork 0

五度曲橙/golang-wechat-sdk

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
js.go 1.53 KB
一键复制 编辑 原始数据 按行查看 历史
五度曲橙 提交于 2021-06-11 11:03 +08:00 . first commit
package js
import (
"fmt"
"gitee.com/qucheng/golang-wechat-sdk/credential"
"gitee.com/qucheng/golang-wechat-sdk/util"
"gitee.com/qucheng/golang-wechat-sdk/work/context"
)
type Js struct {
*context.Context
credential.WorkJsTicketHandle
}
type Config struct {
CorpId string `json:"corp_id"` // 企业ID
AgentId string `json:"agent_id"` // 应用ID
Timestamp int64 `json:"timestamp"`
NonceStr string `json:"nonce_str"`
Signature string `json:"signature"`
}
func NewJs(context *context.Context) *Js {
js := new(Js)
js.Context = context
jsTicketHandle := credential.NewDefaultWorkJsTicket(context.CorpId, context.AgentId, credential.CacheKeyWorkPrefix, context.Cache, context.IsCorp)
//return js
js.SetJsTicketHandle(jsTicketHandle)
return js
}
func (js *Js) SetJsTicketHandle(ticketHandle credential.WorkJsTicketHandle) {
js.WorkJsTicketHandle = ticketHandle
}
//GetConfig 获取jssdk需要的配置参数
//uri 为当前网页地址
func (js *Js) GetConfig(uri string) (config *Config, err error) {
config = new(Config)
var accessToken string
accessToken, err = js.GetAccessToken()
if err != nil {
return
}
var ticketStr string
ticketStr, err = js.GetTicket(accessToken)
if err != nil {
return
}
nonceStr := util.RandomStr(16)
timestamp := util.GetCurrTS()
str := fmt.Sprintf("jsapi_ticket=%s&noncestr=%s&timestamp=%d&url=%s", ticketStr, nonceStr, timestamp, uri)
sigStr := util.Signature(str)
config.CorpId = js.CorpId
config.NonceStr = nonceStr
config.Timestamp = timestamp
config.Signature = sigStr
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/qucheng/golang-wechat-sdk.git
git@gitee.com:qucheng/golang-wechat-sdk.git
qucheng
golang-wechat-sdk
golang-wechat-sdk
a0c205eb99dc

搜索帮助