|
@@ -4,8 +4,10 @@ import (
|
|
"encoding/json"
|
|
"encoding/json"
|
|
"fmt"
|
|
"fmt"
|
|
"io/ioutil"
|
|
"io/ioutil"
|
|
|
|
+ "log"
|
|
"net/http"
|
|
"net/http"
|
|
"qfw/util"
|
|
"qfw/util"
|
|
|
|
+ "reflect"
|
|
"strconv"
|
|
"strconv"
|
|
"strings"
|
|
"strings"
|
|
"time"
|
|
"time"
|
|
@@ -66,14 +68,14 @@ func weixinOauth(w http.ResponseWriter, r *http.Request) {
|
|
}
|
|
}
|
|
start, end := strings.LastIndex(uri, "/"), strings.Index(uri, "?")
|
|
start, end := strings.LastIndex(uri, "/"), strings.Index(uri, "?")
|
|
action := uri[start+1 : end]
|
|
action := uri[start+1 : end]
|
|
- //log.Println("action", action)
|
|
|
|
|
|
+ log.Println("action", action)
|
|
//
|
|
//
|
|
r.ParseForm()
|
|
r.ParseForm()
|
|
code, _ := r.Form["code"][0], r.Form["state"][0]
|
|
code, _ := r.Form["code"][0], r.Form["state"][0]
|
|
|
|
|
|
//取得openid
|
|
//取得openid
|
|
url := fmt.Sprintf(OPENAUTH_URLTPL, AppId, AppSecret, code)
|
|
url := fmt.Sprintf(OPENAUTH_URLTPL, AppId, AppSecret, code)
|
|
- //log.Println("request url:", url)
|
|
|
|
|
|
+ log.Println("request url:", url)
|
|
resp, err := http.Get(url)
|
|
resp, err := http.Get(url)
|
|
defer resp.Body.Close()
|
|
defer resp.Body.Close()
|
|
if err == nil {
|
|
if err == nil {
|
|
@@ -86,12 +88,12 @@ func weixinOauth(w http.ResponseWriter, r *http.Request) {
|
|
fmt.Fprintln(w, ERROR_TEMPLATE)
|
|
fmt.Fprintln(w, ERROR_TEMPLATE)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- //fmt.Println(tmp)
|
|
|
|
- //fmt.Println(reflect.TypeOf(tmp))
|
|
|
|
|
|
+ fmt.Println(tmp)
|
|
|
|
+ fmt.Println(reflect.TypeOf(tmp))
|
|
openid, _ := tmp["openid"].(string)
|
|
openid, _ := tmp["openid"].(string)
|
|
unionid, _ := tmp["unionid"].(string)
|
|
unionid, _ := tmp["unionid"].(string)
|
|
tmpstr := openid + "," + unionid + "," + strconv.Itoa(int(time.Now().Unix())) + "," + action
|
|
tmpstr := openid + "," + unionid + "," + strconv.Itoa(int(time.Now().Unix())) + "," + action
|
|
- //fmt.Println("param:", tmpstr)
|
|
|
|
|
|
+ fmt.Println("param:", tmpstr)
|
|
url := fmt.Sprintf(proxysess, se.EncodeString(tmpstr))
|
|
url := fmt.Sprintf(proxysess, se.EncodeString(tmpstr))
|
|
fmt.Println("redirect::", url)
|
|
fmt.Println("redirect::", url)
|
|
//跳转
|
|
//跳转
|