1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package model
- import (
- "app.yhyue.com/moapp/jybase/encrypt"
- "net/url"
- "regexp"
- "strings"
- )
- const (
- IndexPage = iota + 1 //b=0
- DetailPage
- WorkDesk //c=1 相当于c=iota
- )
- var (
- regExpDetail = regexp.MustCompile("^/article/(\\w+)/(.*).html")
- scenarioName = map[int]string{
- IndexPage: "index", //网站首页
- DetailPage: "detail", //三级页
- WorkDesk: "workDesk", //工作桌面
- }
- )
- // GetScenario 获取场景
- func GetScenario(refer string) int {
- u, err := url.Parse(refer)
- if err == nil {
- if strings.HasPrefix(u.Path, "/page_workDesktop") {
- if strings.HasPrefix(u.Path, "/page_workDesktop/work-bench/page") {
- uu, err := url.Parse(u.Query().Get("link"))
- if err == nil && regExpDetail.MatchString(uu.Path) {
- return DetailPage
- }
- }
- return WorkDesk
- }
- }
- return IndexPage
- }
- // GetScenarioAndInfoId 获取场景和信息id
- func GetScenarioAndInfoId(refer string) (scenario int, sid string) {
- u, err := url.Parse(refer)
- if err == nil {
- if strings.HasPrefix(u.Path, "/page_workDesktop") {
- if strings.HasPrefix(u.Path, "/page_workDesktop/work-bench/page") {
- uu, err := url.Parse(u.Query().Get("link"))
- if err == nil && uu.Path != "" {
- if arr := regExpDetail.FindStringSubmatch(uu.Path); len(arr) == 3 {
- if idArr := encrypt.CommonDecodeArticle(arr[1], arr[2]); len(idArr) > 0 {
- sid = idArr[0]
- }
- return DetailPage, sid
- }
- }
- }
- return WorkDesk, ""
- }
- }
- return IndexPage, ""
- }
|