jssdk

package
v0.0.0-...-7011273 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2017 License: Apache-2.0 Imports: 8 Imported by: 0

README

获取 jsapi_ticket 示例

package main

import (
	"fmt"

	"github.com/c77cc/wechat/corp"
	"github.com/c77cc/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 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