1
0
mirror of https://github.com/silenceper/wechat.git synced 2026-02-05 13:12:26 +08:00

Merge pull request #1 from silenceper/master

update master
This commit is contained in:
Airy
2018-02-09 17:47:21 +01:00
committed by GitHub
7 changed files with 22 additions and 15 deletions

View File

@@ -1,6 +1,7 @@
language: go
go:
- 1.9
- 1.8
- 1.7
- 1.6

14
cache/redis.go vendored
View File

@@ -14,12 +14,12 @@ type Redis struct {
//RedisOpts redis 连接属性
type RedisOpts struct {
Host string
Password string
Database int
MaxIdle int
MaxActive int
IdleTimeout time.Duration //second
Host string `yml:"host" json:"host"`
Password string `yml:"password" json:"password"`
Database int `yml:"database" json:"database"`
MaxIdle int `yml:"max_idle" json:"max_idle"`
MaxActive int `yml:"max_active" json:"max_active"`
IdleTimeout int32 `yml:"idle_timeout" json:"idle_timeout"` //second
}
//NewRedis 实例化
@@ -27,7 +27,7 @@ func NewRedis(opts *RedisOpts) *Redis {
pool := &redis.Pool{
MaxActive: opts.MaxActive,
MaxIdle: opts.MaxIdle,
IdleTimeout: opts.IdleTimeout,
IdleTimeout: time.Second * time.Duration(opts.IdleTimeout),
Dial: func() (redis.Conn, error) {
return redis.Dial("tcp", opts.Host,
redis.DialDatabase(opts.Database),

View File

@@ -55,6 +55,9 @@ func (ctx *Context) GetAccessTokenFromServer() (resAccessToken ResAccessToken, e
url := fmt.Sprintf("%s?grant_type=client_credential&appid=%s&secret=%s", AccessTokenURL, ctx.AppID, ctx.AppSecret)
var body []byte
body, err = util.HTTPGet(url)
if err != nil {
return
}
err = json.Unmarshal(body, &resAccessToken)
if err != nil {
return

View File

@@ -44,7 +44,7 @@ func NewJs(context *context.Context) *Js {
func (js *Js) GetConfig(uri string) (config *Config, err error) {
config = new(Config)
var ticketStr string
ticketStr, err = js.getTicket()
ticketStr, err = js.GetTicket()
if err != nil {
return
}
@@ -61,8 +61,8 @@ func (js *Js) GetConfig(uri string) (config *Config, err error) {
return
}
//getTicket 获取jsapi_tocket全局缓存
func (js *Js) getTicket() (ticketStr string, err error) {
//GetTicket 获取jsapi_ticket
func (js *Js) GetTicket() (ticketStr string, err error) {
js.GetJsAPITicketLock().Lock()
defer js.GetJsAPITicketLock().Unlock()

View File

@@ -58,6 +58,8 @@ const (
EventPicWeixin = "pic_weixin"
//EventLocationSelect 弹出地理位置选择器的事件推送
EventLocationSelect = "location_select"
//EventTemplateSendJobFinish 发送模板消息推送通知
EventTemplateSendJobFinish = "TEMPLATESENDJOBFINISH"
)
//MixMessage 存放所有微信发送过来的消息和事件
@@ -87,6 +89,8 @@ type MixMessage struct {
Longitude string `xml:"Longitude"`
Precision string `xml:"Precision"`
MenuID string `xml:"MenuId"`
Status string `xml:"Status"`
SessionFrom string `xml:"SessionFrom"`
ScanCodeInfo struct {
ScanType string `xml:"ScanType"`

View File

@@ -38,13 +38,12 @@ func (oauth *Oauth) GetRedirectURL(redirectURI, scope, state string) (string, er
}
//Redirect 跳转到网页授权
func (oauth *Oauth) Redirect(writer http.ResponseWriter, redirectURI, scope, state string) error {
func (oauth *Oauth) Redirect(writer http.ResponseWriter, req *http.Request, redirectURI, scope, state string) error {
location, err := oauth.GetRedirectURL(redirectURI, scope, state)
if err != nil {
return err
}
//location 为完整地址所以不需要request
http.Redirect(writer, nil, location, 302)
http.Redirect(writer, req, location, 302)
return nil
}

View File

@@ -47,11 +47,11 @@ type DataItem struct {
type resTemplateSend struct {
util.CommonError
MsgID int32 `json:"msgid"`
MsgID int64 `json:"msgid"`
}
//Send 发送模板消息
func (tpl *Template) Send(msg *Message) (msgID int32, err error) {
func (tpl *Template) Send(msg *Message) (msgID int64, err error) {
var accessToken string
accessToken, err = tpl.GetAccessToken()
if err != nil {