mirror of
https://github.com/silenceper/wechat.git
synced 2026-02-04 21:02:25 +08:00
@@ -1,5 +1,8 @@
|
||||
# WeChat SDK for Go
|
||||
[](https://travis-ci.org/silenceper/wechat) [](http://godoc.org/github.com/silenceper/wechat)
|
||||
[](https://travis-ci.org/silenceper/wechat)
|
||||
[](https://goreportcard.com/report/github.com/silenceper/wechat)
|
||||
[![GoDoc]
|
||||
(http://godoc.org/github.com/silenceper/wechat?status.svg)](http://godoc.org/github.com/silenceper/wechat)
|
||||
|
||||
|
||||
使用Golang开发的微信SDK,简单、易用。
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"github.com/silenceper/wechat/cache"
|
||||
)
|
||||
|
||||
//Context struct
|
||||
// Context struct
|
||||
type Context struct {
|
||||
AppID string
|
||||
AppSecret string
|
||||
@@ -41,12 +41,12 @@ func (ctx *Context) GetQuery(key string) (string, bool) {
|
||||
return "", false
|
||||
}
|
||||
|
||||
//SetJsAPITicketLock 设置jsAPITicket的lock
|
||||
// SetJsAPITicketLock 设置jsAPITicket的lock
|
||||
func (ctx *Context) SetJsAPITicketLock(lock *sync.RWMutex) {
|
||||
ctx.jsAPITicketLock = lock
|
||||
}
|
||||
|
||||
//GetJsAPITicketLock 获取jsAPITicket 的lock
|
||||
// GetJsAPITicketLock 获取jsAPITicket 的lock
|
||||
func (ctx *Context) GetJsAPITicketLock() *sync.RWMutex {
|
||||
return ctx.jsAPITicketLock
|
||||
}
|
||||
|
||||
6
js/js.go
6
js/js.go
@@ -11,12 +11,12 @@ import (
|
||||
|
||||
const getTicketURL = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=%s&type=jsapi"
|
||||
|
||||
//Js struct
|
||||
// Js struct
|
||||
type Js struct {
|
||||
*context.Context
|
||||
}
|
||||
|
||||
//Config 返回给用户jssdk配置信息
|
||||
// Config 返回给用户jssdk配置信息
|
||||
type Config struct {
|
||||
AppID string
|
||||
TimeStamp int64
|
||||
@@ -24,7 +24,7 @@ type Config struct {
|
||||
Signature string
|
||||
}
|
||||
|
||||
//resTicket 请求jsapi_tikcet返回结果
|
||||
// resTicket 请求jsapi_tikcet返回结果
|
||||
type resTicket struct {
|
||||
util.CommonError
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@ package message
|
||||
|
||||
import "encoding/xml"
|
||||
|
||||
//MsgType 基本消息类型
|
||||
// MsgType 基本消息类型
|
||||
type MsgType string
|
||||
|
||||
//EventType 事件类型
|
||||
// EventType 事件类型
|
||||
type EventType string
|
||||
|
||||
const (
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package util
|
||||
|
||||
//CommonError 微信返回的通用错误json
|
||||
// CommonError 微信返回的通用错误json
|
||||
type CommonError struct {
|
||||
ErrCode int64 `json:"errcode"`
|
||||
ErrMsg string `json:"errmsg"`
|
||||
|
||||
16
wechat.go
16
wechat.go
@@ -13,12 +13,12 @@ import (
|
||||
"github.com/silenceper/wechat/server"
|
||||
)
|
||||
|
||||
//Wechat struct
|
||||
// Wechat struct
|
||||
type Wechat struct {
|
||||
Context *context.Context
|
||||
}
|
||||
|
||||
//Config for user
|
||||
// Config for user
|
||||
type Config struct {
|
||||
AppID string
|
||||
AppSecret string
|
||||
@@ -27,7 +27,7 @@ type Config struct {
|
||||
Cache cache.Cache
|
||||
}
|
||||
|
||||
//NewWechat init
|
||||
// NewWechat init
|
||||
func NewWechat(cfg *Config) *Wechat {
|
||||
context := new(context.Context)
|
||||
copyConfigToContext(cfg, context)
|
||||
@@ -44,33 +44,33 @@ func copyConfigToContext(cfg *Config, context *context.Context) {
|
||||
context.SetJsAPITicketLock(new(sync.RWMutex))
|
||||
}
|
||||
|
||||
//GetServer 消息管理
|
||||
// GetServer 消息管理
|
||||
func (wc *Wechat) GetServer(req *http.Request, writer http.ResponseWriter) *server.Server {
|
||||
wc.Context.Request = req
|
||||
wc.Context.Writer = writer
|
||||
return server.NewServer(wc.Context)
|
||||
}
|
||||
|
||||
//GetMaterial 素材管理
|
||||
// GetMaterial 素材管理
|
||||
func (wc *Wechat) GetMaterial() *material.Material {
|
||||
return material.NewMaterial(wc.Context)
|
||||
}
|
||||
|
||||
//GetOauth oauth2网页授权
|
||||
// GetOauth oauth2网页授权
|
||||
func (wc *Wechat) GetOauth(req *http.Request, writer http.ResponseWriter) *oauth.Oauth {
|
||||
wc.Context.Request = req
|
||||
wc.Context.Writer = writer
|
||||
return oauth.NewOauth(wc.Context)
|
||||
}
|
||||
|
||||
//GetJs js-sdk配置
|
||||
// GetJs js-sdk配置
|
||||
func (wc *Wechat) GetJs(req *http.Request, writer http.ResponseWriter) *js.Js {
|
||||
wc.Context.Request = req
|
||||
wc.Context.Writer = writer
|
||||
return js.NewJs(wc.Context)
|
||||
}
|
||||
|
||||
//GetMenu 菜单管理接口
|
||||
// GetMenu 菜单管理接口
|
||||
func (wc *Wechat) GetMenu(req *http.Request, writer http.ResponseWriter) *menu.Menu {
|
||||
wc.Context.Request = req
|
||||
wc.Context.Writer = writer
|
||||
|
||||
Reference in New Issue
Block a user