Browse Source

Merge branch 'master' into feature/v4.9.71

yuelujie 8 tháng trước cách đây
mục cha
commit
c87b795245
100 tập tin đã thay đổi với 2036 bổ sung172 xóa
  1. 277 0
      src/jfw/modules/app/src/web/templates/frontRouter/solution/free/dataInterface.html
  2. 30 21
      src/jfw/modules/app/src/web/templates/me/login.html
  3. 2 2
      src/jfw/modules/app/src/web/templates/weixin/wxinfocontent.html
  4. 26 0
      src/jfw/modules/bigmember/src/apiIntroduce.yaml
  5. 1 1
      src/jfw/modules/bigmember/src/filter/sessionfilter.go
  6. 139 0
      src/jfw/modules/bigmember/src/service/apiIntroduce/apiIntroduce.go
  7. 2 0
      src/jfw/modules/bigmember/src/service/init.go
  8. BIN
      src/web/staticres/common-module/doc-icon/code.xlsx
  9. BIN
      src/web/staticres/common-module/doc-icon/ex-0.png
  10. BIN
      src/web/staticres/common-module/doc-icon/ex-1.png
  11. BIN
      src/web/staticres/common-module/doc-icon/ex-2.png
  12. BIN
      src/web/staticres/common-module/doc-icon/ex-54.png
  13. BIN
      src/web/staticres/common-module/doc-icon/ex-55.png
  14. BIN
      src/web/staticres/common-module/doc-icon/ex-57.png
  15. BIN
      src/web/staticres/common-module/doc-icon/ex-58.png
  16. BIN
      src/web/staticres/common-module/doc-icon/ex-59.png
  17. BIN
      src/web/staticres/common-module/doc-icon/ex-60.png
  18. BIN
      src/web/staticres/common-module/doc-icon/ex-61.png
  19. BIN
      src/web/staticres/common-module/doc-icon/ex-62.png
  20. BIN
      src/web/staticres/common-module/doc-icon/ex-63.png
  21. BIN
      src/web/staticres/common-module/doc-icon/ex-64.png
  22. BIN
      src/web/staticres/common-module/doc-icon/ex-65.png
  23. BIN
      src/web/staticres/common-module/doc-icon/ex-68.png
  24. BIN
      src/web/staticres/common-module/doc-icon/ex-69.png
  25. BIN
      src/web/staticres/common-module/doc-icon/ex-70.png
  26. BIN
      src/web/staticres/common-module/doc-icon/企业搜索.png
  27. BIN
      src/web/staticres/common-module/doc-icon/企业高级画像.png
  28. BIN
      src/web/staticres/common-module/doc-icon/招标采购信息搜索.png
  29. BIN
      src/web/staticres/common-module/doc-icon/招标采购信息正文获取-普通字段包.png
  30. BIN
      src/web/staticres/common-module/doc-icon/招标采购信息正文获取-高级字段包.png
  31. BIN
      src/web/staticres/common-module/doc-icon/招标采购信息附件下载.png
  32. BIN
      src/web/staticres/common-module/doc-icon/招标采购项目进展信息.png
  33. BIN
      src/web/staticres/common-module/doc-icon/拟在建项目信息正文获取.png
  34. BIN
      src/web/staticres/common-module/doc-icon/拟在建项目搜索.png
  35. BIN
      src/web/staticres/common-module/doc-icon/潜在商机搜索.png
  36. BIN
      src/web/staticres/common-module/doc-icon/潜在商机正文获取.png
  37. BIN
      src/web/staticres/common-module/doc-icon/采购单位搜索.png
  38. BIN
      src/web/staticres/common-module/doc-icon/采购单位高级画像.png
  39. 0 0
      src/web/staticres/common-module/login-js/jy-login-mini.mjs
  40. 0 0
      src/web/staticres/common-module/login-js/jy-login-mini.umd.js
  41. 0 0
      src/web/staticres/common-module/login-js/jy-login.mjs
  42. 0 0
      src/web/staticres/common-module/login-js/jy-login.umd.js
  43. 19 4
      src/web/staticres/common-module/pc-dialog/css/leave-info-dialog.css
  44. BIN
      src/web/staticres/common-module/pc-dialog/image/data-leave-info-header-bg.png
  45. BIN
      src/web/staticres/common-module/pc-dialog/image/title/api-leave-title-text.png
  46. BIN
      src/web/staticres/common-module/pc-dialog/image/title/buy-apply-title-text.png
  47. BIN
      src/web/staticres/common-module/pc-dialog/image/title/concat-us-title-text.png
  48. BIN
      src/web/staticres/common-module/pc-dialog/image/title/consult-report-title-text.png
  49. BIN
      src/web/staticres/common-module/pc-dialog/image/title/consult-service-title-text.png
  50. BIN
      src/web/staticres/common-module/pc-dialog/image/title/custom-data-title-text.png
  51. BIN
      src/web/staticres/common-module/pc-dialog/image/title/industry-case-title-text.png
  52. BIN
      src/web/staticres/common-module/pc-dialog/image/title/struct-title-text.png
  53. 6 1
      src/web/staticres/common-module/pc-dialog/js/leave-info-dialog.js
  54. 21 0
      src/web/staticres/common-module/perfect-info/js/perfect-info.js
  55. 356 0
      src/web/staticres/common-module/solution/css/data-interface.css
  56. BIN
      src/web/staticres/common-module/solution/image/advantage-title@2x.png
  57. BIN
      src/web/staticres/common-module/solution/image/api-subtitle-1@3x.png
  58. BIN
      src/web/staticres/common-module/solution/image/api-subtitle-2@3x.png
  59. BIN
      src/web/staticres/common-module/solution/image/api-subtitle-3@3x.png
  60. BIN
      src/web/staticres/common-module/solution/image/icon-core-ad-1.png
  61. BIN
      src/web/staticres/common-module/solution/image/icon-core-ad-2.png
  62. BIN
      src/web/staticres/common-module/solution/image/icon-core-ad-3.png
  63. BIN
      src/web/staticres/common-module/solution/image/icon-core-ad-4.png
  64. BIN
      src/web/staticres/common-module/solution/image/icon-core-ad-5.png
  65. BIN
      src/web/staticres/common-module/solution/image/icon-core-ad-6.png
  66. BIN
      src/web/staticres/common-module/solution/image/icon-usage-1.png
  67. BIN
      src/web/staticres/common-module/solution/image/icon-usage-2.png
  68. BIN
      src/web/staticres/common-module/solution/image/icon-usage-3.png
  69. BIN
      src/web/staticres/common-module/solution/image/icon-usage-4.png
  70. BIN
      src/web/staticres/common-module/solution/image/interface-data-card@2x.png
  71. BIN
      src/web/staticres/common-module/solution/image/interface-desc-text@2x.png
  72. BIN
      src/web/staticres/common-module/solution/image/interface-header-top-banner@2x.png
  73. BIN
      src/web/staticres/common-module/solution/image/process-card@2x.png
  74. BIN
      src/web/staticres/common-module/solution/image/usecase-title@2x.png
  75. 135 0
      src/web/staticres/common-module/solution/js/data-interface.js
  76. 1 0
      src/web/staticres/css/pc.css
  77. 435 0
      src/web/staticres/frontRouter/pc/dataInterface/css/index-interface.css
  78. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/icon9.png
  79. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/interface1/api-service-card@2x.png
  80. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/interface1/banner-api-apply@2x.png
  81. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/interface1/banner-bg@2x.png
  82. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/interface1/banner-center-button@2x.png
  83. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/interface1/banner-center-top-text@2x.png
  84. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/interface1/core-feature-card-1@2x.png
  85. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/interface1/core-feature-card-2@2x.png
  86. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/interface1/core-feature-title-text@2x.png
  87. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/interface1/use-where-card-1@2x.png
  88. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/interface1/use-where-card-2@2x.png
  89. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/interface1/use-where-card-3@2x.png
  90. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/interface1/use-where-card-4@2x.png
  91. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/interface1/use-where-title@2x.png
  92. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/use-where-icon-1@2x.png
  93. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/use-where-icon-2@2x.png
  94. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/use-where-icon-3@2x.png
  95. BIN
      src/web/staticres/frontRouter/pc/dataInterface/images/use-where-icon-4@2x.png
  96. 166 0
      src/web/staticres/frontRouter/pc/dataInterface/js/index-interface.js
  97. 4 4
      src/web/templates/_error.html
  98. 8 8
      src/web/templates/common/pc-login-dialog.html
  99. 219 131
      src/web/templates/dataMarket/dataInterface/index.html
  100. 189 0
      src/web/templates/dataMarket/dataInterface/index2.html

+ 277 - 0
src/jfw/modules/app/src/web/templates/frontRouter/solution/free/dataInterface.html

@@ -0,0 +1,277 @@
+<!DOCTYPE html>
+<html lang="zh-CN" style="font-size: 50px;">
+
+<head>
+    <title>剑鱼数据接口</title>
+    {{include "/big-member/meta.html"}}
+
+    <!--S-当前页面的css资源-->
+    <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/reset-css/5.0.1/reset.min.css />
+    <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/index.css />
+    <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/icon/local.css />
+    <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/assets/iconfont/pc/24.11.7/iconfont.css />
+    <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/css/data-interface.css?v={{Msg "seo" "version"}}' />
+    <!--E-当前页面的css资源-->
+    <style>
+        @font-face {
+            font-family:"YouSheBiaoTiHei";
+            font-display: swap;
+            src:url('/jyapp/fonts/YouSheBiaoTiHei-2.ttf');
+        }
+        .jy-app-header .header-right {
+            font-size: .46rem;
+        }
+        .fixed-top {
+            top: 1.72rem;
+        }
+        .jy-app-header{
+          background-color: #fff!important;
+          color: #1d1d1d;
+        }
+        .header-transparent {
+          position: absolute;
+          width: 100%;
+          background-color: transparent!important;
+          color: #fff;
+        }
+        .header-transparent .icon-back-white{
+          display: block;
+        }
+        .header-transparent .icon-back{
+          display: none;
+        }.header-transparent .header-title{
+          display: none;
+        }
+    </style>
+    <script>
+        try {
+            window.JyObj.hiddenBottom('0')
+        } catch (e) {
+            console.log('error: app not function')
+        }
+    </script>
+</head>
+
+<body>
+    <div class="j-container app">
+        <div class="j-header jy-app-header header-transparent">
+          <span class="header-left">
+            <span class="icon-back j-icon base-icon"></span>
+            <span class="icon-back-white j-icon base-icon"></span>
+          </span>
+          <span class="header-title">剑鱼数据接口</span>
+          <span class="header-right"></span>
+        </div>
+        <div class="j-main" id="main-app" v-cloak>
+            <div class="content-banner">
+                <img class="img-content" src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/interface-header-top-banner@2x.png'>
+            </div>
+            <div class="content-banner content-bg-1">
+                <div class="data-card fadeOut">
+                    <!-- <img class="img-content" src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/interface-data-card@2x.png'> -->
+                    <div class="data-card-content">
+                        <div class="data-card-item">
+                          <p class="item-value">
+                            <strong class="item-value-num" id="animate-num-1">${apiData.bid}</strong>
+                            <span class="item-value-unit">${apiData.bidUnit}${apiData.bidUnitAppend}</span>
+                          </p>
+                          <p class="item-label">招标信息</p>
+                        </div>
+                        <div class="data-card-item">
+                          <p class="item-value">
+                            <strong class="item-value-num" id="animate-num-2">${apiData.ent}</strong>
+                            <span class="item-value-unit">${apiData.entUnit}${apiData.entUnitAppend}</span>
+                          </p>
+                          <p class="item-label">企业数据库</p>
+                        </div>
+                        <div class="data-card-item">
+                          <p class="item-value">
+                            <strong class="item-value-num" id="animate-num-3">${apiData.buyer}</strong>
+                            <span class="item-value-unit">${apiData.buyerUnit}${apiData.buyerUnitAppend}</span>
+                          </p>
+                          <p class="item-label">采购单位库</p>
+                        </div>
+                        <div class="data-card-item">
+                          <p class="item-value">
+                            <strong class="item-value-num" id="animate-num-4">${apiData.push}</strong>
+                            <span class="item-value-unit">${apiData.pushUnit}${apiData.pushUnitAppend}</span>
+                          </p>
+                          <p class="item-label">推送招标信息</p>
+                        </div>
+                        <div class="data-card-item">
+                          <p class="item-value">
+                            <strong class="item-value-num" id="animate-num-5">${apiData.bidDayUpdate}</strong>
+                            <span class="item-value-unit">${apiData.bidDayUpdateUnit}${apiData.bidDayUpdateUnitAppend}</span>
+                          </p>
+                          <p class="item-label">每日更新招标信息</p>
+                        </div>
+                    </div>
+                </div>
+                <div class="content-banner-card interface-desc-card fadeOut">
+                    <div class="interface-desc-title">
+                        <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/interface-desc-text@2x.png'>
+                    </div>
+                    <div class="interface-desc-content">
+                        <div class="interface-desc-content-list">
+                            <div class="interface-desc-content-item" v-for="item in apiList">
+                                <div class="desc-content-left">
+                                    <i class="iconfont" :class="item.sIcon"></i>
+                                </div>
+                                <div class="desc-content-right">
+                                  <h3>${item.pName}</h3>
+                                  <p>${item.desc}</p>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <!-- 申请流程 -->
+                <div class="process-card fadeOut">
+                  <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/process-card@2x.png'>
+                </div>
+                <!-- 使用场景 -->
+                <div class="use-case-card fadeOut">
+                  <div class="use-case-title">
+                    <img class="use-case-title-text" src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/usecase-title@2x.png'>
+                    <!-- <p class="use-case-subtitle-text">API 可应用于各类企业运营场景</p> -->
+                     <div class="card-sub-title-img">
+                      <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/api-subtitle-1@3x.png'>
+                     </div>
+                  </div>
+                  <div class="use-case-content">
+                    <div class="use-case-content-list">
+                      <div class="use-case-content-item">
+                        <div class="use-case-content-left bg-color-1">
+                          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/icon-usage-1.png'>
+                        </div>
+                        <div class="use-case-content-right">
+                          <h3>销售线索获取</h3>
+                          <p>剑鱼 API 接口提供海量招投标信息,可转化为精准销售线索并导入 CRM。助力企业挖掘潜在客户,提升销售业绩,无论是大企扩张还是小企突破,都能找到业务增长机会。</p>
+                        </div>
+                      </div>
+                      <div class="use-case-content-item">
+                        <div class="use-case-content-left bg-color-2">
+                          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/icon-usage-2.png'>
+                        </div>
+                        <div class="use-case-content-right">
+                          <h3>把握市场方向</h3>
+                          <p>通过接口,企业可从多维度剖析市场,了解区域、行业动态及趋势。有助于制定精准策略,抢占市场先机,避免决策失误。</p>
+                        </div>
+                      </div>
+                      <div class="use-case-content-item">
+                        <div class="use-case-content-left bg-color-3">
+                          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/icon-usage-3.png'>
+                        </div>
+                        <div class="use-case-content-right">
+                          <h3>竞争合作双驱</h3>
+                          <p>接口的企业画像让企业了解竞争对手和合作伙伴的关键信息,包括中标动态、主要客户、市场分布等。</p>
+                        </div>
+                      </div>
+                      <div class="use-case-content-item">
+                        <div class="use-case-content-left bg-color-4">
+                          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/icon-usage-4.png'>
+                        </div>
+                        <div class="use-case-content-right">
+                          <h3>标讯数据接入</h3>
+                          <p>对于软件企业,接口是提升竞争力的利器。接入标讯数据可提升产品价值,为客户提供销售线索,提高竞争力。</p>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+                <!-- 核心优势 -->
+                <div class="core-advantage-card fadeOut">
+                  <div class="core-advantage-title">
+                    <img class="core-advantage-title-text" src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/advantage-title@2x.png'>
+                    <!-- <p class="core-advantage-subtitle-text">为什么选择剑鱼数据接口?</p> -->
+                    <div class="card-sub-title-img card-sub-title-img2">
+                      <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/api-subtitle-2@3x.png'>
+                     </div>
+                  </div>
+                  <div class="core-advantage-content">
+                    <div class="core-advantage-list">
+                      <div class="core-advantage-item mt20">
+                        <div class="advantage-item-left">
+                          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/icon-core-ad-1.png'>
+                        </div>
+                        <div class="advantage-item-right">
+                          <h3>数据全景覆盖</h3>
+                          <p>接口涵盖全国、全行业、全类型的招投标信息,热门行业数据量大且更新及时。</p>
+                        </div>
+                      </div>
+                      <div class="core-advantage-item">
+                        <div class="advantage-item-left">
+                          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/icon-core-ad-2.png'>
+                        </div>
+                        <div class="advantage-item-right">
+                          <h3>多维度条件匹配</h3>
+                          <p>数据接口具备强大的多维度筛选优势,可灵活设置条件,精准获取所需数据。</p>
+                        </div>
+                      </div>
+                      <div class="core-advantage-item">
+                        <div class="advantage-item-left">
+                          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/icon-core-ad-3.png'>
+                        </div>
+                        <div class="advantage-item-right">
+                          <h3>快速响应</h3>
+                          <p>全方位保障,保证接口运行的稳定性和安全性。</p>
+                        </div>
+                      </div>
+                      <div class="core-advantage-item">
+                        <div class="advantage-item-left">
+                          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/icon-core-ad-4.png'>
+                        </div>
+                        <div class="advantage-item-right mb20">
+                          <h3>安全可靠</h3>
+                          <p>采用高性能架构,高并发量下快速准确响应。</p>
+                        </div>
+                      </div>
+                      <!-- <p class="core-advantage-subtitle-text">接口服务:畅享便捷与定制</p> -->
+                      <div class="card-sub-title-img card-sub-title-img3">
+                        <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/api-subtitle-3@3x.png'>
+                      </div>
+                      <div class="core-advantage-item mt20">
+                        <div class="advantage-item-left">
+                          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/icon-core-ad-5.png'>
+                        </div>
+                        <div class="advantage-item-right">
+                          <h3>接入轻松无忧</h3>
+                          <p>接口接入流程简单。企业只需留下公司信息,经审核后按文档操作,普通技术人员即可完成,快速获取数据资源。</p>
+                        </div>
+                      </div>
+                      <div class="core-advantage-item">
+                        <div class="advantage-item-left">
+                          <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/image/icon-core-ad-6.png'>
+                        </div>
+                        <div class="advantage-item-right">
+                          <h3>使用随心所欲</h3>
+                          <p>无论是按行业、地域、规模、时间等,都能精准设置匹配条件。用户可根据自身需求,灵活组合这些维度,快速获取符合特定要求的招投标信息、企业数据等。</p>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+            </div>
+        </div>
+        <div class="j-footer">
+          <div class="j-button-group-new">
+            <button class="j-button-left customer-button">联系客服</button>
+            <button class="j-button-right api-button">接口申请</button>
+          </div>
+        </div>
+    </div>
+    <script>
+      // 登录状态
+      var loginFlag = {{if .T.loginFlag}}{{.T.loginFlag}}{{else}}false{{end}}
+    </script>
+    <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js> </script>
+    <script src=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js> </script>
+    <script src=//cdn-common.jianyu360.com/cdn/lib/jquery/3.6.0/jquery.min.js> </script>
+    <script src=//cdn-common.jianyu360.com/cdn/lib/countup/2.0.8/dist/countUp.js></script>
+    {{include "/big-member/commonjs.html"}}
+    <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/common.js?v={{Msg "seo" "version"}}'></script>
+    <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/solution/js/data-interface.js?v={{Msg "seo" "version"}}'></script>
+    {{include "/common/baiducc.html"}}
+</body>
+
+</html>

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

@@ -154,8 +154,8 @@
         </div>
         <div class="input-login">
           <span class="header-tab">
-            <a class="header-tab-active">验证码登录</a>
-            <a>密码登录</a>
+            <a name="login-code" class="header-tab-active">验证码登录</a>
+            <a name="login-pass">密码登录</a>
             <i></i>
           </span>
           <div class="login">
@@ -261,6 +261,7 @@
 		var left_1 = (bodyWidth/2-34) / 2;
 		var left_2 = (bodyWidth/2-56) / 2 + bodyWidth / 2;
 		var isIos = mySysIsIos();
+    var loginType = 'login-pass'
     var disWord = getParam("disWord");
     var hideNum = 0
     var timer = null
@@ -328,26 +329,34 @@
 					window.location.href = href;
 				}
 			});
-			$(".header-tab>i").css("left",left_1);
+
+      function toggleLoginTypeClass (type) {
+        $(".header-tab>a").removeClass("header-tab-active");
+        $(".header-tab>a[name=" + type + "]").addClass("header-tab-active");
+        if (type === 'login-pass') {
+          $(".login .onePass").show();
+          $(".login .code").css("display","none");
+          $(".header-tab>i").css("left",left_2);
+          $('.forget-password').show()
+          $('.login .forget').addClass('flex')
+          $('#btn').text('登录')
+        } else {
+          $(".login .onePass").hide();
+          $(".login .code").css("display","table");
+          $(".header-tab>i").css("left",left_1);
+          $('.forget-password').hide()
+          $('.login .forget').removeClass('flex')
+          $('#btn').text('登录')
+        }
+        loginType = type
+        changeBtnStatus();
+      }
+
+      toggleLoginTypeClass(loginType)
+
 			$(".header-tab>a").on("tap",function(){
-				$(".header-tab>a").removeClass("header-tab-active");
-				$(this).addClass("header-tab-active");
-				if($(this).index() == 1){
-					$(".login .onePass").show();
-					$(".login .code").css("display","none");
-					$(".header-tab>i").css("left",left_2);
-                  $('.forget-password').show()
-				  $('.login .forget').addClass('flex')
-                  $('#btn').text('登录')
-				}else{
-					$(".login .onePass").hide();
-					$(".login .code").css("display","table");
-					$(".header-tab>i").css("left",left_1);
-					$('.forget-password').hide()
-					$('.login .forget').removeClass('flex')
-                   $('#btn').text('登录')
-				}
-				changeBtnStatus();
+        var type = $(this).index() == 1 ? 'login-pass' : 'login-code'
+				toggleLoginTypeClass(type)
 			});
 			//点击取消返回主页
 			$("#header a").on("tap",function(){

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

@@ -1972,9 +1972,9 @@
           }
         }
         if(!userId) {
-          this.info.btntext = '登录后解锁会员查看'
+          this.info.btntext = '登录后免费申请大会员权益'
         } else {
-          this.info.btntext = '点击进入'
+          this.info.btntext = '点击体验'
         }
       }
     })

+ 26 - 0
src/jfw/modules/bigmember/src/apiIntroduce.yaml

@@ -0,0 +1,26 @@
+apiList: #api栏目
+  - dataType: 招标采购信息 #栏目名称
+    typeProfile: 搜索|公告正文|附件下载 #功能
+    desc: 实时获取全国范围内的招标采购信息,涵盖政府、企业、事业单位等各类机构。
+    sort: 1
+    pic: icon-Frame-4
+  - dataType: 拟在建项目
+    typeProfile: 搜索|公告正文
+    desc: 获取全国范围内拟在建项目的最新动态,如项目概况、项目进展、项目联系人等。
+    sort: 2
+    pic: icon-Frame-3
+  - dataType: 潜在商机
+    typeProfile: 搜索|公告正文
+    desc: 通过大数据分析,挖掘潜在商业机会,提供精准的商机推荐。
+    sort: 3
+    pic: icon-Frame-2
+  - dataType: 企业信息
+    typeProfile: 搜索|高级画像
+    desc: 提供全面的企业信息,包括基本信息、企业通讯录、中标动态、中标分析等。
+    sort: 4
+    pic: icon-Frame-1
+  - dataType: 采购单位信息
+    typeProfile: 搜索|高级画像
+    desc: 获取采购单位的详细信息,如采购单位通讯录、招标动态、采购分析、合作企业等。
+    sort: 5
+    pic: icon-Frame

+ 1 - 1
src/jfw/modules/bigmember/src/filter/sessionfilter.go

@@ -38,7 +38,7 @@ func (l *sessionfilter) Do(w http.ResponseWriter, req *http.Request) bool {
 	}
 	//免费用户搜索词订阅接口开放
 	if req.URL.Path == "/bigmember/subscribe/freeUser/searchSubscribe" || req.URL.Path == "/bigmember/subscribe/freeUser/subscribeSearch" ||
-		req.URL.Path == "/bigmember/use/getCustom" {
+		req.URL.Path == "/bigmember/use/getCustom" || req.URL.Path == "/bigmember/apiIntroduce" {
 		return true
 	}
 	userId, ok := getSession["userId"].(string)

+ 139 - 0
src/jfw/modules/bigmember/src/service/apiIntroduce/apiIntroduce.go

@@ -0,0 +1,139 @@
+package apiIntroduce
+
+import (
+	"app.yhyue.com/moapp/jybase/common"
+	"app.yhyue.com/moapp/jybase/encrypt"
+	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
+	"app.yhyue.com/moapp/jybase/redis"
+	"context"
+	"fmt"
+	"github.com/gogf/gf/v2/frame/g"
+	"github.com/gogf/gf/v2/util/gconv"
+	"jy/src/jfw/modules/bigmember/src/db"
+)
+
+type ApiIntroduce struct {
+	*xweb.Action
+	//apiHome    xweb.Mapper `xweb:"/apiIntroduce/home"`    //提交信息
+	apiList    xweb.Mapper `xweb:"/apiIntroduce/list"`    //提交信息
+	apiDetails xweb.Mapper `xweb:"/apiIntroduce/details"` //提交信息
+}
+
+type ApiListReq struct {
+	PName       string                   `json:"pName"`
+	SIcon       string                   `json:"sIcon"`
+	TypeProfile string                   `json:"typeProfile"`
+	Desc        string                   `json:"desc"`
+	Data        []map[string]interface{} `json:"data"`
+}
+
+// ApiList 栏目及所有列表
+func (u *ApiIntroduce) ApiList() {
+	//
+	//dataType := u.GetString("dataType")
+	//if dataType == "" {
+	//	//默认开启第一个
+	//	dataType = gconv.String(apiList[0]["dataType"])
+	//}
+	//redisCode := fmt.Sprintf("apiIntroduceList_%s", dataType)
+	redisCode := "apiIntroduceList"
+	redisData := redis.Get("newother", redisCode)
+	if redisData != nil {
+		u.ServeJson(map[string]interface{}{
+			"error_code": 0,
+			"error_msg":  "",
+			"data":       redisData,
+		})
+		return
+	}
+	apiList := g.Cfg("apiIntroduce.yaml").MustGet(context.Background(), "apiList").Maps()
+	sess := db.Mgo.GetMgoConn()
+	defer db.Mgo.DestoryMongoConn(sess)
+	// 构建聚合管道
+	pipeline := []map[string]interface{}{
+		{"$match": map[string]interface{}{
+			"i_status": 1,
+		}},
+		{
+			"$sort": map[string]interface{}{"p_name": 1, "i_sort": 1}, // 按照 p_name 升序和 i_sort 升序排序数据
+		},
+
+		{
+			"$group": map[string]interface{}{
+				"_id":   "$p_name", // 根据 p_name 分组
+				"items": map[string]interface{}{"$push": map[string]interface{}{"_id": "$_id", "s_name": "$s_name", "p_name": "$p_name", "s_icon": "$s_icon", "s_desc": "$s_desc"}}},
+		},
+		{
+			"$unwind": "$items", // 展开 items 数组
+		},
+		{
+			"$replaceRoot": map[string]interface{}{"newRoot": "$items"}, // 将展开后的文档作为根文档
+		},
+		{
+			"$project": map[string]interface{}{"_id": 1, "s_name": 1, "p_name": 1, "s_icon": 1, "s_desc": 1}, // 保留指定字段
+		},
+	}
+	var dataAll []map[string]interface{}
+	sess.DB(db.Mgo.DbName).C("jy_open_api").Pipe(pipeline).All(&dataAll)
+	groupName := make(map[string][]map[string]interface{})
+	if len(dataAll) > 0 {
+		for _, m := range dataAll {
+			m["id"] = encrypt.EncodeArticleId(common.InterfaceToStr(m["_id"]))
+			delete(m, "_id")
+			groupName[gconv.String(m["p_name"])] = append(groupName[gconv.String(m["p_name"])], m)
+		}
+	}
+	var data []ApiListReq
+	for _, m := range apiList {
+		var sData ApiListReq
+		sData.PName = gconv.String(m["dataType"])
+		sData.SIcon = gconv.String(m["pic"])
+		sData.TypeProfile = gconv.String(m["typeProfile"])
+		sData.Desc = gconv.String(m["desc"])
+		if vs, ok1 := groupName[sData.PName]; ok1 && vs != nil {
+			sData.Data = vs
+		}
+		data = append(data, sData)
+	}
+	if len(groupName) > 0 && len(data) > 0 {
+		redis.Put("newother", redisCode, data, 60*60*12)
+	}
+	u.ServeJson(map[string]interface{}{
+		"error_code": 0,
+		"error_msg":  "",
+		"data":       data,
+	})
+	return
+}
+
+// ApiDetails api详情
+func (u *ApiIntroduce) ApiDetails() {
+	ids := encrypt.DecodeArticleId(u.GetString("id"))
+	if ids == nil || len(ids) == 0 {
+		u.ServeJson(map[string]interface{}{
+			"error_code": -1,
+			"error_msg":  "解密失败",
+		})
+		return
+	}
+	redisCode := fmt.Sprintf("apiIntroduceDetatils_%s", ids[0])
+	redisData := redis.Get("newother", redisCode)
+	if redisData != nil {
+		u.ServeJson(map[string]interface{}{
+			"error_code": 0,
+			"error_msg":  "",
+			"data":       redisData.(map[string]interface{}),
+		})
+		return
+	}
+	data, ok := db.Mgo.FindById("jy_open_api", ids[0], `{"s_name":1,"p_name":1,"o_detail":1,"i_price":1,"s_desc":1,"s_icon":1,"s_example_img":1,"o_detail":1}`)
+	if ok && data != nil {
+		redis.Put("newother", redisCode, *data, 3600*6)
+		u.ServeJson(map[string]interface{}{
+			"error_code": 0,
+			"error_msg":  "",
+			"data":       data,
+		})
+	}
+	return
+}

+ 2 - 0
src/jfw/modules/bigmember/src/service/init.go

@@ -3,6 +3,7 @@ package service
 import (
 	"jy/src/jfw/modules/bigmember/src/entity/marketAnalysis"
 	"jy/src/jfw/modules/bigmember/src/service/analysis"
+	"jy/src/jfw/modules/bigmember/src/service/apiIntroduce"
 	"jy/src/jfw/modules/bigmember/src/service/bidfile"
 	"jy/src/jfw/modules/bigmember/src/service/chatShare"
 	"jy/src/jfw/modules/bigmember/src/service/claim"
@@ -35,4 +36,5 @@ func init() {
 	xweb.AddAction(&report.MarketAnalysis{})
 	xweb.AddAction(&chatShare.ChatShareProject{})
 	xweb.AddAction(&marketAnalysis.AnalysisReportPdf{})
+	xweb.AddAction(&apiIntroduce.ApiIntroduce{})
 }

BIN
src/web/staticres/common-module/doc-icon/code.xlsx


BIN
src/web/staticres/common-module/doc-icon/ex-0.png


BIN
src/web/staticres/common-module/doc-icon/ex-1.png


BIN
src/web/staticres/common-module/doc-icon/ex-2.png


BIN
src/web/staticres/common-module/doc-icon/ex-54.png


BIN
src/web/staticres/common-module/doc-icon/ex-55.png


BIN
src/web/staticres/common-module/doc-icon/ex-57.png


BIN
src/web/staticres/common-module/doc-icon/ex-58.png


BIN
src/web/staticres/common-module/doc-icon/ex-59.png


BIN
src/web/staticres/common-module/doc-icon/ex-60.png


BIN
src/web/staticres/common-module/doc-icon/ex-61.png


BIN
src/web/staticres/common-module/doc-icon/ex-62.png


BIN
src/web/staticres/common-module/doc-icon/ex-63.png


BIN
src/web/staticres/common-module/doc-icon/ex-64.png


BIN
src/web/staticres/common-module/doc-icon/ex-65.png


BIN
src/web/staticres/common-module/doc-icon/ex-68.png


BIN
src/web/staticres/common-module/doc-icon/ex-69.png


BIN
src/web/staticres/common-module/doc-icon/ex-70.png


BIN
src/web/staticres/common-module/doc-icon/企业搜索.png


BIN
src/web/staticres/common-module/doc-icon/企业高级画像.png


BIN
src/web/staticres/common-module/doc-icon/招标采购信息搜索.png


BIN
src/web/staticres/common-module/doc-icon/招标采购信息正文获取-普通字段包.png


BIN
src/web/staticres/common-module/doc-icon/招标采购信息正文获取-高级字段包.png


BIN
src/web/staticres/common-module/doc-icon/招标采购信息附件下载.png


BIN
src/web/staticres/common-module/doc-icon/招标采购项目进展信息.png


BIN
src/web/staticres/common-module/doc-icon/拟在建项目信息正文获取.png


BIN
src/web/staticres/common-module/doc-icon/拟在建项目搜索.png


BIN
src/web/staticres/common-module/doc-icon/潜在商机搜索.png


BIN
src/web/staticres/common-module/doc-icon/潜在商机正文获取.png


BIN
src/web/staticres/common-module/doc-icon/采购单位搜索.png


BIN
src/web/staticres/common-module/doc-icon/采购单位高级画像.png


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
src/web/staticres/common-module/login-js/jy-login-mini.mjs


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
src/web/staticres/common-module/login-js/jy-login-mini.umd.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
src/web/staticres/common-module/login-js/jy-login.mjs


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
src/web/staticres/common-module/login-js/jy-login.umd.js


+ 19 - 4
src/web/staticres/common-module/pc-dialog/css/leave-info-dialog.css

@@ -29,6 +29,12 @@
     width: 8px;
     height: 10px
 }
+
+.dialog-img-container > img {
+  display: block;
+  height: 100%;
+}
+
 .long-control ::-webkit-scrollbar-thumb {
     height: 30px;
     background-color: #e0e0e0;
@@ -103,19 +109,28 @@
 } */
 #collectUserInfoDialog .dialog-header{
   /* margin-top: -114px; */
-  height: 250px;
+  padding-top: 156px;
+  min-height: 254px;
   color: #1D1D1D;
   font-size: 18px;
   line-height: 28px;
   text-align: center;
   background-position: top center;
   background-repeat: no-repeat;
-  /* background-image: url('/common-module/pc-dialog/image/structed-title.png?v={{Msg "seo" "version"}}'); */
+  background-image: url('/common-module/pc-dialog/image/data-leave-info-header-bg.png?v={{Msg "seo" "version"}}');
   background-size: 100% 100%;
 }
+#collectUserInfoDialog .title-container {
+  display: inline-block;
+  height: 28px;
+  text-align: center;
+}
+#collectUserInfoDialog .subtitle-container {
+  padding: 0 30px;
+  font-size: 16px;
+}
 #collectUserInfoDialog .dialog-content{
-  width: calc(100% - 4px);
-  margin-top: -1px;
+  margin-top: -2px;
   padding: 0 32px 32px;
   border-radius: 0 0 8px 8px;
   background-color: #fff;

BIN
src/web/staticres/common-module/pc-dialog/image/data-leave-info-header-bg.png


BIN
src/web/staticres/common-module/pc-dialog/image/title/api-leave-title-text.png


BIN
src/web/staticres/common-module/pc-dialog/image/title/buy-apply-title-text.png


BIN
src/web/staticres/common-module/pc-dialog/image/title/concat-us-title-text.png


BIN
src/web/staticres/common-module/pc-dialog/image/title/consult-report-title-text.png


BIN
src/web/staticres/common-module/pc-dialog/image/title/consult-service-title-text.png


BIN
src/web/staticres/common-module/pc-dialog/image/title/custom-data-title-text.png


BIN
src/web/staticres/common-module/pc-dialog/image/title/industry-case-title-text.png


BIN
src/web/staticres/common-module/pc-dialog/image/title/struct-title-text.png


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 6 - 1
src/web/staticres/common-module/pc-dialog/js/leave-info-dialog.js


+ 21 - 0
src/web/staticres/common-module/perfect-info/js/perfect-info.js

@@ -201,6 +201,10 @@ var titleMap = {
   app_sunlight_viewdetails: '采购人联系方式等关键信息无权限查看',
   h5_sunlight_viewdetails: '采购人联系方式等关键信息无权限查看',
   wx_sunlight_viewdetails: '采购人联系方式等关键信息无权限查看',
+  // API接口服务
+  wx_data_api_interface: '立即申请,获取剑鱼数据接口试用体验!',
+  app_data_api_interface: '立即申请,获取剑鱼数据接口试用体验!',
+  h5_data_api_interface: '立即申请,获取剑鱼数据接口试用体验!',
 }
 
 // tip
@@ -444,6 +448,10 @@ var tipMap = {
   app_sunlight_viewdetails: '每天前10名开通权限的用户可免费开通',
   h5_sunlight_viewdetails: '每天前10名开通权限的用户可免费开通',
   wx_sunlight_viewdetails: '每天前10名开通权限的用户可免费开通',
+  // API接口服务
+  wx_data_api_interface: '为了让您更好地体验剑鱼数据接口的功能,请留下您的相关信息。我们将根据您提供的信息,尽快与您联系并为您提供详细的产品介绍和服务方案。',
+  app_data_api_interface: '为了让您更好地体验剑鱼数据接口的功能,请留下您的相关信息。我们将根据您提供的信息,尽快与您联系并为您提供详细的产品介绍和服务方案。',
+  h5_data_api_interface: '为了让您更好地体验剑鱼数据接口的功能,请留下您的相关信息。我们将根据您提供的信息,尽快与您联系并为您提供详细的产品介绍和服务方案。',
 }
 
 // 留资来源(数据库新增字段,记录留资对应的来源,之前未记录的不考虑,新增的source要记录)
@@ -592,6 +600,10 @@ var sourceDescMap = {
   app_sunlight_viewdetails: '阳光直采-查看采购信息详情',
   h5_sunlight_viewdetails: '阳光直采-查看采购信息详情',
   wx_sunlight_viewdetails: '阳光直采-查看采购信息详情',
+  // API接口服务
+  wx_data_api_interface: '落地页-接口申请wx',
+  app_data_api_interface: '落地页-接口申请app',
+  h5_data_api_interface: '落地页-接口申请h5',
 }
 
 var vNode = {
@@ -1872,6 +1884,15 @@ var vNode = {
                 },'提交成功')
                 break
               }
+              // API接口服务
+              case 'wx_data_api_interface':
+              case 'app_data_api_interface':
+              case 'h5_data_api_interface': {
+                _this.showMessage('我们的客户经理会在24小时内尽快与您联系。', '我知道了', function () {
+                  history.back()
+                },'提交成功')
+                break
+              }
               default: {
                 var biaoshu = source === 'bid_document_Introduction_page' || source.indexOf('article_BidPreparation') > -1
                 // 标书制作或者三方认证(case语句满足不了条件,放default中做更多判断)

+ 356 - 0
src/web/staticres/common-module/solution/css/data-interface.css

@@ -0,0 +1,356 @@
+#main-app {
+  background-color: #fff;
+}
+
+.img-content {
+  display: block;
+  width: 100%;
+  user-select: none;
+  -webkit-user-drag: none
+}
+
+.content-banner {
+  /* position: relative; */
+  flex-shrink: 0;
+}
+
+.content-bg-1 {
+  padding-bottom: .64rem;
+  background: linear-gradient(#E3F5FF 0%, rgba(255, 255, 255, 0) 25%, #E3F5FF 50%, rgba(255, 255, 255, 0) 75%, #FFFFFF 100%);
+}
+
+.content-banner-card {
+  margin: .4rem .3rem;
+}
+
+
+.data-card {
+  /* position: absolute;
+  left: 0;
+  top: -1.4rem; */
+  margin-top: -1.4rem;
+  width: 100%;
+}
+
+.data-card .data-card-content{
+  display: flex;
+  justify-content: center;
+  flex-wrap: wrap;
+  min-height: 3.52rem;
+  margin: 0 .3rem;
+  padding: .2rem 0;
+  border-radius: .16rem;
+  background: linear-gradient( #E3F5FF, #FFFFFF);
+  box-shadow: 0px 4px 8px 0px #00000014;
+}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
+
+.data-card-item{
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  width: 33.33%;
+  height: 1.56rem;
+}
+.data-card-item .item-value{
+  display: flex;
+  align-items: baseline;
+}
+.data-card-item .item-label{
+  margin-top: .08rem;
+  font-size: .28rem;
+  line-height: .44rem;
+  color: #686868;
+}
+.data-card-item .item-value-num{
+  margin-right: .05rem;
+  font-size: .64rem;
+  line-height: .72rem;
+  background: linear-gradient(180deg, #1A14C0 0%, #2A80F0 100%);
+  -webkit-background-clip: text;
+  background-clip: text;
+  /* 使用 color 作为遮罩,实际看到的是背景渐变 */
+  -webkit-text-fill-color: transparent;
+  text-fill-color: transparent;
+  /* 防止文本阴影遮挡背景渐变 */
+  -webkit-box-decoration-break: clone;
+  box-decoration-break: clone;
+  font-weight: bold;
+}
+.data-card-item .item-value-unit{
+  font-size: .28rem;
+  background: linear-gradient(113.06deg, #3E3E52 0%, #2F2F3D 100%);
+  -webkit-background-clip: text;
+  background-clip: text;
+  /* 使用 color 作为遮罩,实际看到的是背景渐变 */
+  -webkit-text-fill-color: transparent;
+  text-fill-color: transparent;
+  /* 防止文本阴影遮挡背景渐变 */
+  -webkit-box-decoration-break: clone;
+  box-decoration-break: clone;
+  font-weight: bold;
+}
+
+.interface-desc-card {
+  /* margin-top: 2.6rem; */
+  padding: .32rem .6rem .64rem;
+  border-radius: .16rem;
+  background: linear-gradient(#FFFFFF, #E3F5FF);
+  box-shadow: 0px 4px 8px 0px #00000014;
+}
+
+.interface-desc-title {
+  width: 1.44rem;
+  height: .5rem;
+  margin: 0 auto;
+}
+
+.interface-desc-content-item {
+  display: flex;
+  margin-top: .4rem;
+}
+
+.desc-content-left {
+  flex-shrink: 0;
+  margin-right: .2rem;
+}
+
+.desc-content-left>img {
+  width: .4rem;
+  height: .4rem;
+}
+
+.desc-content-left > i{
+  font-size: .4rem;
+  color: #2A80F0;
+}
+
+.desc-content-right>h3 {
+  font-size: .32rem;
+  color: #1D1D1D;
+}
+
+.desc-content-right>p {
+  padding-top: .16rem;
+  font-size: .24rem;
+  line-height: .32rem;
+  color: #999999;
+  text-align: justify;
+}
+
+.process-card {
+  width: 6.9rem;
+  height: 5.46rem;
+  margin: 0 auto;
+}
+
+.process-card>img {
+  width: 100%;
+  height: 100%;
+}
+
+.use-case-card {
+  padding: .4rem .3rem;
+}
+
+.use-case-card .use-case-title-text {
+  display: block;
+  width: 1.41rem;
+  height: .33rem;
+  margin: 0 auto;
+}
+
+.use-case-card .use-case-subtitle-text,
+.core-advantage-card .core-advantage-subtitle-text {
+  padding: .2rem 0;
+  color: #fff;
+  font-size: .32rem;
+  line-height: .38rem;
+  text-align: center;
+  background: linear-gradient(90deg, #1A14C0 0%, #2A80F0 100%);
+  -webkit-background-clip: text;
+  background-clip: text;
+  /* 使用 color 作为遮罩,实际看到的是背景渐变 */
+  -webkit-text-fill-color: transparent;
+  text-fill-color: transparent;
+  /* 防止文本阴影遮挡背景渐变 */
+  -webkit-box-decoration-break: clone;
+  box-decoration-break: clone;
+  font-weight: bold;
+}
+
+.use-case-content-item {
+  display: flex;
+  width: 100%;
+  border-radius: .16rem;
+  background: #fff;
+  box-shadow: 0px 4px 8px 0px #00000014;
+}
+
+.use-case-content-item:not(:last-child) {
+  margin-bottom: .2rem;
+}
+
+.use-case-content-left {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 1rem;
+  border-radius: .16rem .16rem 0 .16rem;
+  flex-shrink: 0;
+}
+
+.use-case-content-left>img {
+  width: .48rem;
+  height: .48rem;
+}
+
+.use-case-content-left.bg-color-1 {
+  background: #2A80F0;
+}
+
+.use-case-content-left.bg-color-2 {
+  background: #00D0FF;
+}
+
+.use-case-content-left.bg-color-3 {
+  background: #1A14C0;
+}
+
+.use-case-content-left.bg-color-4 {
+  background: #0BBE65;
+}
+
+.use-case-content-right {
+  padding: .3rem .2rem;
+}
+
+.use-case-content-right>h3 {
+  font-size: .32rem;
+  color: #1D1D1D;
+}
+
+.use-case-content-right>p {
+  padding-top: .12rem;
+  font-size: .22rem;
+  line-height: .32rem;
+  color: #999999;
+  text-align: justify;
+}
+
+.core-advantage-card {
+  padding: 0 .5rem;
+}
+
+.core-advantage-card .core-advantage-title {
+  text-align: center;
+}
+
+.core-advantage-card .core-advantage-title-text {
+  width: 1.41rem;
+  height: .34rem;
+}
+
+.core-advantage-item {
+  display: flex;
+  margin-top: .4rem;
+}
+
+.mt20 {
+  margin-top: .2rem;
+}
+
+.mb20 {
+  margin-bottom: .2rem;
+}
+
+.core-advantage-item .advantage-item-left {
+  width: .48rem;
+  height: .48rem;
+  margin-right: .46rem;
+  flex-shrink: 0;
+}
+
+.core-advantage-item .advantage-item-left>img {
+  width: 100%;
+  height: 100%;
+}
+
+.core-advantage-item .advantage-item-right>h3 {
+  font-size: .32rem;
+  color: #1D1D1D;
+}
+
+.core-advantage-item .advantage-item-right>p {
+  padding-top: .12rem;
+  font-size: .22rem;
+  line-height: .32rem;
+  color: #999999;
+  text-align: justify;
+}
+
+.app .j-footer {
+  box-shadow: unset;
+}
+
+.j-button-group-new {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  box-sizing: border-box;
+}
+
+.j-button-group-new .j-button-left,
+.j-button-group-new .j-button-right {
+  width: 50%;
+  padding: .3rem 0;
+  flex: 1;
+  color: #fff;
+  font-weight: bold;
+  font-size: .36rem;
+  box-shadow: 0px 4px 8px 0px #00000014;
+}
+
+.j-button-group-new .j-button-left {
+  background: linear-gradient(90deg, #1A14C0 0%, #2A80F0 100%);
+}
+
+.j-button-group-new .j-button-right {
+  background: linear-gradient(92.21deg, #00D0FF 0.81%, #0BBE65 100%);
+}
+
+.card-sub-title-img{
+  height: .32rem;
+  text-align: center;
+  margin: .2rem 0;
+}
+.card-sub-title-img > img{
+  height: 100%;
+}
+.card-sub-title-img2{
+  margin: .2rem 0 .4rem;
+}
+.card-sub-title-img2,
+.card-sub-title-img3{
+  margin: .2rem 0 .4rem;
+}
+
+@keyframes fadeAnimation {
+  from {
+    opacity: 0.3;
+    transform: translateY(50px);
+  }
+
+  to {
+    transform: translateY(0px);
+    opacity: 1;
+  }
+}
+
+.fadeOut {
+  opacity: 0;
+}
+.fadeIn{
+  opacity: 1;
+  animation: fadeAnimation 1.5s ease forwards alternate;
+}

BIN
src/web/staticres/common-module/solution/image/advantage-title@2x.png


BIN
src/web/staticres/common-module/solution/image/api-subtitle-1@3x.png


BIN
src/web/staticres/common-module/solution/image/api-subtitle-2@3x.png


BIN
src/web/staticres/common-module/solution/image/api-subtitle-3@3x.png


BIN
src/web/staticres/common-module/solution/image/icon-core-ad-1.png


BIN
src/web/staticres/common-module/solution/image/icon-core-ad-2.png


BIN
src/web/staticres/common-module/solution/image/icon-core-ad-3.png


BIN
src/web/staticres/common-module/solution/image/icon-core-ad-4.png


BIN
src/web/staticres/common-module/solution/image/icon-core-ad-5.png


BIN
src/web/staticres/common-module/solution/image/icon-core-ad-6.png


BIN
src/web/staticres/common-module/solution/image/icon-usage-1.png


BIN
src/web/staticres/common-module/solution/image/icon-usage-2.png


BIN
src/web/staticres/common-module/solution/image/icon-usage-3.png


BIN
src/web/staticres/common-module/solution/image/icon-usage-4.png


BIN
src/web/staticres/common-module/solution/image/interface-data-card@2x.png


BIN
src/web/staticres/common-module/solution/image/interface-desc-text@2x.png


BIN
src/web/staticres/common-module/solution/image/interface-header-top-banner@2x.png


BIN
src/web/staticres/common-module/solution/image/process-card@2x.png


BIN
src/web/staticres/common-module/solution/image/usecase-title@2x.png


+ 135 - 0
src/web/staticres/common-module/solution/js/data-interface.js

@@ -0,0 +1,135 @@
+var page = new Vue({
+  el: '#main-app',
+  delimiters: ['${', '}'],
+  data: {
+    platform: utils.$env.platform,
+    apiList: [],
+    apiData: {}
+  },
+  computed: {},
+  created: function () {
+    this.getList()
+    this.getApiData()
+  },
+  mounted: function () {
+    this.headerTransparent()
+    this.openCustomer()
+    this.goApiApply()
+    this.scrollTopHandler()
+    document.querySelector('#main-app ').addEventListener('scroll', this.scrollTopHandler)
+  },
+  destroyed: function () {
+    document.querySelector('#main-app ').removeEventListener('scroll', this.scrollTopHandler)
+  },
+  methods: {
+    scrollTopHandler: function () {
+      var scrollEle = document.querySelector('#main-app ')
+      var scrollTop = scrollEle.scrollTop
+      var animateEle = document.querySelectorAll('.fadeOut')
+      var windowHeight = window.innerHeight ||
+      document.documentElement.clientHeight ||
+      document.body.clientHeight;
+      animateEle[0].classList.add('fadeIn')
+      animateEle[1].classList.add('fadeIn')
+      animateEle.forEach(function (item) {
+        var itemTop = item.offsetTop
+        // var itemHeight = item.offsetHeight
+        var flag = itemTop < scrollTop + windowHeight
+        if (scrollTop && flag) {
+          item.classList.add('fadeIn')
+        }
+      })
+    },
+    getList: function () {
+      var _this = this
+      $.ajax({
+        type: 'GET',
+        url: '/bigmember/apiIntroduce/list',
+        success: function (res) {
+          if (res && Array.isArray(res.data) && res.data.length > 0) {
+            _this.apiList = res.data
+          } else {
+            _this.apiList = []
+          }
+        },
+      })
+    },
+    getApiData: function () {
+      var _this = this
+      $.ajax({
+        type: 'POST',
+        url: '/jyapi/jybx/base/included',
+        success: function (res) {
+          if (res && res.data) {
+            _this.apiData = res.data
+            var number1 = res.data.bid
+            var number2 = res.data.ent
+            var number3 = res.data.buyer
+            var number4 = res.data.push
+            var number5 = res.data.bidDayUpdate
+            var numArr = [number1, number2, number3, number4, number5]
+            _this.animateNumber(numArr)
+          }
+        },
+      })
+    },
+    headerTransparent: function () {
+      if (utils.isWeiXinBrowser) return
+      $('#main-app').on('scroll', function () {
+        var headerDOM = $('.j-header.jy-app-header')
+        var scrollTop = this.scrollTop
+
+        // 是否有header-transparent这个类名
+        var hasClassT = headerDOM.hasClass('header-transparent')
+
+        if (scrollTop >= 75) {
+          if (!hasClassT) return
+          headerDOM.removeClass('header-transparent')
+        } else {
+          if (hasClassT) return
+          headerDOM.addClass('header-transparent')
+        }
+      })
+    },
+    // 联系客服
+    openCustomer: function () {
+      $('.customer-button').click(function () {
+        if (utils.$envs.inWX) {
+          window.location.href = '/big/wx/page/customer'
+        } else {
+          window.location.href = '/jyapp/free/customer'
+        }
+      })
+    },
+    // 接口申请
+    goApiApply: function () {
+      $('.api-button').click(function () {
+        if (utils.$envs.inWX) {
+          location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=wx_data_api_interface'
+        } else {
+          var source = utils.$envs.inH5 ? 'h5_data_api_interface' : 'app_data_api_interface'
+          if (loginFlag) {
+            location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + source
+          } else {
+            var url = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + source
+            window.location.href = "/jyapp/free/login?url=" + encodeURIComponent(url)
+          }
+        }
+      })
+    },
+    // 动画数字
+    animateNumber: function (numberArr) {
+      numberArr.map(function (v, i) {
+        var demo = new CountUp('animate-num-' + (i + 1), 0, v, 0, 0.5,{
+          useEasing: false,
+          useGrouping: false
+        });
+        if (!demo.error) {
+          demo.start();
+        } else {
+          console.error(demo.error);
+        }
+      })
+    }
+  }
+})

+ 1 - 0
src/web/staticres/css/pc.css

@@ -2264,6 +2264,7 @@ form{
 	position: relative;
 	padding-top: 32px;
   padding-bottom: 65px;
+  z-index: 11;
 }
 .userstatus{
 	position: absolute;

+ 435 - 0
src/web/staticres/frontRouter/pc/dataInterface/css/index-interface.css

@@ -0,0 +1,435 @@
+.w1000{
+  width: 1040px;
+  margin: 0 auto;
+}
+
+@keyframes CfadeInUp {
+  from {
+    transform: translateY(50px);
+  }
+
+  to {
+    transform: translateY(0px);
+    opacity: 1;
+  }
+}
+
+.CfadeInUp {
+  animation: 1s ease forwards alternate;
+}
+
+
+.img-container > img {
+  display: block;
+  width: 100%;
+}
+
+.warm-prompt .icon-warning::before {
+  content: unset;
+}
+
+.data-market-ad-bottom{
+  max-height:88px;
+  width: 100%;
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  z-index: 999;
+}
+.data-market-ad-bottom img{
+  display: block;
+  width: 100%;
+}
+
+.data-market-ad-bottom .icon-close {
+  position: absolute;
+  right: 20px;
+  top: 50%;
+  transform: translate(0, -50%);
+  color: #fff;
+  background-image: none;
+  cursor: pointer;
+}
+
+.banner-top{
+  box-sizing: border-box;
+  height:440px;
+  background: url(/frontRouter/pc/dataInterface/images/interface1/banner-bg@2x.png) no-repeat center;
+  background-size: cover;
+  text-align: center;
+}
+.data-interface-index .header-banner-content {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  height: 440px;
+}
+.data-interface-index .header-banner-content-c {
+  width: 720px;
+  height: 100%;
+}
+.data-interface-index .header-banner-content-r,
+.data-interface-index .header-banner-content-l {
+  width: 240px;
+  height: 100%;
+  flex-shrink: 0;
+  color: #fff;
+}
+
+.banner-top-container,
+.header-banner-center-img-container {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  width: 100%;
+  height: 100%;
+}
+.see-more-api {
+  height: 68px;
+  display: flex;
+  align-items: center;
+  padding-left: 56px;
+  font-size: 14px;
+  line-height: 22px;
+}
+
+.banner-center-img {
+  width: 394px;
+}
+.banner-center-button-img {
+  margin-top: 20px;
+  width: 300px;
+}
+
+.banner-bottom-data-text {
+  width: 100%;
+  height: 100px;
+  background-color: #fff;
+  transition: all 0.5s ease;
+}
+
+.blue-linear-gradient {
+  background: linear-gradient(180deg, #2A80F0 0%, #1A14C0 100%);
+}
+.blue-background {
+  background: #2A80F0;
+}
+
+.online-customer-text:hover {
+  color: #fff;
+}
+
+.header-banner-content-l-list {
+  position: relative;
+  padding-top: 12px;
+}
+.header-banner-content-item {
+  padding: 10px 12px 10px 24px;
+  height: 72px;
+  display: flex;
+}
+.header-banner-content-item:hover {
+  background: linear-gradient(180deg, #2A80F0 0%, #1A14C0 100%);
+}
+.list-hover-container {
+  position: absolute;
+  top: 25px;
+  right: 50px;
+  transform: translateX(100%);
+  width: 940px;
+  width: 0px;
+  background-color: #fff;
+  z-index: 2;
+  box-shadow: 0px 0px 28px 0px #00000014;
+  opacity: 0;
+  transition: opacity 0.8s ease, right 0.5s ease;
+  overflow: hidden;
+}
+.header-banner-content-item:hover .list-hover-container {
+  width: 940px;
+  opacity: 1;
+  right: 0px;
+}
+.header-banner-content-item .iconfont {
+  font-size: 24px;
+}
+.list-hover-list {
+  padding: 5px 24px;
+  font-size: 14px;
+  line-height: 36px;
+  color: #1d1d1d;
+  height: 390px;
+  overflow: hidden;
+}
+.list-hover-list .list-hover-item {
+  padding: 9px 32px;
+  text-align: left;
+  cursor: pointer;
+}
+.list-hover-list .list-hover-item:not(:last-of-type) {
+  border-bottom: 1px solid #F2F2F4;
+}
+.list-hover-title {
+  font-size: 16px;
+  line-height: 32px;
+}
+.list-hover-list .list-hover-item:hover {
+  background-color: #F7F9FC;
+}
+.list-hover-list .list-hover-item:hover .list-hover-title {
+  color: #2ABED1;
+}
+.list-hover-list .list-hover-item:hover .list-hover-title {
+  color: #2ABED1;
+}
+
+.list-hover-list .list-hover-subtitle {
+  font-size: 14px;
+  line-height: 22px;
+  color: #999;
+}
+
+.header-banner-content-item-l {
+  margin-top: 4px;
+}
+.header-banner-content-item-r {
+  margin-left: 8px;
+  flex: 1;
+  display: flex;
+  flex-direction: column;
+  align-items: flex-start;
+  justify-content: space-between;
+}
+.header-banner-content-item-title {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  font-size: 16px;
+  line-height: 24px;
+  font-weight: 700;
+  width: 100%;
+}
+.header-banner-content-item-title-text {
+  flex: 1;
+  text-align: left;
+}
+.header-banner-content-item-subtitle {
+  font-size: 14px;
+  line-height: 22px;
+}
+
+.header-banner-card2 {
+  padding: 20px;
+}
+.online-customer {
+  height: 160px;
+}
+.online-customer-icon {
+  display: block;
+  width: 24px;
+  height: 24px;
+}
+.online-customer-line {
+  display: flex;
+  flex-direction: column;
+  align-items: flex-start;
+}
+.api-apply-title,
+.online-customer-label {
+  font-size: 14px;
+  line-height: 22px;
+}
+.online-customer-value {
+  display: flex;
+  align-items: center;
+  font-size: 20px;
+  line-height: 32px;
+  font-weight: 700;
+}
+.online-customer-text {
+  margin-left: 8px;
+}
+
+.api-apply-container {
+  margin-top: 10px;
+  height: 270px;
+  text-align: left;
+}
+.api-apply-title {
+  margin-bottom: 16px;
+}
+
+
+.api-content-container{
+  background: linear-gradient(180deg, #E3F5FF 0%, rgba(208, 238, 255, 0) 100%, rgba(255, 255, 255, 0) 100%);
+  position: relative;
+  text-align: center;
+  border: 1px solid transparent;
+  padding-bottom: 40px;
+}
+.api-content-module {
+  margin-top: 40px;
+}
+.api-content-module-header {
+  text-align: center;
+}
+.api-content-module-title {
+  display: inline-block;
+  width: 144px;
+  height: 50px;
+  background-repeat: no-repeat;
+  background-size: contain;
+}
+.api-content-module-subtitle {
+  font-size: 20px;
+  line-height: 32px;
+  font-weight: 700;
+  color: #1d1d1d;
+}
+
+.use-where .api-content-module-title {
+  background-image: url(/frontRouter/pc/dataInterface/images/interface1/use-where-title@2x.png);
+}
+.use-where .use-where-card-item {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  width: 500px;
+  height: 120px;
+  background-color: #fff;
+}
+.use-where .use-where-card-left {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 100px;
+  height: 100%;
+  flex-shrink: 0;
+  border-top-right-radius: 16px;
+  box-shadow: 4px 0px 4px 0px #00000014;
+}
+.use-where .use-where-card-left img {
+  display: block;
+  width: 48px;
+  height: 48px;
+}
+.blue-bg {
+  background-color: #2A80F0;
+}
+.deepblue-bg {
+  background-color: #1A14C0;
+}
+.lightblue-bg {
+  background-color: #00D0FF;
+}
+.green-bg {
+  background-color: #0BBE65;
+}
+.use-where .use-where-card-right {
+  display: flex;
+  align-items: flex-start;
+  justify-content: center;
+  flex-direction: column;
+  padding: 0 20px;
+  width: 100%;
+  height: 100%;
+  text-align: left;
+}
+.u-card-title {
+  font-size: 16px;
+  line-height: 32px;
+  color: #1d1d1d;
+}
+.u-card-content {
+  font-size: 14px;
+  line-height: 22px;
+  color: #999;
+}
+
+.api-service .api-content-module-card-line,
+.core-feature .api-content-module-card-line,
+.use-where .api-content-module-card-line {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
+.use-where .api-content-module-card-line {
+  margin-top: 40px;
+}
+.use-where .use-where-card-item:not(:last-of-type) {
+  margin-right: 40px;
+}
+
+
+.api-service .api-content-module-card-line,
+.core-feature .api-content-module-card-line {
+  padding: 0 24px;
+}
+.core-feature .api-content-module-title {
+  background-image: url(/frontRouter/pc/dataInterface/images/interface1/core-feature-title-text@2x.png);
+}
+.api-content-item {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 22px 0;
+  flex: 1;
+}
+.api-content-item:first-of-type {
+  margin-right: 138px;
+}
+.api-content-item-left {
+  margin-right: 34px;
+}
+.api-content-item-left img {
+  display: block;
+  width: 36px;
+  height: 36px;
+}
+.api-content-item-right {
+  text-align: left;
+  flex: 1;
+}
+
+.banner-bottom-data-text .data_text {
+  display: flex;
+  justify-content: space-between;
+  width: 100%;
+  height: 100px;
+}
+.banner-bottom-data-text .item {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  flex: 1;
+}
+.data_text .item .tit {
+  font-weight: 700;
+  font-size: 32px;
+  line-height: 36px;
+  color: #1D1D1D;
+  text-align: center;
+}
+.data_text .item .tit span {
+  font-weight: 700;
+  font-size: 14px;
+  color: #1D1D1D;
+  vertical-align: middle;
+}
+.data_text .item .tit strong {
+  color: #1A14C0;
+  background-image: -webkit-linear-gradient(180deg, #1A14C0 0%, #2A80F0 100%);
+  -webkit-text-fill-color: transparent;
+  -webkit-background-clip: text;
+}
+
+.data_text .item .text {
+  font-size: 14px;
+  line-height: 20px;
+  letter-spacing: 0.1em;
+  color: #686868;
+  text-align: center;
+  margin-top: 4px;
+}

BIN
src/web/staticres/frontRouter/pc/dataInterface/images/icon9.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/interface1/api-service-card@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/interface1/banner-api-apply@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/interface1/banner-bg@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/interface1/banner-center-button@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/interface1/banner-center-top-text@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/interface1/core-feature-card-1@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/interface1/core-feature-card-2@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/interface1/core-feature-title-text@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/interface1/use-where-card-1@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/interface1/use-where-card-2@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/interface1/use-where-card-3@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/interface1/use-where-card-4@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/interface1/use-where-title@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/use-where-icon-1@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/use-where-icon-2@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/use-where-icon-3@2x.png


BIN
src/web/staticres/frontRouter/pc/dataInterface/images/use-where-icon-4@2x.png


+ 166 - 0
src/web/staticres/frontRouter/pc/dataInterface/js/index-interface.js

@@ -0,0 +1,166 @@
+function animateUp () {
+  var obj = $('.CfadeInUp');
+  var objH = $('.CfadeInUp').outerHeight();
+  var num = [];
+  var wH = $(window).height();
+  var wScrollTop = $(window).scrollTop();
+
+  // 获取页面所有obj的top位置,存入数组
+  for (var i = 0; i < obj.length; i++) {
+    num.push(obj.eq(i).offset().top + (objH / 3));
+  }
+  // 循环数组,判断obj的位置是否在可视区中
+  function judgeTop () {
+    for (var j = 0; j < num.length; j++) {
+      if (num[j] >= wScrollTop && num[j] < (wScrollTop + wH - 50)) {
+        if (j == 0) {
+          obj.eq(j).css({
+            'animation-name': 'CfadeInUp',
+            'animation-duration': 0.8 + 's',
+            'opacity': '1'
+          });
+        } else {
+          obj.eq(j).css({
+            'animation-name': 'CfadeInUp',
+            'animation-duration': 1.4 + 's',
+            'opacity': '1'
+          });
+        }
+      }
+    }
+  };
+  // 页面初始化时先调用一次
+  judgeTop();
+  // 触发滚动事件调用判断函数
+  $(window).scroll(function (event) {
+    wH = $(window).height();
+    wScrollTop = $(window).scrollTop();
+    judgeTop();
+  });
+};
+function windowScrollFn () {
+  var top1 = 0;
+  var top2 = 0;
+  var timer = null; // 定时器
+  $(document).scroll(function(){
+    clearTimeout(timer)
+    timer = setTimeout(isScrollEnd, 1000);
+    top1 = document.documentElement.scrollTop || document.body.scrollTop;
+    // console.log("滚动中")
+    $('.data-market-ad-bottom').fadeOut()
+  })
+  function isScrollEnd() {
+    top2 = document.documentElement.scrollTop || document.body.scrollTop;
+    if(top1 == top2){
+      // console.log('滚动结束了')
+      var hided = $('.data-market-ad-bottom').attr('data-hide')
+      if (!hided) {
+        $('.data-market-ad-bottom').fadeIn()
+      }
+    }
+  }
+};
+
+function updateDomText (key, value) {
+  $('*[data-update-text="'+key+'"]').text(value)
+}
+
+var _api_interface = new Vue({
+  el: '.data-interface-index',
+  delimiters: ['${', '}'],
+  data: {
+    bannerDataShow: false,
+    fList: []
+  },
+  computed: {},
+  created: function () {
+    this.getList()
+  },
+  mounted: function() {
+    this.getBannerDataList()
+    this.initEvents()
+    animateUp();
+    windowScrollFn();
+    $(window).on('scroll', windowScrollFn);
+    $(window).on('resize', windowScrollFn);
+  },
+  methods: {
+    initEvents: function() {
+      $('.data-market-ad-bottom .icon-close').on('click', function(e) {
+        e.stopPropagation()
+        $('.data-market-ad-bottom').attr('data-hide', 1).fadeOut()
+      })
+    },
+    getList: function () {
+      var _this = this
+      $.ajax({
+        type:'GET',
+        url:'/bigmember/apiIntroduce/list',
+        success:function(res) {
+          if (res && Array.isArray(res.data) && res.data.length > 0) {
+            _this.fList = res.data.map(function(item) {
+              if (item && item.typeProfile) {
+                var splited = item.typeProfile.split('|')
+                item.typeProfile = splited.join('&nbsp;|&nbsp;')
+              }
+              return item
+            })
+          }
+        },
+      })
+    },
+    getBannerDataList: function() {
+      var _this = this
+      $.ajax({
+        type: 'POST',
+        url: '/jyapi/jybx/base/included',
+        success: function (res) {
+          if (!res.error_msg && res.data) {
+            var transformKeys = ['bid', 'project', 'ent', 'buyer', 'bidDayUpdate', 'bidField', 'fieldAccuracy', 'push']
+            
+            var waitUpdateInfo = {
+              day: res.data.year + '年' + res.data.month + '月'
+            }
+            transformKeys.forEach(function (k) {
+              waitUpdateInfo[k] = {
+                number: res.data[k],
+                unit: res.data[k + 'Unit'] + res.data[k + 'UnitAppend']
+              }
+            })
+            for (var waitUpdateInfoKey in waitUpdateInfo) {
+              if (waitUpdateInfoKey === 'day') {
+                updateDomText(waitUpdateInfoKey, waitUpdateInfo[waitUpdateInfoKey])
+              } else if (waitUpdateInfo[waitUpdateInfoKey] && waitUpdateInfo[waitUpdateInfoKey].number) {
+                updateDomText(waitUpdateInfoKey + '-total', waitUpdateInfo[waitUpdateInfoKey].number)
+                updateDomText(waitUpdateInfoKey + '-unit', ' ' + waitUpdateInfo[waitUpdateInfoKey].unit)
+              }
+            }
+            _this.bannerDataShow = true
+          }
+        }
+      })
+    },
+    seeApi: function(id) {
+      window.open('/swordfish/page_big_pc/doc/api?id='+id)
+    },
+    seeAllApi: function() {
+      window.open('/swordfish/page_big_pc/doc/api')
+    },
+    // 留资
+    leaveInfoHandle: function () {
+      // 调用组件是否留资方法 传入一个来源对应模块 弹出弹框 (页面改版改为点击【获取数据样例】触发弹框)
+      vm.isNeedSubmit('pc_data_api_interface', function(){
+        // vm.showSuccess = true
+      })
+    }
+  }
+})
+
+// 广告位跳转链接
+function isAdJump(item){
+  if(item.s_link){
+    window.open(item.s_link)
+  } else {
+    _api_interface.leaveInfoHandle()
+  }
+}

+ 4 - 4
src/web/templates/_error.html

@@ -283,11 +283,11 @@ function seclectNavLi(el, $index) {
           <span>验证码/密码登录</span>
       </div>
       <div class="login-dig-tabbar-navbar" style="">
-          <span name="code" class="is-active">验证码登录</span>
-          <span name="pass" class="">密码登录</span>
+          <span name="code">验证码登录</span>
+          <span name="pass" class="is-active">密码登录</span>
           <div class="line-box"></div>
       </div>
-      <div class="login-dig-tabbar-content is-active" data-name="code" style="">
+      <div class="login-dig-tabbar-content" 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">
@@ -308,7 +308,7 @@ function seclectNavLi(el, $index) {
           </div>
           <button class="login-dig-submit-button" name="verify_submit" disabled="true">登录 / 注册</button>
       </div>
-      <div class="login-dig-tabbar-content" data-name="pass">
+      <div class="login-dig-tabbar-content is-active" 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">

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

@@ -26,8 +26,8 @@
           <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>
+          <span name="code">验证码登录</span>
+          <span name="pass" class="is-active">密码登录</span>
           <div class="line-box"></div>
         </div>
         <!-- <div class="login-dig-tabbar-navbar set-pass-module" data-name="set-password" style="display: none;">
@@ -38,7 +38,7 @@
             <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-tabbar-content login-module-card sms-login" 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" />
@@ -67,7 +67,7 @@
           <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-tabbar-content login-module-card password-login  is-active" data-name="pass">
           <div class="login-dig-input-box" data-error="手机号或账号名输入错误">
             <i class="login-dig-icon-phone"></i>
             <input
@@ -128,8 +128,8 @@
         <div class="login-dig-wx-qrcode-box login-module-card wx-qr-login" style="display: none">
           <img class="wx-qrcode" id="layerImg-login" src="" />
           <div class="footer-action-container">
-            <div class="auto-login-container no-selected">
-              <div class="auto-login-checkbox"></div>
+            <div class="auto-login-container no-selected checked">
+              <div class="auto-login-checkbox checked"></div>
               <label for="autoLogin">下次自动登录</label>
               <div class="icon-tip-container">
                 <div class="icon-tip"></div>
@@ -194,8 +194,8 @@
     </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>
+        <div class="auto-login-container no-selected checked">
+          <div class="auto-login-checkbox checked"></div>
           <label for="autoLogin">下次自动登录</label>
           <div class="icon-tip-container">
             <div class="icon-tip"></div>

+ 219 - 131
src/web/templates/dataMarket/dataInterface/index.html

@@ -15,85 +15,245 @@
   <link rel="stylesheet" type="text/css" href='/pccss/public-nav-1200.css?v={{Msg "seo" "version"}}' />
   <link href='/css/pc.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
   <link href="//cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.7/lib/theme-chalk/index.css" rel="stylesheet" />
+  <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/assets/iconfont/pc/24.11.7/iconfont.css />
   <link href='{{Msg "seo" "cdn"}}/common-module/pc-dialog/css/leave-info-dialog.css?v={{Msg "seo" "version"}}' rel="stylesheet">
-  <link rel="stylesheet" href='/frontRouter/pc/dataInterface/css/index.css?v={{Msg "seo" "version"}}'/>
+  <link rel="stylesheet" href='/frontRouter/pc/dataInterface/css/index-interface.css?v={{Msg "seo" "version"}}'/>
 </head>
 <body>
 {{include "/common/pchead.html"}}
 <!-- 用户留资 -->
 <div id="vue-collect-user-info"></div>
-<div class="data-interface-index">
-  <section class="banner-top CfadeInUp">
-    <div class="w1000">
-      <div class="banner-bg-title"></div>
-      <h1 class="self-sub-title">千亿级数据支持API接口调用,满足企业低成本、高效接入数据的需求,支持多种应用场景。</h1>
-      <div class="apply-btn"  onClick="leaveInfoHandle()">接口申请</div>
-    </div>
-  </section>
-  <section class="api-container">
-    <section class="api-scheme w1000 CfadeInUp">
-      <h2></h2>
-      <div class="content">
-        <div class="c-row">
-          <div>
-            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon1.png?v={{Msg "seo" "version"}}' alt="">
-            <p class="card-sub-title">标准数据输出API</p>
-            <p>对于有招投标数据需求用户,提供标准API接口,快速部署,获取最新的增量数据或全量数据。</p>
+<div class="data-interface-index" v-cloak>
+  <section class="banner-top">
+    <div class="w header-banner-content">
+      <div class="header-banner-content-l blue-linear-gradient">
+        <div class="header-banner-content-l-list">
+          <div class="header-banner-content-item" v-for="(item, index) in fList" :key="index">
+            <div class="header-banner-content-item-l">
+              <span class="iconfont" :class="item.sIcon"></span>
+            </div>
+            <div class="header-banner-content-item-r pointer">
+              <div class="header-banner-content-item-title">
+                <span class="header-banner-content-item-title-text">${item.pName}</span>
+                <span class="el-icon-arrow-right"></span>
+              </div>
+              <div class="header-banner-content-item-subtitle" v-html="item.typeProfile"></div>
+            </div>
+
+            <div class="list-hover-container" v-if="item.data && item.data.length > 0">
+              <div class="list-hover-list">
+                <div class="list-hover-item" v-for="iitem in item.data" :key="iitem.id" @click="seeApi(iitem.id)">
+                  <div class="list-hover-title">${iitem.s_name}</div>
+                  <div class="list-hover-subtitle ellipsis">${iitem.s_desc}</div>
+                </div>
+              </div>
+            </div>
           </div>
         </div>
-        <div class="c-row">
-          <div>
-            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon2.png?v={{Msg "seo" "version"}}' alt="">
-            <p class="card-sub-title">定制数据输出API</p>
-            <p>对于有特殊需求的用户,可根据业务需求,定制企业特色数据接口,深度挖掘数据价值。</p>
+        <div class="see-more-api pointer" @click="seeAllApi">查看全部接口</div>
+      </div>
+      <div class="header-banner-content-c">
+        <div class="header-banner-center-img-container">
+          <div class="banner-top-container" @click="leaveInfoHandle">
+            <div class="banner-center-img img-container">
+              <img src="{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/interface1/banner-center-top-text@2x.png" alt="">
+            </div>
+            <div class="banner-center-button-img pointer img-container" @click="leaveInfoHandle">
+              <img src="{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/interface1/banner-center-button@2x.png" alt="">
+            </div>
+          </div>
+          <div class="banner-bottom-data-text img-container">
+            <div class="data_text" v-show="bannerDataShow">
+              <div class="item">
+                <p class="tit"><strong data-update-text="bid-total">1.1</strong><span data-update-text="bid-unit">亿万+</span></p>
+                <p class="text">招标信息</p>
+              </div>
+              <div class="item">
+                <p class="tit"><strong data-update-text="ent-total">5465</strong><span data-update-text="ent-unit"> 万+</span></p>
+                <p class="text">企业数据库</p>
+              </div>
+              <div class="item">
+                <p class="tit"><strong data-update-text="buyer-total">260</strong><span data-update-text="buyer-unit"> 万+</span></p>
+                <p class="text">采购单位库</p>
+              </div>
+              <div class="item">
+                <p class="tit"><strong data-update-text="push-total">306</strong><span data-update-text="push-unit"> 亿+</span></p>
+                <p class="text">推送招标信息</p>
+              </div>
+              <div class="item">
+                <p class="tit"><strong data-update-text="bidDayUpdate-total">10</strong><span data-update-text="bidDayUpdate-unit"> 万+</span></p>
+                <p class="text">每日更新招标信息</p>
+              </div>
+            </div>
           </div>
         </div>
       </div>
-    </section>
-    <section class="core-feature CfadeInUp">
-      <div class="w1000">
-         <h2></h2>
-        <div class="con">
-          <div class="con-row">
-            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon3.png?v={{Msg "seo" "version"}}' alt="">
-            <p class="row-title">海量数据</p>
-            <p class="row-content">千亿级数据,每日新增10万+条数据,100%行业和地区覆盖</p>
+      <div class="header-banner-content-r">
+        <div class="header-banner-card2 blue-background online-customer">
+          <div class="online-customer-line">
+            <div class="online-customer-label">在线咨询:</div>
+            <div class="online-customer-value open-customer pointer">
+              <span class="online-customer-icon img-container">
+                <img src="{{Msg "seo" "cdn"}}/images/index/new/kf.png?v={{Msg "seo" "version"}}" alt="">
+              </span>
+              <span class="online-customer-text">点击联系客服</span>
+            </div>
           </div>
-          <div class="con-row">
-            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon4.png?v={{Msg "seo" "version"}}' alt="">
-            <p class="row-title">维度全面</p>
-            <p class="row-content">标讯所有内容可结构化处理后通过接口调用</p>
+          <div class="online-customer-line" style="margin-top: 10px;">
+            <div class="online-customer-label">客服热线:</div>
+            <div class="online-customer-value">
+              <span class="online-customer-icon img-container">
+                <img src="{{Msg "seo" "cdn"}}/images/index/new/telphone.png?v={{Msg "seo" "version"}}" alt="">
+              </span>
+              <span class="online-customer-text">400-108-6670</span>
+              <!-- <a class="online-customer-text" href="tel:400-108-6670">400-108-6670</a> -->
+            </div>
           </div>
-          <div class="con-row">
-            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon5.png?v={{Msg "seo" "version"}}' alt="">
-            <p class="row-title">专业团队</p>
-            <p class="row-content">50+专业数据团队,运用自身数据分析体系提供专业服务</p>
+        </div>
+        <div class="header-banner-card2 blue-linear-gradient api-apply-container">
+          <div class="api-apply-title">接口申请流程</div>
+          <div class="api-apply-content img-container">
+            <img src="{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/interface1/banner-api-apply@2x.png" alt="">
           </div>
         </div>
-        <div class="con">
-          <div class="con-row">
-            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon6.png?v={{Msg "seo" "version"}}' alt="">
-            <p class="row-title">个性化需求</p>
-            <p class="row-content">根据用户不同需求,提供标准API或定制API接口</p>
+      </div>
+    </div>
+  </section>
+  <section class="api-content-container">
+    <section class="api-content-module use-where w1000 CfadeInUp">
+      <div class="api-content-module-header">
+        <div class="api-content-module-title"></div>
+        <div class="api-content-module-subtitle">API 可应用于各类企业运营场景</div>
+      </div>
+      <div class="api-content-module-main">
+        <div class="api-content-module-card-list">
+          <div class="api-content-module-card-line">
+            <div class="use-where-card-item">
+              <div class="use-where-card-left blue-bg">
+                <img src="{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/use-where-icon-1@2x.png" alt="">
+              </div>
+              <div class="use-where-card-right">
+                <div class="user-where-card-right-title u-card-title">销售线索获取</div>
+                <div class="user-where-card-right-content u-card-content">剑鱼 API 接口提供海量招投标信息,可转化为精准销售线索并导入 CRM。助力企业挖掘潜在客户,提升销售业绩,无论是大企扩张还是小企突破,都能找到业务增长机会。</div>
+              </div>
+            </div>
+            <div class="use-where-card-item">
+              <div class="use-where-card-left lightblue-bg">
+                <img src="{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/use-where-icon-2@2x.png" alt="">
+              </div>
+              <div class="use-where-card-right">
+                <div class="user-where-card-right-title u-card-title">把握市场方向</div>
+                <div class="user-where-card-right-content u-card-content">通过接口,企业可从多维度剖析市场,了解区域、行业动态及趋势。有助于制定精准策略,抢占市场先机,避免决策失误。</div>
+              </div>
+            </div>
           </div>
-          <div class="con-row">
-            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon7.png?v={{Msg "seo" "version"}}' alt="">
-            <p class="row-title">稳定及时</p>
-            <p class="row-content">调用接口毫秒级返回,7*24小时稳定调用</p>
+          <div class="api-content-module-card-line">
+            <div class="use-where-card-item">
+              <div class="use-where-card-left deepblue-bg">
+                <img src="{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/use-where-icon-3@2x.png" alt="">
+              </div>
+              <div class="use-where-card-right">
+                <div class="user-where-card-right-title u-card-title">竞争合作双驱</div>
+                <div class="user-where-card-right-content u-card-content">接口的企业画像让企业了解竞争对手和合作伙伴的关键信息,包括中标动态、主要客户、市场分布等。</div>
+              </div>
+            </div>
+            <div class="use-where-card-item">
+              <div class="use-where-card-left green-bg">
+                <img src="{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/use-where-icon-4@2x.png" alt="">
+              </div>
+              <div class="use-where-card-right">
+                <div class="user-where-card-right-title u-card-title">标讯数据接入</div>
+                <div class="user-where-card-right-content u-card-content">对于软件企业,接口是提升竞争力的利器。接入标讯数据可提升产品价值,为客户提供销售线索,提高竞争力。</div>
+              </div>
+            </div>
           </div>
-          <div class="con-row">
-            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon8.png?v={{Msg "seo" "version"}}' alt="">
-            <p class="row-title">多终端接入</p>
-            <p class="row-content">快速便捷对接CRM、网站、ERP等多平台使用</p>
+        </div>
+      </div>
+    </section>
+    <section class="api-content-module core-feature w1000 CfadeInUp">
+      <div class="api-content-module-header">
+        <div class="api-content-module-title"></div>
+        <div class="api-content-module-subtitle">为什么选择剑鱼数据接口?</div>
+      </div>
+      <div class="api-content-module-main">
+        <div class="api-content-module-card-list">
+          <div class="api-content-module-card-line">
+            <div class="api-content-item">
+              <div class="api-content-item-left">
+                <img src="{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon3.png" alt="">
+              </div>
+              <div class="api-content-item-right">
+                <div class="api-content-item-right-title u-card-title">数据全景覆盖</div>
+                <div class="api-content-item-right-content u-card-content">接口涵盖全国、全行业、全类型的招投标信息,热门行业数据量大且更新及时。</div>
+              </div>
+            </div>
+            <div class="api-content-item">
+              <div class="api-content-item-left">
+                <img src="{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon4.png" alt="">
+              </div>
+              <div class="api-content-item-right">
+                <div class="api-content-item-right-title u-card-title">多维度条件匹配</div>
+                <div class="api-content-item-right-content u-card-content">数据接口具备强大的多维度筛选优势,可灵活设置条件,精准获取所需数据。</div>
+              </div>
+            </div>
+          </div>
+          <div class="api-content-module-card-line">
+            <div class="api-content-item">
+              <div class="api-content-item-left">
+                <img src="{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon7.png" alt="">
+              </div>
+              <div class="api-content-item-right">
+                <div class="api-content-item-right-title u-card-title">快速响应</div>
+                <div class="api-content-item-right-content u-card-content">采用高性能架构,高并发量下快速准确响应。</div>
+              </div>
+            </div>
+            <div class="api-content-item">
+              <div class="api-content-item-left">
+                <img src="{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon9.png" alt="">
+              </div>
+              <div class="api-content-item-right">
+                <div class="api-content-item-right-title u-card-title">安全可靠</div>
+                <div class="api-content-item-right-content u-card-content">全方位保障,保证接口运行的稳定性和安全性。</div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </section>
+    <section class="api-content-module api-service w1000 CfadeInUp">
+      <div class="api-content-module-header">
+        <div class="api-content-module-subtitle">接口服务:畅享便捷与定制</div>
+      </div>
+      <div class="api-content-module-main">
+        <div class="api-content-module-card-list">
+          <div class="api-content-module-card-line">
+            <div class="api-content-item">
+              <div class="api-content-item-left">
+                <img src="{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon8.png" alt="">
+              </div>
+              <div class="api-content-item-right">
+                <div class="api-content-item-right-title u-card-title">接入轻松无忧</div>
+                <div class="api-content-item-right-content u-card-content">接口接入流程简单。企业只需留下公司信息,经审核后按文档操作,普通技术人员即可完成,快速获取数据资源。</div>
+              </div>
+            </div>
+            <div class="api-content-item">
+              <div class="api-content-item-left">
+                <img src="{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon6.png" alt="">
+              </div>
+              <div class="api-content-item-right">
+                <div class="api-content-item-right-title u-card-title">使用随心所欲</div>
+                <div class="api-content-item-right-content u-card-content">无论是按行业、地域、规模、时间等,都能精准设置匹配条件。用户可根据自身需求,灵活组合这些维度,快速获取符合特定要求的招投标信息、企业数据等。</div>
+              </div>
+            </div>
           </div>
         </div>
-        <div class="apply-btn" onClick="leaveInfoHandle()">接口申请</div>
       </div>
     </section>
   </section>
   {{range $k,$v:=Ad "jy-pc-dataInterface-bottom" -1 .Host (cookie "SESSIONID")}}
   <div class="data-market-ad-bottom" onClick="isAdJump({{ $v }})">
     <img src="{{Msg "seo" "cdn"}}{{$v.S_pic}}" alt="">
+    <span class="iconfont icon-close"></span>
   </div>
   {{end}}
 </div>
@@ -102,88 +262,16 @@
 <script src="//cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.7/lib/index.js"></script>
 <script src='{{Msg "seo" "cdn"}}/js/swiper.min.js'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/pc-dialog/js/leave-info-dialog.js?v={{Msg "seo" "version"}}'></script>
+<script src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/js/index-interface.js?v={{Msg "seo" "version"}}'></script>
 <script type="text/javascript" >
   $(function(){
     haslogin({{.T.logid }});
     // 模块文案上浮
-    animateUp();
-
-    windowScrollFn();
-    $(window).on('scroll', windowScrollFn);
-    $(window).on('resize', windowScrollFn);
+    // animateUp();
+    // windowScrollFn();
+    // $(window).on('scroll', windowScrollFn);
+    // $(window).on('resize', windowScrollFn);
   });
-  // 留资
-  function leaveInfoHandle (){
-    // 调用组件是否留资方法 传入一个来源对应模块 弹出弹框 (页面改版改为点击【获取数据样例】触发弹框)
-    vm.isNeedSubmit('pc_data_api_interface', function(){
-      // vm.showSuccess = true
-    })
-  }
-  function animateUp () {
-    var obj = $('.CfadeInUp');
-    var objH = $('.CfadeInUp').outerHeight();
-    var num = [];
-    var wH = $(window).height();
-    var wScrollTop = $(window).scrollTop();
-
-    // 获取页面所有obj的top位置,存入数组
-    for (var i = 0; i < obj.length; i++) {
-      num.push(obj.eq(i).offset().top + (objH / 3));
-    }
-    // 循环数组,判断obj的位置是否在可视区中
-    function judgeTop () {
-      for (var j = 0; j < num.length; j++) {
-        if (num[j] >= wScrollTop && num[j] < (wScrollTop + wH - 50)) {
-          if (j == 0) {
-            obj.eq(j).css({
-              'animation-name': 'CfadeInUp',
-              'animation-duration': 0.8 + 's',
-              'opacity': '1'
-            });
-          } else {
-            obj.eq(j).css({
-              'animation-name': 'CfadeInUp',
-              'animation-duration': 1.4 + 's',
-              'opacity': '1'
-            });
-          }
-        }
-      }
-    };
-    // 页面初始化时先调用一次
-    judgeTop();
-    // 触发滚动事件调用判断函数
-    $(window).scroll(function (event) {
-      wH = $(window).height();
-      wScrollTop = $(window).scrollTop();
-      judgeTop();
-    });
-  };
-  function windowScrollFn () {
-    var top1 = 0;
-    var top2 = 0;
-    var timer = null; // 定时器
-    $(document).scroll(function(){
-      clearTimeout(timer)
-      timer = setTimeout(isScrollEnd, 1000);
-      top1 = document.documentElement.scrollTop || document.body.scrollTop;
-      // console.log("滚动中")
-      $('.data-market-ad-bottom').fadeOut()
-    })
-    function isScrollEnd() {
-      top2 = document.documentElement.scrollTop || document.body.scrollTop;
-      if(top1 == top2 && (window.memberStatus <= 0 || !window.memberStatus)){
-        // console.log('滚动结束了')
-        $('.data-market-ad-bottom').fadeIn()
-      }
-    }
-  };
-  // 广告位跳转链接
-  function isAdJump(item){
-    if(item.s_link){
-      window.open(item.s_link)
-    }
-  }
 </script>
 </body>
 </html>

+ 189 - 0
src/web/templates/dataMarket/dataInterface/index2.html

@@ -0,0 +1,189 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport"
+        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
+  <meta http-equiv="X-UA-Compatible" content="ie=edge">
+  <title>数据API接口_剑鱼标讯,专业招标大数据服务平台</title>
+  <meta name="Keywords" content="招标数据,中标数据,采购数据,结构化数据"/>
+  <meta name="Description" content="剑鱼标讯提供完整的结构化数据导出和定制化合作,提供招标信息相关的项目名称、项目编号、项目范围等多达30个字段,帮助企业通过数据分析市场、获取商机、辅助企业战略决策。。"/>
+  <meta content="API接口" theme="light" name="enable-header"/>
+  {{include "/common/pnc.html"}}
+  <link href='{{Msg "seo" "cdn"}}/css/swiper.min.css?v={{Msg "seo" "version"}}' rel="stylesheet" type="text/css"/>
+  <link rel="stylesheet" type="text/css" href='/pccss/reset_pc.css?v={{Msg "seo" "version"}}' />
+  <link rel="stylesheet" type="text/css" href='/pccss/public-nav-1200.css?v={{Msg "seo" "version"}}' />
+  <link href='/css/pc.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
+  <link href="//cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.7/lib/theme-chalk/index.css" rel="stylesheet" />
+  <link href='{{Msg "seo" "cdn"}}/common-module/pc-dialog/css/leave-info-dialog.css?v={{Msg "seo" "version"}}' rel="stylesheet">
+  <link rel="stylesheet" href='/frontRouter/pc/dataInterface/css/index.css?v={{Msg "seo" "version"}}'/>
+</head>
+<body>
+{{include "/common/pchead.html"}}
+<!-- 用户留资 -->
+<div id="vue-collect-user-info"></div>
+<div class="data-interface-index">
+  <section class="banner-top CfadeInUp">
+    <div class="w1000">
+      <div class="banner-bg-title"></div>
+      <h1 class="self-sub-title">千亿级数据支持API接口调用,满足企业低成本、高效接入数据的需求,支持多种应用场景。</h1>
+      <div class="apply-btn"  onClick="leaveInfoHandle()">接口申请</div>
+    </div>
+  </section>
+  <section class="api-container">
+    <section class="api-scheme w1000 CfadeInUp">
+      <h2></h2>
+      <div class="content">
+        <div class="c-row">
+          <div>
+            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon1.png?v={{Msg "seo" "version"}}' alt="">
+            <p class="card-sub-title">标准数据输出API</p>
+            <p>对于有招投标数据需求用户,提供标准API接口,快速部署,获取最新的增量数据或全量数据。</p>
+          </div>
+        </div>
+        <div class="c-row">
+          <div>
+            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon2.png?v={{Msg "seo" "version"}}' alt="">
+            <p class="card-sub-title">定制数据输出API</p>
+            <p>对于有特殊需求的用户,可根据业务需求,定制企业特色数据接口,深度挖掘数据价值。</p>
+          </div>
+        </div>
+      </div>
+    </section>
+    <section class="core-feature CfadeInUp">
+      <div class="w1000">
+         <h2></h2>
+        <div class="con">
+          <div class="con-row">
+            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon3.png?v={{Msg "seo" "version"}}' alt="">
+            <p class="row-title">海量数据</p>
+            <p class="row-content">千亿级数据,每日新增10万+条数据,100%行业和地区覆盖</p>
+          </div>
+          <div class="con-row">
+            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon4.png?v={{Msg "seo" "version"}}' alt="">
+            <p class="row-title">维度全面</p>
+            <p class="row-content">标讯所有内容可结构化处理后通过接口调用</p>
+          </div>
+          <div class="con-row">
+            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon5.png?v={{Msg "seo" "version"}}' alt="">
+            <p class="row-title">专业团队</p>
+            <p class="row-content">50+专业数据团队,运用自身数据分析体系提供专业服务</p>
+          </div>
+        </div>
+        <div class="con">
+          <div class="con-row">
+            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon6.png?v={{Msg "seo" "version"}}' alt="">
+            <p class="row-title">个性化需求</p>
+            <p class="row-content">根据用户不同需求,提供标准API或定制API接口</p>
+          </div>
+          <div class="con-row">
+            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon7.png?v={{Msg "seo" "version"}}' alt="">
+            <p class="row-title">稳定及时</p>
+            <p class="row-content">调用接口毫秒级返回,7*24小时稳定调用</p>
+          </div>
+          <div class="con-row">
+            <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/dataInterface/images/icon8.png?v={{Msg "seo" "version"}}' alt="">
+            <p class="row-title">多终端接入</p>
+            <p class="row-content">快速便捷对接CRM、网站、ERP等多平台使用</p>
+          </div>
+        </div>
+        <div class="apply-btn" onClick="leaveInfoHandle()">接口申请</div>
+      </div>
+    </section>
+  </section>
+  {{range $k,$v:=Ad "jy-pc-dataInterface-bottom" -1 .Host (cookie "SESSIONID")}}
+  <div class="data-market-ad-bottom" onClick="isAdJump({{ $v }})">
+    <img src="{{Msg "seo" "cdn"}}{{$v.S_pic}}" alt="">
+  </div>
+  {{end}}
+</div>
+{{include "/common/pcbottom.html"}}
+<script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
+<script src="//cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.7/lib/index.js"></script>
+<script src='{{Msg "seo" "cdn"}}/js/swiper.min.js'></script>
+<script src='{{Msg "seo" "cdn"}}/common-module/pc-dialog/js/leave-info-dialog.js?v={{Msg "seo" "version"}}'></script>
+<script type="text/javascript" >
+  $(function(){
+    haslogin({{.T.logid }});
+    // 模块文案上浮
+    animateUp();
+
+    windowScrollFn();
+    $(window).on('scroll', windowScrollFn);
+    $(window).on('resize', windowScrollFn);
+  });
+  // 留资
+  function leaveInfoHandle (){
+    // 调用组件是否留资方法 传入一个来源对应模块 弹出弹框 (页面改版改为点击【获取数据样例】触发弹框)
+    vm.isNeedSubmit('pc_data_api_interface', function(){
+      // vm.showSuccess = true
+    })
+  }
+  function animateUp () {
+    var obj = $('.CfadeInUp');
+    var objH = $('.CfadeInUp').outerHeight();
+    var num = [];
+    var wH = $(window).height();
+    var wScrollTop = $(window).scrollTop();
+
+    // 获取页面所有obj的top位置,存入数组
+    for (var i = 0; i < obj.length; i++) {
+      num.push(obj.eq(i).offset().top + (objH / 3));
+    }
+    // 循环数组,判断obj的位置是否在可视区中
+    function judgeTop () {
+      for (var j = 0; j < num.length; j++) {
+        if (num[j] >= wScrollTop && num[j] < (wScrollTop + wH - 50)) {
+          if (j == 0) {
+            obj.eq(j).css({
+              'animation-name': 'CfadeInUp',
+              'animation-duration': 0.8 + 's',
+              'opacity': '1'
+            });
+          } else {
+            obj.eq(j).css({
+              'animation-name': 'CfadeInUp',
+              'animation-duration': 1.4 + 's',
+              'opacity': '1'
+            });
+          }
+        }
+      }
+    };
+    // 页面初始化时先调用一次
+    judgeTop();
+    // 触发滚动事件调用判断函数
+    $(window).scroll(function (event) {
+      wH = $(window).height();
+      wScrollTop = $(window).scrollTop();
+      judgeTop();
+    });
+  };
+  function windowScrollFn () {
+    var top1 = 0;
+    var top2 = 0;
+    var timer = null; // 定时器
+    $(document).scroll(function(){
+      clearTimeout(timer)
+      timer = setTimeout(isScrollEnd, 1000);
+      top1 = document.documentElement.scrollTop || document.body.scrollTop;
+      // console.log("滚动中")
+      $('.data-market-ad-bottom').fadeOut()
+    })
+    function isScrollEnd() {
+      top2 = document.documentElement.scrollTop || document.body.scrollTop;
+      if(top1 == top2 && (window.memberStatus <= 0 || !window.memberStatus)){
+        // console.log('滚动结束了')
+        $('.data-market-ad-bottom').fadeIn()
+      }
+    }
+  };
+  // 广告位跳转链接
+  function isAdJump(item){
+    if(item.s_link){
+      window.open(item.s_link)
+    }
+  }
+</script>
+</body>
+</html>

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác