Explorar o código

Merge branch 'master' into feature/v4.9.1

lianbingjie hai 1 ano
pai
achega
e0c2e12593
Modificáronse 43 ficheiros con 1381 adicións e 587 borrados
  1. 1 1
      src/go.mod
  2. 2 2
      src/go.sum
  3. 3 2
      src/jfw/front/follow.go
  4. 4 3
      src/jfw/front/pcIndex.go
  5. 13 16
      src/jfw/modules/app/src/app/front/follow.go
  6. 1 1
      src/jfw/modules/app/src/go.mod
  7. 2 2
      src/jfw/modules/app/src/go.sum
  8. BIN=BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/adbottom.png
  9. BIN=BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/no-login-content.png
  10. 10 4
      src/jfw/modules/app/src/web/staticres/jyapp/tags/css/tags-module-common.css
  11. 3 3
      src/jfw/modules/app/src/web/templates/me/login.html
  12. 11 8
      src/jfw/modules/app/src/web/templates/staticpage/privacy_rules.html
  13. 11 8
      src/jfw/modules/app/src/web/templates/staticpage/privacy_rules_client.html
  14. 3 3
      src/jfw/modules/app/src/web/templates/tags/template/tag-footer-concat.html
  15. 1 1
      src/jfw/modules/app/src/web/templates/tags/template/tag-register-login-group.html
  16. 17 7
      src/jfw/modules/app/src/web/templates/weixin/wxinfocontent.html
  17. 4 2
      src/jfw/modules/bigmember/src/entity/followProject.go
  18. 3 3
      src/jfw/modules/bigmember/src/entity/marketAnalysis/marketAnalysisEntity.go
  19. 3 2
      src/jfw/modules/bigmember/src/go.mod
  20. 5 4
      src/jfw/modules/bigmember/src/go.sum
  21. 72 70
      src/jfw/modules/subscribepay/src/go.mod
  22. 857 47
      src/jfw/modules/subscribepay/src/go.sum
  23. 22 15
      src/seo.json
  24. 0 0
      src/web/staticres/common-module/login-js/jy-login-mini.umd.js
  25. 0 0
      src/web/staticres/common-module/login-js/jy-login.umd.js
  26. 2 2
      src/web/staticres/css/common.css
  27. 41 16
      src/web/staticres/css/pc.css
  28. 37 16
      src/web/staticres/js/login.js
  29. 2 2
      src/web/staticres/pccss/index_pc.css
  30. 4 0
      src/web/staticres/tags/css/no-login-detail.css
  31. BIN=BIN
      src/web/staticres/tags/images/bg.png
  32. BIN=BIN
      src/web/staticres/tags/images/login-banner.png
  33. BIN=BIN
      src/web/staticres/tags/images/login-full-banner.png
  34. 18 0
      src/web/staticres/tags/js/no-login-detail.js
  35. 1 1
      src/web/templates/common/pc-header-nav-brand.html
  36. 1 1
      src/web/templates/common/pc-header-nav-mini.html
  37. 201 198
      src/web/templates/common/pc-login-dialog.html
  38. 4 4
      src/web/templates/pc/tags/detail.html
  39. 2 2
      src/web/templates/pc/tags/template/bottom-banner.html
  40. 4 4
      src/web/templates/pc/tags/template/login-card.html
  41. 2 2
      src/web/templates/pc/template/index/user-info-card.html
  42. 3 127
      src/web/templates/site/common/pc-help-center-head.html
  43. 11 8
      src/web/templates/staticpage/privacy_rules.html

+ 1 - 1
src/go.mod

@@ -6,7 +6,7 @@ require (
 	app.yhyue.com/moapp/jyMarketing v0.0.2-0.20230308011651-df591d32df88
 	app.yhyue.com/moapp/jybase v0.0.0-20231116061739-cd852201a8f4
 	app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545
-	app.yhyue.com/moapp/jypkg v1.10.2
+	app.yhyue.com/moapp/jypkg v1.0.16
 	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.15-0.20230925060020-8e4db0f1e13e
 	github.com/SKatiyar/qr v0.0.0-20151201054752-25b6bdf44e67
 	github.com/bwmarrin/snowflake v0.3.0

+ 2 - 2
src/go.sum

@@ -9,8 +9,8 @@ app.yhyue.com/moapp/jybase v0.0.0-20231116061739-cd852201a8f4 h1:qfqQL2GJV3N31DF
 app.yhyue.com/moapp/jybase v0.0.0-20231116061739-cd852201a8f4/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.10.2 h1:ycfFGV/VMb3huhvLgCjI5xIg8cGnt/Zdj+w993KhnbY=
-app.yhyue.com/moapp/jypkg v1.10.2/go.mod h1:j8v5+elGJ14UxJvofhqa+XLy6Ppb3hkLHdDcMsAmWEU=
+app.yhyue.com/moapp/jypkg v1.0.16 h1:wRJFf/Keerm4OWBXgxShc8SgQi0iVPi/mxufFjPBmaA=
+app.yhyue.com/moapp/jypkg v1.0.16/go.mod h1:j8v5+elGJ14UxJvofhqa+XLy6Ppb3hkLHdDcMsAmWEU=
 app.yhyue.com/moapp/message v0.0.0-20221223100203-6402e389d9ae h1:6rDDaz6yxvE8viTSzEBwKYOFWq14TMfuBivSazUZMz4=
 app.yhyue.com/moapp/message v0.0.0-20221223100203-6402e389d9ae/go.mod h1:b0zZHev3gmJao1Fo+2Z2KPVjsuLOJVvVxf+kCnu9WkA=
 bp.jydev.jianyu360.cn/BaseService/entManageApplication v0.0.0-20230214091519-89a98c01ab0e h1:h+VEI3o1qC0jeCzkFGTrLI4f27cfa/W/y+0sXokWMgE=

+ 3 - 2
src/jfw/front/follow.go

@@ -812,7 +812,8 @@ func (m *Follow) List() error {
 		pool := make(chan bool, 10)
 		wait := &sync.WaitGroup{}
 		var lock sync.Mutex
-		for _, v := range SplitArray(sidArr, 50) {
+		idArr := SplitArray(sidArr, 50)
+		for i := 0; i < len(idArr); i++ {
 			pool <- true
 			wait.Add(1)
 			go func(arr []string) error {
@@ -830,7 +831,7 @@ func (m *Follow) List() error {
 					return err
 				}
 				return nil
-			}(v)
+			}(idArr[i])
 		}
 		wait.Wait()
 

+ 4 - 3
src/jfw/front/pcIndex.go

@@ -552,11 +552,12 @@ func (f *PcIndex) SearchResult(at, name string) error {
 	}
 
 	if f.T["seo_title"] == "" {
-		f.T["seo_title"] = util.If(stype == "", fmt.Sprintf("剑鱼标讯官网_%s招标信息", seotitle), fmt.Sprintf("剑鱼标讯官网_%s", seotitle))
+		f.T["seo_title"] = fmt.Sprintf("剑鱼标讯官网_%s", seotitle)
 	}
+	useNewTdkMap := config.Seoconfig["useNewTdk"].(map[string]interface{})
 	if f.T["seo_keywords"] == "" {
 		if area == "" {
-			if industry == "" {
+			if industry == "" || util.IntAll(useNewTdkMap[name]) == 1 {
 				f.T["seo_keywords"] = seokeywords
 			} else {
 				f.T["seo_keywords"] = fmt.Sprintf("%s", industry)
@@ -567,7 +568,7 @@ func (f *PcIndex) SearchResult(at, name string) error {
 	}
 	if f.T["seo_description"] == "" {
 		if area == "" {
-			if industry == "" {
+			if industry == "" || util.IntAll(useNewTdkMap[name]) == 1 {
 				f.T["seo_description"] = seodescription
 			} else {
 				f.T["seo_description"] = fmt.Sprintf("剑鱼标讯提供%s全行业招标信息搜索查询、订阅推送和数据定制化服务,每天实时更新%s相关的招标信息,随时随地免费查看。", industry, industry)

+ 13 - 16
src/jfw/modules/app/src/app/front/follow.go

@@ -54,18 +54,17 @@ func init() {
 	followLimit = util.IntAllDef(config.Sysconfig["followProject"], 10)
 }
 
-//原关注项目详情页 到大会员项目关注列表页 此处涉及到项目推送
+// 原关注项目详情页 到大会员项目关注列表页 此处涉及到项目推送
 func (m *Follow) Detail(tp, id string) error {
 	log.Println(tp, "--", id)
 	return m.Redirect("/jyapp/big/page/pro_follow_list")
 }
 
-//非大会员用户访问关注项目-->访问大会员的项目管理路由
+// 非大会员用户访问关注项目-->访问大会员的项目管理路由
 func (m *Follow) NewList() error {
 	return m.Redirect("/jyapp/big/page/pro_follow_list")
 }
 
-//
 func (m *Follow) CheckFPStatus() error {
 	defer util.Catch()
 	s_id := encrypt.DecodeArticleId2ByCheck(m.GetString("s_id"))[0]
@@ -100,7 +99,6 @@ func (m *Follow) CheckCStatus() error {
 	return nil
 }
 
-//
 func (m *Follow) Mylist() {
 	defer util.Catch()
 	id := m.GetString("id")
@@ -115,7 +113,7 @@ func (m *Follow) Mylist() {
 	})
 }
 
-//关注列表关注
+// 关注列表关注
 func (m *Follow) Fwsave() {
 	defer util.Catch()
 	userId := m.GetSession("userId").(string)
@@ -179,7 +177,7 @@ func (m *Follow) Fwsave() {
 	})
 }
 
-//未关注项目
+// 未关注项目
 func (m *Follow) Photo(tp string) error {
 	defer util.Catch()
 	followid := ""
@@ -315,7 +313,7 @@ func (m *Follow) Photo(tp string) error {
 	return m.Render("/weixin/follow/set.html", &m.T)
 }
 
-//关注项目相关的ajax请求
+// 关注项目相关的ajax请求
 func (m *Follow) AjaxReq() {
 	defer util.Catch()
 	userId := m.GetSession("userId").(string)
@@ -431,7 +429,7 @@ func (m *Follow) AjaxReq() {
 	})
 }
 
-//我关注的项目
+// 我关注的项目
 func (m *Follow) List() error {
 	m.T["followLimit"] = followLimit
 	return m.Render("/weixin/follow/list.html", &m.T)
@@ -465,7 +463,8 @@ func (m *Follow) GetList() {
 		pool := make(chan bool, 10)
 		wait := &sync.WaitGroup{}
 		var lock sync.Mutex
-		for _, v := range SplitArray(sidArr, 50) {
+		idArr := SplitArray(sidArr, 50)
+		for i := 0; i < len(idArr); i++ {
 			pool <- true
 			wait.Add(1)
 			go func(arr []string) error {
@@ -483,7 +482,7 @@ func (m *Follow) GetList() {
 					return err
 				}
 				return nil
-			}(v)
+			}(idArr[i])
 		}
 		wait.Wait()
 
@@ -536,12 +535,12 @@ func (m *Follow) GetList() {
 	})
 }
 
-//添加关注项目
+// 添加关注项目
 func (m *Follow) Add() error {
 	return m.Render("/weixin/follow/add.html")
 }
 
-//手动添加关注项目
+// 手动添加关注项目
 func (m *Follow) Addsave() error {
 	defer util.Catch()
 	var status = "n"
@@ -601,12 +600,10 @@ func (m *Follow) Addsave() error {
 	return nil
 }
 
-//
 func (m *Front) NewFollowDetail() error {
 	return m.Render("/weixin/follow/detail.html")
 }
 
-//
 func (m *Follow) Set(tp, id string) error {
 	defer util.Catch()
 	//isDel := false
@@ -861,7 +858,7 @@ func convertWeekday(weekday string) string {
 	return "周" + weekday
 }
 
-//删除redis相关数据
+// 删除redis相关数据
 func delRelRedis(userid interface{}, relationinfo interface{}) {
 	defer util.Catch()
 	uid, _ := userid.(string)
@@ -906,7 +903,7 @@ func SplitArray(arr []string, num int64) [][]string {
 	return segments
 }
 
-//根据多个信息id查询对应的项目信息
+// 根据多个信息id查询对应的项目信息
 func getProjectsBySid(sids []string) ([]map[string]interface{}, error) {
 	sidStr := strings.Join(sids, `","`)
 	list := elastic.Get("projectset", "projectset", `{"query": {"bool": {"must": [{"terms": {"list.infoid": ["`+sidStr+`"]}}]}},"_source":["projectname","topscopeclass","_id","area","buyerclass","budget","ids","bidstatus","projectcode"],"from": 0,"size": `+fmt.Sprint(len(sids))+`}`)

+ 1 - 1
src/jfw/modules/app/src/go.mod

@@ -5,7 +5,7 @@ go 1.18
 require (
 	app.yhyue.com/moapp/jybase v0.0.0-20230901064756-2fc66b18db40
 	app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545
-	app.yhyue.com/moapp/jypkg v1.10.2
+	app.yhyue.com/moapp/jypkg v1.0.16
 	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.15-0.20230925060020-8e4db0f1e13e
 	github.com/SKatiyar/qr v0.0.0-20151201054752-25b6bdf44e67
 	github.com/gogf/gf/v2 v2.3.1

+ 2 - 2
src/jfw/modules/app/src/go.sum

@@ -9,8 +9,8 @@ app.yhyue.com/moapp/jybase v0.0.0-20230901064756-2fc66b18db40 h1:/FcBvpf/KW8g6GB
 app.yhyue.com/moapp/jybase v0.0.0-20230901064756-2fc66b18db40/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.10.2 h1:ycfFGV/VMb3huhvLgCjI5xIg8cGnt/Zdj+w993KhnbY=
-app.yhyue.com/moapp/jypkg v1.10.2/go.mod h1:j8v5+elGJ14UxJvofhqa+XLy6Ppb3hkLHdDcMsAmWEU=
+app.yhyue.com/moapp/jypkg v1.0.16 h1:wRJFf/Keerm4OWBXgxShc8SgQi0iVPi/mxufFjPBmaA=
+app.yhyue.com/moapp/jypkg v1.0.16/go.mod h1:j8v5+elGJ14UxJvofhqa+XLy6Ppb3hkLHdDcMsAmWEU=
 app.yhyue.com/moapp/message v0.0.0-20221223100203-6402e389d9ae h1:6rDDaz6yxvE8viTSzEBwKYOFWq14TMfuBivSazUZMz4=
 app.yhyue.com/moapp/message v0.0.0-20221223100203-6402e389d9ae/go.mod h1:b0zZHev3gmJao1Fo+2Z2KPVjsuLOJVvVxf+kCnu9WkA=
 bp.jydev.jianyu360.cn/BaseService/entManageApplication v0.0.0-20230214091519-89a98c01ab0e h1:h+VEI3o1qC0jeCzkFGTrLI4f27cfa/W/y+0sXokWMgE=

BIN=BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/adbottom.png


BIN=BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/no-login-content.png


+ 10 - 4
src/jfw/modules/app/src/web/staticres/jyapp/tags/css/tags-module-common.css

@@ -102,7 +102,7 @@ body.loading {
   padding: .08rem .24rem;
   font-size: .3rem;
   line-height: .44rem;
-  border-radius: 0.08rem; 
+  border-radius: 0.08rem;
 }
 .seo-button.radius {
   border-radius: 0.36rem;
@@ -111,6 +111,12 @@ body.loading {
   color: #fff;
   background-color: #2ABED1;
 }
+.seo-button.phone-seo-button,.seo-button.login-seo-button{
+    width: 3.16rem;
+}
+.seo-button.header-login-seo-button{
+    width: 1.8rem;
+}
 /* seo button */
 /* nav button */
 .nav-button {
@@ -312,7 +318,7 @@ body.loading {
   padding-left: .32rem;
 }
 .buyer-info-hd {
-  margin-right: .24rem; 
+  margin-right: .24rem;
 }
 .buyer-info-bd {
   max-width: 77%;
@@ -649,7 +655,7 @@ body.loading {
 .swiper-pagination .swiper-pagination-bullet {
   width: 0.08rem;
   height: 0.08rem;
-  
+
 }
 .swiper-pagination .swiper-pagination-bullet-active {
   background-color: #fff;
@@ -848,4 +854,4 @@ body.loading {
   background-color: #fff;
   border-top: 1px solid rgba(0, 0, 0, 0.08);
   border-bottom: 1px solid rgba(0, 0, 0, 0.08);
-}
+}

+ 3 - 3
src/jfw/modules/app/src/web/templates/me/login.html

@@ -154,7 +154,7 @@
         </div>
         <div class="input-login">
           <span class="header-tab">
-            <a class="header-tab-active">验证码登录/注册</a>
+            <a class="header-tab-active">验证码登录</a>
             <a>密码登录</a>
             <i></i>
           </span>
@@ -176,7 +176,7 @@
               <img class="closeQc" src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/cancel.png?v={{Msg "seo" "version"}}"/>
               <span id="sendIdentCode">获取验证码</span>
             </div>
-            <button type="button" id="btn" class="disabled btn" />登录 / 注册</button>
+            <button type="button" id="btn" class="disabled btn" />登录</button>
             <div class="forget center">
               <a class="forget-password" href="javascript:void(0)">忘记密码?</a>
       			<a href="javascript:void(0)" class="fast-login-open-link" style="display: none;">本机号码一键登录</a>
@@ -345,7 +345,7 @@
 					$(".header-tab>i").css("left",left_1);
 					$('.forget-password').hide()
 					$('.login .forget').removeClass('flex')
-                   $('#btn').text('登录 / 注册')
+                   $('#btn').text('登录')
 				}
 				changeBtnStatus();
 			});

+ 11 - 8
src/jfw/modules/app/src/web/templates/staticpage/privacy_rules.html

@@ -72,13 +72,14 @@
                 <div class="col-md-12">
                     <h3 class="title">剑鱼标讯隐私政策</h3>
                     <p style="margin: 14px 0;">
-                        更新日期:2023年12月20
+                        更新日期:2024年2月1
                         <br>
-                        生效日期:2023年12月20
+                        生效日期:2024年2月1
                     </p>
                     <p style="font-size: 18px;font-weight: bold;">引言</p>
-                    <p style="text-indent: 20px;"><span  id="companyName">北京剑鱼信息技术有限公司</span>(以下简称“我们”)非常重视用户的隐私和个人信息保护。您在使用我们的产品与/或服务(“剑鱼标讯”)时,我们可能会收集和使用您的相关信息。<span style="font-weight: bold;">我们希望通过《剑鱼标讯隐私政策》(以下简称“本隐私政策”)向您说明我们在您使用我们的产品与/或服务时如何收集、使用、保存、共享和转让这些信息,以及我们为您提供的访问、更新、删除和保护这些信息的方式。本政策中与您权益(可能)存在重大关系的条款,我们已使用加粗字体予以区别,请您重点查阅。</span>
+                    <p style="text-indent: 20px;"><span  id="companyName">北京剑鱼信息技术有限公司</span>(以下简称“我们”,注册地址:北京市朝阳区北辰西路69号19.5、20/20.5层3单元2011号)非常重视用户的隐私和个人信息保护。您在使用我们的产品与/或服务(“剑鱼标讯”)时,我们可能会收集和使用您的相关信息。<span style="font-weight: bold;">我们希望通过《剑鱼标讯隐私政策》(以下简称“本隐私政策”)向您说明我们在您使用我们的产品与/或服务时如何收集、使用、保存、共享和转让这些信息,以及我们为您提供的访问、更新、删除和保护这些信息的方式。本政策中与您权益(可能)存在重大关系的条款,我们已使用加粗字体予以区别,请您重点查阅。</span>
                     </p>
+                    <p style="font-size: 18px;font-weight: bold;">目录</p>
                     <p style="text-indent: 20px;font-weight: bold;">一、个人信息的定义及范围</p>
                     <p style="text-indent: 20px;font-weight: bold;">二、我们如何收集和使用您的个人信息</p>
                     <p style="text-indent: 20px;font-weight: bold;">三、我们如何使用 Cookies 和同类技术</p>
@@ -406,11 +407,13 @@
                     <p style="text-indent: 20px;">未经您明确同意,我们不会削减您按照本《隐私权政策》所应享有的权利。我们会在专门页面上发布对本《隐私权政策》所做的任何变更。对于重大变更,我们还会提供更为显著的通知(如网站公示或向您提供弹窗提示等形式),说明具体变更内容。</p>
                     <br>
                     <p style="font-size: 18px;font-weight: bold;">九、如何联系我们</p>
-                    <p>您可以通过以下方式与我们联系,我们将在收到您的需求后,在15个工作日内予以回复:</p>
-                    <p style="text-indent: 20px;">1、您可以通过以下方式与我们联系,我们将在收到您的需求后,在15个工作日内予以回复:</p>
-                    <p style="text-indent: 20px;">2、如发现个人信息可能被泄露,您可以通过剑鱼标讯客服进行投诉举报;</p>
-                    <p>我们设立了个人信息保护专职部门,剑鱼标讯客服会将您的需求向其转达。</p>
-                    <p>剑鱼标讯客服邮箱:jy@topnet.net.cn</p>
+                    <p>我们设置了个人信息保护专职部门,如您对本隐私政策有任何疑问、意见或建议,均可以通过以下方式与我们取得联系。我们将在收到您的需求后,在15个工作日内予以回复。</p>
+                    <p style="text-indent: 20px;">1、公司名称:北京剑鱼信息技术有限公司</p>
+                    <p style="text-indent: 20px;">2、联系部门:客服部</p>
+                    <p style="text-indent: 20px;">3、信息保护负责人联系电话:400-108-6670</p>
+                    <p style="text-indent: 20px;">4、信息保护负责人联系邮箱:jy@topnet.net.cn</p>
+                    <p style="text-indent: 20px;">5、注册地址:北京市朝阳区北辰西路69号19.5、20/20.5层3单元2011号</p>
+                    <p style="text-indent: 20px;">6、常用办公地址:河南省郑州市金水区杨金路199号新科技市场7号楼</p>
                     <br>
                     <p style="font-size: 18px;font-weight: bold;">附件一:《剑鱼标讯账号注销须知》</p>
                     <p>亲爱的剑鱼标讯用户:</p>

+ 11 - 8
src/jfw/modules/app/src/web/templates/staticpage/privacy_rules_client.html

@@ -65,13 +65,14 @@
             <div class="col-md-12">
                 <h3 class="title">剑鱼标讯隐私政策</h3>
                 <p style="margin: 14px 0;">
-                        更新日期:2023年12月20
+                        更新日期:2024年2月1
                     <br>
-                        生效日期:2023年12月20
+                        生效日期:2024年2月1
                 </p>
                     <p style="font-size: 18px;font-weight: bold;">引言</p>
-                    <p style="text-indent: 20px;"><span  id="companyName">北京剑鱼信息技术有限公司</span>(以下简称“我们”)非常重视用户的隐私和个人信息保护。您在使用我们的产品与/或服务(“剑鱼标讯”)时,我们可能会收集和使用您的相关信息。<span style="font-weight: bold;">我们希望通过《剑鱼标讯隐私政策》(以下简称“本隐私政策”)向您说明我们在您使用我们的产品与/或服务时如何收集、使用、保存、共享和转让这些信息,以及我们为您提供的访问、更新、删除和保护这些信息的方式。本政策中与您权益(可能)存在重大关系的条款,我们已使用加粗字体予以区别,请您重点查阅。</span>
+                    <p style="text-indent: 20px;"><span  id="companyName">北京剑鱼信息技术有限公司</span>(以下简称“我们”,注册地址:北京市朝阳区北辰西路69号19.5、20/20.5层3单元2011号)非常重视用户的隐私和个人信息保护。您在使用我们的产品与/或服务(“剑鱼标讯”)时,我们可能会收集和使用您的相关信息。<span style="font-weight: bold;">我们希望通过《剑鱼标讯隐私政策》(以下简称“本隐私政策”)向您说明我们在您使用我们的产品与/或服务时如何收集、使用、保存、共享和转让这些信息,以及我们为您提供的访问、更新、删除和保护这些信息的方式。本政策中与您权益(可能)存在重大关系的条款,我们已使用加粗字体予以区别,请您重点查阅。</span>
                 </p>
+                    <p style="font-size: 18px;font-weight: bold;">目录</p>
                     <p style="text-indent: 20px;font-weight: bold;">一、个人信息的定义及范围</p>
                     <p style="text-indent: 20px;font-weight: bold;">二、我们如何收集和使用您的个人信息</p>
                     <p style="text-indent: 20px;font-weight: bold;">三、我们如何使用 Cookies 和同类技术</p>
@@ -399,11 +400,13 @@
                 <p style="text-indent: 20px;">未经您明确同意,我们不会削减您按照本《隐私权政策》所应享有的权利。我们会在专门页面上发布对本《隐私权政策》所做的任何变更。对于重大变更,我们还会提供更为显著的通知(如网站公示或向您提供弹窗提示等形式),说明具体变更内容。</p>
                 <br>
                     <p style="font-size: 18px;font-weight: bold;">九、如何联系我们</p>
-                <p>您可以通过以下方式与我们联系,我们将在收到您的需求后,在15个工作日内予以回复:</p>
-                <p style="text-indent: 20px;">1、您可以通过以下方式与我们联系,我们将在收到您的需求后,在15个工作日内予以回复:</p>
-                <p style="text-indent: 20px;">2、如发现个人信息可能被泄露,您可以通过剑鱼标讯客服进行投诉举报;</p>
-                <p>我们设立了个人信息保护专职部门,剑鱼标讯客服会将您的需求向其转达。</p>
-                <p>剑鱼标讯客服邮箱:jy@topnet.net.cn</p>
+                    <p>我们设置了个人信息保护专职部门,如您对本隐私政策有任何疑问、意见或建议,均可以通过以下方式与我们取得联系。我们将在收到您的需求后,在15个工作日内予以回复。</p>
+                    <p style="text-indent: 20px;">1、公司名称:北京剑鱼信息技术有限公司</p>
+                    <p style="text-indent: 20px;">2、联系部门:客服部</p>
+                    <p style="text-indent: 20px;">3、信息保护负责人联系电话:400-108-6670</p>
+                    <p style="text-indent: 20px;">4、信息保护负责人联系邮箱:jy@topnet.net.cn</p>
+                    <p style="text-indent: 20px;">5、注册地址:北京市朝阳区北辰西路69号19.5、20/20.5层3单元2011号</p>
+                    <p style="text-indent: 20px;">6、常用办公地址:河南省郑州市金水区杨金路199号新科技市场7号楼</p>
                 <br>
                     <p style="font-size: 18px;font-weight: bold;">附件一:《剑鱼标讯账号注销须知》</p>
                 <p>亲爱的剑鱼标讯用户:</p>

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

@@ -1,12 +1,12 @@
 <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">
+    <a class="seo-button theme-main radius phone-seo-button 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">
+    <a class="seo-button theme-main radius login-seo-button" href="/jyapp/free/login?url=/jyapp/jylab/mainSearch">
       <span class="j-icon base-icon icon-person-white-solid"></span>
-      <p>登录/注册</p>
+      <p>登录</p>
     </a>
   </div>
 </section>

+ 1 - 1
src/jfw/modules/app/src/web/templates/tags/template/tag-register-login-group.html

@@ -5,5 +5,5 @@
   {{if .T.areaTopTip}}
     <h1 class="header-title">{{.T.areaTopTip}}</h1>
   {{end}}
-  <a class="seo-button theme-main" href="/jyapp/free/login?DisUrl=/jyapp/jylab/mainSearch">登录/注册</a>
+  <a class="seo-button theme-main header-login-seo-button" href="/jyapp/free/login?DisUrl=/jyapp/jylab/mainSearch">登录</a>
 </section>

+ 17 - 7
src/jfw/modules/app/src/web/templates/weixin/wxinfocontent.html

@@ -343,6 +343,9 @@
       .Original-dialog .text-content{
         padding-bottom: 0.48rem;
       }
+      .needLogin{
+         cursor:pointer;
+      }
     </style>
 </head>
 <body>
@@ -993,7 +996,7 @@
             </div>
             <div class="noLoginShow option-login" style="display: none;">
               <div class="serve-list">
-                <img src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/no-login-content.png" alt="详情页-未登录-引导" />
+                <img src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/no-login-content.png?v={{Msg "seo" "version"}}" alt="详情页-未登录-引导" />
               </div>
             </div>
             <!--S 登录引导置底 S-->
@@ -1155,8 +1158,8 @@
 <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 src="https://cdn.bootcss.com/vConsole/3.3.4/vconsole.min.js"></script>-->
+<!--<script> new VConsole(); </script>-->
 <script>
   // 表格样式兼容
   $(function () {
@@ -2900,8 +2903,8 @@
       }
       outhtml +='<li class="caigouunit commonUser"><p class="name">采购单位</p><div class="unitcenter"><p  class="textcontent">'+rerbuyer+'</p><div class="unitbtn '+rerbuyer_show+'">立即查看<span class="iconunit" style="display:none;"></span></div></div></li>'
       outhtml +='<li style="display:none" class="entnicheUser"><p class="name">采购单位</p><div class="unitcenter sum_caigou client_caigou"><p  class="textcontent">'+rerbuyer+'</p><div class="sum_right"><div class="claim" onClick="setportain(event)"><span class="j-icon icon-porait"></span><span class="getproit" style="color:#2ABED1">查看画像</span></div><span class="columnLine"></span><div class="claim clientClaim" onClick="setClientClaim(event)"><span class="j-icon icon_state icon-claim"></span><span class="icon-claim-text" style="color:#2ABED1;font-size: .26rem;">认领客户</span></div></div></div></li>'
-      outhtml +='<li><p class="name">采购联系人</p><p class="textcontent">'+rerbuyerperson+'</p></li>'+
-          '<li class="bbm0"><p class="name">采购电话</p><p class="textcontent">'+rerbuyertel+'</p><a class="border-tel_ '+buyertel_show+'" style="position: static;display:block" datalink="/jyapp/vipsubscribe/introducePage"><div class="tel"></div></a></li>'
+      outhtml +='<li class="needLogin"><p class="name">采购联系人</p><p class="textcontent">'+rerbuyerperson+'</p></li>'+
+          '<li class="bbm0 needLogin"><p class="name">采购电话</p><p class="textcontent">'+rerbuyertel+'</p><a class="border-tel_ '+buyertel_show+'" style="position: static;display:block" datalink="/jyapp/vipsubscribe/introducePage"><div class="tel"></div></a></li>'
       if(packageCon==""){
           var rerbudget = {{.T.obj.budget}};
           if(rerbudget==undefined||rerbudget==null){
@@ -2972,9 +2975,9 @@
                     }
                 }
               }
-              bidInfohtml +='<li class="bbm0"><p class="name">中标金额(元)</p><p class="textcontent">'+rerbidamount+'</p></li>'
+              bidInfohtml +='<li class="bbm0 needLogin"><p class="name">中标金额(元)</p><p class="textcontent">'+rerbidamount+'</p></li>'
               if(winnertel!=""){
-                  bidInfohtml +='<li class="bbm0 winnertel bigwinnertel" style="position: relative; margin-bottom: 10px;border-bottom: 0px !important"><p class="name">联系方式</p>'
+                  bidInfohtml +='<li class="bbm0 winnertel bigwinnertel needLogin" style="position: relative; margin-bottom: 10px;border-bottom: 0px !important"><p class="name">联系方式</p>'
                   if ((isVIP!=null&&isVIP)||(isEntniche!=null&&isEntniche)){
                       bidInfohtml +='<p style="width:4.2rem">'+winnertel+'</p><div class="border-tel"><div class="tel"></div></div><div class="tel-source">'+tel_source+'</div>'
                   }
@@ -3754,6 +3757,13 @@
         }
         location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + info.source + '&infoid=' + info.infoid
       })
+      // 登录
+      $(document).on('click', '.needLogin', function() {
+        if(!userId) {
+          backAfterLogin()
+          return
+        }
+      })
     })
 
     // 用户发布的信息的联系方式

+ 4 - 2
src/jfw/modules/bigmember/src/entity/followProject.go

@@ -376,7 +376,9 @@ func (this *ProjectFollow) GetFollowList(pNum, pSize, entUserId int) (followData
 		pool := make(chan bool, 10)
 		wait := &sync.WaitGroup{}
 		var lock sync.Mutex
-		for _, v := range SplitArray(sidArr, 50) {
+
+		idArr := SplitArray(sidArr, 50)
+		for i := 0; i < len(idArr); i++ {
 			pool <- true
 			wait.Add(1)
 			go func(arr []string) error {
@@ -394,7 +396,7 @@ func (this *ProjectFollow) GetFollowList(pNum, pSize, entUserId int) (followData
 					return err
 				}
 				return nil
-			}(v)
+			}(idArr[i])
 		}
 		wait.Wait()
 		log.Println("es查询耗时:", time.Since(t1))

+ 3 - 3
src/jfw/modules/bigmember/src/entity/marketAnalysis/marketAnalysisEntity.go

@@ -386,10 +386,10 @@ func (mae *MarketAnalysisEntity) SaveAnalysisRecord() error {
 		"s_matchingMode":   mae.BaseParam.MatchingMode,
 		"s_userId":         mae.UId,
 		"s_parentId":       mae.Pid,
-		"i_state":          1,                 //状态:默认0:生成中;1:已生成;2:已取消;-1:生成失败
-		"l_updateTime":     time.Now().Unix(), //生成时间 or 取消时间
+		"i_state":          qutil.If(mae.Source == "analysisPDF", 1, mae.State), //状态:默认0:生成中;1:已生成;2:已取消;-1:生成失败
+		"l_updateTime":     time.Now().Unix(),                                   //生成时间 or 取消时间
 		"l_createTime":     time.Now().Unix(),
-		"i_offline":        2,
+		"i_offline":        qutil.If(mae.Source == "analysisPDF", 2, mae.Offline),
 		"s_mgoUserId":      mae.MgoUserId,
 		"i_positionId":     mae.PositionId,
 		"s_phone":          mae.Phone,

+ 3 - 2
src/jfw/modules/bigmember/src/go.mod

@@ -5,11 +5,12 @@ go 1.19
 require (
 	app.yhyue.com/moapp/jybase v0.0.0-20230727083622-4dfc804ea6cf
 	app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545
-	app.yhyue.com/moapp/jypkg v1.1.7
+	app.yhyue.com/moapp/jypkg v1.0.16
 	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.15-0.20230925060020-8e4db0f1e13e
 	github.com/donnie4w/go-logger v0.0.0-20230316073421-36a48f87a69a
 	github.com/gogf/gf/v2 v2.4.2
 	github.com/olivere/elastic/v7 v7.0.32
+	github.com/robfig/cron v1.2.0
 	go.mongodb.org/mongo-driver v1.11.6
 )
 
@@ -18,7 +19,7 @@ require (
 	app.yhyue.com/moapp/jyMarketing v0.0.2-0.20230304035551-21bb1eedf547 // indirect
 	app.yhyue.com/moapp/message v0.0.0-20221223100203-6402e389d9ae // indirect
 	bp.jydev.jianyu360.cn/BaseService/entManageApplication v0.0.0-20230214091519-89a98c01ab0e // indirect
-	bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20231115092908-cb4608f3a96d // indirect
+	bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20231219095433-7e7d4aa59822 // indirect
 	bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.0.8 // indirect
 	github.com/BurntSushi/toml v1.1.0 // indirect
 	github.com/beorn7/perks v1.0.1 // indirect

+ 5 - 4
src/jfw/modules/bigmember/src/go.sum

@@ -9,14 +9,14 @@ app.yhyue.com/moapp/jybase v0.0.0-20230727083622-4dfc804ea6cf h1:/Tk5haITmGc5c3/
 app.yhyue.com/moapp/jybase v0.0.0-20230727083622-4dfc804ea6cf/go.mod h1:D40Ae0rQilH8Hc5o2Vtt04Tjh/DNEFpcS3/WkJMPJb8=
 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.1.7 h1:msXjcVazmiUnlarqpUEnK4nA1iGCbpds8NYeefY6YL4=
-app.yhyue.com/moapp/jypkg v1.1.7/go.mod h1:sMZxJOsD3STWGY04aDhUtRD+1u5nqhQpdDdpSW3JC1Y=
+app.yhyue.com/moapp/jypkg v1.0.16 h1:wRJFf/Keerm4OWBXgxShc8SgQi0iVPi/mxufFjPBmaA=
+app.yhyue.com/moapp/jypkg v1.0.16/go.mod h1:j8v5+elGJ14UxJvofhqa+XLy6Ppb3hkLHdDcMsAmWEU=
 app.yhyue.com/moapp/message v0.0.0-20221223100203-6402e389d9ae h1:6rDDaz6yxvE8viTSzEBwKYOFWq14TMfuBivSazUZMz4=
 app.yhyue.com/moapp/message v0.0.0-20221223100203-6402e389d9ae/go.mod h1:b0zZHev3gmJao1Fo+2Z2KPVjsuLOJVvVxf+kCnu9WkA=
 bp.jydev.jianyu360.cn/BaseService/entManageApplication v0.0.0-20230214091519-89a98c01ab0e h1:h+VEI3o1qC0jeCzkFGTrLI4f27cfa/W/y+0sXokWMgE=
 bp.jydev.jianyu360.cn/BaseService/entManageApplication v0.0.0-20230214091519-89a98c01ab0e/go.mod h1:7Xhygw0KBuL4h0G76FnFg4otQcA9bmOO0c8M0FCjAyQ=
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20231115092908-cb4608f3a96d h1:x17+SAYxlBChNWn2IS2eDWZlhZrxtgEWjlb1JF0946E=
-bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20231115092908-cb4608f3a96d/go.mod h1:rCCaOSWBYfQabf/yIvSVheSPtN2THnHeTl2J5/RrcuU=
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20231219095433-7e7d4aa59822 h1:wSSygQd/AppmJCSEu+TXtmmIqVU18X0psEqU3VKEavI=
+bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20231219095433-7e7d4aa59822/go.mod h1:rCCaOSWBYfQabf/yIvSVheSPtN2THnHeTl2J5/RrcuU=
 bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.0.8 h1:14Yxzutsej7LQe3jnN61wuRX9qjAZ4FtdWMA27ewQ3w=
 bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.0.8/go.mod h1:rRiGzKG4F/fmkNxXQCxrkxNWc8yf1SmW8qWCKfGIQSM=
 bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.15-0.20230925060020-8e4db0f1e13e h1:bncHHkJLqiDW1ZN6MVe+3bj3i0LxWgFkfqge6Gk7lB4=
@@ -711,6 +711,7 @@ github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqn
 github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
 github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
 github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
+github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=
 github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
 github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
 github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=

+ 72 - 70
src/jfw/modules/subscribepay/src/go.mod

@@ -3,46 +3,45 @@ module jy/src/jfw/modules/subscribepay/src
 go 1.19
 
 require (
-	app.yhyue.com/moapp/jybase v0.0.0-20230718012114-37013054344b
+	app.yhyue.com/moapp/jybase v0.0.0-20240104022202-158734833402
 	app.yhyue.com/moapp/jylog v0.0.0-20230522075550-05d7230ca545
-	app.yhyue.com/moapp/jypkg v1.10.2
-	bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20230225061813-384daf716c9d
-	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.15-0.20230925060020-8e4db0f1e13e
+	app.yhyue.com/moapp/jypkg v1.0.16
+	bp.jydev.jianyu360.cn/BaseService/pushpkg v0.0.0-20240124011810-8732a8325b61
+	bp.jydev.jianyu360.cn/BaseService/userCenter v1.2.16
 	github.com/SKatiyar/qr v0.0.0-20151201054752-25b6bdf44e67
-	github.com/gogf/gf/v2 v2.3.3
+	github.com/gogf/gf/v2 v2.6.2
 	github.com/shopspring/decimal v1.3.1
 	github.com/tealeg/xlsx v1.0.5
-	go.mongodb.org/mongo-driver v1.11.6
+	go.mongodb.org/mongo-driver v1.13.1
 	gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22
-	k8s.io/apimachinery v0.27.0-alpha.3
+	k8s.io/apimachinery v0.29.1
 )
 
 require (
 	app.yhyue.com/moapp/esv1 v0.0.0-20220414031211-3da4123e648d // indirect
 	app.yhyue.com/moapp/jyMarketing v0.0.2-0.20230304035551-21bb1eedf547 // indirect
-	app.yhyue.com/moapp/message v0.0.0-20221223100203-6402e389d9ae // indirect
-	bp.jydev.jianyu360.cn/BaseService/entManageApplication v0.0.0-20230214091519-89a98c01ab0e // indirect
-	bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20231219095433-7e7d4aa59822 // indirect
-	bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.0.8 // indirect
-	github.com/BurntSushi/toml v1.1.0 // indirect
+	app.yhyue.com/moapp/message v0.0.0-20231204024949-8c7145bfc161 // indirect
+	bp.jydev.jianyu360.cn/BaseService/entManageApplication v0.0.0-20231226074509-942d80dc34eb // indirect
+	bp.jydev.jianyu360.cn/BaseService/powerCheckCenter v0.0.0-20231222060155-36e225b61353 // indirect
+	bp.jydev.jianyu360.cn/BaseService/resourceCenter v0.1.3 // indirect
+	github.com/BurntSushi/toml v1.2.0 // indirect
 	github.com/beorn7/perks v1.0.1 // indirect
 	github.com/cenkalti/backoff/v4 v4.2.1 // indirect
 	github.com/cespare/xxhash/v2 v2.2.0 // indirect
-	github.com/clbanning/mxj/v2 v2.5.5 // indirect
+	github.com/clbanning/mxj/v2 v2.7.0 // indirect
 	github.com/coreos/go-semver v0.3.1 // indirect
 	github.com/coreos/go-systemd/v22 v22.5.0 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
 	github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
-	github.com/donnie4w/go-logger v0.0.0-20170827050443-4740c51383f4 // indirect
 	github.com/emicklei/go-restful/v3 v3.9.0 // indirect
-	github.com/fatih/color v1.15.0 // indirect
-	github.com/fsnotify/fsnotify v1.6.0 // indirect
+	github.com/fatih/color v1.16.0 // indirect
+	github.com/fsnotify/fsnotify v1.7.0 // indirect
 	github.com/garyburd/redigo v1.6.2 // indirect
-	github.com/go-logr/logr v1.2.4 // indirect
+	github.com/go-logr/logr v1.3.0 // indirect
 	github.com/go-logr/stdr v1.2.2 // indirect
 	github.com/go-openapi/jsonpointer v0.19.6 // indirect
-	github.com/go-openapi/jsonreference v0.20.1 // indirect
-	github.com/go-openapi/swag v0.22.3 // indirect
+	github.com/go-openapi/jsonreference v0.20.2 // indirect
+	github.com/go-openapi/swag v0.22.4 // indirect
 	github.com/go-redis/redis/v8 v8.11.5 // indirect
 	github.com/go-sql-driver/mysql v1.7.1 // indirect
 	github.com/gogo/protobuf v1.3.2 // indirect
@@ -51,24 +50,25 @@ require (
 	github.com/golang/protobuf v1.5.3 // indirect
 	github.com/golang/snappy v0.0.4 // indirect
 	github.com/gomodule/redigo v2.0.0+incompatible // indirect
-	github.com/google/gnostic v0.5.7-v3refs // indirect
-	github.com/google/go-cmp v0.5.9 // indirect
+	github.com/google/gnostic-models v0.6.8 // indirect
+	github.com/google/go-cmp v0.6.0 // indirect
 	github.com/google/gofuzz v1.2.0 // indirect
+	github.com/google/uuid v1.4.0 // indirect
 	github.com/gorilla/websocket v1.5.0 // indirect
 	github.com/grokify/html-strip-tags-go v0.0.1 // indirect
-	github.com/grpc-ecosystem/grpc-gateway/v2 v2.15.0 // indirect
+	github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0 // indirect
 	github.com/hashicorp/hcl v1.0.0 // indirect
 	github.com/howeyc/fsnotify v0.9.0 // indirect
 	github.com/jinzhu/inflection v1.0.0 // indirect
 	github.com/jinzhu/now v1.1.1 // indirect
 	github.com/josharian/intern v1.0.0 // indirect
 	github.com/json-iterator/go v1.1.12 // indirect
-	github.com/klauspost/compress v1.15.15 // indirect
+	github.com/klauspost/compress v1.16.7 // indirect
 	github.com/magiconair/properties v1.8.7 // indirect
 	github.com/mailru/easyjson v0.7.7 // indirect
 	github.com/mattn/go-colorable v0.1.13 // indirect
-	github.com/mattn/go-isatty v0.0.17 // indirect
-	github.com/mattn/go-runewidth v0.0.13 // indirect
+	github.com/mattn/go-isatty v0.0.20 // indirect
+	github.com/mattn/go-runewidth v0.0.15 // indirect
 	github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
 	github.com/mitchellh/mapstructure v1.5.0 // indirect
 	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
@@ -79,14 +79,14 @@ require (
 	github.com/olekukonko/tablewriter v0.0.5 // indirect
 	github.com/olivere/elastic v6.2.37+incompatible // indirect
 	github.com/olivere/elastic/v7 v7.0.22 // indirect
-	github.com/openzipkin/zipkin-go v0.4.1 // indirect
-	github.com/pelletier/go-toml/v2 v2.0.8 // indirect
+	github.com/openzipkin/zipkin-go v0.4.2 // indirect
+	github.com/pelletier/go-toml/v2 v2.1.0 // indirect
 	github.com/pkg/errors v0.9.1 // indirect
-	github.com/prometheus/client_golang v1.15.1 // indirect
-	github.com/prometheus/client_model v0.3.0 // indirect
-	github.com/prometheus/common v0.42.0 // indirect
-	github.com/prometheus/procfs v0.9.0 // indirect
-	github.com/rivo/uniseg v0.2.0 // indirect
+	github.com/prometheus/client_golang v1.17.0 // indirect
+	github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect
+	github.com/prometheus/common v0.44.0 // indirect
+	github.com/prometheus/procfs v0.11.1 // indirect
+	github.com/rivo/uniseg v0.4.4 // indirect
 	github.com/sirupsen/logrus v1.8.3 // indirect
 	github.com/spaolacci/murmur3 v1.1.0 // indirect
 	github.com/spf13/afero v1.9.3 // indirect
@@ -96,40 +96,42 @@ require (
 	github.com/spf13/viper v1.15.0 // indirect
 	github.com/subosito/gotenv v1.4.2 // indirect
 	github.com/xdg-go/pbkdf2 v1.0.0 // indirect
-	github.com/xdg-go/scram v1.1.1 // indirect
-	github.com/xdg-go/stringprep v1.0.3 // indirect
-	github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect
-	github.com/zeromicro/go-zero v1.5.3 // indirect
-	go.etcd.io/etcd/api/v3 v3.5.9 // indirect
-	go.etcd.io/etcd/client/pkg/v3 v3.5.9 // indirect
-	go.etcd.io/etcd/client/v3 v3.5.9 // indirect
-	go.opentelemetry.io/otel v1.15.1 // indirect
-	go.opentelemetry.io/otel/exporters/jaeger v1.15.1 // indirect
-	go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.15.1 // indirect
-	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.15.1 // indirect
-	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.15.1 // indirect
-	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.15.1 // indirect
-	go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.14.0 // indirect
-	go.opentelemetry.io/otel/exporters/zipkin v1.15.1 // indirect
-	go.opentelemetry.io/otel/sdk v1.15.1 // indirect
-	go.opentelemetry.io/otel/trace v1.15.1 // indirect
-	go.opentelemetry.io/proto/otlp v0.19.0 // indirect
+	github.com/xdg-go/scram v1.1.2 // indirect
+	github.com/xdg-go/stringprep v1.0.4 // indirect
+	github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect
+	github.com/zeromicro/go-zero v1.6.1 // indirect
+	go.etcd.io/etcd/api/v3 v3.5.11 // indirect
+	go.etcd.io/etcd/client/pkg/v3 v3.5.11 // indirect
+	go.etcd.io/etcd/client/v3 v3.5.11 // indirect
+	go.opentelemetry.io/otel v1.19.0 // indirect
+	go.opentelemetry.io/otel/exporters/jaeger v1.17.0 // indirect
+	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 // indirect
+	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 // indirect
+	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 // indirect
+	go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.19.0 // indirect
+	go.opentelemetry.io/otel/exporters/zipkin v1.19.0 // indirect
+	go.opentelemetry.io/otel/metric v1.19.0 // indirect
+	go.opentelemetry.io/otel/sdk v1.19.0 // indirect
+	go.opentelemetry.io/otel/trace v1.19.0 // indirect
+	go.opentelemetry.io/proto/otlp v1.0.0 // indirect
 	go.uber.org/atomic v1.10.0 // indirect
-	go.uber.org/automaxprocs v1.5.2 // indirect
+	go.uber.org/automaxprocs v1.5.3 // indirect
 	go.uber.org/multierr v1.9.0 // indirect
 	go.uber.org/zap v1.24.0 // indirect
-	golang.org/x/crypto v0.6.0 // indirect
-	golang.org/x/net v0.10.0 // indirect
-	golang.org/x/oauth2 v0.7.0 // indirect
-	golang.org/x/sync v0.1.0 // indirect
-	golang.org/x/sys v0.8.0 // indirect
-	golang.org/x/term v0.8.0 // indirect
-	golang.org/x/text v0.9.0 // indirect
-	golang.org/x/time v0.3.0 // indirect
-	google.golang.org/appengine v1.6.7 // indirect
-	google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
-	google.golang.org/grpc v1.56.1 // indirect
-	google.golang.org/protobuf v1.31.0 // indirect
+	golang.org/x/crypto v0.16.0 // indirect
+	golang.org/x/net v0.19.0 // indirect
+	golang.org/x/oauth2 v0.13.0 // indirect
+	golang.org/x/sync v0.5.0 // indirect
+	golang.org/x/sys v0.15.0 // indirect
+	golang.org/x/term v0.15.0 // indirect
+	golang.org/x/text v0.14.0 // indirect
+	golang.org/x/time v0.5.0 // indirect
+	google.golang.org/appengine v1.6.8 // indirect
+	google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b // indirect
+	google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b // indirect
+	google.golang.org/grpc v1.60.0 // indirect
+	google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1 // indirect
 	gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
 	gopkg.in/inf.v0 v0.9.1 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect
@@ -138,13 +140,13 @@ require (
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 	gorm.io/driver/mysql v1.0.5 // indirect
 	gorm.io/gorm v1.21.3 // indirect
-	jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20231017031425-45003ca9f35a // indirect
-	k8s.io/api v0.26.3 // indirect
-	k8s.io/client-go v0.26.3 // indirect
-	k8s.io/klog/v2 v2.90.1 // indirect
-	k8s.io/kube-openapi v0.0.0-20230307230338-69ee2d25a840 // indirect
-	k8s.io/utils v0.0.0-20230209194617-a36077c30491 // indirect
+	jygit.jydev.jianyu360.cn/ApplicationCenter/publicService v0.0.0-20231023011746-38dc3b6aded8 // indirect
+	k8s.io/api v0.28.4 // indirect
+	k8s.io/client-go v0.28.4 // indirect
+	k8s.io/klog/v2 v2.110.1 // indirect
+	k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
+	k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
 	sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
-	sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
+	sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
 	sigs.k8s.io/yaml v1.3.0 // indirect
 )

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 857 - 47
src/jfw/modules/subscribepay/src/go.sum


+ 22 - 15
src/seo.json

@@ -504,15 +504,15 @@
         },
         "NYHG": {
             "NAME": "能源化工_原材料,能源化工_仪器仪表,能源化工_新能源,能源化工_设备物资,能源化工_化工产品,能源化工_设备",
-            "TITLE": "能源化工_剑鱼标讯,全行业招标信息智能推送领导者!",
-            "KEYWORDS": "",
-            "DESCRIPTION": ""
+            "TITLE": "能源化工招标信息 - 剑鱼标讯,专业招标大数据服务平台!",
+            "KEYWORDS": "能源化工,新能源采购,设备物资采购",
+            "DESCRIPTION": "剑鱼标讯提供能源化工行业相关的招标信息搜索查询、订阅推送和数据定制化服务,每天实时更新能源化工相关的新能源采购,仪器仪表,设备物资采购等招标信息,随时随地免费查看。"
         },
         "RDAF": {
             "NAME": "弱电安防_综合布线,弱电安防_智能系统,弱电安防_智能家居",
-            "TITLE": "弱电安防_剑鱼标讯,全行业招标信息智能推送领导者!",
-            "KEYWORDS": "",
-            "DESCRIPTION": ""
+            "TITLE": "弱电安防招标信息 - 剑鱼标讯,专业招标大数据服务平台!",
+            "KEYWORDS": "弱电安防,综合布线,弱电智能化",
+            "DESCRIPTION": "剑鱼标讯提供弱电安防行业相关的招标信息搜索查询、订阅推送和数据定制化服务,每天实时更新弱电安防相关的综合布线,弱电智能化等招标信息,随时随地免费查看。"
         },
         "XXJS": {
             "NAME": "信息技术_系统集成及安全,信息技术_软件开发,信息技术_运维服务,信息技术_其他",
@@ -540,9 +540,9 @@
         },
         "YLWS": {
             "NAME": "医疗卫生_设备,医疗卫生_耗材,医疗卫生_药品",
-            "TITLE": "医疗卫生_剑鱼标讯,全行业招标信息智能推送领导者!",
-            "KEYWORDS": "",
-            "DESCRIPTION": ""
+            "TITLE": "医疗卫生招标信息 - 剑鱼标讯,专业招标大数据服务平台!",
+            "KEYWORDS": "医疗设备,医疗耗材,医疗卫生",
+            "DESCRIPTION": "剑鱼标讯提供医疗卫生行业相关的招标信息搜索查询、订阅推送和数据定制化服务,每天实时更新医疗卫生相关的医疗设备,医疗耗材等招标信息,随时随地免费查看。"
         },
         "SZSS": {
             "NAME": "市政设施_道路,市政设施_绿化,市政设施_线路管网,市政设施_综合项目",
@@ -552,15 +552,15 @@
         },
         "FWCG": {
             "NAME": "服务采购_法律咨询,服务采购_会计,服务采购_物业,服务采购_审计,服务采购_安保,服务采购_仓储物流,服务采购_广告宣传印刷,服务采购_其他",
-            "TITLE": "服务采购_剑鱼标讯,全行业招标信息智能推送领导者!",
-            "KEYWORDS": "",
-            "DESCRIPTION": ""
+            "TITLE": "服务采购招标信息 - 剑鱼标讯,专业招标大数据服务平台!",
+            "KEYWORDS": "服务采购,物业服务,咨询服务",
+            "DESCRIPTION": "剑鱼标讯提供服务采购行业相关的招标信息搜索查询、订阅推送和数据定制化服务,每天实时更新服务采购相关的物业服务采购,安保服务采购,咨询服务采购等招标信息,随时随地免费查看。"
         },
         "NLMY": {
             "NAME": "农林牧渔_生产物资,农林牧渔_生产设备,农林牧渔_相关服务",
-            "TITLE": "农林牧渔_剑鱼标讯,全行业招标信息智能推送领导者!",
-            "KEYWORDS": "",
-            "DESCRIPTION": ""
+            "TITLE": "农林牧渔招标信息 - 剑鱼标讯,专业招标大数据服务平台!",
+            "KEYWORDS": "农林牧渔,高标准农田,农业服务",
+            "DESCRIPTION": "剑鱼标讯提供农林牧渔行业相关的招标信息搜索查询、订阅推送和数据定制化服务,每天实时更新农林牧渔相关的高标准农田,农业服务等招标信息,随时随地免费查看。"
         }
     },
     "jyadd": "https://web2-qmxtest.jydev.jianyu360.com/",
@@ -4800,5 +4800,12 @@
   "secSeoWebConfig": {
     "areaCodeMap": {"上海": "shanghai", "云南": "yunnan", "内蒙古": "neimenggu", "北京": "beijing", "吉林": "jilin", "四川": "sichuan", "天津": "tianjin", "宁夏": "ningxia", "安徽": "anhui", "山东": "shandong", "山西": "shanxi", "广东": "guangdong", "广西": "guangxi", "新疆": "xinjiang", "江苏": "jiangsu", "江西": "jiangxi", "河北": "hebei", "河南": "henan", "浙江": "zhejiang", "海南": "hainan", "湖北": "hubei", "湖南": "hunan", "甘肃": "gansu", "福建": "fujian", "西藏": "xizang", "贵州": "guizhou", "辽宁": "liaoning", "重庆": "chongqing", "陕西": "shaanxi", "青海": "qinghai", "黑龙江": "heilongjiang"},
     "area_href_format": "https://%s.jianyu360.cn"
+  },
+  "useNewTdk": {
+    "YLWS": 1,
+    "FWCG": 1,
+    "NYHG": 1,
+    "RDAF": 1,
+    "NLMY": 1
   }
 }

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/web/staticres/common-module/login-js/jy-login-mini.umd.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
src/web/staticres/common-module/login-js/jy-login.umd.js


+ 2 - 2
src/web/staticres/css/common.css

@@ -179,12 +179,12 @@ a{
     position: fixed;
     left: 50%;
     top: 50%;
-    z-index: 9999;
+    z-index: 999999;
     transform: translate(-50%,-50%);
     display: flex;
 	align-items: center;
 	justify-content: center;
-	padding: 6px 12px;
+	padding: 16px 32px;
     line-height: 22px;
     border-radius: 5px;
     color: #fff;

+ 41 - 16
src/web/staticres/css/pc.css

@@ -4714,8 +4714,7 @@ h6 {
   width: 376px;
   top: 50%;
   overflow: hidden;
-  margin-top: -282px;
-  /* left: calc(50vw - 360px); */
+  margin-top: -240px;
   left: 50%;
   box-sizing: border-box;
   border-radius: 16px;
@@ -4749,8 +4748,10 @@ h6 {
 }
 
 .login-dig-tabbar-navbar {
-  margin-top: 32px;
-  padding-bottom: 12px;
+  /* margin-top: 32px; */
+  height: 32px;
+  text-align: center;
+  padding-bottom: 8px;
 }
 
 .login-dig-tabbar-navbar span {
@@ -4770,7 +4771,8 @@ h6 {
 
 .login-dig-tabbar-navbar .line-box {
   margin-top: 8px;
-  width: 118px;
+  margin-left: 54px;
+  width: 80px;
   height: 3px;
   background: #2CB7CA;
   transition: all 0.33s;
@@ -4781,7 +4783,7 @@ h6 {
 }
 
 .login-dig-tabbar-navbar span + span.is-active + .line-box {
-  transform: translateX(104px);
+  transform: translateX(100px);
 }
 
 .login-dig-tabbar-navbar .line-box.pass-line-box{
@@ -4789,7 +4791,7 @@ h6 {
 }
 
 .login-dig-tabbar-navbar span + span.is-active + .line-box.pass-line-box{
-  transform: translateX(140px);
+  transform: translateX(100px);
 }
 
 .login-dig-tabbar-content {
@@ -4798,6 +4800,10 @@ h6 {
 
 .login-dig-tabbar-content.is-active {
   display: block;
+  margin-top: 20px;
+}
+.login-dig-tabbar-content.password-login{
+  margin-top: 38px;
 }
 
 .icon-tip {
@@ -4817,7 +4823,6 @@ h6 {
   display: flex;
   align-items: center;
   justify-content: center;
-  margin-top: 12px;
 }
 .login-dig-box .auto-login-container {
   display: flex;
@@ -4968,11 +4973,12 @@ h6 {
 
 .login-dig-input-box.is-error {
   border-color: #FF3A20;
-  margin-bottom: 36px;
+  /* margin-bottom: 36px; */
 }
 
 .login-dig-input-box.is-error::after {
-  content: attr(data-error);
+  /* content: attr(data-error); */
+  content: '';
   position: absolute;
   bottom: -24px;
   left: 8px;
@@ -5051,7 +5057,7 @@ h6 {
 }
 
 .login-dig-footer-box p {
-  margin-top: 32px;
+  margin-top: 12px;
 }
 
 .login-dig-footer-box a {
@@ -5064,11 +5070,15 @@ h6 {
   display: flex;
   flex-direction: column;
   align-items: center;
+  margin-right: 80px;
 }
 
 .login-dig-wx-qrcode-box .wx-qrcode {
-  max-width: 240px;
-  max-height: 240px;
+  max-width: 200px;
+  max-height: 200px;
+  margin-top: 36px;
+  border-radius: 16px;
+  border: 1px solid #ECECEC;
 }
 
 .login-dig-wx-qrcode-box .wx-tip {
@@ -5312,11 +5322,25 @@ h6 {
   margin-top: 32px;
 }
 
+.login-auth--title{
+  padding: 40px 0 20px;
+  text-align: center;
+  font-size: 24px;
+  line-height: 36px;
+  background: linear-gradient(to bottom, rgba(135, 223, 234, 0.24), rgba(135, 223, 234, 0));
+}
+.login-wx--title{
+  font-size: 16px;
+  line-height: 24px;
+  color: #1d1d1d;
+  text-align: center;
+}
+
 .new_login{
-  /* display: flex; */
+  /* display: flex;
   flex: 1;
   width: 360px;
-  padding: 32px 40px 36px;
+  padding: 0 40px 36px; */
 }
 .login_ad_space{
   width: 360px;
@@ -5382,7 +5406,8 @@ h6 {
 }
 
 .login-dig-footer-box p.passTip{
-	margin-top: 100px;
+	/* margin-top: 100px; */
+  margin-top: 12px;
 }
 
 .guide-intro-dialog{

+ 37 - 16
src/web/staticres/js/login.js

@@ -935,7 +935,7 @@ $(function(){
                     $.post("/phone/login",{
                         reqType:"sendIdentCode",
                         phone:$("#bidLogin .login-dig-input-box [name='verify_phone']").val(),
-                        // isAutoLogin: $('.sms-login .auto-login-checkbox').hasClass('checked'),
+                        // isAutoLogin: $('.auto-login-checkbox').hasClass('checked'),
                         code:$("#bidLogin .login-dig-input-box [name='verify_code']").val()
                     },function(r){
                         if(r.status==-1){
@@ -1080,7 +1080,7 @@ $(function(){
         ajaxLoginPass: function (e, arr) {
             var payload = {
               reqType:"phoneLogin",
-              isAutoLogin: $('.password-login .auto-login-checkbox').hasClass('checked'),
+              isAutoLogin: $('.auto-login-checkbox').hasClass('checked'),
               phone:arr[0].value,
               password: arr[1].value
             }
@@ -1165,7 +1165,7 @@ $(function(){
                 var payload = {
                   reqType:"identCodeLogin",
                   identCode:arr[2].value,
-                  isAutoLogin: $('.sms-login .auto-login-checkbox').hasClass('checked'),
+                  isAutoLogin: $('.auto-login-checkbox').hasClass('checked'),
                   source:source
                 }
                 // 短信验证码登录
@@ -1189,14 +1189,19 @@ $(function(){
         },
         // 新用户设置密码
         showSetPassModule: function (type) {
-          var otherArr = ['.login-dig-footer-box .wx-logo-box', '.login-dig-footer-box .login-dig-text-split' ,'.login-dig-tabbar-navbar', '.login-dig-tabbar-content', '.login-dig-tabbar-content.is-active', '.pass-bottom', '.login-dig-wx-qrcode-box', '.login-dig-top-back-box', '.code-bottom']
-          var setPassArr = ['.login-dig-tabbar-content.set-password', '.login-dig-tabbar-navbar.set-pass-module', '.set-pass-bottom']
+          var otherArr = ['.login-dig-footer-box .wx-logo-box', '.login-dig-footer-box .login-dig-text-split' ,'.login-dig-tabbar-navbar', '.login-dig-tabbar-content', '.login-dig-tabbar-content.is-active', '.pass-bottom', '.login-dig-wx-qrcode-box', '.login-dig-top-back-box', '.code-bottom', '.login-common-title', '.login-auto-card']
+          var setPassArr = ['.login-dig-tabbar-content.set-password', '.login-dig-tabbar-navbar.set-pass-module', '.set-pass-bottom', '.set-pass-title']
           for(var i=0;i<otherArr.length;i++){
-            document.querySelector(otherArr[i]).style.display = (type ? 'none' : '')
+            if (document.querySelector(otherArr[i])) {
+              document.querySelector(otherArr[i]).style.display = (type ? 'none' : '')
+            }
           }
           for(var i=0;i<setPassArr.length;i++){
-            document.querySelector(setPassArr[i]).style.display = (type ? 'block' : 'none')
+            if (document.querySelector(setPassArr[i])) {
+              document.querySelector(setPassArr[i]).style.display = (type ? 'block' : 'none')
+            }
           }
+          
         },
         ajaxRegister: function (e, arr) {
           var source =	 getParam("source");//百度SEM
@@ -1217,7 +1222,7 @@ $(function(){
             s_entname: arr[3].value,
             identCode:arr[2].value,
             source:source,
-            isAutoLogin: $('.sms-login .auto-login-checkbox').hasClass('checked'),
+            isAutoLogin: $('.auto-login-checkbox').hasClass('checked'),
             email: arr[4].value
           }
           // 短信验证码登录
@@ -1237,6 +1242,9 @@ $(function(){
             });
         }
     }
+    // Direct.showSetPassModule(true) // 模拟显示 设置密码弹框
+    // openLoginDigForReg() // 模拟显示注册弹框
+    // openBindPhoneDig() // 模拟显示绑定手机号弹框
   // @手机号绑定以及账号合并 2021/1/25
   function toggleNeedVerifyInput (f, src) {
     var verifyInput = $(".login-dig-tabbar-content.is-active .login-dig-input-box:eq(1)")
@@ -1453,12 +1461,14 @@ $(function(){
                 if (error) {
                     this.el.parentNode.setAttribute('data-error', error)
                     this.el.parentNode.classList.add(errClass)
+                    showToast(error)
                 }
             }
         }
         // 错误提示
         if (formOption.errorTip && formOption.errorTip !== '') {
             nowEle.parentNode.setAttribute('data-error', formOption.errorTip)
+            showToast(formOption.errorTip)
         }
         // 校验规则
         if (typeof formOption.rule !== "function") {
@@ -1491,6 +1501,8 @@ $(function(){
                     errorTarget.classList.remove(errClass)
                 } else {
                     errorTarget.classList.add(errClass)
+                    var errorMsg = errorTarget.getAttribute('data-error')
+                    showToast(errorMsg, 4000)
                 }
             })
         }
@@ -1572,12 +1584,12 @@ $(function(){
                 return
             }
             if(e.target.innerText === '密码登录') {
-              $('.code-bottom').hide()
+              // $('.code-bottom').hide()
               $('.pass-bottom').show()
               $('.line-box').addClass('pass-line-box')
             } else {
               $('.pass-bottom').hide()
-              $('.code-bottom').show()
+              // $('.code-bottom').show()
               $('.line-box').removeClass('pass-line-box')
             }
             var SelectName = e.target.getAttribute('name')
@@ -2070,18 +2082,20 @@ function trackClick (c_type) {
 }
 // type: true登录后直接跳转工作桌面
 function openLoginDig(type, redirectUrl,Logincallback) {
-    $('#bidLogin .logo').show()
+    $('#bidLogin .logo').hide()
     $('#bidLogin .bind-phone-head').hide()
     $(".login-dig-tabbar-content.is-active .login-dig-input-box").show()
+    $('.login-auto-card').show()
   	if ($('#bidLogin').attr('data-name') === 'bind-phone') {
         $("#bidLogin").removeAttr('data-name')
         $('.login-dig-submit-button').removeClass('bindphonebtn')
         $('.login-dig-submit-button:disabled').css('background', '#E0E0E0')
         $('.login-dig-submit-button:disabled').css('opacity', '0.5')
         $('.login-dig-submit-button').css('margin-bottom', '0')
-      	$("#bidLogin .login-dig-submit-button[name='verify_submit']").text('登录 / 注册')
+      	$("#bidLogin .login-dig-submit-button[name='verify_submit']").text('登')
       	$(".login-dig-tabbar-content[data-name='code'] .login-dig-input-box").removeClass('is-error').children('input').val('')
   	}
+
 	var href = window.location.href;
     var sourceStr =""
 	if (href.indexOf("/front/structed/pc_index.html?source=baidusem")>-1){//结构化数据
@@ -2163,6 +2177,7 @@ function openBindPhoneDig() {
     openLoginDigForWx(false);
     $('#bidLogin .logo').hide()
     $('#bidLogin .bind-phone-head').show()
+    $('.login-auto-card').hide()
     if ($('#bidLogin').attr('data-name') !== 'bind-phone') {
         $("#bidLogin").attr('data-name', 'bind-phone')
         // $('.login-dig-submit-button:disabled').css('background', '#2CB7CA')
@@ -2171,6 +2186,7 @@ function openBindPhoneDig() {
         $('.login-dig-submit-button').addClass('bindphonebtn')
         $("#bidLogin .login-dig-submit-button[name='verify_submit']").text('立即绑定')
         $(".login-dig-tabbar-content[data-name='code'] .login-dig-input-box").removeClass('is-error').children('input').val('')
+        $('.login-auto-card').show()
     }
     $("#bidLogin").modal("show");
 }
@@ -2192,7 +2208,9 @@ function openLoginDigForWx (type) {
 	var otherArr = ['.login-dig-footer-box .wx-logo-box', '.login-dig-footer-box .login-dig-text-split' ,'.login-dig-tabbar-navbar', '.login-dig-tabbar-content', '.login-dig-tabbar-content.is-active', '.pass-bottom']
 	var wxArr = ['.login-dig-wx-qrcode-box', '.login-dig-top-back-box', '.code-bottom']
 	for(var i=0;i<otherArr.length;i++){
-		document.querySelector(otherArr[i]).style.display = (type ? 'none' : '')
+    if (document.querySelector(otherArr[i])) {
+		  document.querySelector(otherArr[i]).style.display = (type ? 'none' : '')
+    }
 	}
 	for(var i=0;i<wxArr.length;i++){
 		document.querySelector(wxArr[i]).style.display = (type ? '' : 'none')
@@ -2207,14 +2225,17 @@ function openLoginDigForReg (type) {
   $('.login-dig-tabbar-navbar').hide()
   $('.login-dig-reg').show()
   $('.login-dig-footer-box').hide()
+  $('.login-auto-card').hide()
   // 埋点
   trackClick('注册行为-登录或注册弹窗')
 }
 
 function backLogin (type) {
-  var otherArr = ['.login-dig-box .new_login > .logo', '.login-dig-footer-box','.login-dig-footer-box .wx-logo-box', '.login-dig-footer-box .login-dig-text-split' ,'.login-dig-tabbar-navbar', '.login-dig-tabbar-content', '.login-dig-tabbar-content.is-active']
+  var otherArr = ['.login-dig-box .new_login > .logo', '.login-dig-footer-box','.login-dig-footer-box .wx-logo-box', '.login-dig-footer-box .login-dig-text-split' ,'.login-dig-tabbar-navbar', '.login-dig-tabbar-content', '.login-dig-tabbar-content.is-active', '.login-dig-wx-qrcode-box', '.login-auto-card']
   for(var i=0;i<otherArr.length;i++){
-		document.querySelector(otherArr[i]).style.display = (type ? 'none' : '')
+		if (document.querySelector(otherArr[i])) {
+      document.querySelector(otherArr[i]).style.display = (type ? 'none' : '')
+    }
 	}
   $('.login-dig-reg').hide()
 }
@@ -2230,7 +2251,7 @@ var loginDialog = {
   },
   bindKeepLoginQr: function () {
     var payload = {
-      isAutoLogin: $('.wx-qr-login .auto-login-checkbox').hasClass('checked'),
+      isAutoLogin: $('.auto-login-checkbox').hasClass('checked'),
       // pageshareid: pageshareid,
       // kopshareid: kopshareid,
       loginER: [pageshareid, kopshareid].join('___')

+ 2 - 2
src/web/staticres/pccss/index_pc.css

@@ -1036,7 +1036,7 @@
     justify-content: center;
     width: 100%;
     height: 40px;
-    font-size: 14px;
+    font-size: 16px;
     line-height: 24px;
     border-radius: 4px;
 }
@@ -1423,4 +1423,4 @@
 }
 .jianyu-school-card .cms-card-list-item:not(:last-of-type) {
     margin-bottom: 12px;
-}
+}

+ 4 - 0
src/web/staticres/tags/css/no-login-detail.css

@@ -467,3 +467,7 @@
   color: #2CB7CA;
   cursor: pointer;
 }
+
+.need-login{
+    cursor: pointer;
+}

BIN=BIN
src/web/staticres/tags/images/bg.png


BIN=BIN
src/web/staticres/tags/images/login-banner.png


BIN=BIN
src/web/staticres/tags/images/login-full-banner.png


+ 18 - 0
src/web/staticres/tags/js/no-login-detail.js

@@ -1053,6 +1053,14 @@ $(function(){
       window.open(vipLink)
     }
   })
+
+  // 登录即可查看-点击登录
+  $('.cd-cont .cont-cont').each(function(ind, ele) {
+    var text = $(ele).text()
+    if(text && text.indexOf("登录即可免费查看") > -1) {
+      $(ele).addClass('need-login')
+    }
+  })
 })
 function companyAdd(){
 //   if(s_winner){
@@ -2229,4 +2237,14 @@ $(function() {
     },"", info.infoid)
   })
 
+  $('.need-login').on('click', function () {
+    try {
+      if (!loginflag) {
+        openLoginDig(false, 'reload')
+      }
+    } catch (error) {
+      openLoginDig(false, 'reload')
+    }
+  })
+
 })

+ 1 - 1
src/web/templates/common/pc-header-nav-brand.html

@@ -128,7 +128,7 @@
           <li class="slider"></li>
         </ul>
             <div class='useronline' id="login" style="float:left;">
-              <button  clle="display: none" class='loginBtn' data-toggle='modal' onclick='openLoginDig(true)'>登录/注册</button>
+              <button  clle="display: none" class='loginBtn' data-toggle='modal' onclick='openLoginDig(true)'>登录</button>
               <img style="display: none" class="nav-avatar user-avatar" data-user-avatar alt="头像">
               <div class="work-user-info" style="display: none">
                 <div class="info-group">

+ 1 - 1
src/web/templates/common/pc-header-nav-mini.html

@@ -63,7 +63,7 @@
                         </div>
                     </li>
                     <li class="menu-item action-menu">
-                        <button class="login-register-button j-s-button main" id="header-login-btn" style="display: none">注册/登录</button>
+                        <button class="login-register-button j-s-button main" id="header-login-btn" style="display: none">登录</button>
                         <a class="go-to-workspace j-s-button main" href="/page_workDesktop/" style="display: none">进入工作台</a>
                     </li>
                 </ul>

+ 201 - 198
src/web/templates/common/pc-login-dialog.html

@@ -9,60 +9,21 @@
   aria-labelledby="bidLogin"
   aria-hidden="true"
 >
-  <div class="modal-dialog login-dig-box is-show" style="max-width: 720px; height: 584px; width: auto; width:100%; display: flex">
-    <div class="login_ad_space">
-      <div class="active-tip-group" style="display: none">
-        <img src="" alt="二维码" />
-      </div>
-    </div>
-    <div class="new_login">
-      <div class="login-dig-icon-close" onclick="closeLoginDig()"></div>
-      <img class="logo" src="/images/swordfish/sf_01_new.png" alt="logo" style="display: block" />
-      <div class="bind-phone-head" style="display: none">
-        <h3 class="bind-phone-title">绑定手机号</h3>
-        <p class="bind-phone-tip">为了给您提供更好的服务,请绑定手机号!</p>
-      </div>
-      <div class="login-dig-tabbar-navbar" style="">
-        <span name="code" class="is-active">验证码登录/注册</span>
-        <span name="pass" class="">密码登录</span>
-        <div class="line-box"></div>
-      </div>
-      <div class="login-dig-tabbar-navbar set-pass-module" data-name="set-password" style="display: none;">
-          <span name="setpass" class="is-active">设置密码</span>
-          <div class="line-box" style="width: 64px;"></div>
-      </div>
-      <!-- <div class="login-dig-tabbar-navbar" data-name="bind-phone" style="display: none;">
-          <span name="phone" class="is-active">手机号绑定</span>
-          <div class="line-box"></div>
-      </div> -->
-      <div class="login-dig-tabbar-content login-module-card sms-login is-active" data-name="code" style="">
-        <div class="login-dig-input-box" data-error="手机号码输入错误">
-          <i class="login-dig-icon-phone"></i>
-          <input autocomplete="off" name="verify_phone" type="tel" placeholder="输入手机号码" maxlength="11" />
-        </div>
-        <div class="login-dig-input-box" data-error="图形验证码输入错误">
-          <i class="login-dig-icon-guard"></i>
-          <input autocomplete="off" name="verify_code" type="text" placeholder="输入图形验证码" maxlength="4" />
-          <div class="after-input-box">
-            <img data-name="verfiy-login" class="verify-img" src="" alt="verify" />
-          </div>
+  <div class="modal-dialog login-dig-box is-show" style="max-width: 720px; height: 480px; width:100%;">
+    <h2 class="login-auth--title login-common-title"><span class="highlight-text">免费</span>查询招标采购信息,对接<span class="highlight-text">项目联系人</span></h2>
+    <h2 class="login-auth--title set-pass-title" data-name="set-password" style="display: none;">设置登录密码</h2>
+    <div style="width: 100%;display: flex;justify-content: center;padding: 0 80px;">
+      <!-- <div class="login_ad_space">
+        <div class="active-tip-group" style="display: none">
+          <img src="" alt="二维码" />
         </div>
-        <div class="login-dig-input-box" data-error="短信验证码输入错误">
-          <i class="login-dig-icon-guard"></i>
-          <input
-            autocomplete="off"
-            name="verify_sms"
-            class="enter-action-login"
-            type="text"
-            placeholder="输入短信验证码"
-            maxlength="6"
-          />
-          <div class="after-input-box">
-            <span data-name="verify_get_sms" class="l-get-sms is-stop">获取验证码</span>
-          </div>
+      </div> -->
+      <div class="login-dig-wx-qrcode-box login-module-card wx-qr-login">
+        <div class="login-wx--title">
+          <span>微信扫码登录</span>
         </div>
-        <button class="login-dig-submit-button" name="verify_submit" disabled="true">登录/注册</button>
-        <div class="footer-action-container">
+        <img class="wx-qrcode" id="layerImg-login" src="/front/share/10" />
+        <!-- <div class="footer-action-container">
           <div class="auto-login-container no-selected">
             <div class="auto-login-checkbox"></div>
             <label for="autoLogin">下次自动登录</label>
@@ -71,170 +32,212 @@
               <div class="j-tooltip" style="display: none">为了确保你的信息安全,不建议在公共设备上勾选此项。</div>
             </div>
           </div>
-          <!-- <a class="go-register" href="/phone/register" >立即注册</a> -->
-          <!-- <div class="go-register" onclick="openLoginDigForReg(true)">立即注册</div> -->
         </div>
+        <div class="login-dig-top-back-box" style="display: none" onclick="openLoginDigForWx(false)">
+          <i class="login-dig-icon-blue-back"></i>
+          <span>验证码/密码登录</span>
+        </div> -->
       </div>
-      <!-- 密码登录 -->
-      <div class="login-dig-tabbar-content login-module-card password-login" data-name="pass">
-        <div class="login-dig-input-box" data-error="手机号或账号名输入错误">
-          <i class="login-dig-icon-phone"></i>
-          <input
-            autocomplete="off"
-            class="enter-action-login"
-            name="pass_phone"
-            type="text"
-            placeholder="请输入手机号或账号名"
-          />
-        </div>
-        <div class="login-dig-input-box" data-error="密码输入错误">
-          <i class="login-dig-icon-pass"></i>
-          <input
-            autocomplete="off"
-            class="enter-action-login pass-login"
-            name="pass_pass"
-            type="password"
-            placeholder="输入密码"
-          />
-          <i class="login-dig-icon-biyan" onclick="switchPassShow(event, '.pass-login')"></i>
+      <div class="new_login">
+        <div class="login-dig-icon-close" onclick="closeLoginDig()"></div>
+        <!-- <img class="logo" src="/images/swordfish/sf_01_new.png" alt="logo" style="display: none" /> -->
+        <div class="bind-phone-head" style="display: none">
+          <h3 class="bind-phone-title">绑定手机号</h3>
+          <p class="bind-phone-tip">为了给您提供更好的服务,请绑定手机号!</p>
+        </div>
+        <div class="login-dig-tabbar-navbar" style="">
+          <span name="code" class="is-active">验证码登录</span>
+          <span name="pass" class="">密码登录</span>
+          <div class="line-box"></div>
         </div>
-        <button class="login-dig-submit-button" name="pass_submit" disabled="true">登录</button>
-        <div class="footer-action-container f-box right-box" style="justify-content: space-between;">
-          <div class="auto-login-container no-selected">
-            <div class="auto-login-checkbox"></div>
-            <label for="autoLogin">下次自动登录</label>
-            <div class="icon-tip-container">
-              <div class="icon-tip"></div>
-              <div class="j-tooltip" style="display: none">为了确保你的信息安全,不建议在公共设备上勾选此项。</div>
+        <!-- <div class="login-dig-tabbar-navbar set-pass-module" data-name="set-password" style="display: none;">
+            <span name="setpass" class="is-active">设置密码</span>
+            <div class="line-box" style="width: 64px;"></div>
+        </div> -->
+        <!-- <div class="login-dig-tabbar-navbar" data-name="bind-phone" style="display: none;">
+            <span name="phone" class="is-active">手机号绑定</span>
+            <div class="line-box"></div>
+        </div> -->
+        <div class="login-dig-tabbar-content login-module-card sms-login is-active" data-name="code" style="">
+          <div class="login-dig-input-box" data-error="手机号码输入错误">
+            <i class="login-dig-icon-phone"></i>
+            <input autocomplete="off" name="verify_phone" type="tel" placeholder="输入手机号码" maxlength="11" />
+          </div>
+          <div class="login-dig-input-box" data-error="图形验证码输入错误">
+            <i class="login-dig-icon-guard"></i>
+            <input autocomplete="off" name="verify_code" type="text" placeholder="输入图形验证码" maxlength="4" />
+            <div class="after-input-box">
+              <img data-name="verfiy-login" class="verify-img" src="" alt="verify" />
             </div>
           </div>
-          <div class="login-right-actions">
-            <!-- <div class="forget-pass-link" onclick="openLoginDigForReg(true)">立即注册</div>
-            <span class="login-splitter"></span> -->
-            <a class="forget-pass-link" href="/phone/forgetPwd">忘记密码?</a>
-            <!-- <a class="forget-pass-link" style="color: #2ABED1!important;" href="/phone/register">立即注册</a> -->
+          <div class="login-dig-input-box" data-error="短信验证码输入错误">
+            <i class="login-dig-icon-guard"></i>
+            <input
+              autocomplete="off"
+              name="verify_sms"
+              class="enter-action-login"
+              type="text"
+              placeholder="输入短信验证码"
+              maxlength="6"
+            />
+            <div class="after-input-box">
+              <span data-name="verify_get_sms" class="l-get-sms is-stop">获取验证码</span>
+            </div>
           </div>
-        </div>
-      </div>
-      <!-- 设置密码 -->
-      <div class="login-dig-tabbar-content login-module-card set-password" data-name="setpass">
-        <div class="login-dig-input-box" data-error="密码不少于6位">
-          <i class="login-dig-icon-pass"></i>
-          <input
-            autocomplete="off"
-            class="enter-action-login init-pass"
-            name="init_pass"
-            type="password"
-            placeholder="设置密码(最少6位)"
-          />
-          <i class="login-dig-icon-biyan" onclick="switchPassShow(event, '.init-pass')"></i>
-        </div>
-        <div class="login-dig-input-box" data-error="两次密码输入不一致">
-          <i class="login-dig-icon-pass"></i>
-          <input
-            autocomplete="off"
-            class="enter-action-login check-pass"
-            name="check_pass"
-            type="password"
-            placeholder="确认密码"
-          />
-          <i class="login-dig-icon-biyan" onclick="switchPassShow(event, '.check-pass')"></i>
-        </div>
-        <button class="login-dig-submit-button" name="set_pass_submit" disabled="true">确定</button>
-        <button class="login-dig-cancel-button" name="set_pass_cancel">暂不设置</button>
-      </div>
-      <div class="login-dig-wx-qrcode-box login-module-card wx-qr-login" style="display: none">
-        <div class="wx-tip">
-          <div class="wx-logo"><i class="login-dig-icon-wx"></i></div>
-          <span>微信扫码登录,安全便捷</span>
-        </div>
-        <!-- <img class="wx-qrcode" src="/images/swordfish/sf_01_new.png" alt="logo" style="display: block;"> -->
-        <img class="wx-qrcode" id="layerImg-login" src="/front/share/10" />
-        <div class="footer-action-container">
-          <div class="auto-login-container no-selected">
-            <div class="auto-login-checkbox"></div>
-            <label for="autoLogin">下次自动登录</label>
-            <div class="icon-tip-container">
-              <div class="icon-tip"></div>
-              <div class="j-tooltip" style="display: none">为了确保你的信息安全,不建议在公共设备上勾选此项。</div>
+          <button class="login-dig-submit-button" name="verify_submit" disabled="true">登 录</button>
+        </div>
+        <!-- 密码登录 -->
+        <div class="login-dig-tabbar-content login-module-card password-login" data-name="pass">
+          <div class="login-dig-input-box" data-error="手机号或账号名输入错误">
+            <i class="login-dig-icon-phone"></i>
+            <input
+              autocomplete="off"
+              class="enter-action-login"
+              name="pass_phone"
+              type="text"
+              placeholder="请输入手机号或账号名"
+            />
+          </div>
+          <div class="login-dig-input-box" data-error="密码输入错误">
+            <i class="login-dig-icon-pass"></i>
+            <input
+              autocomplete="off"
+              class="enter-action-login pass-login"
+              name="pass_pass"
+              type="password"
+              placeholder="输入密码"
+            />
+            <i class="login-dig-icon-biyan" onclick="switchPassShow(event, '.pass-login')"></i>
+          </div>
+          <button class="login-dig-submit-button" name="pass_submit" disabled="true">登 录</button>
+          <div class="footer-action-container f-box right-box" style="justify-content: center;margin-bottom: 6px;">
+            <div class="login-right-actions">
+              <a class="forget-pass-link" href="/phone/forgetPwd">忘记密码?</a>
             </div>
           </div>
         </div>
-        <div class="login-dig-top-back-box" style="display: none" onclick="openLoginDigForWx(false)">
-          <i class="login-dig-icon-blue-back"></i>
-          <span>验证码/密码登录</span>
-        </div>
-      </div>
-      <div class="login-dig-reg register-form-box" style="display: none">
-        <div class="login-dig-input-box" data-error="手机号码输入错误">
-          <i class="login-dig-icon-phone"></i>
-          <input autocomplete="off" name="register_phone" type="tel" placeholder="输入手机号码" maxlength="11" />
-        </div>
-        <div class="login-dig-input-box" data-error="图形验证码输入错误">
-          <i class="login-dig-icon-guard"></i>
-          <input autocomplete="off" name="register_code" type="text" placeholder="输入图形验证码" maxlength="4" />
-          <div class="after-input-box">
-            <img data-name="verfiy-login" class="verify-img" src="" alt="verify" />
+        <!-- 设置密码 -->
+        <div class="login-dig-tabbar-content login-module-card set-password" data-name="setpass" style="width: 100%;">
+          <div style="display: flex;flex-direction: column;align-items: center;margin-top: 20px;">
+            <div class="login-dig-input-box" data-error="密码不少于6位">
+              <i class="login-dig-icon-pass"></i>
+              <input
+                autocomplete="off"
+                class="enter-action-login init-pass"
+                name="init_pass"
+                type="password"
+                placeholder="设置密码(最少6位)"
+              />
+              <i class="login-dig-icon-biyan" onclick="switchPassShow(event, '.init-pass')"></i>
+            </div>
+            <div class="login-dig-input-box" data-error="两次密码输入不一致">
+              <i class="login-dig-icon-pass"></i>
+              <input
+                autocomplete="off"
+                class="enter-action-login check-pass"
+                name="check_pass"
+                type="password"
+                placeholder="确认密码"
+              />
+              <i class="login-dig-icon-biyan" onclick="switchPassShow(event, '.check-pass')"></i>
+            </div>
+            <button class="login-dig-submit-button" name="set_pass_submit" disabled="true">确定</button>
+            <button class="login-dig-cancel-button" name="set_pass_cancel">暂不设置</button>
           </div>
         </div>
-        <div class="login-dig-input-box" data-error="短信验证码输入错误">
-          <i class="login-dig-icon-guard"></i>
-          <input autocomplete="off" name="register_sms" type="text" placeholder="输入短信验证码" maxlength="6" />
-          <div class="after-input-box">
-            <span data-name="register_get_sms" class="l-get-sms is-stop">获取验证码</span>
+        <div class="login-dig-wx-qrcode-box login-module-card wx-qr-login" style="display: none">
+          <img class="wx-qrcode" id="layerImg-login" src="/front/share/10" />
+          <div class="footer-action-container">
+            <div class="auto-login-container no-selected">
+              <div class="auto-login-checkbox"></div>
+              <label for="autoLogin">下次自动登录</label>
+              <div class="icon-tip-container">
+                <div class="icon-tip"></div>
+                <div class="j-tooltip" style="display: none">为了确保你的信息安全,不建议在公共设备上勾选此项。</div>
+              </div>
+            </div>
           </div>
-        </div>
-        <div class="login-dig-input-box" data-error="公司名称最少4个字">
-          <i class="login-dig-icon-ent"></i>
-          <input maxlength="30" autocomplete="off" name="verify_entname" type="text" placeholder="输入公司名称" />
-          <div class="autocomplete-box">
-            <ul>
-              <li> </li>
-            </ul>
+          <div class="login-dig-top-back-box" style="display: none" onclick="openLoginDigForWx(false)">
+            <i class="login-dig-icon-blue-back"></i>
+            <span>验证码/密码登录</span>
           </div>
         </div>
-        <div class="login-dig-input-box" data-error="邮箱输入错误">
-          <i class="login-dig-icon-email"></i>
-          <input autocomplete="off" class="register_email" type="text" placeholder="输入电子邮箱" />
-        </div>
-        <!-- <div class="login-dig-input-box" data-error="邮箱输入错误">
-          <i class="login-dig-icon-email"></i>
-          <input autocomplete="off" name="register_email" type="text" placeholder="输入电子邮箱">
-        </div> -->
-        <div class="ad_small_space">
-          <img src="{{Msg "seo" "cdn"}}/images/pc/register_email.png?v={{Msg "seo" "version"}}" alt="">
-        </div>
-        <button class="login-dig-submit-button reg-dig-submit-button" name="register_submit_phone" disabled="true">
-          立即注册
-        </button>
-        <!-- <button class="reg-dig-submit-button" name="verify_register" disabled="true">立即注册</button> -->
-        <div class="back-login" onclick="backLogin(false)">
-          <i class="login-dig-icon-blue-back"></i>
-          <span>登录</span>
+        <div class="login-dig-reg register-form-box" style="display: none">
+          <div class="login-dig-input-box" data-error="手机号码输入错误">
+            <i class="login-dig-icon-phone"></i>
+            <input autocomplete="off" name="register_phone" type="tel" placeholder="输入手机号码" maxlength="11" />
+          </div>
+          <div class="login-dig-input-box" data-error="图形验证码输入错误">
+            <i class="login-dig-icon-guard"></i>
+            <input autocomplete="off" name="register_code" type="text" placeholder="输入图形验证码" maxlength="4" />
+            <div class="after-input-box">
+              <img data-name="verfiy-login" class="verify-img" src="" alt="verify" />
+            </div>
+          </div>
+          <div class="login-dig-input-box" data-error="短信验证码输入错误">
+            <i class="login-dig-icon-guard"></i>
+            <input autocomplete="off" name="register_sms" type="text" placeholder="输入短信验证码" maxlength="6" />
+            <div class="after-input-box">
+              <span data-name="register_get_sms" class="l-get-sms is-stop">获取验证码</span>
+            </div>
+          </div>
+          <div class="login-dig-input-box" data-error="公司名称最少4个字">
+            <i class="login-dig-icon-ent"></i>
+            <input maxlength="30" autocomplete="off" name="verify_entname" type="text" placeholder="输入公司名称" />
+            <div class="autocomplete-box">
+              <ul>
+                <li> </li>
+              </ul>
+            </div>
+          </div>
+          <div class="login-dig-input-box" data-error="邮箱输入错误">
+            <i class="login-dig-icon-email"></i>
+            <input autocomplete="off" class="register_email" type="text" placeholder="输入电子邮箱" />
+          </div>
+          <!-- <div class="login-dig-input-box" data-error="邮箱输入错误">
+            <i class="login-dig-icon-email"></i>
+            <input autocomplete="off" name="register_email" type="text" placeholder="输入电子邮箱">
+          </div> -->
+          <div class="ad_small_space">
+            <img src="{{Msg "seo" "cdn"}}/images/pc/register_email.png?v={{Msg "seo" "version"}}" alt="">
+          </div>
+          <button class="login-dig-submit-button reg-dig-submit-button" name="register_submit_phone" disabled="true">
+            立即注册
+          </button>
+          <!-- <button class="reg-dig-submit-button" name="verify_register" disabled="true">立即注册</button> -->
+          <div class="back-login" onclick="backLogin(false)">
+            <i class="login-dig-icon-blue-back"></i>
+            <span>登 录</span>
+          </div>
         </div>
       </div>
-      <!-- <div class="login-dig-footer-box" data-name="bind-phone" name="tip-bind-phone" style="display: none;">
-          <p>为了确保您账号的安全性与唯一性,在您购买剑鱼标讯任意功能前,请先绑定手机号,以便后期维护。</p>
-      </div> -->
-      <div class="login-dig-footer-box">
-        <div class="login-dig-text-split" style=""><i></i><span>使用微信扫码登录</span><i></i></div>
-        <div class="wx-logo-box" onclick="openLoginDigForWx(true)" style="">
-          <div class="wx-logo"><i class="login-dig-icon-wx"></i></div>
+    </div>
+    <div class="login-auto-card" style="margin-top: 26px;">
+      <div class="footer-action-container">
+        <div class="auto-login-container no-selected">
+          <div class="auto-login-checkbox"></div>
+          <label for="autoLogin">下次自动登录</label>
+          <div class="icon-tip-container">
+            <div class="icon-tip"></div>
+            <div class="j-tooltip" style="display: none">为了确保你的信息安全,不建议在公共设备上勾选此项。</div>
+          </div>
         </div>
-        <p class="code-bottom" style="width: 294px;text-align: center;">
-          未注册用户验证后自动注册,登录/注册即代表同意
-          <a href="/front/staticPage/permission_rules.html">《剑鱼标讯用户使用许可协议》</a>
-          <a href="/front/staticPage/privacy_rules.html">《剑鱼标讯隐私政策》</a>
-        </p>
-        <p class="pass-bottom" style="display: none;text-align: center;">
-          登录即代表同意
-          <a href="/front/staticPage/permission_rules.html">《剑鱼标讯用户使用许可协议》</a>
-          <a href="/front/staticPage/privacy_rules.html">《剑鱼标讯隐私政策》</a>
-        </p>
-        <p class="set-pass-bottom" style="display: none;text-align: center;margin-top: 12px;">
-          您可前往【设置-帐号与安全】设置或修改登录密码
-        </p>
       </div>
     </div>
+    <div class="login-dig-footer-box">
+      <p class="code-bottom" style="text-align: center;">
+        未注册用户登录后将自动创建账号,登录即代表同意
+        <a href="/front/staticPage/permission_rules.html">《使用协议》</a>、
+        <a href="/front/staticPage/privacy_rules.html">《隐私政策》</a>
+      </p>
+      <!-- <p class="pass-bottom" style="display: none;text-align: center;">
+        登录即代表同意
+        <a href="/front/staticPage/permission_rules.html">《剑鱼标讯用户使用许可协议》</a>
+        <a href="/front/staticPage/privacy_rules.html">《剑鱼标讯隐私政策》</a>
+      </p> -->
+      <p class="set-pass-bottom" style="display: none;text-align: center;margin-top: 12px;">
+        您可前往【设置-帐号与安全】设置或修改登录密码
+      </p>
+    </div>
   </div>
 </div>

+ 4 - 4
src/web/templates/pc/tags/detail.html

@@ -129,13 +129,13 @@
                       {{end}}
                     </td>
                     <td class="t-label " style="padding-right: 9px;">采购联系人</td>
-                    <td class="t-text">
+                    <td class="t-text need-login">
                       <div class="cont-cont">{{if .T.obj.buyerperson}}{{Html .T.obj.buyerperson}}{{end}}</div>
                     </td>
                   </tr>
                   <tr>
                     <td class="t-label ">采购电话</td>
-                    <td class="t-text">
+                    <td class="t-text need-login">
                       <div class="cont-cont buyertel">{{if .T.obj.buyertel}}{{Html .T.obj.buyertel}}{{end}}</div>
                     </td>
                     <td class="t-label  piddingfour" id="tdbudget"></td>
@@ -182,7 +182,7 @@
                     </td>
                     <tbody>
                       <td class="t-label  piddingfour t-label">中标金额(元)</td>
-                      <td class="t-text">
+                      <td class="t-text need-login">
                         <div class="cont-cont" id="bidamount"></div>
                       </td>
                     </tbody>
@@ -192,7 +192,7 @@
                       <td style="position: absolute;right: 54px;margin-top:12px;font-size: 14px;display:none;color:#888;" id="tel_source"></td>
                     </tbody>
                     <td class="t-label ">联系方式</td>
-                    <td class="t-text" style="border-right: none;">
+                    <td class="t-text need-login" style="border-right: none;">
                       <div class="cont-cont"><span id="winnertel"></span></div>
                     </td>
                   </tr>

+ 2 - 2
src/web/templates/pc/tags/template/bottom-banner.html

@@ -15,9 +15,9 @@
 }
 .advert-bottom-banner > img {
     display: block;
-    width: 100%;
     object-fit: contain;
     cursor: pointer;
+    width: 1920px;
 }
 </style>
 <div class="fixed-bottom-banner advert-bottom-banner">
@@ -42,7 +42,7 @@ $(function () {
     function adBottomFn () {
         var top1 = 0;
         var top2 = 0;
-        var timer = null; 
+        var timer = null;
         $(document).scroll(function(){
             clearTimeout(timer)
             timer = setTimeout(isScrollEnd, 1000);

+ 4 - 4
src/web/templates/pc/tags/template/login-card.html

@@ -2,7 +2,7 @@
 <section class="login-card-container" v-cloak id="login-card-container">
   <section class="login-card">
     <header class="login-card-header">
-      <span class="h-title">注册</span>
+      <span class="h-title">登录</span>
     </header>
     <main class="login-card-main">
       <div class="login-card-item" :class="{'is-focus': focus.phone, 'is-error': error.phone}" :data-error="phoneErrorText">
@@ -53,9 +53,9 @@
         </div>
       </div>
       <div class="reg-tips">
-        未注册用户验证后自动注册,注册即代表同意 <a class="service-name" href="/front/staticPage/permission_rules.html"
-          target="_blank">《剑鱼标讯用户使用许可协议》</a><a class="service-name" href="/front/staticPage/privacy_rules.html"
-          target="_blank">《剑鱼标讯隐私政策》</a>
+        未注册用户登录后将自动创建账号,登录即代表同意 <a class="service-name" href="/front/staticPage/permission_rules.html"
+          target="_blank">《使用协议》</a><a class="service-name" href="/front/staticPage/privacy_rules.html"
+          target="_blank">《隐私政策》</a>
       </div>
       <button class="login-card-button" name="register_submit_phone" :class="{'is-stop': !submitStatus}" @click="onSubmitReg">立即体验</button>
     </main>

+ 2 - 2
src/web/templates/pc/template/index/user-info-card.html

@@ -2,10 +2,10 @@
 {{if not .T.hasLogin}}
 <section class="user-info-card no-login-card">
   <header class="user-info-header">
-    <button class="service-desc-button s-confirm button-blink login-register-button">注册/登录</button>
+    <button class="service-desc-button s-confirm button-blink login-register-button">登录</button>
   </header>
   <main class="user-info-main">
-    <p class="user-info-desc-tip">- 注册立享,8大免费权益 -</p>
+    <p class="user-info-desc-tip">- 登录立享,8大免费权益 -</p>
     <div class="user-info-desc-8">
       <img src="/images/index/user-info-desc-8@2x.png" alt="">
     </div>

+ 3 - 127
src/web/templates/site/common/pc-help-center-head.html

@@ -32,133 +32,9 @@
   </div>
 </section>
 
-<div class="modal fade bidLogin" id="bidLogin" tabindex="-1" role="dialog" aria-labelledby="bidLogin"
-  aria-hidden="true">
-  <div class="modal-dialog login-dig-box is-show" style="max-width:720px;height:584px;width: auto;width:100%;display: flex;">
-    <div class="login_ad_space">
-      <div class="active-tip-group" style="display: none;">
-        <img src="" alt="二维码">
-      </div>
-    </div>
-    <div class="new_login">
-      <div class="login-dig-icon-close" onclick="closeLoginDig()"></div>
-      <img class="logo" src="/images/swordfish/sf_01_new.png" alt="logo" style="display: block;">
-      <div class="bind-phone-head" style="display: none;">
-        <h3 class="bind-phone-title">绑定手机号</h3>
-        <p class="bind-phone-tip">为了给您提供更好的服务,请绑定手机号!</p>
-      </div>
-      <div class="login-dig-tabbar-navbar" style="">
-        <span name="code" class="is-active">验证码登录</span>
-        <span name="pass" class="">密码登录</span>
-        <div class="line-box"></div>
-      </div>
-      <div class="login-dig-tabbar-content is-active" data-name="code" style="">
-        <div class="login-dig-input-box" data-error="手机号码输入错误">
-          <i class="login-dig-icon-phone"></i>
-          <input autocomplete="off" name="verify_phone" type="tel" placeholder="输入手机号码" maxlength="11">
-        </div>
-        <div class="login-dig-input-box" data-error="图形验证码输入错误">
-          <i class="login-dig-icon-guard"></i>
-          <input autocomplete="off" name="verify_code" type="text" placeholder="输入图形验证码" maxlength="4">
-          <div class="after-input-box">
-            <img data-name="verfiy-login" class="verify-img" src="/front/landpage/captcha" alt="verify">
-          </div>
-        </div>
-        <div class="login-dig-input-box" data-error="短信验证码输入错误">
-          <i class="login-dig-icon-guard"></i>
-          <input autocomplete="off" name="verify_sms" type="text" placeholder="输入短信验证码" maxlength="6">
-          <div class="after-input-box">
-            <span data-name="verify_get_sms" class="l-get-sms is-stop">获取验证码</span>
-          </div>
-        </div>
-        <button class="login-dig-submit-button" name="verify_submit" disabled="true">登录</button>
-        <div class="go-register" onclick="openLoginDigForReg(true)">立即注册</div>
-      </div>
-      <div class="login-dig-tabbar-content" data-name="pass">
-        <div class="login-dig-input-box" data-error="手机号码输入错误">
-          <i class="login-dig-icon-phone"></i>
-          <input autocomplete="off" name="pass_phone" type="tel" placeholder="输入手机号码" maxlength="11">
-        </div>
-        <div class="login-dig-input-box" data-error="密码输入错误">
-          <i class="login-dig-icon-pass"></i>
-          <input autocomplete="off" name="pass_pass" type="password" placeholder="输入密码">
-        </div>
-        <button class="login-dig-submit-button" name="pass_submit" disabled="true">登录</button>
-        <div class="f-box right-box">
-          <a class="forget-pass-link" href="/phone/forgetPwd">忘记密码?</a>
-          <div style="color: #2ABED1!important;" class="forget-pass-link" onclick="openLoginDigForReg(true)">立即注册</div>
-        </div>
-      </div>
-      <div class="login-dig-wx-qrcode-box" style="display: none;">
-        <div class="wx-tip">
-          <div class="wx-logo"><i class="login-dig-icon-wx"></i></div>
-          <span>微信扫码登录</span>
-        </div>
-        <!-- <img class="wx-qrcode" src="/images/swordfish/sf_01_new.png" alt="logo" style="display: block;"> -->
-        <img class="wx-qrcode" id="layerImg-login" src="/front/share/10" />
-        <div class="login-dig-top-back-box" style="display: none;" onclick="openLoginDigForWx(false)">
-          <i class="login-dig-icon-blue-back"></i>
-          <span>验证码/密码登录</span>
-        </div>
-      </div>
-      <div class="login-dig-reg register-form-box" style="display: none;">
-        <div class="login-dig-input-box" data-error="手机号码输入错误">
-          <i class="login-dig-icon-phone"></i>
-          <input autocomplete="off" name="register_phone" type="tel" placeholder="输入手机号码" maxlength="11">
-        </div>
-        <div class="login-dig-input-box" data-error="图形验证码输入错误">
-          <i class="login-dig-icon-guard"></i>
-          <input autocomplete="off" name="register_code" type="text" placeholder="输入图形验证码" maxlength="4">
-          <div class="after-input-box">
-            <img data-name="verfiy-login" class="verify-img" src="/front/landpage/captcha" alt="verify">
-          </div>
-        </div>
-        <div class="login-dig-input-box" data-error="短信验证码输入错误">
-          <i class="login-dig-icon-guard"></i>
-          <input autocomplete="off" name="register_sms" type="text" placeholder="输入短信验证码" maxlength="6">
-          <div class="after-input-box">
-            <span data-name="register_get_sms" class="l-get-sms is-stop">获取验证码</span>
-          </div>
-        </div>
-        <div class="login-dig-input-box" data-error="公司名称最少4个字">
-          <i class="login-dig-icon-ent"></i>
-          <input maxlength="30" autocomplete="off" name="verify_entname" type="text" placeholder="输入公司名称">
-          <div class="autocomplete-box">
-            <ul>
-              <li></li>
-            </ul>
-          </div>
-        </div>
-        <div class="login-dig-input-box" data-error="邮箱输入错误">
-          <i class="login-dig-icon-email"></i>
-          <input autocomplete="off" class="register_email" type="text" placeholder="输入电子邮箱">
-        </div>
-        <div class="ad_small_space">
-          <img src='{{Msg "seo" "cdn"}}/images/pc/register_email.png?v={{Msg "seo" "version"}}' alt="">
-        </div>
-        <button class="login-dig-submit-button reg-dig-submit-button" name="register_submit_phone"
-          disabled="true">立即注册</button>
-        <div class="back-login" onclick="backLogin(false)">
-          <i class="login-dig-icon-blue-back"></i>
-          <span>登录</span>
-        </div>
-      </div>
-      <div class="login-dig-footer-box">
-        <div class="login-dig-text-split" style="">
-          <i></i><span>使用微信扫码登录</span><i></i>
-        </div>
-        <div class="wx-logo-box" onclick="openLoginDigForWx(true)" style="">
-          <div class="wx-logo"><i class="login-dig-icon-wx"></i></div>
-        </div>
-        <p>
-          未注册用户验证后自动注册,注册即代表同意
-          <a href="/front/staticPage/permission_rules.html">《剑鱼标讯用户使用许可协议》</a>
-          <a href="/front/staticPage/privacy_rules.html">《剑鱼标讯隐私政策》</a>
-        </p>
-      </div>
-    </div>
-  </div>
-</div>
+<!-- pc登录弹窗html结构 -->
+{{include "/common/pc-login-dialog.html"}}
+
 <script src='{{Msg "seo" "cdn"}}/js/dateFunc.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/js/message.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/site/common/js/pc-help-center-head.js?v={{Msg "seo" "version"}}'></script>

+ 11 - 8
src/web/templates/staticpage/privacy_rules.html

@@ -38,13 +38,14 @@
                 <div class="col-md-12">
                     <h3 class="title">剑鱼标讯隐私政策</h3>
                     <p style="margin: 14px 0;">
-                        更新日期:2023年12月20
+                        更新日期:2024年2月1
                         <br>
-                        生效日期:2023年12月20
+                        生效日期:2024年2月1
                     </p>
                     <p style="font-size: 18px;font-weight: bold;">引言</p>
-                    <p style="text-indent: 20px;"><span  id="companyName">北京剑鱼信息技术有限公司</span>(以下简称“我们”)非常重视用户的隐私和个人信息保护。您在使用我们的产品与/或服务(“剑鱼标讯”)时,我们可能会收集和使用您的相关信息。<span style="font-weight: bold;">我们希望通过《剑鱼标讯隐私政策》(以下简称“本隐私政策”)向您说明我们在您使用我们的产品与/或服务时如何收集、使用、保存、共享和转让这些信息,以及我们为您提供的访问、更新、删除和保护这些信息的方式。本政策中与您权益(可能)存在重大关系的条款,我们已使用加粗字体予以区别,请您重点查阅。</span>
+                    <p style="text-indent: 20px;"><span  id="companyName">北京剑鱼信息技术有限公司</span>(以下简称“我们”,注册地址:北京市朝阳区北辰西路69号19.5、20/20.5层3单元2011号)非常重视用户的隐私和个人信息保护。您在使用我们的产品与/或服务(“剑鱼标讯”)时,我们可能会收集和使用您的相关信息。<span style="font-weight: bold;">我们希望通过《剑鱼标讯隐私政策》(以下简称“本隐私政策”)向您说明我们在您使用我们的产品与/或服务时如何收集、使用、保存、共享和转让这些信息,以及我们为您提供的访问、更新、删除和保护这些信息的方式。本政策中与您权益(可能)存在重大关系的条款,我们已使用加粗字体予以区别,请您重点查阅。</span>
                     </p>
+                    <p style="font-size: 18px;font-weight: bold;">目录</p>
                     <p style="text-indent: 20px;font-weight: bold;">一、个人信息的定义及范围</p>
                     <p style="text-indent: 20px;font-weight: bold;">二、我们如何收集和使用您的个人信息</p>
                     <p style="text-indent: 20px;font-weight: bold;">三、我们如何使用 Cookies 和同类技术</p>
@@ -372,11 +373,13 @@
                     <p style="text-indent: 20px;">未经您明确同意,我们不会削减您按照本《隐私权政策》所应享有的权利。我们会在专门页面上发布对本《隐私权政策》所做的任何变更。对于重大变更,我们还会提供更为显著的通知(如网站公示或向您提供弹窗提示等形式),说明具体变更内容。</p>
                     <br>
                     <p style="font-size: 18px;font-weight: bold;">九、如何联系我们</p>
-                    <p>您可以通过以下方式与我们联系,我们将在收到您的需求后,在15个工作日内予以回复:</p>
-                    <p style="text-indent: 20px;">1、您可以通过以下方式与我们联系,我们将在收到您的需求后,在15个工作日内予以回复:</p>
-                    <p style="text-indent: 20px;">2、如发现个人信息可能被泄露,您可以通过剑鱼标讯客服进行投诉举报;</p>
-                    <p>我们设立了个人信息保护专职部门,剑鱼标讯客服会将您的需求向其转达。</p>
-                    <p>剑鱼标讯客服邮箱:jy@topnet.net.cn</p>
+                    <p>我们设置了个人信息保护专职部门,如您对本隐私政策有任何疑问、意见或建议,均可以通过以下方式与我们取得联系。我们将在收到您的需求后,在15个工作日内予以回复。</p>
+                    <p style="text-indent: 20px;">1、公司名称:北京剑鱼信息技术有限公司</p>
+                    <p style="text-indent: 20px;">2、联系部门:客服部</p>
+                    <p style="text-indent: 20px;">3、信息保护负责人联系电话:400-108-6670</p>
+                    <p style="text-indent: 20px;">4、信息保护负责人联系邮箱:jy@topnet.net.cn</p>
+                    <p style="text-indent: 20px;">5、注册地址:北京市朝阳区北辰西路69号19.5、20/20.5层3单元2011号</p>
+                    <p style="text-indent: 20px;">6、常用办公地址:河南省郑州市金水区杨金路199号新科技市场7号楼</p>
                     <br>
                     <p style="font-size: 18px;font-weight: bold;">附件一:《剑鱼标讯账号注销须知》</p>
                     <p>亲爱的剑鱼标讯用户:</p>

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio