Explorar o código

Merge branch 'feature/v4.10.35' into dev/v4.10.35_tsz

Signed-off-by: tangshizhe <48740614+tangshizhe@users.noreply.github.com>
tangshizhe hai 1 semana
pai
achega
c0717c8ee4
Modificáronse 39 ficheiros con 503 adicións e 147 borrados
  1. 2 2
      src/jfw/front/classificationTag.go
  2. 2 2
      src/jfw/front/pcIndex.go
  3. 2 2
      src/jfw/front/shorturl.go
  4. 2 2
      src/jfw/front/tags.go
  5. 1 1
      src/jfw/modules/app/src/app/jyutil/tags.go
  6. 17 1
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/analysis_filter.js
  7. 57 18
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js
  8. 3 2
      src/jfw/modules/app/src/web/templates/big-member/page_analysis_filter.html
  9. 3 2
      src/jfw/modules/app/src/web/templates/big-member/page_client_list.html
  10. 5 4
      src/jfw/modules/app/src/web/templates/big-member/page_client_portrayal.html
  11. 4 3
      src/jfw/modules/app/src/web/templates/big-member/page_ent_portrait.html
  12. 20 3
      src/jfw/modules/app/src/web/templates/big-member/page_ent_portrait_change.html
  13. 9 3
      src/jfw/modules/app/src/web/templates/big-member/page_landingPage.html
  14. 9 3
      src/jfw/modules/app/src/web/templates/big-member/page_pro_follow_detail.html
  15. 21 4
      src/jfw/modules/app/src/web/templates/big-member/page_report_analysis.html
  16. 3 2
      src/jfw/modules/app/src/web/templates/big-member/page_unit_portrayal.html
  17. 2 1
      src/jfw/modules/bigmember/src/service/use/custom.go
  18. 1 1
      src/jfw/modules/publicapply/src/detail/dao/rightSide.go
  19. 1 1
      src/jfw/modules/subscribepay/src/entity/bidCreditReport/bidCreditReport.go
  20. 21 4
      src/web/staticres/big-member/js/analysis_filter.js
  21. 26 10
      src/web/staticres/common-module/big-member/js/page_client_list.js
  22. 16 0
      src/web/staticres/common-module/collection/css/index.css
  23. 18 5
      src/web/staticres/common-module/collection/js/analysis-report-example.js
  24. 57 18
      src/web/staticres/common-module/collection/js/ent_portrait.js
  25. 29 2
      src/web/staticres/common-module/collection/js/vip-dialog.js
  26. 26 10
      src/web/staticres/common-module/mobile-portrayal-footer/js/mobile-portrayal-footer.js
  27. 39 10
      src/web/staticres/common-module/report-analysis/js/report_analysis.js
  28. 3 1
      src/web/staticres/js/guide-intro-dialog.js
  29. 0 1
      src/web/templates/big-member/wx/commonjs.html
  30. 4 3
      src/web/templates/big-member/wx/page_analysis_filter.html
  31. 2 1
      src/web/templates/big-member/wx/page_client_list.html
  32. 2 1
      src/web/templates/big-member/wx/page_client_portrayal.html
  33. 9 3
      src/web/templates/big-member/wx/page_landingPage.html
  34. 9 3
      src/web/templates/big-member/wx/page_pro_follow_detail.html
  35. 38 10
      src/web/templates/big-member/wx/page_report_analysis.html
  36. 3 2
      src/web/templates/big-member/wx/page_unit_portrayal.html
  37. 14 2
      src/web/templates/frontRouter/wx/collection/sess/ent_portrait.html
  38. 20 2
      src/web/templates/frontRouter/wx/collection/sess/ent_portrait_change.html
  39. 3 2
      src/web/templates/frontRouter/wx/mini-app/free/page_unit_portrayal.html

+ 2 - 2
src/jfw/front/classificationTag.go

@@ -417,7 +417,7 @@ func RecommendationBeacon() []Signal {
 			_, _, lists := bidsearch.GetPcBidSearchData("", "", "", publishTime, vst, "", "", "", "", "", "", "", "", 1, false, nil, bidSearch_field_1, "", false, false, "", 8, "")
 			if lists != nil {
 				for _, v1 := range *lists {
-					v1["_id"] = encrypt.CommonEncodeArticle("content", v1["_id"].(string))
+					v1["_id"] = encrypt.EncodeArticleId2ByCheck(v1["_id"].(string))
 					delete(v1, "toptype")
 					delete(v1, "s_subscopeclass")
 					tmpdate := v1["publishtime"]
@@ -580,7 +580,7 @@ func NewIndexbids(session *httpsession.Session, r *http.Request) []map[string]in
 	_, _, lists := bidsearch.GetPcBidSearchData("", "", "", publishTime, "招标预告,招标公告,招标结果,招标信用信息", "", "", "", "", "", "", "", "", 1, false, nil, bidSearch_field_1, "", false, false, "", 8, "")
 	if lists != nil {
 		for _, v1 := range *lists {
-			v1["_id"] = encrypt.CommonEncodeArticle("content", v1["_id"].(string))
+			v1["_id"] = encrypt.EncodeArticleId2ByCheck(v1["_id"].(string))
 			delete(v1, "toptype")
 			delete(v1, "s_subscopeclass")
 			tmpdate := v1["publishtime"]

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

@@ -350,7 +350,7 @@ func GetNewArticle(typ int, pageSize int) (list []map[string]interface{}) {
 				*lists = (*lists)[0:6]
 				for _, v := range *lists {
 					// v["_id"] = EncodeArticleId2ByCheck(v["_id"].(string))
-					v["_id"] = encrypt.CommonEncodeArticle("indexcontent", v["_id"].(string))
+					v["_id"] = encrypt.EncodeArticleId2ByCheck(v["_id"].(string))
 					delete(v, "toptype")
 					delete(v, "s_subscopeclass")
 					tmpdate := v["publishtime"]
@@ -646,7 +646,7 @@ func (f *PcIndex) SearchResult(at, name string) error {
 			}
 			if datas != nil && len(*datas) > 0 {
 				for _, v := range *datas {
-					v["_id"] = encrypt.CommonEncodeArticle("content", util.ObjToString(v["_id"]))
+					v["_id"] = encrypt.EncodeArticleId2ByCheck(util.ObjToString(v["_id"]))
 				}
 			}
 		} else {

+ 2 - 2
src/jfw/front/shorturl.go

@@ -636,7 +636,7 @@ func (s *Short) LoginCommon(sess map[string]interface{}, stype, id string, bm bo
 		//免费用户浏览三级页判断留资与浏览次数
 		//indust := s.GetString("industry")
 		if userId != "" && stype == "indexcontent" { //已登录用户直接跳转至正常三级页
-			return s.Redirect(fmt.Sprintf("/article/content/%s.html", encrypt.CommonEncodeArticle("content", sid)))
+			return s.Redirect(fmt.Sprintf("/article/content/%s.html", encrypt.EncodeArticleId2ByCheck(sid)))
 		}
 		if stype == "advancedProject" {
 			//判断此用户是否有打开的权限
@@ -1078,7 +1078,7 @@ func (s *Short) Qr(t, id string) error {
 	}
 	///article/bdprivate/BXXXX 详情页
 	if strings.Contains(s.Refer(), "bdprivate") {
-		bdprivateId := encrypt.CommonEncodeArticle("content", encrypt.CommonDecodeArticle("bdprivate", id)[0])
+		bdprivateId := encrypt.EncodeArticleId2ByCheck(encrypt.CommonDecodeArticle("bdprivate", id)[0])
 		if bdprivateId != "" {
 			id = bdprivateId
 		}

+ 2 - 2
src/jfw/front/tags.go

@@ -489,7 +489,7 @@ func (this *Tags) GetNewBidInfo() (list []map[string]interface{}) {
 				*lists = (*lists)[:10]
 			}
 			for _, v := range *lists {
-				v["_id"] = encrypt.CommonEncodeArticle("content", v["_id"].(string))
+				v["_id"] = encrypt.EncodeArticleId2ByCheck(v["_id"].(string))
 				delete(v, "toptype")
 				delete(v, "s_subscopeclass")
 				tmpdate := v["publishtime"]
@@ -791,7 +791,7 @@ func (this *Tags) GetBidding(industry, area, city, stype, keyword string, reques
 			}
 			if datas != nil && len(*datas) > 0 {
 				for _, v := range *datas {
-					v["_id"] = encrypt.CommonEncodeArticle("content", qu.ObjToString(v["_id"]))
+					v["_id"] = encrypt.EncodeArticleId2ByCheck(qu.ObjToString(v["_id"]))
 					v["date"] = time.Unix(qu.Int64All(v["publishtime"]), 0).Format(date.Date_Short_Layout)
 					highlight, _ := v["highlight"].(map[string][]string)
 					detail := ""

+ 1 - 1
src/jfw/modules/app/src/app/jyutil/tags.go

@@ -538,7 +538,7 @@ func (b *BiddingInfo) DataFormat(data []map[string]interface{}) (bList []*InfoLi
 		for _, v := range data {
 			bl := &InfoList{
 				Title:   qu.ObjToString(v["title"]),
-				Url:     fmt.Sprintf("/nologin/content/%s.html", encrypt.CommonEncodeArticle("content", qu.ObjToString(v["_id"]))),
+				Url:     fmt.Sprintf("/nologin/content/%s.html", encrypt.EncodeArticleId2ByCheck(qu.ObjToString(v["_id"]))),
 				Area:    qu.ObjToString(v["area"]),
 				Subtype: qu.ObjToString(v["subtype"]),
 				Site:    qu.If(qu.ObjToString(v["site"]) == "剑鱼信息发布平台", "用户发布", "").(string),

+ 17 - 1
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/analysis_filter.js

@@ -428,11 +428,27 @@ var vNode = {
                     }
                 }
             }
+            
+            var clueTextMap = {
+              app_analysis_follow_project: 'app投标决策分析-关注的项目(非留资)',
+              app_analysis_ProjectDetails: 'app_市场分析报告_项目明细(非留资)',
+              wx_analysis_ProjectDetails: 'wx_市场分析报告_项目明细(非留资)',
+            }
             localStorage.setItem('BIG_ANALYSIS_LIST',JSON.stringify(local))
             if (this.power.indexOf(6) > -1) {
               location.href = './analysis_result'
             } else {
-              location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + utils.getParam('source')
+              var source = utils.getParam('source')
+              var clueText = clueTextMap[source]
+              if (clueText) {
+                leaveSourceVue.doLeave({
+                  platform: utils.$env.platform,
+                  source: source,
+                  clueText: clueText,
+                })
+              } else {
+                location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + source
+              }
             }
             // 先查有无分析次数
             // var that = this;

+ 57 - 18
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js

@@ -203,11 +203,13 @@ var vNode = {
       groupingList: [], // 监控分组列表
       groupLimit: {}, // 监控达到上限返回值
       sourceMap: {
+        s_key: 'ent_more',
         app: 'app_ent_more',
         wx: 'wx_ent_more',
         h5: 'h5_ent_more'
       },
       sourceLimitMap: {
+        s_key: 'ent_limit',
         app: 'app_ent_limit',
         wx: 'wx_ent_limit',
         h5: 'h5_ent_limit'
@@ -268,6 +270,9 @@ var vNode = {
     window.t = setTimeout(this.scrollHeight.bind(this), 300)
   },
   computed: {
+    show2button() {
+      return this.powerInfo.memberStatus <= 0
+    },
     // 3个权限有1个就为true(取反为3个权限1个都没有)
     hasOnePower: function () {
       return this.conf._4 || this.conf._12 || this.conf._13
@@ -369,6 +374,12 @@ var vNode = {
     }
   },
   methods: {
+    toBuyBigMember: function () {
+      location.href = '/jy_mobile/order/create/bigmember'
+    },
+    button2Click() {
+      this.toBuyBigMember()
+    },
     doMiniPostMessageShareFn (title) {
       try {
         wx.miniProgram.postMessage({ data: {
@@ -1030,15 +1041,16 @@ var vNode = {
               })
             } else {
               // 非大会员非商机管理用户,进入留资页面
-              let href_
-              if(utils.$envs.inWX){
-                href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=' + this.sourceLimitMap.wx
-              }else if(utils.$envs.inApp){
-                href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceLimitMap.app
-              }else if(utils.$envs.inH5){
-                href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceLimitMap.h5
-              }
-              window.location.href = href_
+              // let href_
+              // if(utils.$envs.inWX){
+              //   href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=' + this.sourceLimitMap.wx
+              // }else if(utils.$envs.inApp){
+              //   href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceLimitMap.app
+              // }else if(utils.$envs.inH5){
+              //   href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceLimitMap.h5
+              // }
+              // window.location.href = href_
+              this.leaveSource(this.sourceLimitMap.s_key)
             }
           } else {
             this.getEntGroupList()
@@ -1298,15 +1310,16 @@ var vNode = {
          }
         })
       }else{
-        let href_
-        if(utils.$envs.inWX){
-          href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=' + this.sourceMap.wx
-        }else if(utils.$envs.inApp){
-          href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceMap.app
-        }else if(utils.$envs.inH5){
-          href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceMap.h5
-        }
-        window.location.href = href_
+        this.leaveSource(this.sourceMap.s_key)
+        // let href_
+        // if(utils.$envs.inWX){
+        //   href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=' + this.sourceMap.wx
+        // }else if(utils.$envs.inApp){
+        //   href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceMap.app
+        // }else if(utils.$envs.inH5){
+        //   href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceMap.h5
+        // }
+        // window.location.href = href_
       }
     },
     // 赚剑鱼币任务完成提示
@@ -1887,8 +1900,34 @@ var vNode = {
       //   }).then(function () {})
       // }
     },
+    leaveSource: function(key) {
+      var platform = utils.$env.platform
+      var source = platform + '_' + key
+      var clueTextMap = {
+        ent_more: '企业画像页-申请监控更多企业-$platform(非留资)',
+        ent_limit: '企业画像页-申请监控更多企业(已达上限)-$platform(非留资)'
+      }
+      var clueText = clueTextMap[key]
+      if (clueText) {
+        clueText = clueText.replace('$platform', platform)
+        return leaveSourceVue.doLeave({
+          platform: utils.$env.platform,
+          source: source,
+          clueText: clueText,
+        })
+      }
+    },
     goToUnlock: function () {
       // this.savePageState()
+      var source = 'ent_portrait_contacts'
+      var clueText = sourceClueTextMap[source]
+      if (clueText) {
+        return leaveSourceVue.doLeave({
+          platform: utils.$env.platform,
+          source: source,
+          clueText: clueText,
+        })
+      }
       location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=ent_portrait_contacts'
     },
     //免费赠送企业全景分析体验 去解锁

+ 3 - 2
src/jfw/modules/app/src/web/templates/big-member/page_analysis_filter.html

@@ -107,17 +107,18 @@
 </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/vue/2.7.16/vue.min.js />
 <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.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/vue/2.7.16/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>
 <!--E-当前页面的资源-->
 {{include "/big-member/commonjs.html"}}
+<script async src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/analysis_filter.js?v={{Msg "seo" "version"}}'></script>
 
 </body>

+ 3 - 2
src/jfw/modules/app/src/web/templates/big-member/page_client_list.html

@@ -276,7 +276,7 @@
 </div>
 
 <!--S-必定需要预加载的资源-->
-<script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
+<script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/vue.min.js></script>
 <script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js></script>
 <script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js></script>
 <!--E-必定需要预加载的资源-->
@@ -285,11 +285,12 @@
 <!--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/vue/2.7.16/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/china-map-data.js?v={{Msg "seo" "version"}}'></script>
+<script async src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/js/area-city-mobile.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/keep-tags/keep-ent-tags-template.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/js/visited.js?v={{Msg "seo" "version"}}'></script>

+ 5 - 4
src/jfw/modules/app/src/web/templates/big-member/page_client_portrayal.html

@@ -595,7 +595,7 @@
 </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/vue/2.7.16/vue.min.js />
 <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js />
 <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js />
 <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/echarts/4.8.0/echarts.min.js />
@@ -603,12 +603,14 @@
 <!--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/vue/2.7.16/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>
 <script src=//cdn-common.jianyu360.com/cdn/lib/echarts/4.8.0/echarts.min.js></script>
 <script src=//cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/index.min.js></script>
 {{include "/big-member/commonjs.html"}}
+<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/common.js?v={{Msg "seo" "version"}}'></script>
+<script async src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/echarts_option.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/chart_options.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/big-member/js/client_buyer-example.js?v={{Msg "seo" "version"}}'></script>
@@ -616,11 +618,10 @@
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/js/history-project-client.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/keep-tags/keep-tags-template.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/keep-tags/keep-ent-tags-template.js?v={{Msg "seo" "version"}}'></script>
-<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/common.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/forward-share/js/forward.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/portrait/js/downloadpopup.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module//mobile-portrayal-footer/js/mobile-portrayal-footer.js?v={{Msg "seo" "version"}}'></script>
-<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/big-member/js/client_portrayal.js?v={{Msg "seo" "version"}}11'></script>
+<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/big-member/js/client_portrayal.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/customer-corner/mobile-template.js?v={{Msg "seo" "version"}}'></script>
 <script>
   // 收藏组件

+ 4 - 3
src/jfw/modules/app/src/web/templates/big-member/page_ent_portrait.html

@@ -306,8 +306,8 @@
             </div>
             <div class="vip_component"
                 style="height:11.04rem;background:url('/common-module/collection/image/bg/vip_bg_9.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
-              <vip-component @tabactive="tabActive" :power="conf" type="item_9" :can-free-exp="canFreeExp"
-                            :entvisit="entvisit" :newvip="isVip" :islogin="isLogin"
+              <vip-component @tabactive="tabActive" :power="conf" type="item_9" :can-free-exp="canFreeExp" :show2button="show2button"
+                            :entvisit="entvisit" :newvip="isVip" :islogin="isLogin" @btn2-click="button2Click"
                             imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_9.png?v={{Msg "seo" "version"}}'></vip-component>
             </div>
           </div>
@@ -736,7 +736,7 @@
 </div>
 
 <!--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/vue/2.7.16/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/echarts/4.8.0/echarts.min.js></script>
 <script src=//cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/index.min.js></script>
@@ -744,6 +744,7 @@
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/antiRes/js/mainHook.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/common.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/plugins/js/jy-bind-phone.umd.js?v={{Msg "seo" "version"}}'></script>
+<script async src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/js/vip-dialog.js?v={{Msg "seo" "version"}}'>
 </script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/js/history-project.js?v={{Msg "seo" "version"}}'>

+ 20 - 3
src/jfw/modules/app/src/web/templates/big-member/page_ent_portrait_change.html

@@ -42,7 +42,14 @@
             <p class="empty-text">暂无工商变动</p>
         </div>
         <div class="vip_component bigVip_com" v-if="!hasPower && powerInfoLoaded" style="height:100%;background:url('/common-module/collection/image/bg/vip_bg_8.png') no-repeat;background-size:100% 100%">
-            <vip-component type="item_8" :power="conf" :vipststus="vipststus" :entvisit="entvisit" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_8.png' :islogin="isLogin"></vip-component>
+            <vip-component
+                type="item_8"
+                :power="conf"
+                :show2button="show2button"
+                @btn2-click="button2Click"
+                :vipststus="vipststus"
+                :entvisit="entvisit"
+                imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_8.png' :islogin="isLogin"></vip-component>
         </div>
         <ul class="ent-change-list" v-else key="changeList">
             <li class="ent-change-item" v-for="(item,index) in changeList" :key="item.changeTime">
@@ -68,16 +75,17 @@
 </div>
 
 <!--S-必定需要预加载的资源-->
-<script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
+<script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/vue.min.js></script>
 <script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js></script>
 <script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js></script>
 <!--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/vue/2.7.16/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>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/plugins/js/jy-bind-phone.umd.js?v={{Msg "seo" "version"}}'></script>
+<script async src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/js/vip-dialog.js?v={{Msg "seo" "version"}}'></script>
 {{include "/big-member/commonjs.html"}}
 <script>
@@ -121,6 +129,9 @@ var vNode = {
         this.getEntHistory()
     },
     computed: {
+        show2button() {
+            return this.powerInfo.memberStatus <= 0
+        },
         noData: function () {
             return this.changeList.length === 0 && this.changeListLoaded && this.hasPower
         },
@@ -130,6 +141,12 @@ var vNode = {
         }
     },
     methods: {
+        toBuyBigMember: function () {
+            location.href = '/jy_mobile/order/create/bigmember'
+        },
+        button2Click() {
+            this.toBuyBigMember()
+        },
         // 获取权限信息
         getUserInfo: function() {
             let _this = this

+ 9 - 3
src/jfw/modules/app/src/web/templates/big-member/page_landingPage.html

@@ -178,13 +178,14 @@
       </div>
     </div>
   </div>
-  <script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js> </script>
+  <script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/vue.min.js> </script>
   <script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js> </script>
   <script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js> </script>
-  <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js> </script>
+  <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/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>
   <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/plugins/js/jy-bind-phone.umd.js?v={{Msg "seo" "version"}}'></script>
+  <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
   <script>
     {{$ss1:=(Ad "app-banner-data-info" -1 .Host (cookie "SESSIONID"))}}
     var headerImageList={{$ss1}}
@@ -408,7 +409,12 @@
             exper_fun:function () {
                 this.setStatistics('免费体验')
                 // location.href = '/demo-member/demo_action.html'
-                location.href = '/jyapp/frontPage/bigmember/free/perfect_info?origin=member_freeuser&mid=' + utils.getParam('mid')
+                // location.href = '/jyapp/frontPage/bigmember/free/perfect_info?origin=member_freeuser&mid=' + utils.getParam('mid')
+                leaveSourceVue.doLeave({
+                    platform: utils.$env.platform,
+                    source: 'member_freeuser',
+                    clueText: '大会员落地页-免费体验1(非留资)',
+                })
             },
             // 咨询客服
             consult:function(){

+ 9 - 3
src/jfw/modules/app/src/web/templates/big-member/page_pro_follow_detail.html

@@ -387,14 +387,15 @@
     <!--S-Vue-->
 </div>
 
-<script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
+<script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/vue.min.js></script>
 <script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js></script>
 <script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js></script>
 
-<script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
+<script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/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>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/keep-tags/keep-ent-tags-template.js?v={{Msg "seo" "version"}}'></script>
+<script async src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 {{include "/big-member/commonjs.html"}}
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/common.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/forward-share/js/forward.js?v={{Msg "seo" "version"}}'></script>
@@ -1088,7 +1089,12 @@
                 if (this.power.indexOf(6) > -1) {
                     location.href = './analysis_result?id=' + this.sid
                 } else {
-                    location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=app_analysis_follow_project'
+                    leaveSourceVue.doLeave({
+                        platform: utils.$env.platform,
+                        source: 'app_analysis_follow_project',
+                        clueText: 'app投标决策分析-关注的项目(非留资)',
+                    })
+                    // location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=app_analysis_follow_project'
                 }
             },
             callPhone() {

+ 21 - 4
src/jfw/modules/app/src/web/templates/big-member/page_report_analysis.html

@@ -197,6 +197,8 @@
                                     |SafeUrl}}/common-module/report-analysis/image/01-bg.png?v={{Msg "seo" "version"
                                     }}') no-repeat;background-size:100% 100%">
                                     <chart-example ref="chartExampleRef" type="item_1"
+                                        :show2button="show2button"
+                                        @btn2-click="button2Click"
                                         imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/report-analysis/image/01.png?v={{Msg "seo" "version"}}'>
                                     </chart-example>
                                 </div>
@@ -253,6 +255,8 @@
                                     |SafeUrl}}/common-module/report-analysis/image/02-bg.png?v={{Msg "seo" "version"
                                     }}') no-repeat;background-size:100% 100%">
                                     <chart-example type="item_2"
+                                        :show2button="show2button"
+                                        @btn2-click="button2Click"
                                         imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/report-analysis/image/02.png?v={{Msg "seo" "version"}}'>
                                     </chart-example>
                                 </div>
@@ -374,6 +378,8 @@
                                     |SafeUrl}}/common-module/report-analysis/image/03-bg.png?v={{Msg "seo" "version"
                                     }}') no-repeat;background-size:100% 100%">
                                     <chart-example type="item_3"
+                                        :show2button="show2button"
+                                        @btn2-click="button2Click"
                                         imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/report-analysis/image/03.png?v={{Msg "seo" "version"}}'>
                                     </chart-example>
                                 </div>
@@ -439,6 +445,8 @@
                                     |SafeUrl}}/common-module/report-analysis/image/04-2-bg.png?v={{Msg "seo" "version"
                                     }}') no-repeat;background-size:100% 100%">
                                     <chart-example type="item_4_1"
+                                        :show2button="show2button"
+                                        @btn2-click="button2Click"
                                         imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/report-analysis/image/04-2.png?v={{Msg "seo" "version"}}'>
                                     </chart-example>
                                 </div>
@@ -470,6 +478,8 @@
                                     |SafeUrl}}/common-module/report-analysis/image/04-1-bg.png?v={{Msg "seo" "version"
                                     }}') no-repeat;background-size:100% 100%">
                                     <chart-example type="item_4_2"
+                                        :show2button="show2button"
+                                        @btn2-click="button2Click"
                                         imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/report-analysis/image/04-1.png?v={{Msg "seo" "version"}}'>
                                     </chart-example>
                                 </div>
@@ -500,6 +510,8 @@
                                     |SafeUrl}}/common-module/report-analysis/image/05-bg.png?v={{Msg "seo" "version"
                                     }}') no-repeat;background-size:100% 100%">
                                     <chart-example type="item_5"
+                                        :show2button="show2button"
+                                        @btn2-click="button2Click"
                                         imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/report-analysis/image/05.png?v={{Msg "seo" "version"}}'>
                                     </chart-example>
                                 </div>
@@ -521,6 +533,8 @@
                                     |SafeUrl}}/common-module/report-analysis/image/06-bg.png?v={{Msg "seo" "version"
                                     }}') no-repeat;background-size:100% 100%">
                                     <chart-example type="item_6"
+                                        :show2button="show2button"
+                                        @btn2-click="button2Click"
                                         imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/report-analysis/image/06.png?v={{Msg "seo" "version"}}'>
                                     </chart-example>
                                 </div>
@@ -550,6 +564,8 @@
                                     |SafeUrl}}/common-module/report-analysis/image/07-bg.png?v={{Msg "seo" "version"
                                     }}') no-repeat;background-size:100% 100%">
                                     <chart-example type="item_7"
+                                        :show2button="show2button"
+                                        @btn2-click="button2Click"
                                         imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/report-analysis/image/07.png?v={{Msg "seo" "version"}}'>
                                     </chart-example>
                                 </div>
@@ -571,6 +587,8 @@
                                     |SafeUrl}}/common-module/report-analysis/image/08-bg.png?v={{Msg "seo" "version"
                                     }}') no-repeat;background-size:100% 100%">
                                     <chart-example type="item_8"
+                                        :show2button="show2button"
+                                        @btn2-click="button2Click"
                                         imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/report-analysis/image/08.png?v={{Msg "seo" "version"}}'>
                                     </chart-example>
                                 </div>
@@ -686,8 +704,7 @@
         </div>
     </div>
 
-    <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
-    <!-- <script src=//cdn.bootcdn.net/ajax/libs/vue/2.6.14/vue.js></script> -->
+    <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/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>
     <script src=//cdn-common.jianyu360.com/cdn/lib/lodash/4.17.21/lodash.min.js></script>
@@ -730,8 +747,8 @@
         src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/report-analysis/js/components/lineChartScatter.js?v={{Msg "seo" "version"}}'></script>
     <script
         src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/report-analysis/js/components/downloadpopup.js?v={{Msg "seo" "version"}}'></script>
-    <script
-        src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/filter/js/project_header.js?v={{Msg "seo" "version"}}'></script>
+    <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/filter/js/project_header.js?v={{Msg "seo" "version"}}'></script>
+    <script async src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
     <!-- main.js -->
     <script
         src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/report-analysis/js/report_analysis.js?v={{Msg "seo" "version"}}13'></script>

+ 3 - 2
src/jfw/modules/app/src/web/templates/big-member/page_unit_portrayal.html

@@ -724,7 +724,7 @@
   </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/vue/2.7.16/vue.min.js />
   <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js />
   <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js />
   <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/echarts/4.8.0/echarts.min.js />
@@ -732,7 +732,7 @@
   <!--E-必定需要预加载的资源-->
 
   <!--S-当前页面的资源-->
-  <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js> </script> <script
+  <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/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> <script
     src=//cdn-common.jianyu360.com/cdn/lib/echarts/4.8.0/echarts.min.js> </script> <script
@@ -741,6 +741,7 @@
   <link href="//cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.7/lib/theme-chalk/index.css" rel="stylesheet" />
   {{include "/big-member/commonjs.html"}}
   <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/plugins/js/jy-bind-phone.umd.js?v={{Msg "seo" "version"}}'></script>
+  <script async src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/plugins/js/leave-source-vue.umd?v={{Msg "seo" "version"}}'></script>
   <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/echarts_option.js?v={{Msg "seo" "version"}}'>
   </script>
   <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/chart_options.js?v={{Msg "seo" "version"}}'>

+ 2 - 1
src/jfw/modules/bigmember/src/service/use/custom.go

@@ -24,7 +24,7 @@ func (u *Use) GetCustom() {
 			customInfo["phone"] = KFPhone
 		}
 		userid := qu.ObjToString(u.GetSession("userId"))
-		positionId := qu.Int64All(u.GetSession("positionId"))
+		positionId := qu.InterfaceToStr(u.GetSession("positionId"))
 		t := u.GetString("type") // kf 直接返回客服 不查询客成
 		if userid == "" || t == "kf" {
 			return
@@ -40,6 +40,7 @@ func (u *Use) GetCustom() {
 		resp, err := grequests.Post(config.Config.CustomerServiceUrl, geq)
 		if err != nil {
 			log.Println("调用接口失败:", data, err)
+			return
 		}
 		if resp != nil {
 			csiData := map[string]interface{}{}

+ 1 - 1
src/jfw/modules/publicapply/src/detail/dao/rightSide.go

@@ -26,7 +26,7 @@ func GetNewBidInfo() (list []map[string]interface{}) {
 		if lists != nil && len(*lists) > 10 {
 			*lists = (*lists)[0:10]
 			for _, v := range *lists {
-				v["_id"] = encrypt.CommonEncodeArticle("content", v["_id"].(string))
+				v["_id"] = encrypt.EncodeArticleId2ByCheck(v["_id"].(string))
 				tmpDate := v["publishtime"]
 				v["date"] = date.FormatDateWithObj(&tmpDate, date.Date_Short_Layout)
 			}

+ 1 - 1
src/jfw/modules/subscribepay/src/entity/bidCreditReport/bidCreditReport.go

@@ -602,7 +602,7 @@ func (b *bidCreditReport) GetDataInfo(ctx gctx.Ctx, data map[string]interface{},
 				}
 				infoUrl := ""
 				if infos := vv.GetVar("list").Maps(); len(infos) > 0 {
-					infoUrl = config.Config.WebDomain + "/nologin/content/" + encrypt.CommonEncodeArticle("content", gmap.NewStrAnyMapFrom(infos[len(infos)-1]).GetVar("infoid").String()) + ".html?source=bidCreditReport"
+					infoUrl = config.Config.WebDomain + "/nologin/content/" + encrypt.EncodeArticleId2ByCheck(gmap.NewStrAnyMapFrom(infos[len(infos)-1]).GetVar("infoid").String()) + ".html?source=bidCreditReport"
 				}
 				records = append(records, []string{vv.GetVar("id").String(), projectName, buyer, gtime.New(vv.GetVar("lasttime").Int64()).Layout(time.DateTime), "-", sortprice, "-", area, city, "-", "-", infoUrl})
 			}

+ 21 - 4
src/web/staticres/big-member/js/analysis_filter.js

@@ -433,11 +433,28 @@ var vNode = {
                 }
             }
             localStorage.setItem('BIG_ANALYSIS_LIST',JSON.stringify(local))
-            if (this.power.indexOf(6) > -1) {
-              // location.href = './analysis_result'
-              location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=' + utils.getParam('source')
+
+            var clueTextMap = {
+              app_analysis_follow_project: 'app投标决策分析-关注的项目(非留资)',
+              app_analysis_ProjectDetails: 'app_市场分析报告_项目明细(非留资)',
+              wx_analysis_ProjectDetails: 'wx_市场分析报告_项目明细(非留资)',
+            }
+            var source = utils.getParam('source')
+            var clueText = clueTextMap[source]
+
+            if (clueText) {
+              leaveSourceVue.doLeave({
+                platform: utils.$env.platform,
+                source: source,
+                clueText: clueText,
+              })
             } else {
-              location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=' + utils.getParam('source')
+              if (this.power.indexOf(6) > -1) {
+                // location.href = './analysis_result'
+                location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=' + source
+              } else {
+                location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=' + source
+              }
             }
             // 先查有无分析次数
             // var that = this;

+ 26 - 10
src/web/staticres/common-module/big-member/js/page_client_list.js

@@ -77,18 +77,34 @@ var vueComponent = new Vue({
         this.envs = utils.$envs
     },
     methods: {
+        leaveSource: function(key) {
+            var platform = utils.$env.platform
+            var source = platform + '_' + key
+            var clueTextMap = {
+                list_monitor_more: '业主监控页-超级订阅用户申请监控更多业主-$platform(非留资)',
+            }
+            var clueText = clueTextMap[key]
+            if (clueText) {
+                clueText = clueText.replace('$platform', platform)
+                leaveSourceVue.doLeave({
+                    platform: platform,
+                    source: source,
+                    clueText: clueText,
+                })
+            }
+        },
         monitorMore (){
             if(this.svip){
-                let href_
-                if(utils.$envs.inWX){
-                  href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=wx_list_monitor_more'
-                }else if(utils.$envs.inApp){
-                  href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=app_list_monitor_more'
-                }else if(utils.$envs.inH5){
-                  href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=h5_list_monitor_more'
-                }
-                window.location.href = href_
-
+                // let href_
+                // if(utils.$envs.inWX){
+                //   href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=wx_list_monitor_more'
+                // }else if(utils.$envs.inApp){
+                //   href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=app_list_monitor_more'
+                // }else if(utils.$envs.inH5){
+                //   href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=h5_list_monitor_more'
+                // }
+                // window.location.href = href_
+                this.leaveSource('list_monitor_more')
             }else{
                 this.$dialog({
                     width: 303,

+ 16 - 0
src/web/staticres/common-module/collection/css/index.css

@@ -1040,6 +1040,7 @@
     justify-content: center;
     align-items: center;
     margin-top: .48rem;
+    padding: 0 .4rem;
 }
 
 .vip_openDialog .openBtn .goBtn {
@@ -1053,6 +1054,21 @@
     text-align: CENTER;
     color: #ffffff;
 }
+.vip_openDialog .openBtn .goBtn.go-btn-plain {
+    color: #161826;
+    background-color: #FFFFFF;
+    border: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+.vip_openDialog .openBtn.middle-button .goBtn {
+    width: unset;
+    flex: 1;
+}
+
+.vip_openDialog .openBtn.middle-button .goBtn:not(:last-of-type) {
+    margin-right: .24rem;
+}
+
 .vip_openDialog .no-login-tip{
     margin-top:8px;
     font-size: 10px;

+ 18 - 5
src/web/staticres/common-module/collection/js/analysis-report-example.js

@@ -10,8 +10,14 @@ var vipDialog = `
       <span style="display:none;">{{getTextMap.titleText}}</span>
       <span class="vip_extend"><span>{{getTextMap.headText.top}}</span><br/>{{getTextMap.headText.bot}}</span>
   </div>
-  <div class="openBtn">
-      <button class="goBtn" @click="goOpen(getTextMap.headText.top,getTextMap.headText.bot, getTextMap.source)">{{getTextMap.btnText}}</button>
+  <div class="openBtn" :class="{'middle-button': show2button }">
+      <template v-if="show2button">
+        <button class="goBtn go-btn-plain" @click="goOpen(getTextMap.headText.top,getTextMap.headText.bot, getTextMap.source)">{{getTextMap.btnText}}</button>
+        <button class="goBtn" v-if="show2button" @click="btn2Click">立即开通</button>
+      </template>
+      <template v-else>
+        <button class="goBtn" @click="goOpen(getTextMap.source)" v-bound-phone="bindPhoneOpen(getTextMap.source)">{{getTextMap.btnText}}</button>
+      </template>
   </div>
 </div>
 `
@@ -26,6 +32,10 @@ var chartExample = {
         return ''
       }
     },
+    show2button: {
+      type: Boolean,
+      default: false
+    },
     "type": {
       type: String,
       default: function () {
@@ -71,7 +81,7 @@ var chartExample = {
     getTextMap () {
       var textMap = {
         titleText: '开通大会员',
-        btnText: '去开通',
+        btnText: '免费体验',
         headText: {
           top: '通过实时监控项目的招标、中标、合同等',
           bot: '信息,全面挖掘更多潜在商机!'
@@ -198,6 +208,9 @@ var chartExample = {
     }
   },
   methods: {
+    btn2Click() {
+      this.$emit('btn2-click')
+    },
     linkFn: function(id, source) {
       var u = this.useage
       const textinit = `
@@ -217,7 +230,7 @@ var chartExample = {
           //   console.log(error)
           // }
           location.href = '/jyapp/free/customer' // 客服
-        } else if (this.getTextMap.btnText == '去开通') {
+        } else if (this.getTextMap.btnText == '立即体验' || this.getTextMap.btnText == '去开通') {
           // location.href = '/jyapp/vipsubscribe/vipsubscribe_new'
           location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=app_search_dzhfxbg'
         } else if (this.getTextMap.btnText == '前往升级') {
@@ -262,7 +275,7 @@ var chartExample = {
         } else if (this.getTextMap.btnText == '联系客服') {
           // location.href = 'tel:400-108-6670'
           location.href = '/big/wx/page/customer'
-        } else if (this.getTextMap.btnText == '去开通') {
+        } else if (this.getTextMap.btnText == '免费体验' || this.getTextMap.btnText == '去开通') {
           // location.href = '/front/vipsubscribe/vipsubscribe_new'
           location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=wx_search_dzhfxbg'
         } else if (this.getTextMap.btnText == '前往升级') {

+ 57 - 18
src/web/staticres/common-module/collection/js/ent_portrait.js

@@ -202,11 +202,13 @@ var vNode = {
       groupingList: [], // 监控分组列表
       groupLimit: {}, // 监控达到上限返回值
       sourceMap: {
+        s_key: 'ent_more',
         app: 'app_ent_more',
         wx: 'wx_ent_more',
         h5: 'h5_ent_more'
       },
       sourceLimitMap: {
+        s_key: 'ent_limit',
         app: 'app_ent_limit',
         wx: 'wx_ent_limit',
         h5: 'h5_ent_limit'
@@ -263,6 +265,9 @@ var vNode = {
     window.t = setTimeout(this.scrollHeight.bind(this), 300)
   },
   computed: {
+    show2button() {
+      return this.powerInfo.memberStatus <= 0
+    },
     // 3个权限有1个就为true(取反为3个权限1个都没有)
     hasOnePower: function () {
       return this.conf._4 || this.conf._12 || this.conf._13
@@ -367,6 +372,12 @@ var vNode = {
     }
   },
   methods: {
+    toBuyBigMember: function () {
+      location.href = '/jy_mobile/order/create/bigmember'
+    },
+    button2Click() {
+      this.toBuyBigMember()
+    },
     restoreTab: function() {
       var tab = utils.getParam('tab') || ''
       if (tab) {
@@ -986,15 +997,16 @@ var vNode = {
               })
             } else {
               // 非大会员非商机管理用户,进入留资页面
-              let href_
-              if(utils.$envs.inWX){
-                href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=' + this.sourceLimitMap.wx
-              }else if(utils.$envs.inApp){
-                href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceLimitMap.app
-              }else if(utils.$envs.inH5){
-                href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' +  + this.sourceLimitMap.h5
-              }
-              window.location.href = href_
+              // let href_
+              // if(utils.$envs.inWX){
+              //   href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=' + this.sourceLimitMap.wx
+              // }else if(utils.$envs.inApp){
+              //   href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceLimitMap.app
+              // }else if(utils.$envs.inH5){
+              //   href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' +  + this.sourceLimitMap.h5
+              // }
+              // window.location.href = href_
+              this.leaveSource(this.sourceLimitMap.s_key)
             }
           } else {
             this.getEntGroupList()
@@ -1003,8 +1015,34 @@ var vNode = {
         // this.changeFollowStateRequest()
       }
     },
+    leaveSource: function(key) {
+      var platform = utils.$env.platform
+      var source = platform + '_' + key
+      var clueTextMap = {
+        ent_more: '企业画像页-申请监控更多企业-$platform(非留资)',
+        ent_limit: '企业画像页-申请监控更多企业(已达上限)-$platform(非留资)'
+      }
+      var clueText = clueTextMap[key]
+      if (clueText) {
+        clueText = clueText.replace('$platform', platform)
+        return leaveSourceVue.doLeave({
+          platform: utils.$env.platform,
+          source: source,
+          clueText: clueText,
+        })
+      }
+    },
     goToUnlock: function () {
       // this.savePageState()
+      var source = 'ent_portrait_contacts'
+      var clueText = sourceClueTextMap[source]
+      if (clueText) {
+        return leaveSourceVue.doLeave({
+          platform: utils.$env.platform,
+          source: source,
+          clueText: clueText,
+        })
+      }
       location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=ent_portrait_contacts'
     },
     goExpAnalysis () {
@@ -1249,15 +1287,16 @@ var vNode = {
          }
         })
       }else{
-        let href_
-        if(utils.$envs.inWX){
-          href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=' + this.sourceMap.wx
-        }else if(utils.$envs.inApp){
-          href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceMap.app
-        }else if(utils.$envs.inH5){
-          href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceMap.h5
-        }
-        window.location.href = href_
+        // let href_
+        // if(utils.$envs.inWX){
+        //   href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=' + this.sourceMap.wx
+        // }else if(utils.$envs.inApp){
+        //   href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceMap.app
+        // }else if(utils.$envs.inH5){
+        //   href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + this.sourceMap.h5
+        // }
+        // window.location.href = href_
+        this.leaveSource(this.sourceMap.s_key)
       }
     },
     // 赚剑鱼币任务完成提示

+ 29 - 2
src/web/staticres/common-module/collection/js/vip-dialog.js

@@ -10,13 +10,24 @@ var vipDialog = `
       <span style="display:none;">{{getTextMap.titleText}}</span>
       <span class="vip_extend"><span>{{getTextMap.headText.top}}</span><br/>{{getTextMap.headText.bot}}</span>
   </div>
-  <div class="openBtn">
-      <button class="goBtn" @click="goOpen(getTextMap.source)" v-bound-phone="bindPhoneOpen(getTextMap.source)">{{getTextMap.btnText}}</button>
+  <div class="openBtn" :class="{'middle-button': show2button }">
+      <template v-if="show2button">
+        <button class="goBtn go-btn-plain" @click="goOpen(getTextMap.source)" v-bound-phone="bindPhoneOpen(getTextMap.source)">{{getTextMap.btnText}}</button>
+        <button class="goBtn" v-if="show2button" @click="btn2Click">立即开通</button>
+      </template>
+      <template v-else>
+        <button class="goBtn" @click="goOpen(getTextMap.source)" v-bound-phone="bindPhoneOpen(getTextMap.source)">{{getTextMap.btnText}}</button>
+      </template>
   </div>
    <p class="no-login-tip" v-if="!islogin">登录后解锁会员查看更多内容</p>
 </div>
 `
 
+var sourceClueTextMap = {
+  ent_portrait_contacts: '企业画像-企业通讯录(非留资)',
+  ent_portrait_changeList: '企业画像-企业情报历史记录(非留资)'
+}
+
 var vipComponent = {
   name: 'vip-dialog',
   template: vipDialog,
@@ -27,6 +38,10 @@ var vipComponent = {
         return ''
       }
     },
+    show2button: {
+      type: Boolean,
+      default: false
+    },
     "canFreeExp": {
       type: Boolean,
       default: function () {
@@ -256,6 +271,9 @@ var vipComponent = {
     },
   },
   methods: {
+    btn2Click() {
+      this.$emit('btn2-click')
+    },
     goOpenOfApp: function (btnText, source) {
       switch (btnText) {
         case '去开通': {
@@ -345,6 +363,15 @@ var vipComponent = {
       const isWeixin = utils.isWeiXinBrowser
       const isH5 = utils.isH5
       const isApp = utils.isApp
+      var clueText = sourceClueTextMap[source]
+      if (clueText) {
+        return leaveSourceVue.doLeave({
+          platform: utils.$env.platform,
+          source: source,
+          clueText: clueText,
+        })
+      }
+
       if (isWeixin&&!isH5&&!isApp) {
         this.goOpenOfWx(this.getTextMap.btnText, source)
       } else {

+ 26 - 10
src/web/staticres/common-module/mobile-portrayal-footer/js/mobile-portrayal-footer.js

@@ -424,17 +424,33 @@ var mobilePortrayalFooter = {
           }
         })
       }else if(this.allpower.isFree){
-        let href_
-        if(utils.$envs.inWX){
-          href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=wx_buyer_monitor_freeuser'
-        }else if(utils.$envs.inApp){
-          href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=app_buyer_monitor_freeuser'
-        }else if(utils.$envs.inH5){
-          href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=h5_buyer_monitor_freeuser'
-        }
-        window.location.href = href_
+        // let href_
+        // if(utils.$envs.inWX){
+        //   href_ = '/weixin/frontPage/bigmember/free/perfect_info?source=wx_buyer_monitor_freeuser'
+        // }else if(utils.$envs.inApp){
+        //   href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=app_buyer_monitor_freeuser'
+        // }else if(utils.$envs.inH5){
+        //   href_ = '/jyapp/frontPage/bigmember/free/perfect_info?source=h5_buyer_monitor_freeuser'
+        // }
+        // window.location.href = href_
+        this.leaveSource('buyer_monitor_freeuser')
+      }
+    },
+    leaveSource: function(key) {
+      var platform = utils.$env.platform
+      var source = platform + '_' + key
+      var clueTextMap = {
+        buyer_monitor_freeuser: '采购单位画像页-免费用户申请监控业主-$platform(非留资)',
+      }
+      var clueText = clueTextMap[key]
+      if (clueText) {
+        clueText = clueText.replace('$platform', utils.$env.platform)
+        leaveSourceVue.doLeave({
+          platform: platform,
+          source: source,
+          clueText: clueText,
+        })
       }
-
     },
        //  采购单位监控点击相关结束
    // 转给同事相关

+ 39 - 10
src/web/staticres/common-module/report-analysis/js/report_analysis.js

@@ -295,6 +295,9 @@ var vm = new Vue({
     ],
   },
   computed: {
+    show2button() {
+      return this.powerInfo.memberStatus <= 0
+    },
     showdownFooter: function () {
       return this.projectCount > 0 && this.rid// 项目总数大于零&&rid已生成
     },
@@ -426,6 +429,12 @@ var vm = new Vue({
     utils.iosBackRefresh()
   },
   methods: {
+    toBuyBigMember: function () {
+      location.href = '/jy_mobile/order/create/bigmember'
+    },
+    button2Click() {
+      this.toBuyBigMember()
+    },
     goDown () {// 报告下载
       console.log(this.$refs)
       this.$refs.downloadpopup.show({id:this.rid})
@@ -446,13 +455,14 @@ var vm = new Vue({
           }
         })
       } else { //  留资
-        if (utils.$envs.inWX) {
-          location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=wx_dzbg_fullreport'
-        } else if (utils.$envs.inApp){
-          location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=app_dzbg_fullreport'
-        }else{
-          location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=h5_dzbg_fullreport'
-        }
+        // if (utils.$envs.inWX) {
+        //   location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=wx_dzbg_fullreport'
+        // } else if (utils.$envs.inApp){
+        //   location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=app_dzbg_fullreport'
+        // }else{
+        //   location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=h5_dzbg_fullreport'
+        // }
+        this.leaveSourceKey('dzbg_fullreport')
       }
     },
     goAlldetail(type,title){ // top3 全量列表
@@ -527,17 +537,36 @@ var vm = new Vue({
       this.saveState()
       if(utils.$envs.inWX){
         if(!this.getStatus) {
-          location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=wx_analysis_ProjectDetails'
+          this.leaveSource('analysis_ProjectDetails')
+          // location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=wx_analysis_ProjectDetails'
         } else {
           window.location.href='/big/wx/page/report_analysis_pro_list?id=' + this.rid
         }
        } else {
         if(!this.getStatus) {
-          location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=app_analysis_ProjectDetails'
+          this.leaveSource('analysis_ProjectDetails')
+          // location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=app_analysis_ProjectDetails'
         } else {
           window.location.href='/jyapp/big/page/report_analysis_pro_list?id=' + this.rid
         }
-       }
+      }
+    },
+    leaveSource: function(key) {
+      var platform = utils.$env.platform
+      var source = platform + '_' + key
+      var clueTextMap = {
+        analysis_ProjectDetails: '$platform_市场分析报告_项目明细(非留资)',
+        dzbg_fullreport: '申请免费体验-完整查看市场分析定制报告-$platform(非留资)'
+      }
+      var clueText = clueTextMap[key]
+      if (clueText) {
+        clueText = clueText.replace('$platform', platform)
+        leaveSourceVue.doLeave({
+          platform: utils.$env.platform,
+          source: source,
+          clueText: clueText,
+        })
+      }
     },
     gotable () {
       this.saveState()

+ 3 - 1
src/web/staticres/js/guide-intro-dialog.js

@@ -25,7 +25,9 @@ function GuideIntroDialog () {
                         document.getElementById('guide-intro-image-iframe').onload = function() {
                           var list = r.data["pc-guide"]
                           var iframeWindow = document.getElementById('guide-intro-image-iframe').contentWindow
-                          iframeWindow.guideContent.getActivityInfo(list) // 调用子页面的函数传递变量
+                          if (iframeWindow && iframeWindow.guideContent) {
+                            iframeWindow.guideContent.getActivityInfo(list) // 调用子页面的函数传递变量
+                          }
                         }
                        _this.saveStorage()
                     }

+ 0 - 1
src/web/templates/big-member/wx/commonjs.html

@@ -1,6 +1,5 @@
 <!--S-必定会使用的资源-->
 <link rel="preload" as="script" href='{{Msg "seo" "cdn"}}/big-member/js/rem.js'></link>
-<link rel="preload" as="script" href='{{Msg "seo" "cdn"}}/big-member/js/utils.js?v={{Msg "seo" "version"}}'></link>
 
 <script src='{{Msg "seo" "cdn"}}/big-member/js/rem.js'></script>
 <!-- <script src='{{Msg "seo" "cdn"}}/big-member/js/utils.js?v={{Msg "seo" "version"}}'></script> -->

+ 4 - 3
src/web/templates/big-member/wx/page_analysis_filter.html

@@ -117,17 +117,18 @@
 </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/vue/2.7.16/vue.min.js />
 <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.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/vue/2.7.16/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>
 <!--E-当前页面的资源-->
-<script src='{{Msg "seo" "cdn"}}/big-member/js/utils.js?v={{Msg "seo" "version"}}'></script>
+<script src='{{Msg "seo" "cdn"}}/common-module/public/js/utils.js?v={{Msg "seo" "version"}}'></script>
+<script src='{{Msg "seo" "cdn"}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/big-member/js/analysis_filter.js?v={{Msg "seo" "version"}}'></script>
 <script>
   var u = navigator.userAgent

+ 2 - 1
src/web/templates/big-member/wx/page_client_list.html

@@ -266,11 +266,12 @@
     </div>
 </div>
 
-<script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
+<script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/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/wx/commonjs.html"}}
 <script src='{{Msg "seo" "cdn"}}/js/common.js?v={{Msg "seo" "version"}}'></script>
+<script async src='{{Msg "seo" "cdn"}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/public/js/china-map-data.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/collection/js/area-city-mobile.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/keep-tags/keep-ent-tags-template.js?v={{Msg "seo" "version"}}'></script>

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

@@ -579,13 +579,14 @@
     </div>
 </div>
 
-<script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
+<script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/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>
 <script src=//cdn-common.jianyu360.com/cdn/lib/echarts/4.8.0/echarts.min.js></script>
 <script src=//cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/index.min.js></script>
 {{include "/big-member/wx/commonjs.html"}}
 <script src='{{Msg "seo" "cdn"}}/js/common.js?v={{Msg "seo" "version"}}'></script>
+<script async src='{{Msg "seo" "cdn"}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/big-member/js/echarts_option.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/big-member/js/chart_options.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/big-member/js/client_buyer-example.js?v={{Msg "seo" "version"}}'></script>

+ 9 - 3
src/web/templates/big-member/wx/page_landingPage.html

@@ -181,10 +181,12 @@
             </div>
         </div>
     </div>
-    <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js> </script>
+    <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/vue.min.js> </script>
     <script src=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js> </script>
     <script src="https://cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js"> </script>
+    <script src='{{Msg "seo" "cdn"}}/common-module/public/js/utils.js?v={{Msg "seo" "version"}}'></script>
     <script src='{{Msg "seo" "cdn"}}/common-module/plugins/js/jy-bind-phone.umd.js?v={{Msg "seo" "version"}}'></script>
+    <script src='{{Msg "seo" "cdn"}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
     <script>
         {{$ss1:=(Ad "app-banner-data-info" -1 .Host (cookie "SESSIONID"))}}
         var headerImageList={{$ss1}}
@@ -205,7 +207,6 @@
     </script>
     <script src="https://cdn-common.jianyu360.com/cdn/lib/jquery/3.6.0/jquery.min.js"></script>
     <script src='{{Msg "seo" "cdn"}}/common-module/selector/js/powerMap.js?v={{Msg "seo" "version"}}'></script>
-    <script src='{{Msg "seo" "cdn"}}/big-member/js/utils.js?v={{Msg "seo" "version"}}'></script>
     <script>
         var config = {
             version: {{Msg "seo" "version"}},
@@ -380,7 +381,12 @@
                 if (this.query.source) {
                     source = this.query.source
                 }
-                location.href = '/weixin/frontPage/bigmember/free/perfect_info?origin='+source+'&mid=' + utils.getParam('mid')
+                leaveSourceVue.doLeave({
+                    platform: utils.$env.platform,
+                    source: 'member_freeuser',
+                    clueText: '大会员落地页-免费体验1(非留资)',
+                })
+                // location.href = '/weixin/frontPage/bigmember/free/perfect_info?origin='+source+'&mid=' + utils.getParam('mid')
             },
             // 咨询客服
             consult:function(){

+ 9 - 3
src/web/templates/big-member/wx/page_pro_follow_detail.html

@@ -385,17 +385,18 @@
     <!--S-Vue-->
 </div>
 
-<script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
+<script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/vue.min.js></script>
 <script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js></script>
 <script rel="preload" as="script" src=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js></script>
 
-<script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
+<script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/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/wx/commonjs.html"}}
 <script src='{{Msg "seo" "cdn"}}/common-module/forward-share/js/forward.js?v={{Msg "seo" "version"}}'></script>
 <script src='/common-module/keep-tags/keep-ent-tags-template.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/js/common.js?v={{Msg "seo" "version"}}'></script>
+<script async src='{{Msg "seo" "cdn"}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/bidstatus-update/js/bid-status-update.js?v={{Msg "seo" "version"}}'></script>
 
 <script>
@@ -1118,7 +1119,12 @@
                 if (this.power.indexOf(6) > -1) {
                     location.href = './analysis_filter?sId=' + this.sid
                 } else {
-                    location.href = './analysis_filter?source=app_analysis_follow_project&sId=' + this.sid
+                    leaveSourceVue.doLeave({
+                        platform: utils.$env.platform,
+                        source: 'app_analysis_follow_project',
+                        clueText: 'app投标决策分析-关注的项目(非留资)',
+                    })
+                    // location.href = './analysis_filter?source=app_analysis_follow_project&sId=' + this.sid
                 }
             },
             callPhone() {

+ 38 - 10
src/web/templates/big-member/wx/page_report_analysis.html

@@ -203,7 +203,10 @@
                           </div>
                         </div>
                         <div class="chart_com" style="background:url('/common-module/report-analysis/image/01-bg.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
-                          <chart-example ref="chartExampleRef" type="item_1" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/01.png?v={{Msg "seo" "version"}}'>
+                          <chart-example
+                            :show2button="show2button"
+                            @btn2-click="button2Click"
+                            ref="chartExampleRef" type="item_1" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/01.png?v={{Msg "seo" "version"}}'>
                           </chart-example>
                         </div>
                       </div>
@@ -261,7 +264,10 @@
                         style="height:11.38rem">
                         <p class="example-title">项目规模分布</p>
                         <div class="chart_com" style="background:url('/common-module/report-analysis/image/02-bg.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
-                          <chart-example type="item_2" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/02.png?v={{Msg "seo" "version"}}'>
+                          <chart-example
+                            :show2button="show2button"
+                            @btn2-click="button2Click"
+                            type="item_2" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/02.png?v={{Msg "seo" "version"}}'>
                           </chart-example>
                         </div>
                       </div>
@@ -377,7 +383,10 @@
                         style="height:13.08rem">
                         <p class="example-title">地区分布</p>
                         <div class="chart_com" style="background:url('/common-module/report-analysis/image/03-bg.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
-                          <chart-example type="item_3" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/03.png?v={{Msg "seo" "version"}}'>
+                          <chart-example
+                            :show2button="show2button"
+                            @btn2-click="button2Click"
+                            type="item_3" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/03.png?v={{Msg "seo" "version"}}'>
                           </chart-example>
                         </div>
                       </div>
@@ -430,7 +439,10 @@
                         style="height:10.8rem">
                         <p class="example-title">细分市场 - 项目数量</p>
                         <div class="chart_com" style="background:url('/common-module/report-analysis/image/04-2-bg.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
-                          <chart-example type="item_4_1" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/04-2.png?v={{Msg "seo" "version"}}'>
+                          <chart-example
+                            :show2button="show2button"
+                            @btn2-click="button2Click"
+                            type="item_4_1" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/04-2.png?v={{Msg "seo" "version"}}'>
                           </chart-example>
                         </div>
                       </div>
@@ -455,7 +467,10 @@
                         style="height:10.8rem">
                         <p class="example-title">细分市场 - 项目金额</p>
                         <div class="chart_com" style="background:url('/common-module/report-analysis/image/04-1-bg.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
-                          <chart-example type="item_4_2" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/04-1.png?v={{Msg "seo" "version"}}'>
+                          <chart-example
+                            :show2button="show2button"
+                            @btn2-click="button2Click"
+                            type="item_4_2" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/04-1.png?v={{Msg "seo" "version"}}'>
                           </chart-example>
                         </div>
                       </div>
@@ -480,7 +495,10 @@
                         style="height:10.8rem">
                         <p class="example-title">项目数量TOP30采购单位及其重点合作中标单位</p>
                         <div class="chart_com" style="background:url('/common-module/report-analysis/image/05-bg.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
-                          <chart-example type="item_5" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/05.png?v={{Msg "seo" "version"}}'>
+                          <chart-example
+                            :show2button="show2button"
+                            @btn2-click="button2Click"
+                            type="item_5" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/05.png?v={{Msg "seo" "version"}}'>
                           </chart-example>
                         </div>
                       </div>
@@ -498,7 +516,10 @@
                         style="height:10.8rem">
                         <p class="example-title">采购金额TOP30采购单位及其重点合作中标单位</p>
                         <div class="chart_com" style="background:url('/common-module/report-analysis/image/06-bg.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
-                          <chart-example type="item_6" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/06.png?v={{Msg "seo" "version"}}'>
+                          <chart-example
+                            :show2button="show2button"
+                            @btn2-click="button2Click"
+                            type="item_6" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/06.png?v={{Msg "seo" "version"}}'>
                           </chart-example>
                         </div>
                       </div>
@@ -523,7 +544,10 @@
                         style="height:10.8rem">
                         <p class="example-title">项目数量TOP30中标单位及其重点合作采购单位</p>
                         <div class="chart_com" style="background:url('/common-module/report-analysis/image/07-bg.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
-                          <chart-example type="item_7" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/07.png?v={{Msg "seo" "version"}}'>
+                          <chart-example
+                            :show2button="show2button"
+                            @btn2-click="button2Click"
+                            type="item_7" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/07.png?v={{Msg "seo" "version"}}'>
                           </chart-example>
                         </div>
                       </div>
@@ -541,7 +565,10 @@
                         style="height:10.8rem">
                         <p class="example-title">中标金额TOP30中标单位及其重点合作采购单位</p>
                         <div class="chart_com" style="background:url('/common-module/report-analysis/image/08-bg.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
-                          <chart-example type="item_8" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/08.png?v={{Msg "seo" "version"}}'>
+                          <chart-example
+                            :show2button="show2button"
+                            @btn2-click="button2Click"
+                            type="item_8" imgurl='{{Msg "seo" "cdn"}}/common-module/report-analysis/image/08.png?v={{Msg "seo" "version"}}'>
                           </chart-example>
                         </div>
                       </div>
@@ -720,7 +747,7 @@
       </van-popup>
   </div>
 </div>
-<script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
+<script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/vue.min.js></script>
 <script src=//cdn-common.jianyu360.com/cdn/lib/jquery/3.6.0/jquery.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>
@@ -749,6 +776,7 @@
 <script src='{{Msg "seo" "cdn"}}/common-module/report-analysis/js/components/lineChartScatter.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/report-analysis/js/components/downloadpopup.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/filter/js/project_header.js?v={{Msg "seo" "version"}}'></script>
+<script async src='{{Msg "seo" "cdn"}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/report-analysis/js/report_analysis.js?v={{Msg "seo" "version"}}'></script>
 {{include "/common/baiducc.html"}}
 </body>

+ 3 - 2
src/web/templates/big-member/wx/page_unit_portrayal.html

@@ -807,7 +807,7 @@
 </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/vue/2.7.16/vue.min.js />
 <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js />
 <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js />
 <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/echarts/4.8.0/echarts.min.js />
@@ -815,13 +815,14 @@
 <!--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/vue/2.7.16/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>
 <script src=//cdn-common.jianyu360.com/cdn/lib/echarts/4.8.0/echarts.min.js></script>
 <script src=//cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/index.min.js></script>
 <script src='{{Msg "seo" "cdn"}}/big-member/js/utils.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/public/js/utils.js?v={{Msg "seo" "version"}}'></script>
+<script async src='{{Msg "seo" "cdn"}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/collection/js/echarts_option.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/collection/js/chart_options.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/plugins/js/jy-bind-phone.umd.js?v={{Msg "seo" "version"}}'></script>

+ 14 - 2
src/web/templates/frontRouter/wx/collection/sess/ent_portrait.html

@@ -309,7 +309,18 @@
                             <span class="win-bid-title">企业通讯录</span>
                         </div>
                         <div class="vip_component" style="height:11.04rem;background:url('/common-module/collection/image/bg/vip_bg_9.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
-                            <vip-component :islogin="isLogin" data-cl-event="c_wx_free_buttonclick" @tabactive="tabActive" :power="conf" type="item_9" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_9.png?v={{Msg "seo" "version"}}'></vip-component>
+                            <vip-component
+                                :show2button="show2button"
+                                @btn2-click="button2Click"
+                                :islogin="isLogin"
+                                data-cl-event="c_wx_free_buttonclick"
+                                @tabactive="tabActive"
+                                :power="conf" type="item_9"
+                                :entvisit="entvisit"
+                                :can-free-exp="canFreeExp"
+                                :newvip="isVip"
+                                imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_9.png?v={{Msg "seo" "version"}}'
+                            ></vip-component>
                         </div>
                     </div>
                     <div class="bg-white tab-card cell-list" v-else>
@@ -734,7 +745,7 @@
 </div>
 
 <!--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/vue/2.7.16/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/echarts/4.8.0/echarts.min.js></script>
 <script src=//cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/index.min.js></script>
@@ -742,6 +753,7 @@
 {{include "/big-member/wx/commonjs.html"}}
 <script src='{{Msg "seo" "cdn"}}/antiRes/js/mainHook.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/plugins/js/jy-bind-phone.umd.js?v={{Msg "seo" "version"}}'></script>
+<script async src='{{Msg "seo" "cdn"}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/collection/js/vip-dialog.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/collection/js/history-project.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/collection/js/echarts_option.js?v={{Msg "seo" "version"}}'></script>

+ 20 - 2
src/web/templates/frontRouter/wx/collection/sess/ent_portrait_change.html

@@ -54,7 +54,15 @@
     {{include "/big-member/header.html"}}
     <div id="ent-portrait-change" class="j-main" v-cloak>
         <div class="vip_component bigVip_com" v-show="!hasPower" style="height:100%;background:url('/common-module/collection/image/bg/vip_bg_8.png') no-repeat;background-size:100% 100%">
-            <vip-component data-cl-event="c_wx_free_buttonclick" type="item_8" :power="conf" :vipststus="vipststus" :entvisit="entvisit" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_8.png' :isLogin="true"></vip-component>
+            <vip-component
+                data-cl-event="c_wx_free_buttonclick"
+                type="item_8"
+                :show2button="show2button"
+                @btn2-click="button2Click"
+                :power="conf"
+                :vipststus="vipststus"
+                :entvisit="entvisit"
+                imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_8.png' :isLogin="true"></vip-component>
         </div>
         <div class="j-container" v-if="noData" key="changeList">
             <div class="empty-group">
@@ -85,10 +93,11 @@
     </div>
 </div>
 <!--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/vue/2.7.16/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>
 <script src='{{Msg "seo" "cdn"}}/common-module/plugins/js/jy-bind-phone.umd.js?v={{Msg "seo" "version"}}'></script>
+<script async src='{{Msg "seo" "cdn"}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/collection/js/vip-dialog.js?v={{Msg "seo" "version"}}'></script>
 {{include "/big-member/commonjs.html"}}
 <script>
@@ -131,6 +140,9 @@ var vNode = {
         this.getEntHistory()
     },
     computed: {
+        show2button() {
+            return this.powerInfo.memberStatus <= 0
+        },
         noData: function () {
             return this.changeList.length === 0 && this.changeListLoaded && this.hasPower
         },
@@ -140,6 +152,12 @@ var vNode = {
         }
     },
     methods: {
+        toBuyBigMember: function () {
+            location.href = '/jy_mobile/order/create/bigmember'
+        },
+        button2Click() {
+            this.toBuyBigMember()
+        },
         // 获取权限信息
         getUserInfo: function() {
             let _this = this

+ 3 - 2
src/web/templates/frontRouter/wx/mini-app/free/page_unit_portrayal.html

@@ -841,7 +841,7 @@
 
 
 <!--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/vue/2.7.16/vue.min.js />
 <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js />
 <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js />
 <link rel="preload" as="script" href=//cdn-common.jianyu360.com/cdn/lib/echarts/4.8.0/echarts.min.js />
@@ -849,13 +849,14 @@
 <!--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/vue/2.7.16/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>
 <script src=//cdn-common.jianyu360.com/cdn/lib/echarts/4.8.0/echarts.min.js></script>
 <script src=//cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/index.min.js></script>
 <script src='{{Msg "seo" "cdn"}}/big-member/js/utils.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/public/js/utils.js?v={{Msg "seo" "version"}}'></script>
+<script async src='{{Msg "seo" "cdn"}}/common-module/plugins/js/leave-source-vue.umd.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/collection/js/echarts_option.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/collection/js/chart_options.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/collection/js/buyer-example.js?v={{Msg "seo" "version"}}'></script>