mirror of
https://github.com/silenceper/wechat.git
synced 2026-02-05 13:12:26 +08:00
@@ -1,6 +1,7 @@
|
||||
language: go
|
||||
|
||||
go:
|
||||
- 1.9
|
||||
- 1.8
|
||||
- 1.7
|
||||
- 1.6
|
||||
|
||||
14
cache/redis.go
vendored
14
cache/redis.go
vendored
@@ -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),
|
||||
|
||||
@@ -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
|
||||
|
||||
6
js/js.go
6
js/js.go
@@ -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()
|
||||
|
||||
|
||||
@@ -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"`
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user