Преглед на файлове

Merge branch 'master' into feature/v4.8.70

lianbingjie преди 1 година
родител
ревизия
d3902bad9c
променени са 66 файла, в които са добавени 1165 реда и са изтрити 1128 реда
  1. 1 1
      src/go.mod
  2. 2 2
      src/go.sum
  3. 115 13
      src/jfw/front/classificationTag.go
  4. 51 0
      src/jfw/front/frontRouter.go
  5. 7 7
      src/jfw/front/pcIndex.go
  6. 52 0
      src/jfw/modules/app/src/app/front/bigMember.go
  7. 47 0
      src/jfw/modules/app/src/app/front/shorturl.go
  8. 16 0
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/ent_portrait.css
  9. 16 0
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/unit_portrayal.css
  10. 40 2
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js
  11. 51 6
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/unit_portrayal.js
  12. 0 27
      src/jfw/modules/app/src/web/staticres/jyapp/js/historypush.js
  13. 14 0
      src/jfw/modules/app/src/web/staticres/jyapp/tags/js/index.js
  14. 1 1
      src/jfw/modules/app/src/web/templates/big-member/page_client_buyer_project_news.html
  15. 12 2
      src/jfw/modules/app/src/web/templates/big-member/page_client_portrayal.html
  16. 25 7
      src/jfw/modules/app/src/web/templates/big-member/page_ent_portrait.html
  17. 99 0
      src/jfw/modules/app/src/web/templates/big-member/page_free_buyer_loading.html
  18. 10 1
      src/jfw/modules/app/src/web/templates/big-member/page_free_buyer_project_news.html
  19. 1 1
      src/jfw/modules/app/src/web/templates/big-member/page_free_ent_project_news.html
  20. 25 7
      src/jfw/modules/app/src/web/templates/big-member/page_unit_portrayal.html
  21. 0 51
      src/jfw/modules/app/src/web/templates/followent/list.html
  22. 11 4
      src/jfw/modules/app/src/web/templates/frontRouter/userMerge/free/confirm.html
  23. 1 0
      src/jfw/modules/app/src/web/templates/tags/class.html
  24. 1 0
      src/jfw/modules/app/src/web/templates/tags/details.html
  25. 1 0
      src/jfw/modules/app/src/web/templates/tags/strategy.html
  26. 1 1
      src/jfw/modules/app/src/web/templates/tags/template/tag-area-nav.html
  27. 1 1
      src/jfw/modules/app/src/web/templates/tags/template/tag-breadcrumb-navigation.html
  28. 13 0
      src/jfw/modules/app/src/web/templates/tags/template/tag-footer-concat.html
  29. 1 1
      src/jfw/modules/app/src/web/templates/tags/template/tag-footer.html
  30. 1 0
      src/jfw/modules/app/src/web/templates/tags/template/tag-header.html
  31. 0 44
      src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html
  32. 87 53
      src/jfw/modules/app/src/web/templates/weixin/wxinfocontent.html
  33. 2 0
      src/jfw/modules/bigmember/src/config.json
  34. 9 7
      src/jfw/modules/bigmember/src/config/config.go
  35. 2 2
      src/jfw/modules/bigmember/src/entity/portrait.go
  36. 77 21
      src/jfw/modules/bigmember/src/entity/portrait_screen.go
  37. 21 24
      src/jfw/modules/bigmember/src/service/portrait/memberPortraitAction.go
  38. 18 30
      src/jfw/modules/bigmember/src/service/portrait/subvipPortraitAction.go
  39. 2 92
      src/jfw/modules/followent/src/web/templates/weixin/list.html
  40. 27 12
      src/jfw/modules/publicapply/src/oneclick/entity/entity.go
  41. 16 0
      src/web/staticres/big-member/css/unit_portrayal.css
  42. 54 8
      src/web/staticres/big-member/js/unit_portrayal.js
  43. 16 0
      src/web/staticres/big-member/weixin/css/ent_portrait.css
  44. 16 0
      src/web/staticres/common-module/big-member/css/client_portrayal.css
  45. 26 5
      src/web/staticres/common-module/big-member/js/client_portrayal.js
  46. 40 3
      src/web/staticres/common-module/collection/js/ent_portrait.js
  47. 0 27
      src/web/staticres/common-module/history-push/js/historypush.js
  48. 22 0
      src/web/staticres/css/pc/index.css
  49. BIN
      src/web/staticres/images/index/more_icon_right.png
  50. 0 39
      src/web/staticres/js/wxSupersearch.js
  51. 27 60
      src/web/staticres/vipsubscribe/js/historypush.js
  52. 11 1
      src/web/templates/big-member/wx/page_client_portrayal.html
  53. 25 7
      src/web/templates/big-member/wx/page_unit_portrayal.html
  54. 23 5
      src/web/templates/frontRouter/wx/collection/sess/ent_portrait.html
  55. 1 30
      src/web/templates/pc/biddetail_rec.html
  56. 0 77
      src/web/templates/pc/entsearchindex.html
  57. 26 5
      src/web/templates/pc/index.html
  58. 1 87
      src/web/templates/pc/index_old.html
  59. 0 4
      src/web/templates/pc/index_old_23_06_16.html
  60. 0 2
      src/web/templates/pc/purScopebusniess.html
  61. 0 77
      src/web/templates/pc/pursearchindex.html
  62. 0 84
      src/web/templates/pc/supsearch.html
  63. 0 3
      src/web/templates/pc/tags/detail.html
  64. 0 91
      src/web/templates/weixin/follow/list.html
  65. 0 3
      src/web/templates/weixin/search/mainSearch.html
  66. 0 90
      src/web/templates/weixin/wxinfocontent_rec.html

+ 1 - 1
src/go.mod

@@ -4,7 +4,7 @@ go 1.19
 
 require (
 	app.yhyue.com/moapp/jyMarketing v0.0.2-0.20230308011651-df591d32df88
-	app.yhyue.com/moapp/jybase v0.0.0-20230901064756-2fc66b18db40
+	app.yhyue.com/moapp/jybase v0.0.0-20231026082242-8eb41c7bdda6
 	app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545
 	app.yhyue.com/moapp/jypkg v1.0.3-0.20231031031244-d8df2b391b72
 	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.14

+ 2 - 2
src/go.sum

@@ -5,8 +5,8 @@ app.yhyue.com/moapp/jyMarketing v0.0.2-0.20230308011651-df591d32df88/go.mod h1:J
 app.yhyue.com/moapp/jyPoints v1.1.1/go.mod h1:SvP8p5L3jGrejHiH2LXfgCg/NPlFiKBC5Yd0gsI12FU=
 app.yhyue.com/moapp/jybase v0.0.0-20220427020729-974c1a148186/go.mod h1:qNRA0sHuYqcLoYoP8irpaWnW9YsXixe6obBIkwaXpD0=
 app.yhyue.com/moapp/jybase v0.0.0-20230117032034-ad7c00ffe11a/go.mod h1:zB47XTeJvpcbtBRYgkQuxOICWNexiZfbUO+7aUf6mNs=
-app.yhyue.com/moapp/jybase v0.0.0-20230901064756-2fc66b18db40 h1:/FcBvpf/KW8g6GBfTkypVW1pGbNs+iNhDrUGUi+KNjc=
-app.yhyue.com/moapp/jybase v0.0.0-20230901064756-2fc66b18db40/go.mod h1:Hv9U/7oHRucqH315Tr1+d03NCvS9mOKPfk8pwwlOIwQ=
+app.yhyue.com/moapp/jybase v0.0.0-20231026082242-8eb41c7bdda6 h1:uyaBp5Iuc/Il4+O2n92CyU9LPvHetFzQVC8iS9iLFOc=
+app.yhyue.com/moapp/jybase v0.0.0-20231026082242-8eb41c7bdda6/go.mod h1:Hv9U/7oHRucqH315Tr1+d03NCvS9mOKPfk8pwwlOIwQ=
 app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545 h1:+Lak4m1zgsigQloOsvp8AJ+0XeX/+PGp9QP550xlbBQ=
 app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545/go.mod h1:uFrsdUBFbETiJlEmr4PtJWPsZlUpPj2bHQRhryu6ggk=
 app.yhyue.com/moapp/jypkg v1.0.3-0.20231031031244-d8df2b391b72 h1:irUuaH36GK/6tz4UWDjxSseKX8GJnfy5J6F+e9fFAZY=

+ 115 - 13
src/jfw/front/classificationTag.go

@@ -3,14 +3,17 @@ package front
 import (
 	qu "app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/encrypt"
+	elastic "app.yhyue.com/moapp/jybase/es"
 	"app.yhyue.com/moapp/jybase/redis"
 	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/bidsearch"
 	"app.yhyue.com/moapp/jypkg/public"
 	"encoding/json"
 	"fmt"
+	"github.com/gogf/gf/v2/util/gconv"
 	"jy/src/jfw/config"
 	"log"
 	"strconv"
+	"strings"
 	"sync"
 	"time"
 
@@ -60,17 +63,16 @@ func GetWinnerInfo() (data []*BuyerList) {
 		return cache
 	}
 	// 没取到缓存查数据
-	rs := getEntBaseInfo(IdentityTypeWinner, config.HotWinnerConfig.Limit)
+	rs := GetHotWinnerBuyer(IdentityTypeWinner, config.HotWinnerConfig.Limit)
 	//关联中标企业
-	if rs == nil || len(*rs) == 0 {
+	if rs == nil || len(rs) == 0 {
 		return
 	}
 
-	for _, v := range *rs {
+	for _, v := range rs {
 		var vs BuyerList
-		id := encrypt.EncodeArticleId2ByCheck(qu.InterfaceToStr(v["id"]))
 		vs.Name = qu.InterfaceToStr(v["name"])
-		vs.Url = fmt.Sprintf("/swordfish/page_big_pc/ent_portrait/%s", id)
+		vs.Url = qu.InterfaceToStr(v["url"])
 		data = append(data, &vs)
 	}
 	// 存缓存
@@ -114,6 +116,105 @@ func getEntBaseInfo(identityType, limit int) *[]map[string]interface{} {
 
 }
 
+func GetHotWinnerBuyer(identityType, limit int) []map[string]interface{} {
+	isWinner := identityType == 1
+	queryTotal := gconv.Int(gconv.Float64(limit) * 1.5)
+	var querySql string
+	if isWinner {
+		querySql = fmt.Sprintf(`{"query": {"bool": {"must": [{"exists": {"field": "s_winner"}},{"exists": {"field": "entidlist"}}],"must_not":[{"term":{"entidlist":"-"}}]}},"_source":["buyer","s_winner","entidlist"],"size": %d}`, queryTotal)
+	} else {
+		querySql = fmt.Sprintf(`{"query": {"bool": {"must": [{"exists": {"field": "buyer"}}]}},"_source":["buyer","s_winner","entidlist"],"size": %d}`, queryTotal)
+	}
+	getData := elastic.GetNoLimit("projectset", "projectset", querySql)
+	var finalList []map[string]interface{}
+	if getData != nil && len(*getData) > 0 {
+		queryMap := make(map[string]bool)
+		if isWinner { //采购关联企业 校验正确性
+			var queryArr []string
+			for _, v := range *getData {
+				if len(queryArr) < queryTotal {
+					for _, name := range gconv.Strings(v["entidlist"]) {
+						if name == "" || name == "-" {
+							continue
+						}
+						if queryMap[name] {
+							continue
+						}
+						queryArr = append(queryArr, name)
+						queryMap[name] = true
+
+						if len(queryArr) == queryTotal {
+							break
+						}
+					}
+				}
+			}
+			finalList = getWinnerSeoIdByName(queryArr...)
+		} else {
+			var queryArr []string
+			for _, v := range *getData {
+				buyerName := gconv.String(v["buyer"])
+				if queryMap[buyerName] {
+					continue
+				}
+				queryArr = append(queryArr, buyerName)
+				queryMap[buyerName] = true
+			}
+			finalList = getBuyerSeoIdByName(queryArr...)
+		}
+	}
+	if len(finalList) > limit {
+		finalList = finalList[:limit]
+	}
+	return finalList
+}
+
+// 根据企业名称获取seoid
+// query: company_name 根据名字匹配
+// query: _id 根据entid匹配
+func getWinnerSeoIdByName(winners ...string) (res []map[string]interface{}) {
+	if len(winners) == 0 {
+		return
+	}
+	winnerRes := elastic.Get("qyxy", "qyxy", fmt.Sprintf(`{"query":{"terms":{"_id":["%s"]}},"_source":[%s],"size":%d}`, strings.Join(winners, `","`), `"nseo_id","company_name"`, len(winners)))
+	if winnerRes != nil && len(*winnerRes) > 0 {
+		for _, m := range *winnerRes {
+			name := gconv.String(m["company_name"])
+			sid := gconv.String(m["nseo_id"])
+			if name != "" && sid != "" {
+				res = append(res, map[string]interface{}{
+					"name":  name,
+					"seoId": sid,
+					"url":   fmt.Sprintf("/qy/%s.html", sid),
+				})
+			}
+		}
+	}
+	return
+}
+
+// 根据采购单位名字获取seoid
+func getBuyerSeoIdByName(buyer ...string) (res []map[string]interface{}) {
+	if len(buyer) == 0 {
+		return
+	}
+	buyerRes := elastic.GetNoLimit("buyer", "buyer", fmt.Sprintf(`{"query":{"terms":{"buyer_name":["%s"]}},"_source":[%s],"size":%d}`, strings.Join(buyer, `","`), `"seo_id","name"`, len(buyer)))
+	if buyerRes != nil && len(*buyerRes) > 0 {
+		for _, m := range *buyerRes {
+			name := gconv.String(m["name"])
+			sid := gconv.String(m["seo_id"])
+			if name != "" && sid != "" {
+				res = append(res, map[string]interface{}{
+					"name":  name,
+					"seoId": sid,
+					"url":   fmt.Sprintf("/dw/%s.html", sid),
+				})
+			}
+		}
+	}
+	return
+}
+
 // ContentRecommendation 实用内容推荐
 func ContentRecommendation() []KeyType {
 	if bytes, err := redis.GetBytes(RedisNameNew, "contentRecommendation"); err == nil && bytes != nil {
@@ -251,26 +352,27 @@ type BuyerList struct {
 }
 
 // 热门采购单位
-func HotBuyerList(entIsNew bool) []*BuyerList {
+func HotBuyerList() []*BuyerList {
 	// 取缓存
 	cache, err := GetHotCache(config.HotBuyerConfig.CacheKey)
 	if err == nil && cache != nil && len(cache) > 0 {
 		return cache
 	}
 	// 查数据
-	data := getEntBaseInfo(IdentityTypeBuyer, config.HotBuyerConfig.Limit)
-	if data == nil || len(*data) == 0 {
+	//data := getEntBaseInfo(IdentityTypeBuyer, config.HotBuyerConfig.Limit)
+	data := GetHotWinnerBuyer(IdentityTypeBuyer, config.HotBuyerConfig.Limit)
+	if data == nil || len(data) == 0 {
 		return nil
 	}
 	var buyerList []*BuyerList
-	for _, b := range *data {
+	for _, b := range data {
 		name := qu.ObjToString(b["name"])
-		buyerId := qu.ObjToString(b["name_id"])
-		if name != "" && buyerId != "" {
-			idEncode := encrypt.EncodeArticleId2ByCheck(buyerId)
+		url := qu.InterfaceToStr(b["url"])
+		if name != "" && url != "" {
+			//idEncode := encrypt.EncodeArticleId2ByCheck(buyerId)
 			buyerList = append(buyerList, &BuyerList{
 				Name: name,
-				Url:  qu.If(entIsNew, fmt.Sprintf("/entpc/unit_portrayal_id/%s", idEncode), fmt.Sprintf("/swordfish/page_big_pc/unit_portrayal_id/%s", idEncode)).(string),
+				Url:  url,
 			})
 		}
 	}

+ 51 - 0
src/jfw/front/frontRouter.go

@@ -1,6 +1,10 @@
 package front
 
 import (
+	"app.yhyue.com/moapp/jybase/common"
+	"app.yhyue.com/moapp/jybase/encrypt"
+	elastic "app.yhyue.com/moapp/jybase/es"
+	"app.yhyue.com/moapp/jybase/redis"
 	"app.yhyue.com/moapp/jypkg/public"
 	"fmt"
 	"jy/src/jfw/config"
@@ -217,9 +221,56 @@ func (this *CommonRouter) doPcBigPage(pageSign, types string) error {
 	if !strings.Contains(pageSign, "unit_portrayal") && !strings.Contains(pageSign, "ent_portrait") && !strings.Contains(pageSign, "ent_ser_portrait") && userid == "" {
 		return this.Redirect("/notin/page")
 	}
+	if userid == "" {
+		if strings.Contains(pageSign, "ent_ser_portrait") || strings.Contains(pageSign, "ent_portrait") {
+			urlArr := strings.Split(pageSign, "_portrait/")
+			entId := encrypt.DecodeArticleId2ByCheck(urlArr[len(urlArr)-1])[0]
+			if seoId := esSeoId(true, entId); seoId != "" {
+				return this.Redirect(fmt.Sprintf("/qy/%s.html", seoId))
+			}
+		} else if strings.Contains(pageSign, "unit_portrayal") {
+			urlArr := strings.Split(pageSign, "unit_portrayal/")
+			//buyerName := urlArr[len(urlArr)-1]
+			// 解码 URL 编码的字符串
+			buyer, _ := url.QueryUnescape(urlArr[len(urlArr)-1])
+			//buyer := this.GetString("buyer")
+			if seoId := esSeoId(false, buyer); seoId != "" {
+				return this.Redirect(fmt.Sprintf("/dw/%s.html", seoId))
+			}
+		}
+	}
 	return this.Render(fmt.Sprintf("/frontRouter/pc/page_big_pc/sess/index.html"))
 }
 
+func esSeoId(isWinner bool, idName string) string {
+	if idName == "" {
+		return idName
+	}
+	var seoId string
+	redisKey := fmt.Sprintf("getSeoId_%v_%s", isWinner, idName)
+	seoId = redis.GetStr("newother", redisKey)
+	if seoId != "" {
+		return seoId
+	}
+
+	if isWinner {
+		winnerSeo := elastic.GetById("qyxy", "qyxy", idName)
+		if winnerSeo != nil && len(*winnerSeo) > 0 {
+			seoId = common.InterfaceToStr((*winnerSeo)[0]["nseo_id"])
+		}
+	} else {
+		q := fmt.Sprintf(`{"query": {"bool": {"must": [{"match": {"buyer_name": "%s"}}]}},"from": 0,"size": 1,"_source":["seo_id"]}`, idName)
+		winnerSeo := elastic.Get("buyer", "buyer", q)
+		if winnerSeo != nil && len(*winnerSeo) > 0 {
+			seoId = common.InterfaceToStr((*winnerSeo)[0]["seo_id"])
+		}
+	}
+	if seoId != "" {
+		redis.Put("newother", redisKey, seoId, -1)
+	}
+	return seoId
+}
+
 // 卡卷
 func (this *CommonRouter) CouponIndex() error {
 	return this.doCouponPage()

+ 7 - 7
src/jfw/front/pcIndex.go

@@ -159,11 +159,11 @@ func (m *PcIndex) NewSordfish(flag string) error {
 		} else if flag == "tmp" {
 			return m.Render("/pc/index_tmp.html", &m.T)
 		} else {
-			var entIsNew bool
-			if userId != "" {
-				bigBaseMsg := jy.GetBigVipUserBaseMsg(m.Session(), *config.Middleground)
-				entIsNew = bigBaseMsg.EntIsNew
-			}
+			//var entIsNew bool
+			//if userId != "" {
+			//	bigBaseMsg := jy.GetBigVipUserBaseMsg(m.Session(), *config.Middleground)
+			//	entIsNew = bigBaseMsg.EntIsNew
+			//}
 			//按地区、信息类型、热门招标
 			for k, v := range RegionAndInformationAndTender() {
 				m.T[k] = v
@@ -201,8 +201,6 @@ func (m *PcIndex) NewSordfish(flag string) error {
 			m.T["jycmsLink"] = GetJycmsAreaLink()
 			//推荐标讯专区
 			m.T["recommendBeacon"] = RecommendationBeacon()
-			//热门采购单位
-			m.T["hotBuyers"] = HotBuyerList(entIsNew)
 			//招投标攻略
 			var strategyList []map[string]interface{}
 			for _, item := range jySchool.GuidelineColumn().SeedData {
@@ -217,6 +215,8 @@ func (m *PcIndex) NewSordfish(flag string) error {
 			m.T["strategyList"] = strategyList
 			m.T["hasLogin"] = userId != ""
 			m.T["includedInfo"] = GetIncludedInfo()
+			//热门采购单位
+			m.T["hotBuyers"] = HotBuyerList()
 			m.T["hotWinner"] = GetWinnerInfo()
 			m.T["newbids"] = NewIndexbids(m.Session(), m.Request)
 			m.T["hotkey"] = hotKeyArrLoginEd

+ 52 - 0
src/jfw/modules/app/src/app/front/bigMember.go

@@ -2,12 +2,17 @@ package front
 
 import (
 	qutil "app.yhyue.com/moapp/jybase/common"
+	"app.yhyue.com/moapp/jybase/encrypt"
+	elastic "app.yhyue.com/moapp/jybase/es"
 	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
+	"app.yhyue.com/moapp/jybase/redis"
 	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
 	"app.yhyue.com/moapp/jypkg/public"
 	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/pb"
+	"fmt"
 	"jy/src/jfw/modules/app/src/jfw/config"
 	"regexp"
+	"strings"
 )
 
 type NewBigMemberAction struct {
@@ -37,6 +42,7 @@ func (s *NewBigMemberAction) PowerClear() {
 }
 
 func (s *NewBigMemberAction) VipPageManager(htmlName string) error {
+	userid, _ := s.GetSession("userId").(string)
 	if !freePageReg.MatchString(htmlName) {
 		bigBaseMsg := jy.GetBigVipUserBaseMsg(s.Session(), *config.Middleground)
 		//大会员页面权限判断
@@ -51,5 +57,51 @@ func (s *NewBigMemberAction) VipPageManager(htmlName string) error {
 		//	return s.Redirect("/jyapp/big/page/init") //跳转至首次初始化页面
 		//}
 	}
+	if userid == "" {
+		if strings.Contains(htmlName, "ent_ser_portrait") || strings.Contains(htmlName, "ent_portrait") {
+			//urlArr := strings.Split(htmlName, "/")
+			entId := encrypt.DecodeArticleId2ByCheck(s.GetString("eId"))[0]
+			if seoId := esSeoId(true, entId); seoId != "" {
+				return s.Redirect(fmt.Sprintf("/qy/%s.html", seoId))
+			}
+		} else if strings.Contains(htmlName, "unit_portrayal") {
+			//urlArr := strings.Split(htmlName, "/")
+			//buyerName := urlArr[len(urlArr)-1]
+			// 解码 URL 编码的字符串
+			buyer := s.GetString("entName")
+			//buyer := this.GetString("buyer")
+			if seoId := esSeoId(false, buyer); seoId != "" {
+				return s.Redirect(fmt.Sprintf("/dw/%s.html", seoId))
+			}
+		}
+	}
 	return s.Render("/big-member/page_" + htmlName + ".html")
 }
+
+func esSeoId(isWinner bool, idName string) string {
+	if idName == "" {
+		return idName
+	}
+	var seoId string
+	redisKey := fmt.Sprintf("getSeoId_%v_%s", isWinner, idName)
+	seoId = redis.GetStr("newother", redisKey)
+	if seoId != "" {
+		return seoId
+	}
+	if isWinner {
+		winnerSeo := elastic.GetById("qyxy", "qyxy", idName)
+		if winnerSeo != nil && len(*winnerSeo) > 0 {
+			seoId = qutil.InterfaceToStr((*winnerSeo)[0]["nseo_id"])
+		}
+	} else {
+		q := fmt.Sprintf(`{"query": {"bool": {"must": [{"match": {"buyer_name": "%s"}}]}},"from": 0,"size": 1,"_source":["seo_id"]}`, idName)
+		winnerSeo := elastic.Get("buyer", "buyer", q)
+		if winnerSeo != nil && len(*winnerSeo) > 0 {
+			seoId = qutil.InterfaceToStr((*winnerSeo)[0]["seo_id"])
+		}
+	}
+	if seoId != "" {
+		redis.Put("newother", redisKey, seoId, -1)
+	}
+	return seoId
+}

+ 47 - 0
src/jfw/modules/app/src/app/front/shorturl.go

@@ -39,6 +39,9 @@ type Short struct {
 
 func init() {
 	xweb.AddAction(&Short{})
+	if config.Seoconfig["hotArea"] != nil {
+		utils.HotArea = config.Seoconfig["hotArea"].(string)
+	}
 }
 
 var DateFullLayout = "2006-01-02 15:04:05"
@@ -194,6 +197,11 @@ func (s *Short) Article(contentType, stype, id string) error {
 					}
 				}
 			}
+		} else {
+			//未登录顶部导航
+			s.T["hotArea"] = utils.HotAreas
+			s.T["areaList"] = utils.AreaInfo
+			s.T["infoTypeList"], _ = utils.GetInfoType()
 		}
 		//超前项目推送处理
 		s.T["canRead"] = canRead
@@ -329,6 +337,21 @@ func (s *Short) Article(contentType, stype, id string) error {
 		obj["industry"] = industry
 		obj["keywords"] = KeyWordHandle(obj)
 		obj["description"] = DescriptionHandle(stype, obj)
+
+		if userId == "" {
+			var currentLocation []Navigation
+			if typeVal := util.ObjToString(obj["toptype"]); typeVal != "" {
+				if val := getSeoLocation(typeVal); val != nil {
+					currentLocation = append(currentLocation, *val)
+				}
+			}
+			if title := util.ObjToString(obj["title"]); title != "" {
+				currentLocation = append(currentLocation, Navigation{
+					Name: title,
+				})
+			}
+			s.T["currentLocation"] = currentLocation
+		}
 		s.T["obj"] = obj
 		s.T["isIosExam"], s.T["isIosExamPhone"], _, _ = IosExamInfo(s.Action, false, false)
 		content, err := s.Render4Cache("/weixin/wxinfocontent.html", &s.T)
@@ -343,6 +366,30 @@ func (s *Short) Article(contentType, stype, id string) error {
 	return s.Redirect("/jyapp/free/mob/err")
 }
 
+var typeUrlMap = map[string]string{
+	"预告": "/list/stype/ZBYG.html",
+	"招标": "/list/stype/ZBGG.html",
+	"结果": "/list/stype/ZBJG.html",
+	"其它": "/list/stype/ZBXYXX.html",
+}
+
+func getSeoLocation(name string) *Navigation {
+	var url string
+
+	if url = typeUrlMap[name]; url != "" {
+		return &Navigation{
+			Name: name,
+			Url:  url,
+		}
+	}
+
+	switch name {
+
+	}
+
+	return nil
+}
+
 // 未登录用户进行数据过滤
 func Filter(obj map[string]interface{}) map[string]interface{} {
 	detail := fmt.Sprint(obj["detail"])

+ 16 - 0
src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/ent_portrait.css

@@ -640,3 +640,19 @@
     font-size: .26rem;
     color: #2abed1;
 }
+.dt-text-tips{
+  padding: .24rem .32rem .48rem;
+  font-size: .24rem;
+  line-height: .36rem;
+  color: rgba(29, 29, 29, 1);
+  text-align: center;
+}
+.dt-text-tips > .highlight-text{
+  text-decoration: underline;
+  font-size: inherit;
+}
+.dt-text-tips.light-bg{
+  margin: .24rem .32rem;
+  background: linear-gradient(rgba(234, 248, 250, 1), rgba(234, 248, 250, 0));
+  border-radius: 8px;
+}

+ 16 - 0
src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/unit_portrayal.css

@@ -695,3 +695,19 @@
 .zb-analysis-module {
     margin-bottom: .08rem;
 }
+.dt-text-tips{
+  padding: .24rem .32rem .48rem;
+  font-size: .24rem;
+  line-height: .36rem;
+  color: rgba(29, 29, 29, 1);
+  text-align: center;
+}
+.dt-text-tips > .highlight-text{
+  text-decoration: underline;
+  font-size: inherit;
+}
+.dt-text-tips.light-bg{
+  margin: .24rem .32rem;
+  background: linear-gradient(rgba(234, 248, 250, 1), rgba(234, 248, 250, 0));
+  border-radius: 8px;
+}

+ 40 - 2
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js

@@ -95,7 +95,9 @@ var vNode = {
         count: 1, // 总共多少条数据
         pageSize: 5,
         loaded: false,
-        showGetNextButton: true
+        showGetNextButton: true,
+        total: 0,
+        updateTime: 0
       },
       entPortraitInfo: {
         project_count: 0
@@ -306,6 +308,27 @@ var vNode = {
     },
     isFreeOrNotLogin () {
       return !this.isLogin || this.isFree
+    },
+    // 升级超级订阅文案:老版超级订阅用户、新版超级订阅(购买非全国)用户余额为0
+    updateVipStatus () {
+      var info = this.powerInfo
+      var isNoMember = info.memberStatus <= 0
+      var isOldVip = info.vipStatus > 0 && !info.viper
+      var isNewVip = info.vipStatus > 0 && info.viper && !this.surplus
+      var isNotAll = this.entvisit.provin !== -1
+      return (isOldVip || (isNewVip && isNotAll)) && isNoMember
+    },
+    // 联系客服文案:新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户
+    customerServiceStatus: function () {
+      var info = this.powerInfo
+      var memberCustom = this.conf.arr.indexOf(13) === -1 && info.memberStatus > 0
+      var isNewVip = info.vipStatus > 0 && info.viper && !this.surplus && this.entvisit.provin === -1
+      // 纯商机管理用户
+      var entniche = info.vipStatus <= 0 && info.memberStatus <= 0 && info.entniche
+      return memberCustom || isNewVip || entniche
+    },
+    noShowTip: function () {
+      return (!this.isFree && !this.updateVipStatus && !this.customerServiceStatus) || (this.isFree && this.canFreeTrial)
     }
   },
   methods: {
@@ -354,7 +377,7 @@ var vNode = {
         }
         // 获取企业中标动态-13
         if (_this.conf._13) {
-          _this.getProjectNews()
+          // _this.getProjectNews()
           _this.gotTab2 = true
           console.log('获取企业中标动态...')
         }
@@ -366,6 +389,8 @@ var vNode = {
           // }
         }
         _this.gotTab2 = true
+        // P396:所有用户均可获取企业中标动态
+        _this.getProjectNews()
 
       });
     },
@@ -650,6 +675,8 @@ var vNode = {
           if (res.error_code == 0) {
             _this.loading.clear()
             _this.topProject.count = res.data.count
+            _this.topProject.total = res.data.count
+            _this.topProject.updateTime = new Date(Number(res.data.updateTime + '000')).pattern('yyyy-MM-dd')
             if (!res.data.list || res.data.list.length == 0) {
               // 新加变量 判断中标动态有无数据 用于展示缺省页组件
               _this.show.dt = false
@@ -1559,6 +1586,17 @@ var vNode = {
     goLogin: function () {
       window.location.href = "/jyapp/free/login?to=back";
     },
+    onDtTextClick: function(type) {
+      if (type === 'customer') {
+        location.href = '/jyapp/free/customer'
+      } else if (type === 'update') {
+        //跳转清除旧套餐缓存,防止计算价格出错
+        sessionStorage.removeItem('vipSub_oldBuySet')
+        location.href = '/jy_mobile/common/order/create/svip?type=upgrade'
+      } else if (type === 'buy') {
+        location.href = '/jy_mobile/common/order/create/svip?type=buy'
+      }
+    }
   }
 }
 var vueComponent = new Vue(vNode)

+ 51 - 6
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/unit_portrayal.js

@@ -83,7 +83,9 @@ var vNode = {
         list: [],
         isMore: '',
         pageCount: '',
-        isNext: true
+        isNext: true,
+        total: 0,
+        updateTime: 0
       },
       regCapSettings: {
         showLine: ['累计采购规模'],
@@ -253,6 +255,24 @@ var vNode = {
     // 留完资的用户(保含已体验和未体验的)
     getfreeBuyerOpen: function () {
       return this.userInfo.isFree && this.userInfo.freeBuyerPort != 0;
+    },
+    // 联系客服文案:新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户
+    customerServiceStatus: function () {
+      var info = this.userInfo
+      var memberCustom = this.power.indexOf(5) === -1 && info.memberStatus > 0
+      var isNewVip = info.vipStatus > 0 && info.viper && this.usageInfo.surplus <= 0 && this.usageInfo.provin === -1
+      // 纯商机管理用户
+      var entniche = info.vipStatus <= 0 && info.memberStatus <= 0 && info.entniche
+      return memberCustom || isNewVip || entniche
+    },
+    // 升级超级订阅文案:老版超级订阅用户、新版超级订阅(购买非全国)用户余额为0
+    updateVipStatus: function () {
+      var info = this.userInfo
+      var isNoMember = info.memberStatus <= 0
+      var isOldVip = info.vipStatus > 0 && !info.viper
+      var isNewVip = info.vipStatus > 0 && info.viper && this.usageInfo.surplus <= 0
+      var isNotAll = this.usageInfo.provin !== -1
+      return (isOldVip || (isNewVip && isNotAll)) && isNoMember
     }
   },
   watch: {
@@ -692,8 +712,10 @@ var vNode = {
         timeout: 8000,
         success: function (res) {
           if (res.error_code == 0) {
+            that.dt.updateTime = new Date(Number(res.data.updateTime + '000')).pattern('yyyy-MM-dd')
             if (res.data.list && res.data.list.length && res.data.list.length > 0) {
               that.dt.pageCount = res.data.count
+              that.dt.total = res.data.count
               if (res.data.list && $.isArray(res.data.list)) {
                 that.isShow.showDynamic = true;
                 res.data.list.forEach(function (v, i) {
@@ -715,9 +737,9 @@ var vNode = {
                   })
                 } catch (error) { }
                 res.data.list.forEach((item) => {
-                  if (that.dt.list.length < 5) {
+                  // if (that.dt.list.length < 5) {
                     that.dt.list.push(item)
-                  }
+                  // }
                 })
                 // that.dt.list = res.data.list
                 that.colList = res.data.list
@@ -782,7 +804,7 @@ var vNode = {
         timeout: 10000,
         success: function (res) {
           if (res.error_code == 0) {
-            that.reqCount++
+            that.reqCount++;
             if (res.data && Object.keys(res.data).length > 0) {
               that.chartLoading = false;
               // 免费用户是否浏览过当前画像 true:浏览过 不返该字段:没浏览过
@@ -1024,7 +1046,13 @@ var vNode = {
         } else {
           that.isShow.showScaleFb = true;
           that.$nextTick(function () {
-            that.getHotChartData(res);
+            var timer = setInterval(function () {
+              // 判断页面所有资源已加载完毕
+              if (document.readyState === "complete") {
+                that.getHotChartData(res);//执行方法
+                window.clearInterval(timer);
+              }
+            }, 800)
           })
         }
       }
@@ -1114,7 +1142,13 @@ var vNode = {
       if (data && data.length > 0) {
         that.isShow.showScaleRate = true
         that.$nextTick(function () {
-          that.getPieCharData(data)
+          var timer = setInterval(function () {
+            // 判断页面所有资源已加载完毕
+            if (document.readyState === "complete") {
+              that.getPieCharData(data);//执行方法
+              window.clearInterval(timer);
+            }
+          }, 800)
         })
       }
     },
@@ -1897,6 +1931,17 @@ var vNode = {
           }
         })
       }
+    },
+    onDtTextClick: function(type) {
+      if (type === 'customer') {
+        location.href = '/jyapp/free/customer'
+      } else if (type === 'update') {
+        //跳转清除旧套餐缓存,防止计算价格出错
+        sessionStorage.removeItem('vipSub_oldBuySet')
+        location.href = '/jy_mobile/common/order/create/svip?type=upgrade'
+      } else if (type === 'buy') {
+        location.href = '/jy_mobile/common/order/create/svip?type=buy'
+      }
     }
   }
 }

+ 0 - 27
src/jfw/modules/app/src/web/staticres/jyapp/js/historypush.js

@@ -628,19 +628,6 @@ var vm = new Vue({
           // 从页面移植来的
           if(!res.data.entniche && !res.data.member && res.data.vip <= 0) {
             sessionStorage.removeItem('switch-product')
-            setTimeout(function() {
-                (window.slotbydup = window.slotbydup || []).push({
-                    id: "u6603902",
-                    container: "_36y1d8lbx9n",
-                    async: true
-                });
-                (window.slotbydup = window.slotbydup || []).push({
-                    id: "u6603902",
-                    container: "_061vbh43quq3",
-                    async: true
-                });
-            },1000)
-            _this.getAjaxAdv()
           }
         }
       })
@@ -923,20 +910,6 @@ var vm = new Vue({
       this.$refs.industryItem.toggle(false)
       this.$refs.moreDropdownItems.toggle(false)
     },
-    getAjaxAdv: function () {
-      $.ajax({
-        type: 'POST',
-        url: '/publicapply/adLeague/exposure',
-        data: {
-            client: 'APP',
-            id: 'ad6',
-            position: '订阅推送列表页'
-        },
-        success: function(res) {
-            // console.log(res)
-        }
-      })
-    },
     // 选择附件
     selectFileFn: function(item) {
       if (!this.screenShow) return

+ 14 - 0
src/jfw/modules/app/src/web/staticres/jyapp/tags/js/index.js

@@ -14,6 +14,15 @@ var page = {
   initEvents: function () {
     this.initFooterPhoneCall()
     // this.showAppFooterNavs()
+    this.initBack()
+    this.topSearchEvent()
+  },
+  topSearchEvent: function () {
+    $('.search-container').on('click', function (e) {
+      e.preventDefault()
+      localStorage.removeItem('JY-MOBILE-home-top-search')
+      location.href = '/jy_mobile/search/middle/bidding'
+    })
   },
   showAppFooterNavs: function () {
     var isInHomePage = location.pathname === '/jyapp/jylab/mainSearch'
@@ -49,6 +58,11 @@ var page = {
     if (f) {
       $('.tag-info-type-nav-list, .tag-area-nav-container').addClass('dark-mode')
     }
+  },
+  initBack: function () {
+    $('.j-icon.base-icon.icon-back-white').on('click', function() {
+      window.history.back()
+    })
   }
 }
 

+ 1 - 1
src/jfw/modules/app/src/web/templates/big-member/page_client_buyer_project_news.html

@@ -267,7 +267,7 @@
                     <div class="empty-container" v-show="listState.list.length === 0 && listState.loaded && !listState.loading">
                         <div class="empty-content-position">
                             <div class="image">
-                                <img src="/jyapp/big-member/image/img-empty.png">
+                                <img src="/common-module/public/image/jy-back.png">
                             </div>
                             <div class="empty-main tip-text">暂无数据</div>
                         </div>

+ 12 - 2
src/jfw/modules/app/src/web/templates/big-member/page_client_portrayal.html

@@ -174,7 +174,7 @@
               <div class="module-title-container bg-white project-news-module">
                 <div class="module-title project-news-title">
                   <span>招标动态</span>
-                  <!-- <span class="module-title-num">10</span> -->
+                  <span class="module-title-num">${dt.total}</span>
                 </div>
                 <div class="action-group">
                   <div class="action-button export" @click="onExport" v-if="dt.list.length">
@@ -204,11 +204,16 @@
                           <p class="i_time">${item.publishtime}</p>
                       </div>
                   </div>
-                  <div v-show="dt.isNext">
+                  <div v-show="dt.isNext && !noAuth">
                       <div class="more">
                           <span @click.stop="goProjectPage">查看更多</span>
                       </div>
                   </div>
+                  <div v-if="noAuth" class="dt-text-tips light-bg">
+                    免费用户支持查看最近30条招标动态,数据更新频率为每周1次,最近更新时间为${dt.updateTime},您可
+                    <!-- 新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户 -->
+                    <span class="highlight-text" @click="onDtTextClick('customer')">联系客服升级套餐实时查看更多数据</span>。
+                  </div>
                 </div>
                 <div class="empty-container bg-white" v-show="dt.list.length === 0 && dt.loaded">
                   <div class="empty-content-position">
@@ -223,6 +228,11 @@
                         <template v-else>暂无数据</template>
                       </div>
                   </div>
+                  <div v-if="noAuth" class="dt-text-tips">
+                    免费用户支持查看最近30条招标动态,数据更新频率为每周1次,最近更新时间为${dt.updateTime},您可
+                    <!-- 新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户 -->
+                    <span class="highlight-text"  @click="onDtTextClick('customer')">联系客服升级套餐实时查看更多数据</span>。
+                  </div>
                 </div>
               </div>
             </div>

+ 25 - 7
src/jfw/modules/app/src/web/templates/big-member/page_ent_portrait.html

@@ -291,21 +291,21 @@
             <div class="module-title-container bg-white project-news-module">
               <div class="module-title project-news-title">
                 <span>中标动态</span>
-                <!-- <span class="module-title-num">10</span> -->
+                <span class="module-title-num">${topProject.total}</span>
               </div>
-              <div class="action-group" v-if="conf._13" key="action-group">
+              <div class="action-group" key="action-group">
                 <div class="action-button export" @click="onExport" v-if="topProject.list.length">
                     <i class="j-icon base-icon icon-download"></i>
                     <em class="action-button-text">数据导出</em>
                 </div>
-                <div class="action-button filters-button" @click="goHighSet" v-if="!hideDt">
+                <div class="action-button filters-button" @click="goHighSet" v-if="conf._13 && !hideDt">
                   <i class="j-icon base-icon icon-3hengxian"></i>
                   <em class="action-button-text">筛选条件</em>
                 </div>
               </div>
             </div>
             <div class="module-notice-tip">注:1个项目如同时发布了中标、成交、合同等结果类公告,则有多条数据</div>
-            <div class="tab-card-content vip_component" v-if="hideDt"
+            <div class="tab-card-content vip_component" v-if="!isLogin"
               style="height:9.16rem;background:url('/common-module/collection/image/bg/vip_bg_1.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%"
               key="dt">
               <vip-component @tabactive="tabActive" :power="conf" type="item_1" :can-free-exp="canFreeExp"
@@ -314,7 +314,7 @@
               </vip-component>
             </div>
             <div class="tab-card-content" key="dt" v-else>
-              <ul class="project-info-list" v-show="topProject.list.length !== 0">
+              <ul class="project-info-list" v-if="topProject.list.length !== 0">
                 <li class="project-info-item border-line-b clickable" :class="{ visited: item.visited }" v-for="(item,index) in topProject.list"
                     @click="toProjectDetail(item)">
                   <div class="head-group">
@@ -333,11 +333,20 @@
                   </div>
                 </li>
                 <li class="show-more clickable"
-                    v-if="topProject.showGetNextButton && (isMemberAndSvip || canFreeTrial) && topProject.count > 3"
+                    v-if="topProject.showGetNextButton && (isMemberAndSvip || canFreeTrial) && topProject.count > 3 && noShowTip"
                     @click="goToFilterProjectNews">查看更多
                 </li>
+                <li v-if="(isFree && !canFreeTrial) || updateVipStatus || customerServiceStatus" class="dt-text-tips light-bg">
+                  免费用户支持查看最近30条招标动态,数据更新频率为每周1次,最近更新时间为${topProject.updateTime},您可
+                  <!-- 免费用户 -->
+                  <span class="highlight-text" v-if="(isFree && !canFreeTrial)" @click="onDtTextClick('buy')">开通超级订阅实时查看更多数据</span>
+                  <!-- 老版超级订阅用户、新版超级订阅(购买非全国)用户余额为0 -->
+                  <span class="highlight-text" v-if="updateVipStatus" @click="onDtTextClick('update')">升级超级订阅实时查看更多数据</span>
+                  <!-- 新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户 -->
+                  <span class="highlight-text" v-if="customerServiceStatus" @click="onDtTextClick('customer')">联系客服升级套餐实时查看更多数据</span>。
+                </li>
               </ul>
-              <div class="empty-container bg-white" v-show="topProject.list.length === 0 && topProject.loaded">
+              <div class="empty-container bg-white" v-else>
                 <div class="empty-content-position">
                     <div class="image">
                         <img src="/common-module/public/image/jy-back.png">
@@ -350,6 +359,15 @@
                       <template v-else>暂无数据</template>
                     </div>
                 </div>
+                <div v-if="(isFree && !canFreeTrial) || updateVipStatus || customerServiceStatus" class="dt-text-tips">
+                  免费用户支持查看最近30条招标动态,数据更新频率为每周1次,最近更新时间为${topProject.updateTime},您可
+                  <!-- 免费用户 -->
+                  <span class="highlight-text" v-if="(isFree && !canFreeTrial)" @click="onDtTextClick('buy')">开通超级订阅实时查看更多数据</span>
+                  <!-- 老版超级订阅用户、新版超级订阅(购买非全国)用户余额为0 -->
+                  <span class="highlight-text" v-if="updateVipStatus" @click="onDtTextClick('update')">升级超级订阅实时查看更多数据</span>
+                  <!-- 新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户 -->
+                  <span class="highlight-text" v-if="customerServiceStatus" @click="onDtTextClick('customer')">联系客服升级套餐实时查看更多数据</span>。
+                </div>
               </div>
             </div>
           </div>

+ 99 - 0
src/jfw/modules/app/src/web/templates/big-member/page_free_buyer_loading.html

@@ -0,0 +1,99 @@
+<!DOCTYPE html>
+<html lang="zh-CN" style="font-size: 50px;">
+
+<head>
+  <title>采购单位画像</title>
+
+  <!--引入公共资源头部-->
+  {{include "/big-member/meta.html"}}
+
+  <!--S-当前页必定需要预加载的资源-->
+  <link rel="preload" as="style" href=//cdn-common.jianyu360.com/cdn/lib/reset-css/5.0.1/reset.min.css />
+
+  <!--E-当前页必定需要预加载的资源-->
+
+  <!--S-当前页面的css资源-->
+  <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/index.css />
+  <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/reset-css/5.0.1/reset.min.css />
+  <link rel="stylesheet"
+    href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/mainSearch/css/j-icons.css?v={{Msg "seo" "version"}}' />
+  <!--E-当前页面的css资源-->
+  <style>
+    .skeleton {
+      height: 100%;
+      display: flex;
+      flex-direction: column;
+      justify-content: center;
+      align-content: center;
+      background-color: #fff;
+    }
+
+    .working {
+      width: 4rem;
+      height: 4rem;
+      margin: -0.4rem auto 0;
+    }
+    
+  </style>
+</head>
+
+<body>
+  <div class="j-container">
+    {{include "/big-member/header.html"}}
+    <div id="portrayal_loading" ref="container" class="j-main" v-cloak>
+      <div class="skeleton">
+        <img class="working" src="/jyapp/big-member/image/working.gif" alt="">
+      </div>
+    </div>
+  </div>
+
+  <!--S-必定需要预加载的资源-->
+  <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js />
+  <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js />
+  <!--E-必定需要预加载的资源-->
+
+  <!--S-当前页面的资源-->
+  <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js> </script>
+  <script src=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js></script>
+  <script src=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js></script>
+  {{include "/big-member/commonjs.html"}}
+  <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/public/js/setTdk.js?v={{Msg "seo" "version"}}'></script>
+  <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/common.js?v={{Msg "seo" "version"}}'></script>
+  <script>
+    var vNode = {
+      delimiters: ['${', '}'],
+      el: '#portrayal_loading',
+      data: {},
+      created() {
+        this.getPowerInfo()
+      },
+      mounted() {},
+      methods: {
+        getPowerInfo: function () {
+          var _this = this
+          $.ajax({
+            type: 'GET',
+            url: '/bigmember/use/isAdd',
+            success: function (res) {
+              if (res.error_code == 0) {
+                if (res.data.entIsNew) {
+                  location.replace("/jyapp/big/page/client_portrayal?entName=" + utils.getParam('entName') + '&from=client')
+                } else {
+                  location.replace("/jyapp/big/page/unit_portrayal?entName=" + utils.getParam('entName'))
+                }
+              } else {
+                _this.$toast(res.error_msg)
+              }
+            },
+            error: function (error) {
+                console.log(error)
+            }
+          })
+        }
+      }
+    }
+    new Vue(vNode)
+  </script>
+</body>
+
+</html>

+ 10 - 1
src/jfw/modules/app/src/web/templates/big-member/page_free_buyer_project_news.html

@@ -268,7 +268,7 @@
                     <div class="empty-container" v-show="listState.list.length === 0 && listState.loaded && !listState.loading">
                         <div class="empty-content-position">
                             <div class="image">
-                                <img src="/jyapp/big-member/image/img-empty.png">
+                                <img src="/common-module/public/image/jy-back.png">
                             </div>
                             <div class="empty-main tip-text">暂无数据</div>
                         </div>
@@ -348,6 +348,15 @@
                     <span @click.stop="onExport">查看更多</span>
                   </div>
                 </div>
+                <div class="dt-text-tips">
+                  免费用户支持查看最近30条招标动态,数据更新频率为每周1次,最近更新时间为${dt.updateTime},您可
+                   <!-- 免费用户 -->
+                   <!-- <span class="highlight-text" v-if="userInfo.isFree" @click="onDtTextClick('buy')">开通超级订阅实时查看更多数据</span> -->
+                   <!-- 老版超级订阅用户、新版超级订阅(购买非全国)用户余额为0 -->
+                   <!-- <span class="highlight-text" v-if="updateVipStatus" @click="onDtTextClick('update')">升级超级订阅实时查看更多数据</span> -->
+                   <!-- 新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户 -->
+                   <span class="highlight-text" >联系客服升级套餐实时查看更多数据</span>。
+                </div>
             </div>
         </div>
     </div>

+ 1 - 1
src/jfw/modules/app/src/web/templates/big-member/page_free_ent_project_news.html

@@ -137,7 +137,7 @@
                     <div class="empty-container" v-show="listState.list.length === 0 && listState.loaded && !listState.loading">
                         <div class="empty-content-position">
                             <div class="image">
-                                <img src="/jyapp/big-member/image/img-empty.png">
+                                <img src="/common-module/public/image/jy-back.png">
                             </div>
                             <div class="empty-main tip-text">暂无数据</div>
                         </div>

+ 25 - 7
src/jfw/modules/app/src/web/templates/big-member/page_unit_portrayal.html

@@ -217,24 +217,24 @@
                 <div class="module-title-container bg-white project-news-module">
                   <div class="module-title project-news-title">
                     <span>招标动态</span>
-                    <!-- <span class="module-title-num">10</span> -->
+                    <span class="module-title-num">${dt.total}</span>
                   </div>
-                  <div class="action-group" v-if="!getStatus">
+                  <div class="action-group">
                     <div class="action-button export" @click="onExport" v-if="dt.list.length">
                         <i class="j-icon base-icon icon-download"></i>
                         <em id="mainSearch-selLable-dataExport" class="action-button-text">数据导出</em>
                     </div>
-                    <div class="action-button filters-button" @click="goHighSet">
+                    <div class="action-button filters-button" @click="goHighSet" v-if="!getStatus">
                       <i class="j-icon base-icon icon-3hengxian"></i>
                       <em class="action-button-text">筛选条件</em>
                     </div>
                   </div>
                 </div>
                 <div class="module-notice-tip">注:1个项目如同时发布了预告、招标、中标等多条公告,则有多条数据</div>
-                <div v-if="getStatus" class="tab-card-content vip_component" style="height:8.8rem;background:#fff url('/common-module/collection/image/buyer/cg-zbdt-bg.jpg?v={{Msg "seo" "version"}}') no-repeat center 50px;background-size:100% 100%;position:relative;">
+                <!-- <div v-if="getStatus" class="tab-card-content vip_component" style="height:8.8rem;background:#fff url('/common-module/collection/image/buyer/cg-zbdt-bg.jpg?v={{Msg "seo" "version"}}') no-repeat center 50px;background-size:100% 100%;position:relative;">
                   <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" @open-page="onExampleOpenPage" :power="power" type="item_14" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/cg-zbdt.png?v={{Msg "seo" "version"}}'></buyer-example>
-                </div>
-                <div class="tab-card-content" v-else>
+                </div> -->
+                <div class="tab-card-content">
                   <div class=" d_content" v-if="dt.list.length">
                     <div class="d_list" :class="{ visited: item.visited }" v-for="(item,index) in dt.list"
                       @click="goDetail(item)">
@@ -252,11 +252,20 @@
                         <p class="i_time">${item.publishtime}</p>
                       </div>
                     </div>
-                    <div v-show="dt.isNext">
+                    <div v-show="dt.isNext && !getStatus">
                       <div class="more">
                         <span @click.stop="goProjectPage">查看更多</span>
                       </div>
                     </div>
+                    <div v-if="getStatus" class="dt-text-tips light-bg">
+                      免费用户支持查看最近30条招标动态,数据更新频率为每周1次,最近更新时间为${dt.updateTime},您可
+                      <!-- 免费用户 -->
+                      <span class="highlight-text" v-if="userInfo.isFree" @click="onDtTextClick('buy')">开通超级订阅实时查看更多数据</span>
+                      <!-- 老版超级订阅用户、新版超级订阅(购买非全国)用户余额为0 -->
+                      <span class="highlight-text" v-if="updateVipStatus" @click="onDtTextClick('update')">升级超级订阅实时查看更多数据</span>
+                      <!-- 新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户 -->
+                      <span class="highlight-text" v-if="customerServiceStatus" @click="onDtTextClick('customer')">联系客服升级套餐实时查看更多数据</span>。
+                    </div>
                   </div>
                   <div class="empty-container bg-white" v-show="dt.list.length === 0 && dt.loaded">
                     <div class="empty-content-position">
@@ -271,6 +280,15 @@
                           <template v-else>暂无数据</template>
                         </div>
                     </div>
+                    <div v-if="getStatus" class="dt-text-tips">
+                      免费用户支持查看最近30条招标动态,数据更新频率为每周1次,最近更新时间为${dt.updateTime},您可
+                       <!-- 免费用户 -->
+                       <span class="highlight-text" v-if="userInfo.isFree" @click="onDtTextClick('buy')">开通超级订阅实时查看更多数据</span>
+                       <!-- 老版超级订阅用户、新版超级订阅(购买非全国)用户余额为0 -->
+                       <span class="highlight-text" v-if="updateVipStatus" @click="onDtTextClick('update')">升级超级订阅实时查看更多数据</span>
+                       <!-- 新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户 -->
+                       <span class="highlight-text" v-if="customerServiceStatus" @click="onDtTextClick('customer')">联系客服升级套餐实时查看更多数据</span>。
+                    </div>
                   </div>
                 </div>
                 <!--                <div v-if="isActive ==1" class="d_content">-->

+ 0 - 51
src/jfw/modules/app/src/web/templates/followent/list.html

@@ -37,56 +37,6 @@
 				return;
 			}
 			var data = res.list;
-			// $.ajax({
-			// 		type: 'POST',
-			// 		url: '/publicapply/bidcoll/power',
-			// 		success: function(res) {
-			// 				console.log(res)
-			// 				if(res.error_code == 0) {
-			// 					if(!res.data.entniche && !res.data.member && res.data.vip <= 0){
-			// 							(window.slotbydup = window.slotbydup || []).push({
-			// 									id: "u6603901",
-			// 									container: "_yzpxro2x1n",
-			// 									async: true
-			// 							});
-			// 							getAjaxAdv()
-			// 					}
-			// 				}
-			// 		},
-			// 		error: function(err) {
-			// 				console.log(err)
-			// 		}
-			// })
-			// function getAjaxAdv () {
-			// 		$.ajax({
-			// 			type: 'POST',
-			// 			url: '/publicapply/adLeague/exposure',
-			// 			data: {
-			// 					client: 'APP',
-			// 					id: 'ad8',
-			// 					position: '关注的企业列表页底部'
-			// 			},
-			// 			success: function(res) {
-			// 					console.log(res)
-			// 			}
-			// 		})
-			// }
-			// addEventListener('focus', function() {
-			// 		if(document.activeElement = document.getElementById('iframeu6603901_0')) {
-			// 				$.ajax({
-			// 						type: 'POST',
-			// 						url: '/publicapply/adLeague/click',
-			// 						data: {
-			// 							client: 'APP',
-			// 							id: 'ad8',
-			// 							position: '关注的企业列表页底部'
-			// 						},
-			// 						success: function(res) {
-			// 								console.log(res)
-			// 						}
-			// 				})
-			// 		}
-			// });
 			var allHtml = "";
 			var jyno = 0;
 			var fronthtml = "";
@@ -268,7 +218,6 @@ function receivePushMessageHandle(type,url){
             </div>
             <div class="jylistbottom" style="display: none;">
 								<img src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/followent/images/wx/jydustbin.png?v={{Msg "seo" "version"}}"/>批量移除30天无更新企业
-								<div class="_j07axdxi26i"></div>
 						</div>
 						<!-- <div class="_yzpxro2x1n" id="pro_footer"></div> -->
             <div class="easypopup" id="easypopup">

+ 11 - 4
src/jfw/modules/app/src/web/templates/frontRouter/userMerge/free/confirm.html

@@ -98,6 +98,7 @@
                 checkedColor: '#2CB7CA',
                 // from默认为'', 值为bindPhone时表示从手机号绑定页面/jyapp/account/phone/bind?mode=mergeBind过来的
                 from: '',
+                direct: '',
                 token: '',
                 userName:{
                     wx:'',
@@ -120,10 +121,14 @@
             },
             created () {
                 this.token = utils.getParam('token')
-                var from = utils.getParam('from')
-                if (from) {
-                    this.from = from
-                }
+              var from = utils.getParam('from')
+              if (from) {
+                this.from = from
+              }
+              var direct = utils.getParam('toDirect')
+              if (direct) {
+                this.direct = direct
+              }
                 this.getInfo()
             },
             methods: {
@@ -252,6 +257,8 @@
                         JyObj.refreshAppointTab('subscribe', 1)
                         JyObj.refreshAppointTab('box', 1)
                         JyObj.refreshAppointTab('me', 1)
+                    }else if (this.direct !==""){
+                        window.location.replace(this.direct)
                     } else {
                         history.go(-2)
                     }

+ 1 - 0
src/jfw/modules/app/src/web/templates/tags/class.html

@@ -29,6 +29,7 @@
     <div class="loading-icon"></div>
   </div>
   {{include "/tags/template/tag-footer-common-assets.html"}}
+  {{include "/tags/template/tag-footer-concat.html"}}
   <script>
     var templateData = {
       homeLink: {{.T.HomeOrigin}},

+ 1 - 0
src/jfw/modules/app/src/web/templates/tags/details.html

@@ -38,6 +38,7 @@
             {{include "/tags/template/tag-breadcrumb-navigation.html"}}
         {{end}}
         {{include "/tags/template/tag-footer.html"}}
+        {{include "/tags/template/tag-footer-concat.html"}}
       </div>
     </main>
   </section>

+ 1 - 0
src/jfw/modules/app/src/web/templates/tags/strategy.html

@@ -27,6 +27,7 @@
             {{include "/tags/template/tag-breadcrumb-navigation.html"}}
         {{end}}
         {{include "/tags/template/tag-footer.html"}}
+        {{include "/tags/template/tag-footer-concat.html"}}
       </div>
     </main>
   </section>

+ 1 - 1
src/jfw/modules/app/src/web/templates/tags/template/tag-area-nav.html

@@ -1,6 +1,6 @@
 <section class="tag-area-nav-container">
   <div class="tag-area-nav-list-container simple-area">
-    <p class="tag-area-nav-list-title">分站</p>
+    <div class="tag-area-nav-list-title">分站</div>
     <ul class="tag-area-nav-list">
       {{range $val:=.T.hotArea}}
       <li class="tag-area-nav-item">

+ 1 - 1
src/jfw/modules/app/src/web/templates/tags/template/tag-breadcrumb-navigation.html

@@ -1,6 +1,6 @@
 <section class="tag-breadcrumb-navigation ellipsis">
   <span>当前位置:</span>
-  <a href="{{.T.Home}}">剑鱼标讯首页</a>
+  <a href="/">剑鱼标讯首页</a>
   {{range $l:=.T.currentLocation}}
   {{if $l.Url}}
   &gt; <a href="{{$l.Url}}">{{$l.Name}}</a>

+ 13 - 0
src/jfw/modules/app/src/web/templates/tags/template/tag-footer-concat.html

@@ -0,0 +1,13 @@
+<section class="tag-footer-container fixed">
+  <div class="footer-button-group">
+    <a class="seo-button theme-main radius phone-concat-customer" data-tel="400-108-6670" href="tel:400-108-6670">
+      <span class="j-icon base-icon icon-phone-white-solid"></span>
+      <p>电话咨询</p>
+    </a>
+    <a class="seo-button theme-main radius" href="/jyapp/free/login?url=/jyapp/jylab/mainSearch">
+      <span class="j-icon base-icon icon-person-white-solid"></span>
+      <p>登录/注册</p>
+    </a>
+  </div>
+</section>
+

+ 1 - 1
src/jfw/modules/app/src/web/templates/tags/template/tag-footer.html

@@ -5,7 +5,7 @@
       <a class="tel-link" data-tel="400-108-6670" href="tel:400-108-6670">400-108-6670</a>
     </div>
     <div class="footer-card-line bottom-navs">
-      <a class="bottom-nav-link" href="{{.T.Home}}">首页</a>
+      <a class="bottom-nav-link" href="/">首页</a>
       <a class="bottom-nav-link" href="/jyapp/free/swordfish/about">关于剑鱼标讯</a>
     </div>
     <div class="footer-divider"></div>

+ 1 - 0
src/jfw/modules/app/src/web/templates/tags/template/tag-header.html

@@ -1,4 +1,5 @@
 <div class="tag-header-container j-header jy-app-header">
+    <i class="j-icon base-icon icon-back-white" style="display: block;flex-shrink: 0;margin-right: 0.16rem;"></i>
     <a class="search-container bg-white" href="/jy_mobile/search/middle/bidding">
         <i class="search-icon j-icon base-icon icon-search"></i>
         <div class="search-input">请输入您要搜索的内容</div>

+ 0 - 44
src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html

@@ -841,51 +841,7 @@
     }
   })
 
-  function advHtml() {
-    (window.slotbydup = window.slotbydup || []).push({
-      id: "u6603898",
-      container: "_ouq34ajmfig",
-      async: true
-    });
-    (window.slotbydup = window.slotbydup || []).push({
-      id: "u6603898",
-      container: "_nxko9k32d8d",
-      async: true
-    });
-    getAjaxAdv()
-  }
 
-  function getAjaxAdv() {
-    $.ajax({
-      type: 'POST',
-      url: '/publicapply/adLeague/exposure',
-      data: {
-        client: 'APP',
-        id: 'ad5',
-        position: '搜索列表页'
-      },
-      success: function (res) {
-        console.log(res)
-      }
-    })
-  }
-
-  addEventListener('focus', function () {
-    if (document.activeElement = document.getElementById('iframeu6603898_0')) {
-      $.ajax({
-        type: 'POST',
-        url: '/publicapply/adLeague/click',
-        data: {
-          client: 'APP',
-          id: 'ad5',
-          position: '搜索列表页'
-        },
-        success: function (res) {
-          console.log(res)
-        }
-      })
-    }
-  });
 </script>
 <script type="text/javascript">
   var adv_url = "/datareport/page/introduce";

+ 87 - 53
src/jfw/modules/app/src/web/templates/weixin/wxinfocontent.html

@@ -28,9 +28,12 @@
     <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/bootstrap.min.js"></script>
     <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/share.js?v={{Msg "seo" "version"}}"></script>
     <script src="//cdn-common.jianyu360.com/cdn/lib/html2canvas/1.3.3/dist/html2canvas.min.js"></script>
+    <link href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/tags/css/tags-module-common.css?v={{Msg "seo" "version"}}' rel="stylesheet" />
+
 
     {{include "/common/js.html"}}
     <style>
+      p{margin: 0;}
       html > body {
         background: #fff;
       }
@@ -344,6 +347,7 @@
             </ul>
         </div>
     </div>
+    {{if .T.obj.hasSession}}
     <div class="app-layout-header jy-app-header">
         <span class="app-back jyapp-icon jyapp-icon-zuojiantou share-back"></span>
         <span class="header-title">公告信息</span>
@@ -399,61 +403,18 @@
             <!-- 分享 end -->
 	    </span>
     </div>
+    {{else}}
+    {{include "tags/template/tag-header.html" .}}
+    {{end}}
+
     <div class="app-layout-content-b">
+        {{if not .T.obj.hasSession}}
+        {{include "tags/template/tag-register-login-group.html" .}}
+        {{include "tags/template/tag-info-type-nav.html" .}}
+        {{include "tags/template/tag-area-nav.html" .}}
+        {{end}}
         <div class="mask"></div>
         <div class="info">
-            <!-- <div class="_c2l0w7g3cjf"></div> -->
-            <script type="text/javascript">
-            $.ajax({
-                type: 'POST',
-                url: '/publicapply/bidcoll/power',
-                success: function(res) {
-                    if(res.error_code == 0) {
-                        if(!res.data.entniche && !res.data.member && res.data.vip <= 0) {
-                            (window.slotbydup = window.slotbydup || []).push({
-                                id: "u6603899",
-                                container: "_c2l0w7g3cjf",
-                                async: true
-                            });
-                            getAjaxAdv()
-                        }
-                    }
-                },
-                error: function(err) {
-                        console.log(err)
-                }
-			})
-                function getAjaxAdv () {
-                    $.ajax({
-                    type: 'POST',
-                    url: '/publicapply/adLeague/exposure',
-                    data: {
-                        client: 'APP',
-                        id: 'ad7',
-                        position: '公告详情页顶部'
-                    },
-                    success: function(res) {
-                        // console.log(res)
-                    }
-                    })
-                }
-                addEventListener('focus', function() {
-                    if(document.activeElement = document.getElementById('iframeu6603899_0')) {
-                        $.ajax({
-                            type: 'POST',
-                            url: '/publicapply/adLeague/click',
-                            data: {
-                                client: 'APP',
-                                id: 'ad7',
-                                position: '公告详情页顶部'
-                            },
-                            success: function(res) {
-                                // console.log(res)
-                            }
-                        })
-                    }
-                });
-            </script>
 <!--            <div v-if="item.site === '剑鱼信息发布平台' || item.spidercode === 'a_jyxxfbpt_gg'" class="yhfb">用户发布</div>-->
             {{if .T.obj.site}}
             {{if eq .T.obj.site "剑鱼信息发布平台"}}
@@ -1133,6 +1094,10 @@
         {{end}}
         {{end}}
         {{end}}
+        {{if not .T.obj.hasSession}}
+        {{include "tags/template/tag-breadcrumb-navigation.html" .}}
+        {{include "tags/template/tag-footer.html" .}}
+        {{end}}
     </div>
 </div>
 <!-- 三方认证弹窗 -->
@@ -1147,6 +1112,7 @@
 <script src='/common-module/nps-common/js/nps.js?v={{Msg "seo" "version"}}'></script>
 <script src='/common-module/forward-share/js/forward.js?v={{Msg "seo" "version"}}'></script>
 <script src='/common-module/bidstatus-update/js/bid-status-update.js?v={{Msg "seo" "version"}}'></script>
+
 <!-- <script src="https://cdn.bootcss.com/vConsole/3.3.4/vconsole.min.js"></script>
 <script> new VConsole(); </script> -->
 <script>
@@ -1156,7 +1122,6 @@
       $(this).wrap('<div class="scroll-tab-container" style="max-width: 100%;overflow-x: scroll;"></div>')
     })
   });
-
     var canRead = {{.T.canRead}} //免费用户当天查看是否查看三次公告
     var	shareimgflag = true;
     var area = {{.T.obj.area}}
@@ -3626,7 +3591,76 @@
         return key
       }
     }
+
 </script>
+{{if not .T.obj.hasSession }}
+  <script>
+      var areaNavModule = {
+      $el: null,
+      init: function () {
+        this.getTargetDOM()
+        this.addListener()
+      },
+      getTargetDOM: function () {
+        this.$el = $('.tag-area-nav-container')
+      },
+      addListener: function () {
+        var _this = this
+        if (!this.$el) return
+        this.$el.find('.action-show-more').on('click', function () {
+          _this.$el.find('.tag-area-nav-list-group').toggle()
+        })
+      }
+    }
+    var backToTop = {
+      $scrollDOM: $('.app-layout-content-b'),
+      $backToTop: $('.back-to-top'),
+      init: function () {
+        this.checkBackToTopButtonShow()
+        this.bindEvents()
+      },
+      bindEvents: function () {
+        var _this = this
+        this.$backToTop.on('click', function () {
+          $('.app-layout-content-b').animate({
+            scrollTop: 0
+          })
+        })
+        this.$scrollDOM.on('scroll', function (e) {
+          _this.checkBackToTopButtonShow()
+        })
+      },
+      checkBackToTopButtonShow: function () {
+        var scrollTop = this.$scrollDOM.scrollTop()
+        if (scrollTop < 5) {
+          this.$backToTop.hide()
+        } else {
+          this.$backToTop.show()
+        }
+      }
+    }
+    $(function(){
+      areaNavModule.init()
+      backToTop.init()
+      // 未登录状态下距顶部距离为顶部搜索框高度
+      var headerTop = document.querySelector('.jy-app-header ').clientHeight
+      $('.app-layout-content-b').css('top', headerTop)
+      $('.h5-tabfix').css('top', headerTop)
+      $('.wx-tabfix').css('top', headerTop)
+      $('.childNav').css('top', headerTop)
+      $('.tag-breadcrumb-navigation').css('background', '#EDEFF2')
+      $('.search-container').on('click', function (e) {
+        e.preventDefault()
+        localStorage.removeItem('JY-MOBILE-home-top-search')
+        sessionStorage.removeItem('JY-MOBILE-/search/result/bidding')
+        location.href = '/jy_mobile/search/middle/bidding'
+      })
+      $('.j-icon.base-icon.icon-back-white').on('click', function() {
+        window.history.back()
+      })
+    })
+  </script>
+{{end}}
 {{include "/common/baiducc.html"}}
 </body>
 </html>

+ 2 - 0
src/jfw/modules/bigmember/src/config.json

@@ -181,6 +181,8 @@
   "newDataTime": 1685606275,
   "projectCount": 5000,
   "portraitStartTime": 2018,
+  "portraitDynamicTime": 7,
+  "portraitCount": 30,
   "nsq": "192.168.3.240:4260",
   "nsq_topic": "jy_event"
 }

+ 9 - 7
src/jfw/modules/bigmember/src/config/config.go

@@ -65,13 +65,15 @@ type config struct {
 		Details  string `json:"details"`
 		ListPage string `json:"listPage"`
 	} `json:"claim"`
-	ContextOldVipLimit int64  `json:"contextOldVipLimit"` //超级订阅部分用户:--- 超前项目权限
-	PotentialCount     int    `json:"potentialCount"`     //潜在客户 潜在竞争对手数据量
-	NewDataTime        int64  `json:"newDataTime"`        // 用于周边月报区分是否为新数据 、配置为p350发版的时间
-	ProjectCount       int    `json:"projectCount"`       //画像和报告项目明细最大数量
-	PortraitStartTime  int    `json:"portraitStartTime"`
-	Nsq                string `json:"nsq"`
-	Nsq_topic          string `json:"nsq_topic"`
+	ContextOldVipLimit  int64  `json:"contextOldVipLimit"` //超级订阅部分用户:--- 超前项目权限
+	PotentialCount      int    `json:"potentialCount"`     //潜在客户 潜在竞争对手数据量
+	NewDataTime         int64  `json:"newDataTime"`        // 用于周边月报区分是否为新数据 、配置为p350发版的时间
+	ProjectCount        int    `json:"projectCount"`       //画像和报告项目明细最大数量
+	PortraitStartTime   int    `json:"portraitStartTime"`
+	PortraitDynamicTime int    `json:"portraitDynamicTime"`
+	PortraitCount       int    `json:"portraitCount"`
+	Nsq                 string `json:"nsq"`
+	Nsq_topic           string `json:"nsq_topic"`
 }
 
 type CustomerInfo struct {

+ 2 - 2
src/jfw/modules/bigmember/src/entity/portrait.go

@@ -310,14 +310,14 @@ func (this *Portrait) GetWinnerContactsMsg(entId string) ([]map[string]interface
 //		  matchType 搜索范围
 //	   area 项目地区
 //	   pushTime 发布时间
-func (this *Portrait) GetWinnerNewMsg(pwp *PortraitProjectScreen) ([]map[string]interface{}, int64, error) {
+func (this *Portrait) GetWinnerNewMsg(pwp *PortraitProjectScreen) ([]map[string]interface{}, int64, int64, error) {
 	return pwp.GetWinnerList()
 }
 func (this *Portrait) GetWinnerNewExport(pwp *PortraitProjectScreen) ([]string, error) {
 	return pwp.GetWinnerListIds()
 }
 
-func (this *Portrait) GetBuyerNewMsg(pwp *PortraitProjectScreen) ([]map[string]interface{}, int64, error) {
+func (this *Portrait) GetBuyerNewMsg(pwp *PortraitProjectScreen) ([]map[string]interface{}, int64, int64, error) {
 	return pwp.GetBuyerList()
 }
 func (this *Portrait) GetBuyerNewMsgExport(pwp *PortraitProjectScreen) ([]string, error) {

+ 77 - 21
src/jfw/modules/bigmember/src/entity/portrait_screen.go

@@ -1,6 +1,7 @@
 package entity
 
 import (
+	"app.yhyue.com/moapp/jybase/redis"
 	"encoding/json"
 	"fmt"
 	"jy/src/jfw/modules/bigmember/src/config"
@@ -219,6 +220,7 @@ func (pwp *PortraitProjectScreen) CommonPare(isWinner bool) (mustQueryArr []stri
 	}
 
 	//按照当前年份,往前推4年,共5个年份可选
+	//无权已用户
 	sTime, eTime := pwp.Screen.PareTimeSelect(isWinner) //采购单位不校验权限
 	if isWinner {
 		mustQueryArr = append(mustQueryArr, fmt.Sprintf(`{"term":{"entidlist":"%s"}}`, pwp.Screen.Ent))
@@ -232,7 +234,7 @@ func (pwp *PortraitProjectScreen) CommonPare(isWinner bool) (mustQueryArr []stri
 
 // GetWinnerListSearch 获取企业画像中标信息数据
 // 会员展示1-4页表格数据,免费用户前三条
-func (pwp *PortraitProjectScreen) GetWinnerListSearch() (list *[]map[string]interface{}, total int64, err error) {
+func (pwp *PortraitProjectScreen) GetWinnerListSearch() (list *[]map[string]interface{}, total int64, updateTime int64, err error) {
 	if pwp.Screen.Ent == "" {
 		err = fmt.Errorf("企业名称异常")
 		return
@@ -240,6 +242,11 @@ func (pwp *PortraitProjectScreen) GetWinnerListSearch() (list *[]map[string]inte
 	mustQueryArr := pwp.CommonPare(true)
 	pwp.PageNum = qutil.If(pwp.PageNum == 0, 1, pwp.PageNum).(int)     //默认第一页
 	pwp.PageSize = qutil.If(pwp.PageSize == 0, 10, pwp.PageSize).(int) //默认每页10条
+
+	if !pwp.Screen.HasPower || pwp.Free {
+		return pwp.FreePortraitNews(mustQueryArr, true)
+	}
+
 	//仅第一页查询总量
 	if pwp.PageNum == 1 || pwp.IsExport {
 		total = elastic.Count(biddingIndex, biddingType, fmt.Sprintf(NewMustSearch, strings.Join(mustQueryArr, ","), ""))
@@ -272,9 +279,9 @@ func (pwp *PortraitProjectScreen) GetWinnerListSearch() (list *[]map[string]inte
 }
 
 // GetWinnerList 获取企业画像中标信息数据
-func (pwp *PortraitProjectScreen) GetWinnerList() (list []map[string]interface{}, total int64, err error) {
+func (pwp *PortraitProjectScreen) GetWinnerList() (list []map[string]interface{}, total int64, updateTime int64, err error) {
 	var newData *[]map[string]interface{}
-	newData, total, err = pwp.GetWinnerListSearch()
+	newData, total, updateTime, err = pwp.GetWinnerListSearch()
 	if newData == nil || len(*newData) == 0 {
 		return
 	}
@@ -314,7 +321,7 @@ func (pwp *PortraitProjectScreen) GetWinnerList() (list []map[string]interface{}
 // GetWinnerListIds 画像中标单位动态数据导出
 func (pwp *PortraitProjectScreen) GetWinnerListIds() (ids []string, err error) {
 	var newData *[]map[string]interface{}
-	newData, _, err = pwp.GetWinnerListSearch()
+	newData, _, _, err = pwp.GetWinnerListSearch()
 	if newData == nil || len(*newData) == 0 {
 		err = fmt.Errorf("未找到相关数据")
 		return
@@ -349,7 +356,7 @@ func GetNewBiddingCount(winnerId, buyer string) int64 {
 }
 
 // GetBuyerListSearch 采购单位中标动态查询
-func (pwp *PortraitProjectScreen) GetBuyerListSearch() (list *[]map[string]interface{}, total int64, err error) {
+func (pwp *PortraitProjectScreen) GetBuyerListSearch() (list *[]map[string]interface{}, total int64, updateTime int64, err error) {
 	if pwp.Screen.Ent == "" {
 		err = fmt.Errorf("企业名称异常")
 		return
@@ -358,9 +365,12 @@ func (pwp *PortraitProjectScreen) GetBuyerListSearch() (list *[]map[string]inter
 	if pwp.Screen.HasPower {
 		pwp.PageNum = qutil.If(pwp.PageNum == 0, 1, pwp.PageNum).(int)    //默认第一页
 		pwp.PageSize = qutil.If(pwp.PageSize == 0, 5, pwp.PageSize).(int) //默认每页10条
-	} else { //免费用户可以查看三条
-		pwp.PageNum = 1
-		pwp.PageSize = 5
+		//} else { //免费用户可以查看三条
+		//	pwp.PageNum = 1
+		//	pwp.PageSize = 5
+	}
+	if !pwp.Screen.HasPower || pwp.Free {
+		return pwp.FreePortraitNews(mustQueryArr, false)
 	}
 
 	//仅第一页查询总量(非数据导出)
@@ -384,27 +394,73 @@ func (pwp *PortraitProjectScreen) GetBuyerListSearch() (list *[]map[string]inter
 		//log.Printf("PortraitWinnerProject GetList Sql %s\n", listQuery)
 		list = elastic.Get(biddingIndex, biddingIndex, listQuery)
 	} else { // 数据导出分批查询
-		if total > 5 {
-			if pwp.Screen.HasPower {
-				if pwp.Free {
-					total = 5
-				}
-			} else { //免费用户可以查看三条
-				total = 5
-			}
-		}
+		//if total > 5 {
+		//	if pwp.Screen.HasPower {
+		//		if pwp.Free {
+		//			total = 5
+		//		}
+		//	} else { //免费用户可以查看三条
+		//		total = 5
+		//	}
+		//}
 		listQuery := fmt.Sprintf(NewMustSearch, strings.Join(mustQueryArr, ","), `,"_source":["_id"],"sort":{"publishtime":"desc"}`)
 		list = getBatchSearchRes(biddingIndex, biddingIndex, listQuery, total)
 	}
 	return
 }
 
+func (pwp *PortraitProjectScreen) FreePortraitNews(mustQueryArr []string, isWinner bool) (data *[]map[string]interface{}, total int64, updateTime int64, err error) {
+	redisKey := fmt.Sprintf("free_portrait_list_%s", pwp.Screen.Ent)
+	redisData := make(map[string]interface{})
+	var dataArr []map[string]interface{}
+	if rBytes, err := redis.GetBytes("other", redisKey); err == nil && len(*rBytes) != 0 {
+		_ = json.Unmarshal(*rBytes, &redisData)
+		rData, _ := redisData["list"].([]interface{})
+		dataArr = qutil.ObjArrToMapArr(rData)
+		total = qutil.Int64All(redisData["total"])
+		updateTime = qutil.Int64All(redisData["updateTime"])
+	} else {
+		var fields string
+		updateTime = time.Now().Unix()
+		if isWinner {
+			fields = `"_id","projectname","bidamount","budget","title","publishtime","subtype","toptype","area","bidopentime","buyer"`
+		} else {
+			fields = `"bidstatus","_id","title","subtype","projectname","publishtime","area","bidamount","budget","bidopentime","s_winner","entidlist"`
+		}
+		mustQueryArrStr := strings.Join(mustQueryArr, ",")
+		total = elastic.Count(biddingIndex, biddingIndex, fmt.Sprintf(NewMustSearch, mustQueryArrStr, ""))
+		isTrue := true
+		if total > 0 {
+			listQuery := fmt.Sprintf(NewMustSearch, mustQueryArrStr, fmt.Sprintf(`,"_source":[%s],"sort":{%s},"from":0,"size":%d`, fields, `"publishtime":"desc","id":"desc"`, config.Config.PortraitCount))
+			list := elastic.Get(biddingIndex, biddingIndex, listQuery)
+			if list != nil && len(*list) > 0 {
+				dataArr = *list
+			} else {
+				log.Printf("画像动态数据获取异常,ent:%s,total:%d,sql:%s", pwp.Screen.Ent, total, listQuery)
+				isTrue = false
+				total = 0
+			}
+		}
+		if isTrue {
+			go func() {
+				redis.Put("other", redisKey, map[string]interface{}{
+					"list":       dataArr,
+					"total":      total,
+					"updateTime": updateTime,
+				}, 24*3600*config.Config.PortraitDynamicTime)
+			}()
+		}
+	}
+	data = &dataArr
+	return
+}
+
 // GetBuyerList 获取采购单位采购信息数据
-// 会员展示1-4页表格数据,免费用户前三条
-func (pwp *PortraitProjectScreen) GetBuyerList() (list []map[string]interface{}, total int64, err error) {
+// 会员展示1-4页表格数据,免费用户前三
+func (pwp *PortraitProjectScreen) GetBuyerList() (list []map[string]interface{}, total int64, updateTime int64, err error) {
 	var newData *[]map[string]interface{}
 	//查询
-	newData, total, err = pwp.GetBuyerListSearch()
+	newData, total, updateTime, err = pwp.GetBuyerListSearch()
 	if newData == nil || len(*newData) == 0 {
 		return
 	}
@@ -444,7 +500,7 @@ func (pwp *PortraitProjectScreen) GetBuyerList() (list []map[string]interface{},
 func (pwp *PortraitProjectScreen) GetBuyerListIds() (ids []string, err error) {
 	var newData *[]map[string]interface{}
 	//查询
-	newData, _, err = pwp.GetBuyerListSearch()
+	newData, _, _, err = pwp.GetBuyerListSearch()
 	if newData == nil || len(*newData) == 0 {
 		err = fmt.Errorf("未查询到相关数据")
 		return

+ 21 - 24
src/jfw/modules/bigmember/src/service/portrait/memberPortraitAction.go

@@ -116,17 +116,14 @@ func (this *EntPortrait) WinnerNewMsg() {
 		if entId == "" {
 			return nil, fmt.Errorf("企业参数异常")
 		}
-		cepm, hasPower, err, _ := entity.CreatePortraitManager(this.Session(), "entNewMsg")
-		if err != nil {
-			return nil, err
-		}
-		if !hasPower {
-			return nil, fmt.Errorf("非法请求")
-		}
+		cepm, hasPower, _, _ := entity.CreatePortraitManager(this.Session(), "entNewMsg")
+		//if err != nil {
+		//	return nil, err
+		//}
 		pageNum, _ := this.GetInteger("pageNum")
 		pageSize, _ := this.GetInteger("pageSize")
 
-		rData, total, err := cepm.GetWinnerNewMsg(&entity.PortraitProjectScreen{
+		rData, total, updateTime, err := cepm.GetWinnerNewMsg(&entity.PortraitProjectScreen{
 			Screen: &entity.PortraitScreen{
 				Ent:        entId,
 				Match:      this.GetString("match"),
@@ -145,8 +142,9 @@ func (this *EntPortrait) WinnerNewMsg() {
 			return nil, err
 		}
 		return map[string]interface{}{
-			"list":  rData,
-			"count": total,
+			"list":       rData,
+			"count":      total,
+			"updateTime": updateTime,
 		}, nil
 	}()
 	if errMsg != nil {
@@ -167,9 +165,7 @@ func (this *EntPortrait) WinnerNewMsgExport() {
 		if err != nil {
 			return nil, err
 		}
-		if !hasPower {
-			return nil, fmt.Errorf("非法请求")
-		}
+
 		//查询数据导出数据id列
 		pps := &entity.PortraitProjectScreen{
 			Screen: &entity.PortraitScreen{
@@ -298,16 +294,16 @@ func (this *EntPortrait) BuyerNewMsg() {
 	userId := qutil.ObjToString(this.GetSession("userId"))
 	rData, errMsg := func() (interface{}, error) {
 		cepm, hasPower, err, _ := entity.CreatePortraitManager(this.Session(), "buyerPortrait")
-		if err != nil {
-			return nil, err
-		}
+		//if err != nil {
+		//	return nil, err
+		//}
 
 		buyer := this.GetString("buyer")
 		pageNum, _ := this.GetInteger("pageNum")
 		pageSize, _ := this.GetInteger("pageSize")
 
 		//免费用户仅可查看三条记录
-		rData, total, err := cepm.GetBuyerNewMsg(&entity.PortraitProjectScreen{
+		rData, total, updateTime, err := cepm.GetBuyerNewMsg(&entity.PortraitProjectScreen{
 			Screen: &entity.PortraitScreen{
 				Ent:        buyer,
 				Match:      this.GetString("match"),
@@ -325,8 +321,9 @@ func (this *EntPortrait) BuyerNewMsg() {
 			return nil, err
 		}
 		return map[string]interface{}{
-			"list":  rData,
-			"count": total,
+			"list":       rData,
+			"count":      total,
+			"updateTime": updateTime,
 		}, nil
 	}()
 	if errMsg != nil {
@@ -339,11 +336,11 @@ func (this *EntPortrait) BuyerNewMsgExport() {
 	userId := qutil.ObjToString(this.GetSession("userId"))
 	rData, errMsg := func() (interface{}, error) {
 		cepm, hasPower, err, free := entity.CreatePortraitManager(this.Session(), "buyerPortrait")
-		if err != nil {
-			return nil, err
-		}
+		//if err != nil {
+		//	return nil, err
+		//}
 		buyer := this.GetString("buyer")
-		//免费用户仅可查看三条记录
+		//免费用户仅可查看三条记录
 		pps := &entity.PortraitProjectScreen{
 			Screen: &entity.PortraitScreen{
 				Ent:        buyer,
@@ -525,7 +522,7 @@ func (this *EntPortrait) NoLoginAssociatedInfo() {
 		// 未登录用户关联中标企业
 		data := entity.NoLoginAssociatedInfo(entId)
 		var cepm *entity.Portrait
-		rData, _, _ := cepm.GetWinnerNewMsg(&entity.PortraitProjectScreen{
+		rData, _, _, _ := cepm.GetWinnerNewMsg(&entity.PortraitProjectScreen{
 			Screen: &entity.PortraitScreen{
 				Ent:        entId,
 				Match:      this.GetString("match"),

+ 18 - 30
src/jfw/modules/bigmember/src/service/portrait/subvipPortraitAction.go

@@ -68,26 +68,17 @@ func (this *SubVipPortrait) SubVipEntDetail() {
 // SubVipWinnerNewMsg 超级订阅升级版查看最新中标动态
 func (this *SubVipPortrait) SubVipWinnerNewMsg() {
 	userId := qutil.ObjToString(this.GetSession("userId"))
-	log.Println(this.Session().GetMultiple(), "---SubVipWinnerNewMsg  userId :", userId)
 	rData, errMsg := func() (interface{}, error) {
-		log.Println(qutil.ObjToString(this.GetSession("userId")), "------SubVipWinnerNewMsg -------------  userId :", userId)
 		entId := util.DecodeId(this.GetString("entId"))
 		if entId == "" {
 			return nil, fmt.Errorf("参数异常")
 		}
-		cepm, power, err, _ := entity.CreateSubVipPortraitManager(userId, "entNewMsg", entId, true, this.Session())
-		if err != nil {
-			return nil, err
-		}
-
-		if power <= 1 {
-			return nil, errors.New("非法请求")
-		}
+		cepm, power, _, _ := entity.CreateSubVipPortraitManager(userId, "entNewMsg", entId, true, this.Session())
 
 		pageNum, _ := this.GetInteger("pageNum")
 		pageSize, _ := this.GetInteger("pageSize")
 
-		rData, total, err := cepm.GetWinnerNewMsg(&entity.PortraitProjectScreen{
+		rData, total, updateTime, err := cepm.GetWinnerNewMsg(&entity.PortraitProjectScreen{
 			Screen: &entity.PortraitScreen{
 				Ent:        entId,
 				Match:      this.GetString("match"),
@@ -96,7 +87,7 @@ func (this *SubVipPortrait) SubVipWinnerNewMsg() {
 				Area:       this.GetString("area"),
 				ScopeClass: this.GetString("scopeClass"),
 				TimeRange:  this.GetString("timeRange"),
-				HasPower:   true,
+				HasPower:   power > 1,
 			},
 			PageNum:  pageNum,
 			PageSize: pageSize,
@@ -105,8 +96,9 @@ func (this *SubVipPortrait) SubVipWinnerNewMsg() {
 			return nil, err
 		}
 		return map[string]interface{}{
-			"list":  rData,
-			"count": total,
+			"list":       rData,
+			"count":      total,
+			"updateTime": updateTime,
 		}, nil
 	}()
 	if errMsg != nil {
@@ -127,9 +119,9 @@ func (this *SubVipPortrait) WinnerNewMsgExport() {
 		if err != nil {
 			return nil, err
 		}
-		if power <= 1 {
-			return nil, errors.New("非法请求")
-		}
+		//if power <= 1 {
+		//	return nil, errors.New("非法请求")
+		//}
 		//查询数据导出数据id列
 		pps := &entity.PortraitProjectScreen{
 			Screen: &entity.PortraitScreen{
@@ -140,7 +132,7 @@ func (this *SubVipPortrait) WinnerNewMsgExport() {
 				Area:       this.GetString("area"),
 				ScopeClass: this.GetString("scopeClass"),
 				TimeRange:  this.GetString("timeRange"),
-				HasPower:   true,
+				HasPower:   power > 1,
 			},
 			IsExport: true,
 			Free:     free,
@@ -341,20 +333,15 @@ func (this *SubVipPortrait) BuyerNewMsg() {
 		if buyer == "" {
 			return nil, fmt.Errorf("参数异常")
 		}
-		if userId == "" {
-			return nil, fmt.Errorf("未登录")
-		}
 		pageNum, _ := this.GetInteger("pageNum")
 		pageSize, _ := this.GetInteger("pageSize")
 		cepm, power, err, _ := entity.CreateSubVipPortraitManagerForOpen(userId, "buyerPortrait", buyer, false, this.Session())
-		if err != nil {
-			return nil, err
-		}
-		if power <= 1 {
-			return nil, fmt.Errorf("无查看权益")
-		}
+		//if err != nil {
+		//	return nil, err
+		//}
+
 		//免费用户仅可查看三条记录
-		rData, total, err := cepm.GetBuyerNewMsg(&entity.PortraitProjectScreen{
+		rData, total, updateTime, err := cepm.GetBuyerNewMsg(&entity.PortraitProjectScreen{
 			Screen: &entity.PortraitScreen{
 				Ent:        buyer,
 				Match:      this.GetString("match"),
@@ -372,8 +359,9 @@ func (this *SubVipPortrait) BuyerNewMsg() {
 			return nil, err
 		}
 		return map[string]interface{}{
-			"list":  rData,
-			"count": total,
+			"list":       rData,
+			"count":      total,
+			"updateTime": updateTime,
 		}, nil
 	}()
 	if errMsg != nil {

+ 2 - 92
src/jfw/modules/followent/src/web/templates/weixin/list.html

@@ -28,7 +28,7 @@ if(sessionStorage){
 		right: 0;
 		bottom: 0;
 	}
-  
+
   .listpage .redspot{
       position: absolute;
       width: 8px;
@@ -50,97 +50,7 @@ if(sessionStorage){
 	</div>
 	<div class="jylistbottom" style="display: none;">
         <img src="/jylab/followent/images/wx/jydustbin.png"/>批量移除30天无更新企业
-    </div>
-    <div class="_fhts92t44f" id="pro_footer"></div>
-    <script type="text/javascript">
-        $.ajax({
-            type: 'POST',
-            url: '/publicapply/bidcoll/power?t=' + new Date().getTime(),
-            success: function(res) {
-                console.log(res)
-                // res.data.entniche = false
-                // res.data.member = false
-                // res.data.vip = 0
-                if(res.error_code == 0) {
-                    if(!res.data.entniche && !res.data.member && res.data.vip <= 0){
-                        (window.slotbydup = window.slotbydup || []).push({
-                            id: "u6603901",
-                            container: "_fhts92t44f",
-                            async: true
-                        });
-                        getAjaxAdv()
-                        var frames = document.getElementById("iframeu6603901_0");
-                        console.log(frames, 'frames')
-                        IframeOnClick.track(frames, function() {
-                            jQuery(document).click();
-                        });
-                    }
-                }
-            },
-            error: function(err) {
-                console.log(err)
-            }
-        })
-        function getAjaxAdv () {
-            $.ajax({
-                type: 'POST',
-                url: '/publicapply/adLeague/exposure',
-                data: {
-                        client: 'WX',
-                        id: 'ad8',
-                        position: '关注的企业列表页底部'
-                },
-                success: function(res) {
-                        console.log(res)
-                }
-            })
-        }
-        var IframeOnClick = {
-            resolution: 200,
-            iframes: [],
-            interval: null,
-            Iframe: function() {
-                    this.element = arguments[0];
-                    this.cb = arguments[1];
-                    this.hasTracked = false;
-            },
-            track: function(element, cb) {
-                    this.iframes.push(new this.Iframe(element, cb));
-                    var _this = this;
-                            this.interval = setInterval(function() { _this.checkClick(); }, this.resolution);
-            },
-            checkClick: function() {
-                if (document.activeElement) {
-                    var activeElement = document.activeElement;
-                    for (var i in this.iframes) {
-                        if (activeElement === this.iframes[i].element) { // user is in this Iframe
-                                if (this.iframes[i].hasTracked == false) {
-                                        this.iframes[i].cb.apply(window, []);
-                                        this.iframes[i].hasTracked = true;
-                                        $.ajax({
-                                                type: 'POST',
-                                                url: '/publicapply/adLeague/click',
-                                                data: {
-                                                    client: 'WX',
-                                                    id: 'ad8',
-                                                    position: '关注的企业列表页底部'
-                                                },
-                                                success: function(res) {
-                                                        console.log(res)
-                                                }
-                                        })
-                                }
-                        } else {
-                                this.iframes[i].hasTracked = false;
-                        }
-                    }
-                }
-            }
-			};
-    </script>
-    <!-- 多条广告如下脚本只需引入一次 -->
-    <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" >
-    </script>
+  </div>
 	<div class="easypopup" id="easypopup">
 		<div class="easypopup-main">
 			<div class="easypopup-header">提示信息</div>

+ 27 - 12
src/jfw/modules/publicapply/src/oneclick/entity/entity.go

@@ -1,7 +1,21 @@
 package entity
 
 import (
+	"encoding/json"
+	"errors"
+	"fmt"
+	"jy/src/jfw/modules/publicapply/src/config"
+	"jy/src/jfw/modules/publicapply/src/db"
+	"jy/src/jfw/modules/publicapply/src/jyutil"
+	"jy/src/jfw/modules/publicapply/src/oneclick/initjson"
+	"log"
+	"net/http"
+	"strings"
+	"sync"
+	"time"
+
 	"app.yhyue.com/moapp/jybase/common"
+	qutil "app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/date"
 	"app.yhyue.com/moapp/jybase/encrypt"
 	"app.yhyue.com/moapp/jybase/go-xweb/httpsession"
@@ -11,22 +25,10 @@ import (
 	"app.yhyue.com/moapp/jybase/usercenter"
 	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
 	"bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/pb"
-	"encoding/json"
-	"errors"
-	"fmt"
 	openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
 	dypnsapi20170525 "github.com/alibabacloud-go/dypnsapi-20170525/v2/client"
 	util "github.com/alibabacloud-go/tea-utils/v2/service"
 	"github.com/alibabacloud-go/tea/tea"
-	"jy/src/jfw/modules/publicapply/src/config"
-	"jy/src/jfw/modules/publicapply/src/db"
-	"jy/src/jfw/modules/publicapply/src/jyutil"
-	"jy/src/jfw/modules/publicapply/src/oneclick/initjson"
-	"log"
-	"net/http"
-	"strings"
-	"sync"
-	"time"
 )
 
 type OneClickInfo struct {
@@ -413,6 +415,19 @@ func (o *OneClickInfo) phoneLogin(phone string) (map[string]interface{}, error)
 		}
 		return 0
 	}()
+	if status == 1 {
+		mgoUserId := qutil.ObjToString(o.Session.Get("mgoUserId"))
+		err := jy.Publish(db.Mgo_Log, config.Config.Nsq, config.Config.NsqTopic, "task", mgoUserId, "", map[string]interface{}{
+			"code":       1014, //下载app任务
+			"types":      "downloadApp",
+			"num":        50,
+			"baseUserId": o.Session.Get("base_user_id"),
+			"positionId": o.Session.Get("positionId"),
+		})
+		if err != nil {
+			log.Println(mgoUserId, "下载app任务,发送nsq消息错误-->", err)
+		}
+	}
 	result := map[string]interface{}{
 		"status": status,
 		"userId": o.Session.Get("mgoUserId"),

+ 16 - 0
src/web/staticres/big-member/css/unit_portrayal.css

@@ -634,3 +634,19 @@
 .zb-analysis-module {
     margin-bottom: .08rem;
 }
+.dt-text-tips{
+  padding: .24rem .32rem .48rem;
+  font-size: .24rem;
+  line-height: .36rem;
+  color: rgba(29, 29, 29, 1);
+  text-align: center;
+}
+.dt-text-tips > .highlight-text{
+  text-decoration: underline;
+  font-size: inherit;
+}
+.dt-text-tips.light-bg{
+  margin: .24rem .32rem;
+  background: linear-gradient(rgba(234, 248, 250, 1), rgba(234, 248, 250, 0));
+  border-radius: 8px;
+}

+ 54 - 8
src/web/staticres/big-member/js/unit_portrayal.js

@@ -81,7 +81,9 @@ var vNode = {
                 list: [],
                 isMore:'',
                 pageCount: '',
-                isNext: true
+                isNext: true,
+                total: 0,
+                updateTime: 0
             },
             regCapSettings:{
                 showLine: ['累计采购规模'],
@@ -248,6 +250,24 @@ var vNode = {
         // 留完资的用户(保含已体验和未体验的)
         getfreeBuyerOpen: function () {
           return this.userInfo.isFree && this.userInfo.freeBuyerPort != 0;
+        },
+         // 联系客服文案:新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户
+        customerServiceStatus: function () {
+          var info = this.userInfo
+          var memberCustom = this.power.indexOf(5) === -1 && info.memberStatus > 0
+          var isNewVip = info.vipStatus > 0 && info.viper && this.usageInfo.surplus <= 0 && this.usageInfo.provin === -1
+          // 纯商机管理用户
+          var entniche = info.vipStatus <= 0 && info.memberStatus <= 0 && info.entniche
+          return memberCustom || isNewVip || entniche
+        },
+        // 升级超级订阅文案:老版超级订阅用户、新版超级订阅(购买非全国)用户余额为0
+        updateVipStatus: function () {
+          var info = this.userInfo
+          var isNoMember = info.memberStatus <= 0
+          var isOldVip = info.vipStatus > 0 && !info.viper
+          var isNewVip = info.vipStatus > 0 && info.viper && this.usageInfo.surplus <= 0
+          var isNotAll = this.usageInfo.provin !== -1
+          return (isOldVip || (isNewVip && isNotAll)) && isNoMember
         }
     },
     watch: {
@@ -636,8 +656,10 @@ var vNode = {
             data:storageSet ? Object.assign(data, storageSet) : data,
             success:function(res) {
               if(res.error_code == 0) {
+                that.dt.updateTime = new Date(Number(res.data.updateTime + '000')).pattern('yyyy-MM-dd')
                 if (res.data.list && res.data.list.length && res.data.list.length > 0) {
                   that.dt.pageCount = res.data.count
+                  that.dt.total = res.data.count
                   if (res.data.list && $.isArray(res.data.list)) {
                     that.isShow.showDynamic = true;
                     res.data.list.forEach(function(v,i){
@@ -658,11 +680,12 @@ var vNode = {
                       })
                     } catch (error) {}
                     that.dt.list = []
-                    if (res.data.list.length >= 5){
-                      that.dt.list.push(res.data.list[0],res.data.list[1],res.data.list[2],res.data.list[3],res.data.list[4])
-                    }else {
-                      that.dt.list = res.data.list
-                    }
+                    // if (res.data.list.length >= 5){
+                    //   that.dt.list.push(res.data.list[0],res.data.list[1],res.data.list[2],res.data.list[3],res.data.list[4])
+                    // }else {
+                    //   that.dt.list = res.data.list
+                    // }
+                    that.dt.list = res.data.list
                     that.colList = that.dt.list
                     that.colList.forEach((val)=>{
                       that.list.push(val.id)
@@ -936,7 +959,13 @@ var vNode = {
             } else {
               that.isShow.showScaleFb = true;
               that.$nextTick(function(){
-                that.getHotChartData(res);
+                var timer = setInterval(function () {
+                  // 判断页面所有资源已加载完毕
+                  if (document.readyState === "complete") {
+                    that.getHotChartData(res);//执行方法
+                    window.clearInterval(timer);
+                  }
+                }, 800)
               })
             }
           }
@@ -1020,7 +1049,13 @@ var vNode = {
           if (data && data.length > 0) {
             that.isShow.showScaleRate = true
             that.$nextTick(function(){
-              that.getPieCharData(data)
+              var timer = setInterval(function () {
+                // 判断页面所有资源已加载完毕
+                if (document.readyState === "complete") {
+                  that.getPieCharData(data);//执行方法
+                  window.clearInterval(timer);
+                }
+              }, 800)
             })
           }
         },
@@ -1784,6 +1819,17 @@ var vNode = {
               }
             })
           }
+        },
+        onDtTextClick: function(type) {
+          if (type === 'customer') {
+            location.href = '/big/wx/page/customer'
+          } else if (type === 'update') {
+            //跳转清除旧套餐缓存,防止计算价格出错
+            sessionStorage.removeItem('vipSub_oldBuySet')
+            location.href = '/jy_mobile/common/order/create/svip?type=upgrade'
+          } else if (type === 'buy') {
+            location.href = '/jy_mobile/common/order/create/svip?type=buy'
+          }
         }
     }
 }

+ 16 - 0
src/web/staticres/big-member/weixin/css/ent_portrait.css

@@ -598,3 +598,19 @@
 .top-switch div:not(active) {
   color: #5F5E64
 }
+.dt-text-tips{
+  padding: .24rem .32rem .48rem;
+  font-size: .24rem;
+  line-height: .36rem;
+  color: rgba(29, 29, 29, 1);
+  text-align: center;
+}
+.dt-text-tips > .highlight-text{
+  text-decoration: underline;
+  font-size: inherit;
+}
+.dt-text-tips.light-bg{
+  margin: .24rem .32rem;
+  background: linear-gradient(rgba(234, 248, 250, 1), rgba(234, 248, 250, 0));
+  border-radius: 8px;
+}

+ 16 - 0
src/web/staticres/common-module/big-member/css/client_portrayal.css

@@ -669,4 +669,20 @@
     height: 100%;
     background: linear-gradient(270deg, #2ABED1 0.81%, #8DE0EB 100%);
     border-radius: 0 .28rem .28rem 0;
+}
+.dt-text-tips{
+  padding: .24rem .32rem .48rem;
+  font-size: .24rem;
+  line-height: .36rem;
+  color: rgba(29, 29, 29, 1);
+  text-align: center;
+}
+.dt-text-tips > .highlight-text{
+  text-decoration: underline;
+  font-size: inherit;
+}
+.dt-text-tips.light-bg{
+  margin: .24rem .32rem;
+  background: linear-gradient(rgba(234, 248, 250, 1), rgba(234, 248, 250, 0));
+  border-radius: 8px;
 }

+ 26 - 5
src/web/staticres/common-module/big-member/js/client_portrayal.js

@@ -82,7 +82,9 @@ var vNode = {
               list: [],
               isMore:'',
               pageCount: '',
-              isNext: true
+              isNext: true,
+              updateTime: 0,
+              total: 0
           },
           regCapSettings:{
               showLine: ['累计采购规模'],
@@ -630,11 +632,13 @@ var vNode = {
           timeout: 8000,
           success:function(res) {
             if(res.error_code == 0) {
+              that.dt.updateTime = new Date(Number(res.data.updateTime + '000')).pattern('yyyy-MM-dd')
               if(!res.data) {
                 that.getNewMsgObj = res.data
               } else {
                 if (res.data.list && res.data.list.length && res.data.list.length > 0) {
                   that.dt.pageCount = res.data.count
+                  that.dt.total = res.data.count
                   if (res.data.list && $.isArray(res.data.list)) {
                     that.isShow.showDynamic = true;
                     res.data.list.forEach(function(v,i){
@@ -656,9 +660,9 @@ var vNode = {
                       })
                     } catch (error) {}
                     res.data.list.forEach((item) => {
-                      if (that.dt.list.length <= 5) {
+                      // if (that.dt.list.length <= 5) {
                         that.dt.list.push(item)
-                      }
+                      // }
                     })
                     // that.dt.list = res.data.list
                     that.colList = res.data.list
@@ -941,7 +945,13 @@ var vNode = {
           } else {
             that.isShow.showScaleFb = true;
             that.$nextTick(function(){
-              that.getHotChartData(res);
+              var timer = setInterval(function () {
+                // 判断页面所有资源已加载完毕
+                if (document.readyState === "complete") {
+                  that.getHotChartData(res);//执行方法
+                  window.clearInterval(timer);
+                }
+              }, 800)
             })
           }
         }
@@ -1025,7 +1035,13 @@ var vNode = {
         if (data && data.length > 0) {
           that.isShow.showScaleRate = true
           that.$nextTick(function(){
-            that.getPieCharData(data)
+            var timer = setInterval(function () {
+              // 判断页面所有资源已加载完毕
+              if (document.readyState === "complete") {
+                that.getPieCharData(data);//执行方法
+                window.clearInterval(timer);
+              }
+            }, 800)
           })
         }
       },
@@ -1801,6 +1817,11 @@ var vNode = {
             utils.goToCustomerPage()
           }
         })
+      },
+      onDtTextClick: function(type) {
+        if (type === 'customer') {
+          utils.goToCustomerPage()
+        }
       }
   }
 }

+ 40 - 3
src/web/staticres/common-module/collection/js/ent_portrait.js

@@ -94,7 +94,9 @@ var vNode = {
         list: [],
         count: 0, // 总共多少条数据
         pageSize: 5,
-        showGetNextButton: true
+        showGetNextButton: true,
+        total: 0,
+        updateTime: 0
       },
       entPortraitInfo: {
         project_count: 0
@@ -305,6 +307,27 @@ var vNode = {
     },
     isFreeOrNotLogin () {
       return this.isFree
+    },
+    // 升级超级订阅文案:老版超级订阅用户、新版超级订阅(购买非全国)用户余额为0
+    updateVipStatus () {
+      var info = this.powerInfo
+      var isNoMember = info.memberStatus <= 0
+      var isOldVip = info.vipStatus > 0 && !info.viper
+      var isNewVip = info.vipStatus > 0 && info.viper && !this.surplus
+      var isNotAll = this.entvisit.provin !== -1
+      return (isOldVip || (isNewVip && isNotAll)) && isNoMember
+    },
+    // 联系客服文案:新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户
+    customerServiceStatus: function () {
+      var info = this.powerInfo
+      var memberCustom = this.conf.arr.indexOf(13) === -1 && info.memberStatus > 0
+      var isNewVip = info.vipStatus > 0 && info.viper && !this.surplus && this.entvisit.provin === -1
+      // 纯商机管理用户
+      var entniche = info.vipStatus <= 0 && info.memberStatus <= 0 && info.entniche
+      return memberCustom || isNewVip || entniche
+    },
+    noShowTip: function () {
+      return (!this.isFree && !this.updateVipStatus && !this.customerServiceStatus) || (this.isFree && this.canFreeTrial)
     }
   },
   methods: {
@@ -354,7 +377,7 @@ var vNode = {
         }
         // 获取企业中标动态-13
         if (_this.conf._13) {
-            _this.getProjectNews()
+            // _this.getProjectNews()
             _this.gotTab2 = true
             console.log('获取企业中标动态...')
         }
@@ -366,7 +389,8 @@ var vNode = {
           // }
         }
         _this.gotTab2 = true
-
+        // P396:所有用户均可获取企业中标动态
+        _this.getProjectNews()
       });
     },
     // 点击去开通记住tab栏下标
@@ -630,6 +654,8 @@ var vNode = {
           if (res.error_code == 0) {
             _this.loading.clear()
             _this.topProject.count = res.data.count
+            _this.topProject.total = res.data.count
+            _this.topProject.updateTime = new Date(Number(res.data.updateTime + '000')).pattern('yyyy-MM-dd')
             if (!res.data.list || res.data.list.length == 0) {
               // 新加变量 判断中标动态有无数据 用于展示缺省页组件
               _this.show.dt = false
@@ -1498,6 +1524,17 @@ var vNode = {
         location.href = '/big/wx/page/customer'
       }
     },
+    onDtTextClick: function(type) {
+      if (type === 'customer') {
+        location.href = '/big/wx/page/customer'
+      } else if (type === 'update') {
+        //跳转清除旧套餐缓存,防止计算价格出错
+        sessionStorage.removeItem('vipSub_oldBuySet')
+        location.href = '/jy_mobile/common/order/create/svip?type=upgrade'
+      } else if (type === 'buy') {
+        location.href = '/jy_mobile/common/order/create/svip?type=buy'
+      }
+    }
   }
 }
 var vueComponent = new Vue(vNode)

+ 0 - 27
src/web/staticres/common-module/history-push/js/historypush.js

@@ -762,19 +762,6 @@ var vm = new Vue({
           // 从页面移植来的
           if(!res.data.entniche && !res.data.member && res.data.vip <= 0) {
             sessionStorage.removeItem('switch-product')
-            setTimeout(function() {
-                (window.slotbydup = window.slotbydup || []).push({
-                    id: "u6603902",
-                    container: "_36y1d8lbx9n",
-                    async: true
-                });
-                (window.slotbydup = window.slotbydup || []).push({
-                    id: "u6603902",
-                    container: "_061vbh43quq3",
-                    async: true
-                });
-            },1000)
-            _this.getAjaxAdv()
           }
         }
       })
@@ -1088,20 +1075,6 @@ var vm = new Vue({
       this.$refs.industryItem.toggle(false)
       this.$refs.moreDropdownItems.toggle(false)
     },
-    getAjaxAdv: function () {
-      $.ajax({
-        type: 'POST',
-        url: '/publicapply/adLeague/exposure',
-        data: {
-            client: 'APP',
-            id: 'ad6',
-            position: '订阅推送列表页'
-        },
-        success: function(res) {
-            // console.log(res)
-        }
-      })
-    },
     // 选择附件
     selectFileFn: function(item) {
       if (!this.screenShow) return

+ 22 - 0
src/web/staticres/css/pc/index.css

@@ -15,6 +15,28 @@
 /* 结束 */
 /* 头部按钮 及文案 */
 
+/* 招标导航 查看更多 */
+.see_more{
+  overflow: hidden;
+}
+.see_more .see_more_text{
+font-size: 14px;
+font-weight: 400;
+line-height: 22px;
+color: #2ABED1;
+float: right;
+cursor: pointer;
+}
+.see_more .icon-right{
+  width: 16px;
+  height: 16px;
+  float: right;
+  background-size: 16px 16px;
+  background-image: url(/images/index/more_icon_right.png);
+  margin-top: 3px;
+  margin-right: 20px;
+  cursor: pointer;
+}
 #public-nav[data-theme] .logo img{
   width: 106px !important;
   margin-top: 10px !important;

BIN
src/web/staticres/images/index/more_icon_right.png


+ 0 - 39
src/web/staticres/js/wxSupersearch.js

@@ -1702,37 +1702,6 @@ var SuperSearch = {
         var powerStatus = sessionStorage.getItem('powerStatus')
         if(powerStatus) {
           powerStatus = JSON.parse(powerStatus)
-          if(!powerStatus.entniche && !powerStatus.member && powerStatus.vip <= 0) {
-            (window.slotbydup = window.slotbydup || []).push({
-                id: "u6603898",
-                container: "_07p1kp030cz7",
-                async: true
-            });
-            (window.slotbydup = window.slotbydup || []).push({
-                id: "u6603898",
-                container: "_fdvjfgztbn",
-                async: true
-            });
-            setTimeout(() => {
-              var frames = document.getElementById("iframeu6603898_0");
-              console.log(frames, 'frames')
-              IframeOnClick.track(frames, function() {
-                  jQuery(document).click();
-              });
-            },1000)
-            $.ajax({
-              type: 'POST',
-              url: '/publicapply/adLeague/exposure',
-              data: {
-                      client: 'WX',
-                      id: 'ad5',
-                      position: '搜索列表页'
-              },
-              success: function(res) {
-                      console.log(res)
-              }
-            })
-          }
         }
       },
       error: function(xhr,type){
@@ -1750,14 +1719,6 @@ var SuperSearch = {
     var ListHtml='';
     var TableHtml='';
     for(var i=0;i<list.length;i++){
-      if(pageNum == 1 && i == 9) {
-        // 百青藤广告插入
-        ListHtml += '<div class="_07p1kp030cz7">'+'</div>'
-      }
-      if(pageNum == 1 && i == 24) {
-        // 百青藤广告插入
-        ListHtml += '<div class="_fdvjfgztbn">'+'</div>'
-      }
       if(pageNum==1&&i==4&&!SuperSearch.advertIsClose){
         ListHtml+='<div  class="adv-wxsearch-center" id="E1"></div>'
       }

+ 27 - 60
src/web/staticres/vipsubscribe/js/historypush.js

@@ -1,24 +1,24 @@
 var IframeOnClick = {
-  resolution: 200,  
-  iframes: [],  
-  interval: null,  
-  Iframe: function() {  
-      this.element = arguments[0];  
-      this.cb = arguments[1];   
-      this.hasTracked = false;  
-  },  
-  track: function(element, cb) {  
-      this.iframes.push(new this.Iframe(element, cb));  
-      var _this = this;  
-          this.interval = setInterval(function() { _this.checkClick(); }, this.resolution);  
-  },  
-  checkClick: function() {  
-      if (document.activeElement) {  
-          var activeElement = document.activeElement;  
-          for (var i in this.iframes) {  
-              if (activeElement === this.iframes[i].element) { // user is in this Iframe  
-                  if (this.iframes[i].hasTracked == false) {   
-                      this.iframes[i].cb.apply(window, []);   
+  resolution: 200,
+  iframes: [],
+  interval: null,
+  Iframe: function() {
+      this.element = arguments[0];
+      this.cb = arguments[1];
+      this.hasTracked = false;
+  },
+  track: function(element, cb) {
+      this.iframes.push(new this.Iframe(element, cb));
+      var _this = this;
+          this.interval = setInterval(function() { _this.checkClick(); }, this.resolution);
+  },
+  checkClick: function() {
+      if (document.activeElement) {
+          var activeElement = document.activeElement;
+          for (var i in this.iframes) {
+              if (activeElement === this.iframes[i].element) { // user is in this Iframe
+                  if (this.iframes[i].hasTracked == false) {
+                      this.iframes[i].cb.apply(window, []);
                       this.iframes[i].hasTracked = true;
                       $.ajax({
                           type: 'POST',
@@ -32,13 +32,13 @@ var IframeOnClick = {
                               console.log(res)
                           }
                       })
-                  }  
-              } else {  
-                  this.iframes[i].hasTracked = false;  
-              }  
-          }  
-      }  
-  }  
+                  }
+              } else {
+                  this.iframes[i].hasTracked = false;
+              }
+          }
+      }
+  }
 };
 var vm = new Vue({
   el: '#select-meau',
@@ -359,43 +359,10 @@ var vm = new Vue({
             _this.screenShow = true
           } else {
             _this.screenShow = false;
-            (window.slotbydup = window.slotbydup || []).push({
-              id: "u6603902",
-              container: "_36y1d8lbx9n",
-              async: true
-            });
-            (window.slotbydup = window.slotbydup || []).push({
-                id: "u6603902",
-                container: "_061vbh43quq3",
-                async: true
-            });
-            _this.getAjaxAdv()
-            setTimeout(() => {
-              var frames = document.getElementById("iframeu6603902_0");
-              console.log(frames, 'frames')
-            
-              IframeOnClick.track(frames, function() {
-                      jQuery(document).click();
-              });
-            }, 1000)
           }
         }
       })
     },
-    getAjaxAdv () {
-        $.ajax({
-            type: 'POST',
-            url: '/publicapply/adLeague/exposure',
-            data: {
-                client: 'WX',
-                id: 'ad6',
-                position: '订阅推送列表页'
-            },
-            success: function(res) {
-                console.log(res)
-            }
-        })
-    },
     selectedMoreConfirmed: function () {
       this.$refs.moreDropdownItems.toggle(false)
       if (this.screenShow) {

+ 11 - 1
src/web/templates/big-member/wx/page_client_portrayal.html

@@ -194,11 +194,16 @@
                               <p class="i_time">${item.publishtime}</p>
                           </div>
                       </div>
-                      <div v-show="dt.isNext">
+                      <div v-show="dt.isNext && !noAuth">
                           <div class="more">
                               <span @click.stop="goProjectPage">查看更多</span>
                           </div>
                       </div>
+                      <div v-if="noAuth" class="dt-text-tips light-bg">
+                        免费用户支持查看最近30条招标动态,数据更新频率为每周1次,最近更新时间为${dt.updateTime},您可
+                        <!-- 新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户 -->
+                        <span class="highlight-text" @click="onDtTextClick('customer')">联系客服升级套餐实时查看更多数据</span>。
+                      </div>
                   </div>
                   <div class="empty-container bg-white" v-show="dt.list.length === 0 && dt.loaded">
                     <div class="empty-content-position">
@@ -213,6 +218,11 @@
                           <template v-else>暂无数据</template>
                         </div>
                     </div>
+                    <div v-if="noAuth" class="dt-text-tips">
+                      免费用户支持查看最近30条招标动态,数据更新频率为每周1次,最近更新时间为${dt.updateTime},您可
+                      <!-- 新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户 -->
+                      <span class="highlight-text" @click="onDtTextClick('customer')">联系客服升级套餐实时查看更多数据</span>。
+                    </div>
                   </div>
                 </div>
               </div>

+ 25 - 7
src/web/templates/big-member/wx/page_unit_portrayal.html

@@ -371,24 +371,24 @@
                         <div class="module-title-container bg-white project-news-module">
                             <div class="module-title project-news-title">
                                 <span>招标动态</span>
-                                <!-- <span class="module-title-num">10</span> -->
+                                <span class="module-title-num">${dt.total}</span>
                             </div>
-                            <div class="action-group" v-if="!getStatus">
+                            <div class="action-group">
                                 <div class="action-button export" @click="onExport" v-if="dt.list.length">
                                     <i class="j-icon base-icon icon-download"></i>
                                     <em id="mainSearch-selLable-dataExport" class="action-button-text">数据导出</em>
                                 </div>
-                                <div class="action-button filters-button" @click="goHighSet">
+                                <div class="action-button filters-button" @click="goHighSet" v-if="!getStatus">
                                     <i class="j-icon base-icon icon-3hengxian"></i>
                                     <em class="action-button-text">筛选条件</em>
                                 </div>
                             </div>
                         </div>
                         <div class="module-notice-tip">注:1个项目如同时发布了预告、招标、中标等多条公告,则有多条数据</div>
-                        <div v-if="getStatus" class="vip_component tab-card-content" style="height:8.8rem;background:#fff url('/common-module/collection/image/buyer/cg-zbdt-bg.jpg?v={{Msg "seo" "version"}}') no-repeat center 50px;background-size:100% 100%;position:relative;">
+                        <!-- <div v-if="getStatus" class="vip_component tab-card-content" style="height:8.8rem;background:#fff url('/common-module/collection/image/buyer/cg-zbdt-bg.jpg?v={{Msg "seo" "version"}}') no-repeat center 50px;background-size:100% 100%;position:relative;">
                             <buyer-example @open-page="onExampleOpenPage" :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_14" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/cg-zbdt.png?v={{Msg "seo" "version"}}'></buyer-example>
-                        </div>
-                        <div class="tab-card-content" v-else>
+                        </div> -->
+                        <div class="tab-card-content">
                             <div class="d_content" v-if="dt.list.length">
                                 <div class="d_list" :class="{ visited: item.visited }" v-for="(item,index) in dt.list" @click="goDetail(item)" data-cl-event="c_wx_free_buttonclick">
                                 <div class="head-group">
@@ -404,11 +404,20 @@
                                         <p class="i_time">${item.publishtime}</p>
                                     </div>
                                 </div>
-                                <div v-show="dt.isNext">
+                                <div v-show="dt.isNext && !getStatus">
                                     <div class="more">
                                         <span @click.stop="goProjectPage">查看更多</span>
                                     </div>
                                 </div>
+                                <div v-if="getStatus" class="dt-text-tips light-bg">
+                                  免费用户支持查看最近30条招标动态,数据更新频率为每周1次,最近更新时间为${dt.updateTime},您可
+                                  <!-- 免费用户 -->
+                                  <span class="highlight-text" v-if="userInfo.isFree" @click="onDtTextClick('buy')">开通超级订阅实时查看更多数据</span>
+                                  <!-- 老版超级订阅用户、新版超级订阅(购买非全国)用户余额为0 -->
+                                  <span class="highlight-text" v-if="updateVipStatus" @click="onDtTextClick('update')">升级超级订阅实时查看更多数据</span>
+                                  <!-- 新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户 -->
+                                  <span class="highlight-text" v-if="customerServiceStatus" @click="onDtTextClick('customer')">联系客服升级套餐实时查看更多数据</span>。
+                                </div>
                             </div>
                             <div class="empty-container bg-white" v-show="dt.list.length === 0 && dt.loaded">
                                 <div class="empty-content-position">
@@ -423,6 +432,15 @@
                                         <template v-else>暂无数据</template>
                                     </div>
                                 </div>
+                                <div v-if="getStatus" class="dt-text-tips">
+                                  免费用户支持查看最近30条招标动态,数据更新频率为每周1次,最近更新时间为${dt.updateTime},您可
+                                   <!-- 免费用户 -->
+                                   <span class="highlight-text" v-if="userInfo.isFree" @click="onDtTextClick('buy')">开通超级订阅实时查看更多数据</span>
+                                   <!-- 老版超级订阅用户、新版超级订阅(购买非全国)用户余额为0 -->
+                                   <span class="highlight-text" v-if="updateVipStatus" @click="onDtTextClick('update')">升级超级订阅实时查看更多数据</span>
+                                   <!-- 新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户 -->
+                                   <span class="highlight-text" v-if="customerServiceStatus" @click="onDtTextClick('customer')">联系客服升级套餐实时查看更多数据</span>。
+                                </div>
                             </div>
                         </div>
                     </div>

+ 23 - 5
src/web/templates/frontRouter/wx/collection/sess/ent_portrait.html

@@ -292,21 +292,21 @@
                         <div class="module-title-container bg-white project-news-module">
                             <div class="module-title project-news-title">
                                 <span>中标动态</span>
-                                <!-- <span class="module-title-num">10</span> -->
+                                <span class="module-title-num">${topProject.total}</span>
                             </div>
-                            <div class="action-group" v-if="conf._13" key="action-group">
+                            <div class="action-group" key="action-group">
                                 <div class="action-button export" @click="onExport" v-if="topProject.list.length">
                                     <i class="j-icon base-icon icon-download"></i>
                                     <em class="action-button-text">数据导出</em>
                                 </div>
-                                <div class="action-button filters-button" @click="goHighSet" v-if="!hideDt">
+                                <div class="action-button filters-button" @click="goHighSet" v-if="conf._13 && !hideDt">
                                     <i class="j-icon base-icon icon-3hengxian"></i>
                                     <em class="action-button-text">筛选条件</em>
                                 </div>
                             </div>
                         </div>
                         <div class="module-notice-tip">注:1个项目如同时发布了中标、成交、合同等结果类公告,则有多条数据</div>
-                        <div class="tab-card-content vip_component" v-if="hideDt"
+                        <div class="tab-card-content vip_component" v-if="!isLogin"
                             style="height:9.16rem;background:url('/common-module/collection/image/bg/vip_bg_1.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%"
                             key="dt">
                             <vip-component @tabactive="tabActive" :power="conf" type="item_1" :can-free-exp="canFreeExp" data-cl-event="c_wx_open_buttionclick"
@@ -334,9 +334,18 @@
                                     </div>
                                 </li>
                                 <li class="show-more clickable"
-                                    v-if="topProject.showGetNextButton && (isMemberAndSvip || canFreeTrial) && topProject.count > 3"
+                                    v-if="topProject.showGetNextButton && (isMemberAndSvip || canFreeTrial) && topProject.count > 3 && noShowTip"
                                     @click="goToFilterProjectNews">查看更多
                                 </li>
+                                <li v-if="(isFree && !canFreeTrial) || updateVipStatus || customerServiceStatus" class="dt-text-tips light-bg">
+                                  免费用户支持查看最近30条招标动态,数据更新频率为每周1次,最近更新时间为${topProject.updateTime},您可
+                                  <!-- 免费用户 -->
+                                  <span class="highlight-text" v-if="(isFree && !canFreeTrial)" @click="onDtTextClick('buy')">开通超级订阅实时查看更多数据</span>
+                                  <!-- 老版超级订阅用户、新版超级订阅(购买非全国)用户余额为0 -->
+                                  <span class="highlight-text" v-if="updateVipStatus" @click="onDtTextClick('update')">升级超级订阅实时查看更多数据</span>
+                                  <!-- 新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户 -->
+                                  <span class="highlight-text" v-if="customerServiceStatus" @click="onDtTextClick('customer')">联系客服升级套餐实时查看更多数据</span>。
+                                </li>
                             </ul>
                             <div class="empty-container bg-white" v-show="topProject.list.length === 0 && topProject.loaded">
                                 <div class="empty-content-position">
@@ -351,6 +360,15 @@
                                         <template v-else>暂无数据</template>
                                     </div>
                                 </div>
+                                <div v-if="(isFree && !canFreeTrial) || updateVipStatus || customerServiceStatus" class="dt-text-tips">
+                                  免费用户支持查看最近30条招标动态,数据更新频率为每周1次,最近更新时间为${topProject.updateTime},您可
+                                  <!-- 免费用户 -->
+                                  <span class="highlight-text" v-if="(isFree && !canFreeTrial)" @click="onDtTextClick('buy')">开通超级订阅实时查看更多数据</span>
+                                  <!-- 老版超级订阅用户、新版超级订阅(购买非全国)用户余额为0 -->
+                                  <span class="highlight-text" v-if="updateVipStatus" @click="onDtTextClick('update')">升级超级订阅实时查看更多数据</span>
+                                  <!-- 新版超级订阅(购买全国)用户余额为0、大会员自定义用户、商机管理用户 -->
+                                  <span class="highlight-text" v-if="customerServiceStatus" @click="onDtTextClick('customer')">联系客服升级套餐实时查看更多数据</span>。
+                                </div>
                             </div>
                         </div>
                     </div>

+ 1 - 30
src/web/templates/pc/biddetail_rec.html

@@ -1860,19 +1860,6 @@ var ucbs_source="pc_rec",ucbsId="{{.T.obj.ucbsId}}";
         success: function(res) {
           if(res.error_code == 0) {
             checkShowDialog(res)
-            if(!res.data.entniche && !res.data.member && res.data.vip <= 0) {
-              (window.slotbydup = window.slotbydup || []).push({
-                id: "u6603896",
-                container: "_29p15mchdsg",
-                async: true,
-              });
-              getAjaxAdv()
-              var frames = document.getElementById("iframeu6603896_0");
-              //console.log(frames, 'frames')
-              IframeOnClick.track(frames, function() {
-                jQuery(document).click();
-              });
-            }
           }
         },
         error: function(err) {
@@ -1880,24 +1867,8 @@ var ucbs_source="pc_rec",ucbsId="{{.T.obj.ucbsId}}";
         }
       })
 
-      function getAjaxAdv () {
-        $.ajax({
-          type: 'POST',
-          url: '/publicapply/adLeague/exposure',
-          data: {
-            client: 'PC',
-            id: 'ad3',
-            position: '公告详情页右侧'
-          },
-          success: function(res) {
-            // console.log(res)
-          }
-        })
-      }
-    </script>
-    <!-- 多条广告如下脚本只需引入一次 -->
-    <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" >
     </script>
+
     <script src='{{Msg "seo" "cdn"}}/common-module/mainSearch/js/third-party-verify.js?v={{Msg "seo" "version"}}'></script>
     <script src='{{Msg "seo" "cdn"}}/public-pc/js/article-content.js?v={{Msg "seo" "version"}}'></script>
     <script src='{{Msg "seo" "cdn"}}/common-module/mainSearch/js/advanced-project-table.js?v={{Msg "seo" "version"}}'></script>

+ 0 - 77
src/web/templates/pc/entsearchindex.html

@@ -477,83 +477,6 @@
     <script src='{{Msg "seo" "cdn"}}/js/selector/no-data-pc.js?v={{Msg "seo" "version"}}'></script>
     <script src='{{Msg "seo" "cdn"}}/common-module/collection/js/visited.js?v={{Msg "seo" "version"}}'></script>
     <script src='{{Msg "seo" "cdn"}}/js/ent-search-index-pc.js?v={{Msg "seo" "version"}}'></script>
-    <script type="text/javascript">
-    setTimeout(function() {
-        if(!vm.powerInfo.entniche && !vm.powerInfo.member && vm.powerInfo.vip <= 0) {
-            (window.slotbydup = window.slotbydup || []).push({
-                id: "u6603900",
-                container: "_u4m8od8j3s",
-                async: true
-            });
-            getAjaxAdv()
-            var frames = document.getElementById("iframeu6603900_0");
-            console.log(frames, 'frames')
-
-            IframeOnClick.track(frames, function() {
-                    jQuery(document).click();
-            });
-        }
-    }, 1000);
-        function getAjaxAdv () {
-            $.ajax({
-              type: 'POST',
-              url: '/publicapply/adLeague/exposure',
-              data: {
-                client: 'PC',
-                id: 'ad2',
-                position: '企业搜索列表页底部'
-              },
-              success: function(res) {
-                console.log(res)
-              }
-            })
-        }
-        var IframeOnClick = {
-            resolution: 200,
-            iframes: [],
-            interval: null,
-            Iframe: function() {
-                this.element = arguments[0];
-                this.cb = arguments[1];
-                this.hasTracked = false;
-            },
-            track: function(element, cb) {
-                this.iframes.push(new this.Iframe(element, cb));
-                var _this = this;
-                    this.interval = setInterval(function() { _this.checkClick(); }, this.resolution);
-            },
-            checkClick: function() {
-                if (document.activeElement) {
-                    var activeElement = document.activeElement;
-                    for (var i in this.iframes) {
-                        if (activeElement === this.iframes[i].element) { // user is in this Iframe
-                            if (this.iframes[i].hasTracked == false) {
-                                this.iframes[i].cb.apply(window, []);
-                                this.iframes[i].hasTracked = true;
-                                $.ajax({
-                                    type: 'POST',
-                                    url: '/publicapply/adLeague/click',
-                                    data: {
-                                        client: 'PC',
-                                        id: 'ad2',
-                                        position: '企业搜索列表页底部'
-                                    },
-                                    success: function(res) {
-                                        console.log(res)
-                                    }
-                                })
-                            }
-                        } else {
-                            this.iframes[i].hasTracked = false;
-                        }
-                    }
-                }
-            }
-            };
-    </script>
-    <!-- 多条广告如下脚本只需引入一次 -->
-    <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" >
-    </script>
 </body>
 
 </html>

+ 26 - 5
src/web/templates/pc/index.html

@@ -280,8 +280,9 @@
             </div>
             <div class="hot-winner-content simple-show">
               {{range $i,$v := .T.hotWinner}}
-              <a href="{{$v.Url}}" rel="nofollow" target="_blank">{{$v.Name}}</a>
+              <a href="{{$v.Url}}" target="_blank">{{$v.Name}}</a>
               {{end}}
+              <div class="see_more"><span class="icon-right"></span><span class="see_more_text" onclick="seeMore_index('hotWinner')">查看更多</span></div>
             </div>
             <div class="recommend-content line-show">
               <ul class="clearfix">
@@ -307,8 +308,9 @@
             </div>
             <div class="hot-buyer-content simple-show">
                 {{range $k,$v := .T.hotBuyers}}
-                  <a class="tab-link tab-label" href="{{$v.Url}}" rel="nofollow" target="_blank">{{$v.Name}}</a>
+                  <a class="tab-link tab-label" href="{{$v.Url}}" target="_blank">{{$v.Name}}</a>
                 {{end}}
+                <div class="see_more"><span class="icon-right"></span><span class="see_more_text" onclick="seeMore_index('buyer')">查看更多</span></div>
             </div>
           </div>
         </div>
@@ -446,9 +448,7 @@
           {{end}}
         </div>
       </div>
-      <!-- 多条广告如下脚本只需引入一次 -->
-      <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" >
-      </script>
+
       <!-- 合作伙伴 -->
       <div class="jy-index-partners CfadeInUp">
           <h3 class="module-title">合作伙伴</h3>
@@ -1145,6 +1145,27 @@
       })
       }
   }
+  function seeMore_index(type){
+    if(!loginflag){
+      if(type == 'hotWinner'){
+        window.open("/qy/")
+        // window.location.href= "/qy/"
+      } else {
+        window.open("/dw/")
+        // window.location.href= "/dw/"
+      }
+    } else {
+      if(type == 'hotWinner'){
+      var goHref_winner = location.origin + '/jylab/entSearch/index.html'
+      // window.location.href = '/page_workDesktop/work-bench/page?link=' + goHref_winner
+        window.open('/page_workDesktop/work-bench/page?link=' + goHref_winner)
+      } else {
+        var goHref_buyer = location.origin + '/jylab/purSearch/index.html'
+        // window.location.href = '/page_workDesktop/work-bench/page?link=' + goHref_buyer
+        window.open('/page_workDesktop/work-bench/page?link=' + goHref_buyer)
+      }
+    }
+  }
   window.loginCallback = function () {
     $('.jy-index-freeRegistration').hide()
   }

+ 1 - 87
src/web/templates/pc/index_old.html

@@ -285,91 +285,7 @@
           </div>
         </div>
       </div>
-      <div style="width: 1200px;margin: 0 auto;">
-        <div class="_xwn8soi2wx"></div>
-      </div>
       <script type="text/javascript">
-       // 判断账户权限
-       var IframeOnClick = {
-            resolution: 200,
-            iframes: [],
-            interval: null,
-            Iframe: function() {
-                this.element = arguments[0];
-                this.cb = arguments[1];
-                this.hasTracked = false;
-            },
-            track: function(element, cb) {
-                this.iframes.push(new this.Iframe(element, cb));
-                var _this = this;
-                    this.interval = setInterval(function() { _this.checkClick(); }, this.resolution);
-            },
-            checkClick: function() {
-                if (document.activeElement) {
-                    var activeElement = document.activeElement;
-                    for (var i in this.iframes) {
-                        if (activeElement === this.iframes[i].element) { // user is in this Iframe
-                            if (this.iframes[i].hasTracked == false) {
-                                this.iframes[i].cb.apply(window, []);
-                                this.iframes[i].hasTracked = true;
-                                $.ajax({
-                                    type: 'POST',
-                                    url: '/publicapply/adLeague/click',
-                                    data: {
-                                      client: 'PC',
-                                      id: 'ad4',
-                                      position: '首页-最新公告上方'
-                                    },
-                                    success: function(res) {
-                                        // console.log(res)
-                                    }
-                                })
-                            }
-                        } else {
-                            this.iframes[i].hasTracked = false;
-                        }
-                    }
-                }
-            }
-          };
-          $.ajax({
-              type: 'POST',
-              url: '/publicapply/bidcoll/power',
-              success: function(res) {
-                  if(res.error_code == 0) {
-                    if(!res.data.entniche && !res.data.member && res.data.vip <= 0) {
-                      (window.slotbydup = window.slotbydup || []).push({
-                          id: "u6603897",
-                          container: "_xwn8soi2wx",
-                          async: true
-                      });
-                      getAjaxAdv()
-                      var frames = document.getElementById("iframeu6603897_0");
-                      // console.log(frames, 'frames')
-                      IframeOnClick.track(frames, function() {
-                        jQuery(document).click();
-                      });
-                    }
-                  }
-              },
-              error: function(err) {
-                  console.log(err)
-              }
-          })
-          function getAjaxAdv () {
-            $.ajax({
-              type: 'POST',
-              url: '/publicapply/adLeague/exposure',
-              data: {
-                client: 'PC',
-                id: 'ad4',
-                position: '首页-最新公告上方'
-              },
-              success: function(res) {
-                // console.log(res)
-              }
-            })
-          }
           $.ajax({
               type:'POST',
               url:'/entbase/ent/power',
@@ -385,9 +301,7 @@
               }
           })
       </script>
-      <!-- 多条广告如下脚本只需引入一次 -->
-      <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" >
-      </script>
+
       <!-- 最新公告信息 -->
       <div class="newNotice">
         <h3 class="CfadeInUp">最新公告信息</h3>

+ 0 - 4
src/web/templates/pc/index_old_23_06_16.html

@@ -333,10 +333,6 @@
         </div>
       </div>
 
-      <!-- 多条广告如下脚本只需引入一次 -->
-      <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" >
-      </script>
-
       <!-- 最新资讯 -->
 		  <div class="jy-index-news CfadeInUp">
         <h3 class="module-title">最新资讯</h3>

+ 0 - 2
src/web/templates/pc/purScopebusniess.html

@@ -142,8 +142,6 @@
     <!-- <script src='{{Msg "seo" "cdn"}}/js/purSearch.js?v={{Msg "seo" "version"}}'></script> -->
     <script src='{{Msg "seo" "cdn"}}/js/pur-busniess-index-pc.js?v={{Msg "seo" "version"}}'></script>
 
-    <!-- 多条广告如下脚本只需引入一次 -->
-    <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer"></script>
 </body>
 
 </html>

+ 0 - 77
src/web/templates/pc/pursearchindex.html

@@ -423,83 +423,6 @@
 
       // })
   </script>
-  <script type="text/javascript">
-    setTimeout(function(){
-      if(window.isFree) {
-          (window.slotbydup = window.slotbydup || []).push({
-              id: "u6603900",
-              container: "_u4m8od8j3s",
-              async: true
-          });
-          getAjaxAdv()
-          var frames = document.getElementById("iframeu6603900_0");
-          console.log(frames, 'frames')
-
-          IframeOnClick.track(frames, function() {
-                  jQuery(document).click();
-          });
-      }
-    })
-
-    function getAjaxAdv () {
-        $.ajax({
-          type: 'POST',
-          url: '/publicapply/adLeague/exposure',
-          data: {
-            client: 'PC',
-            id: 'ad2',
-            position: '企业搜索列表页底部'
-          },
-          success: function(res) {
-            console.log(res)
-          }
-        })
-    }
-    var IframeOnClick = {
-        resolution: 200,
-        iframes: [],
-        interval: null,
-        Iframe: function() {
-            this.element = arguments[0];
-            this.cb = arguments[1];
-            this.hasTracked = false;
-        },
-        track: function(element, cb) {
-            this.iframes.push(new this.Iframe(element, cb));
-            var _this = this;
-                this.interval = setInterval(function() { _this.checkClick(); }, this.resolution);
-        },
-        checkClick: function() {
-            if (document.activeElement) {
-                var activeElement = document.activeElement;
-                for (var i in this.iframes) {
-                    if (activeElement === this.iframes[i].element) { // user is in this Iframe
-                        if (this.iframes[i].hasTracked == false) {
-                            this.iframes[i].cb.apply(window, []);
-                            this.iframes[i].hasTracked = true;
-                            $.ajax({
-                                type: 'POST',
-                                url: '/publicapply/adLeague/click',
-                                data: {
-                                    client: 'PC',
-                                    id: 'ad2',
-                                    position: '企业搜索列表页底部'
-                                },
-                                success: function(res) {
-                                    console.log(res)
-                                }
-                            })
-                        }
-                    } else {
-                        this.iframes[i].hasTracked = false;
-                    }
-                }
-            }
-        }
-    };
-  </script>
-  <!-- 多条广告如下脚本只需引入一次 -->
-  <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer"></script>
 </body>
 
 </html>

+ 0 - 84
src/web/templates/pc/supsearch.html

@@ -50,7 +50,6 @@
             } else {
               vipState = false
               typeof changeVipSelect === 'function' ? changeVipSelect(vipState) : null
-              adListInspect()
             }
             isOld = r.data.isOld
           }
@@ -678,89 +677,6 @@
   <script src='/js/biddingSearch.js?v={{Msg "seo" "version"}}'></script>
   <script src='/js/superSearch.js?v={{Msg "seo" "version"}}'></script>
   <script src='{{Msg "seo" "cdn"}}/My97DatePicker/WdatePicker.js'></script>
-  <script type="text/javascript">
-    function adListInspect () {
-      setTimeout(function () {
-        ;(window.slotbydup = window.slotbydup || []).push({
-          id: "u6603895",
-          container: "_t3di2018y5",
-          async: true
-        });
-      }, 1000)
-      setTimeout(function () {
-        ;(window.slotbydup = window.slotbydup || []).push({
-          id: "u6603895",
-          container: "_6omliqck79a",
-          async: true
-        });
-        var frames = document.getElementById("iframeu6603895_0");
-        IframeOnClick.track(frames, function() {
-          jQuery(document).click();
-        });
-      }, 1000)
-      getAjaxAdv()
-    }
-
-    function getAjaxAdv () {
-      $.ajax({
-        type: 'POST',
-        url: '/publicapply/adLeague/exposure',
-        data: {
-          client: 'PC',
-          id: 'ad1',
-          position: '搜索列表页'
-        },
-        success: function(res) {
-          // console.log(res)
-        }
-      })
-    }
-    var IframeOnClick = {
-      resolution: 200,
-      iframes: [],
-      interval: null,
-      Iframe: function() {
-        this.element = arguments[0];
-        this.cb = arguments[1];
-        this.hasTracked = false;
-      },
-      track: function(element, cb) {
-        this.iframes.push(new this.Iframe(element, cb));
-        var _this = this;
-        this.interval = setInterval(function() { _this.checkClick(); }, this.resolution);
-      },
-      checkClick: function() {
-        if (document.activeElement) {
-          var activeElement = document.activeElement;
-          for (var i in this.iframes) {
-            if (activeElement === this.iframes[i].element) { // user is in this Iframe
-              if (this.iframes[i].hasTracked == false) {
-                this.iframes[i].cb.apply(window, []);
-                this.iframes[i].hasTracked = true;
-                $.ajax({
-                  type: 'POST',
-                  url: '/publicapply/adLeague/click',
-                  data: {
-                    client: 'PC',
-                    id: 'ad1',
-                    position: '搜索列表页'
-                  },
-                  success: function(res) {
-                    // console.log(res)
-                  }
-                })
-              }
-            } else {
-              this.iframes[i].hasTracked = false;
-            }
-          }
-        }
-      }
-    };
-  </script>
-  <!-- 多条广告如下脚本只需引入一次 -->
-  <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" >
-  </script>
 </head>
 <body data-page-name="supsearch">
 {{include "/common/pchead.html"}}

+ 0 - 3
src/web/templates/pc/tags/detail.html

@@ -303,9 +303,6 @@
 
   <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.14/vue.min.js></script>
 	<script src=//cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.7/lib/index.js></script>
-	<!-- 多条广告如下脚本只需引入一次 -->
-	<script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" >
-	</script>
   <script src='{{Msg "seo" "cdn"}}/common-module/mainSearch/js/third-party-verify.js?v={{Msg "seo" "version"}}'></script>
   <script src='{{Msg "seo" "cdn"}}/tags/js/no-login-detail.js?v={{Msg "seo" "version"}}'></script>
   <script src='{{Msg "seo" "cdn"}}/common-module/mainSearch/js/advanced-project-table.js?v={{Msg "seo" "version"}}'></script>

+ 0 - 91
src/web/templates/weixin/follow/list.html

@@ -249,97 +249,6 @@ $(function(){
 	</div>
 <div class="jylistbottom">
 	<img src="/images/wx/jydustbin.png"/>批量移除30天无更新项目
-	<div class="_s4kc1gcaqh8"></div>
-	<script>
-		$.ajax({
-			type: 'POST',
-			url: '/publicapply/bidcoll/power?t=' + new Date().getTime(),
-			success: function(res) {
-					console.log(res)
-					// res.data.entniche = false
-					// res.data.member = false
-					// res.data.vip = 0
-					if(res.error_code == 0) {
-						if(!res.data.entniche && !res.data.member && res.data.vip <= 0){
-							(window.slotbydup = window.slotbydup || []).push({
-									id: "u6603903",
-									container: "_s4kc1gcaqh8",
-									async: true
-							});
-							getAjaxAdv()
-							var frames = document.getElementById("iframeu6603903_0");
-							console.log(frames, 'frames')
-						
-							IframeOnClick.track(frames, function() {
-											jQuery(document).click();
-							});
-						}
-					}
-			},
-			error: function(err) {
-					console.log(err)
-			}
-	})
-	function getAjaxAdv () {
-			$.ajax({
-				type: 'POST',
-				url: '/publicapply/adLeague/exposure',
-				data: {
-						client: 'WX',
-						id: 'ad9',
-						position: '关注的项目列表页底部'
-				},
-				success: function(res) {
-						console.log(res)
-				}
-			})
-	}
-	var IframeOnClick = {
-  resolution: 200,  
-  iframes: [],  
-  interval: null,  
-  Iframe: function() {  
-      this.element = arguments[0];  
-      this.cb = arguments[1];   
-      this.hasTracked = false;  
-  },  
-  track: function(element, cb) {  
-      this.iframes.push(new this.Iframe(element, cb));  
-      var _this = this;  
-          this.interval = setInterval(function() { _this.checkClick(); }, this.resolution);  
-  },  
-  checkClick: function() {  
-      if (document.activeElement) {  
-          var activeElement = document.activeElement;  
-          for (var i in this.iframes) {  
-              if (activeElement === this.iframes[i].element) { // user is in this Iframe  
-                  if (this.iframes[i].hasTracked == false) {   
-                      this.iframes[i].cb.apply(window, []);   
-                      this.iframes[i].hasTracked = true;
-                      $.ajax({
-                          type: 'POST',
-                          url: '/publicapply/adLeague/click',
-                          data: {
-                            client: 'WX',
-														id: 'ad9',
-														position: '关注的项目列表页底部'
-                          },
-                          success: function(res) {
-                              console.log(res)
-                          }
-                      })
-                  }  
-              } else {  
-                  this.iframes[i].hasTracked = false;  
-              }  
-          }  
-      }  
-  }  
-};
-	</script>
-	<!-- 多条广告如下脚本只需引入一次 -->
-	<script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" >
-	</script>
 </div>
 	<div class="easypopup" id="easypopup">
 		<div class="easypopup-main">

+ 0 - 3
src/web/templates/weixin/search/mainSearch.html

@@ -1076,9 +1076,6 @@
     }
   })
 </script>
-<!-- 多条广告如下脚本只需引入一次 -->
-<script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" >
-</script>
 <script type="text/javascript">
   var member_status;
   var isMember = false;

+ 0 - 90
src/web/templates/weixin/wxinfocontent_rec.html

@@ -1034,26 +1034,6 @@ body .loading_ p span {
   }
 </script>
 <div class="info">
-<div class="_vt6grad49so"></div>
-<script type="text/javascript">
-		function getAjaxAdv () {
-				$.ajax({
-				type: 'POST',
-				url: '/publicapply/adLeague/exposure',
-				data: {
-						client: 'WX',
-						id: 'ad7',
-						position: '公告详情页顶部'
-				},
-				success: function(res) {
-						// console.log(res)
-				}
-				})
-		}
-</script>
-<!-- 多条广告如下脚本只需引入一次 -->
-<script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" >
-</script>
   {{if .T.obj.site}}
   {{if eq .T.obj.site "剑鱼信息发布平台"}}
   <div class="yhfb">用户发布</div>
@@ -3801,76 +3781,6 @@ $('.collec_star').on('click', function () {
     vKeepComponent.changeBid(id, shoucang)
   }
 })
-var IframeOnClick = {
-    resolution: 200,
-    iframes: [],
-    interval: null,
-    Iframe: function() {
-        this.element = arguments[0];
-        this.cb = arguments[1];
-        this.hasTracked = false;
-    },
-    track: function(element, cb) {
-        this.iframes.push(new this.Iframe(element, cb));
-        var _this = this;
-            this.interval = setInterval(function() { _this.checkClick(); }, this.resolution);
-    },
-    checkClick: function() {
-        if (document.activeElement) {
-            var activeElement = document.activeElement;
-            for (var i in this.iframes) {
-                if (activeElement === this.iframes[i].element) { // user is in this Iframe
-                    if (this.iframes[i].hasTracked == false) {
-                        this.iframes[i].cb.apply(window, []);
-												this.iframes[i].hasTracked = true;
-												$.ajax({
-														type: 'POST',
-														url: '/publicapply/adLeague/click',
-														data: {
-																client: 'WX',
-																id: 'ad7',
-																position: '公告详情页顶部'
-														},
-														success: function(res) {
-																// console.log(res)
-														}
-												})
-                    }
-                } else {
-                    this.iframes[i].hasTracked = false;
-                }
-            }
-        }
-    }
-};
-$.ajax({
-  type: 'POST',
-  url: '/publicapply/bidcoll/power?t=' + new Date().getTime(),
-  success: function(res) {
-      // console.log(res)
-      // res.data.entniche = false
-      // res.data.member = false
-      // res.data.vip = 0
-      if(res.error_code == 0) {
-          if(!res.data.entniche && !res.data.member && res.data.vip <= 0) {
-              (window.slotbydup = window.slotbydup || []).push({
-                  id: "u6603899",
-                  container: "_vt6grad49so",
-                  async: true
-              });
-              getAjaxAdv()
-              var frames = document.getElementById("iframeu6603899_0");
-              //console.log(frames, 'frames')
-              IframeOnClick.track(frames, function() {
-                  jQuery(document).click();
-              });
-          }
-      }
-  },
-  error: function(err) {
-          console.log(err)
-  }
-})
 
 // 是否认领和关注企业
 var claimData = false