jssdk

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 19, 2015 License: Apache-2.0 Imports: 9 Imported by: 0

README

获取 jsapi_ticket 示例

package main

import (
	"fmt"

	"github.com/gogap/wechat/corp"
	"github.com/gogap/wechat/corp/jssdk"
)

var AccessTokenServer = corp.NewDefaultAccessTokenServer("corpId", "corpSecret", nil)
var TicketServer = jssdk.NewDefaultTicketServer(AccessTokenServer, nil)

func main() {
	fmt.Println(TicketServer.Ticket())
}

Documentation

Overview

js-sdk 服务器端接口.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetNoncestrAndTimestamp

func GetNoncestrAndTimestamp() (noncestr string, timestampStr string, timestamp int64)

func WXConfigSign

func WXConfigSign(jsapiTicket, nonceStr, timestamp, url string) (signature string)

微信 js-sdk wx.config 的参数签名.

Types

type DefaultTicketServer

type DefaultTicketServer struct {
	// contains filtered or unexported fields
}

TicketServer 的简单实现.

NOTE:
1. 用于单进程环境.
2. 因为 DefaultTicketServer 同时也是一个简单的中控服务器, 而不是仅仅实现 TicketServer 接口,
   所以整个系统只能存在一个 DefaultTicketServer 实例!

func NewDefaultTicketServer

func NewDefaultTicketServer(AccessTokenServer corp.AccessTokenServer, httpClient *http.Client) (srv *DefaultTicketServer)

创建一个新的 DefaultTicketServer.

如果 httpClient == nil 则默认使用 http.DefaultClient.

func (*DefaultTicketServer) Ticket

func (srv *DefaultTicketServer) Ticket() (ticket string, err error)

func (*DefaultTicketServer) TicketRefresh

func (srv *DefaultTicketServer) TicketRefresh() (ticket string, err error)

type TicketServer

type TicketServer interface {
	// 从中控服务器获取被缓存的 jsapi_ticket.
	Ticket() (ticket string, err error)

	// 请求中控服务器到微信服务器刷新 jsapi_ticket.
	//
	//  高并发场景下某个时间点可能有很多请求(比如缓存的jsapi_ticket刚好过期时), 但是我们
	//  不期望也没有必要让这些请求都去微信服务器获取 jsapi_ticket(有可能导致api超过调用限制),
	//  实际上这些请求只需要一个新的 jsapi_ticket 即可, 所以建议 TicketServer 从微信服务器
	//  获取一次 jsapi_ticket 之后的至多5秒内(收敛时间, 视情况而定, 理论上至多5个http或tcp周期)
	//  再次调用该函数不再去微信服务器获取, 而是直接返回之前的结果.
	TicketRefresh() (ticket string, err error)
}

jsapi_ticket 中控服务器接口.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL