|
@@ -844,26 +844,35 @@ func (m *Front) Sess(ostr string) error {
|
|
|
ok, _, _ = FindUserAndCreateSess(openid, m.Session(), "wx", false)
|
|
|
}
|
|
|
if ok {
|
|
|
- actionurl := util.ObjToString(urlMap[str[3]])
|
|
|
- if actionurl != "" {
|
|
|
+ actionurl := ""
|
|
|
+ if str[3] == "" {
|
|
|
if len(strs) > 1 {
|
|
|
- if strings.Contains(actionurl, "followent/newInfo") {
|
|
|
- actionurl = fmt.Sprintf(actionurl, (strs[1] + "___" + strs[2]))
|
|
|
- } else {
|
|
|
- //支持多个参数%s..
|
|
|
- actionurl = fmt.Sprintf(actionurl, func(tmps []string) []interface{} {
|
|
|
- res := make([]interface{}, strings.Count(actionurl, "%s"))
|
|
|
- for k := range res {
|
|
|
- if k < len(tmps) {
|
|
|
- res[k] = tmps[k]
|
|
|
- } else {
|
|
|
- res[k] = ""
|
|
|
+ actionurl, _ = url.QueryUnescape(strs[1])
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ actionurl = util.ObjToString(urlMap[str[3]])
|
|
|
+ if actionurl != "" {
|
|
|
+ if len(strs) > 1 {
|
|
|
+ if strings.Contains(actionurl, "followent/newInfo") {
|
|
|
+ actionurl = fmt.Sprintf(actionurl, (strs[1] + "___" + strs[2]))
|
|
|
+ } else {
|
|
|
+ //支持多个参数%s..
|
|
|
+ actionurl = fmt.Sprintf(actionurl, func(tmps []string) []interface{} {
|
|
|
+ res := make([]interface{}, strings.Count(actionurl, "%s"))
|
|
|
+ for k := range res {
|
|
|
+ if k < len(tmps) {
|
|
|
+ res[k] = tmps[k]
|
|
|
+ } else {
|
|
|
+ res[k] = ""
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- return res
|
|
|
- }(strs[1:])...)
|
|
|
+ return res
|
|
|
+ }(strs[1:])...)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ }
|
|
|
+ if actionurl != "" {
|
|
|
//绑定手机号 跳转
|
|
|
if flag, _ := config.Sysconfig["phoneFilterFlag"].(bool); flag { //开关是否开启
|
|
|
//action走的nginx配置,需要单独在sess中判断
|
|
@@ -888,11 +897,7 @@ func (m *Front) Sess(ostr string) error {
|
|
|
}
|
|
|
m.Redirect(actionurl)
|
|
|
} else {
|
|
|
- if !ok {
|
|
|
- log.Println("数据库连接超时!", openid)
|
|
|
- } else {
|
|
|
- log.Println("解析结果:", str, ",actionurl为空")
|
|
|
- }
|
|
|
+ log.Println("解析结果:", str, ",actionurl为空")
|
|
|
m.Render("_error.html")
|
|
|
}
|
|
|
} else {
|