Răsfoiți Sursa

Merge branch 'dev3.2' of http://192.168.3.207:10080/qmx/jy into dev3.2

lianbingjie 4 ani în urmă
părinte
comite
b82a0b4389

+ 172 - 0
src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/page_ontrial_landingPage.css

@@ -0,0 +1,172 @@
+.j-container {
+  background: url("/jyapp/big-member/image/landpage/contentBG.png") no-repeat;
+  background-size: contain;
+}
+
+.on_header{
+  width: 100%;
+  height: 2.4rem;
+}
+
+.on_header .on_header_img{
+  width: 100%;
+  height: 100%;
+}
+
+.land_action {
+  margin: 0.4rem 0;
+  display: flex;
+  flex-shrink: 0;
+  flex-direction: column;
+  align-items: center;
+  padding: 0 0.32rem;
+  width: 100%;
+}
+
+.land_action .land_head {
+  padding: 0 0.16rem;
+  width: 100%;
+  height: 0.96rem;
+}
+
+.land_action .land_head .head_big {
+  width: 100%;
+  height: 100%;
+}
+
+.land_action .land_intro {
+  font-size: 0.28rem;
+  font-weight: 700;
+  line-height: 0.4rem;
+  color: #5F5E64;
+  text-align: center;
+}
+
+.land_action .land_main {
+  padding: 0 0.4rem;
+  margin-top: 0.2rem;
+  width: 100%;
+}
+
+.land_action .land_main .landul {
+  display: flex;
+  justify-content: center;
+  width: 100%;
+}
+
+.land_action .land_main .landul .landlist {
+  width: 100%;
+  height: 100%;
+}
+
+.land_action .land_main .landul .van-swipe {
+  height: 8.08rem;
+  width: 100%;
+}
+
+.land_action .land_main .landul .van-swipe .van-swipe__track {
+  width: 6.06rem;
+  height: 7.78rem;
+}
+
+.land_action .land_main .landul .van-swipe .van-swipe__track img {
+  height: 100%;
+}
+
+.land_action .land_main .landul .van-swipe .van-swipe__indicators {
+  bottom: 0;
+  margin-top: 0.2rem;
+}
+
+.land_action .land_main .landul .van-swipe .van-swipe__indicators .van-swipe__indicator {
+  width: 0.2rem;
+  height: 0.2rem;
+  background: #E6E6E6;
+}
+
+.land_action .land_main .landul .van-swipe .van-swipe__indicators .van-swipe__indicator.van-swipe__indicator--active {
+  background: #2ABED1;
+}
+
+.land_action .land_who {
+  margin-top: 0.2rem;
+  color: #5F5E64;
+  text-align: center;
+  font-size: 0.32rem;
+  line-height: 0.48rem;
+}
+
+.land_action .land_buy {
+  color: #9B9CA3;
+  font-weight: normal;
+  font-size: 0.26rem;
+  line-height: 0.4rem;
+}
+
+.j-footer {
+  display: flex;
+  align-items: center;
+  padding: 0 0.32rem;
+  width: 100%;
+  height: 1.12rem;
+}
+
+.j-footer .j-button-footer {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  width: 100%;
+  height: 100%;
+}
+
+.j-footer .j-button-footer .j-button-left{
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+
+.j-footer .j-button-footer .j-button {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  height: 0.8rem;
+  padding: 0;
+}
+
+.j-footer .j-button-footer .j-button-left .custorm{
+  position: relative;
+  margin-left: 0.48rem;
+}
+
+.j-footer .j-button-footer .j-button-left .custorm .noread_msg{
+  position: absolute;
+  right: 8px;
+  top: 0;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  width: 0.3rem;
+  height: 0.3rem;
+  background: #FB483D;
+  border-radius: 50%;
+  color: #ffffff;
+  font-size: 0.22rem;
+}
+
+.j-footer .j-button-footer .j-button .tel_text, .j-footer .j-button-footer .j-button .online_text {
+  font-size: 0.2rem;
+  color: #5F5E64;
+}
+
+.j-button-right{
+  width: 4.3rem;
+  height: 0.8rem;
+}
+.j-button-right .j-button-buy{
+  width: 100%;
+  height: 100%;
+  border-radius: 0.4rem;
+  background: #2ABED1;
+  color: #F7F9FA;
+  font-size: 0.32rem;
+}

BIN
src/jfw/modules/app/src/web/staticres/jyapp/big-member/image/landpage/ontrial/manysever.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/big-member/image/landpage/ontrial/on_header.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/big-member/image/landpage/ontrial/on_title01.png


+ 11 - 0
src/jfw/modules/app/src/web/staticres/jyapp/local/layout.css

@@ -346,3 +346,14 @@ ul, li, ol {
     font-family: Avenir,Helvetica,Arial,sans-serif;
 }
 .jy-app-header .icon-left {}
+.badge-number {
+    font-size: 11px;
+    line-height: 15px;
+    color: #fff;
+    background: #FB483D;
+    padding: 0 4px;
+    display: inline-block;
+    text-align: center;
+    white-space: nowrap;
+    border-radius: 40px;
+}

BIN
src/jfw/modules/app/src/web/staticres/jyapp/me/images/logo_ round.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/me/images/logo_work.png


+ 6 - 6
src/jfw/modules/app/src/web/templates/big-member/page_land_setting.html

@@ -50,7 +50,7 @@
             line-height: 0.4rem;
             color: #9B9CA3;
         }
-        /* .child_header{
+        .child_header{
             height: 0.88rem;
             padding: 0.32rem 0.32rem 0.16rem;
         }
@@ -85,7 +85,7 @@
         .balance .balance-num{
             font-size: 0.24rem;
             color: #2ABED1
-        } */
+        }
     </style>
 </head>
 <body>
@@ -105,7 +105,7 @@
                 <van-cell class="com_histury" title="行业" is-link :value="manyindustry" @click="optionindustry()"></van-cell>
             </van-cell-group>
         </div>
-        <!-- <div class="child_account">
+        <div class="child_account">
             <div class="child_header">
                 <div class="child_title">子账号</div>
             </div>
@@ -130,13 +130,13 @@
                     </template>
                 </van-cell>
             </van-cell-group>
-        </div> -->
+        </div>
     </div>
-    <!-- <div class="j-footer">
+    <div class="j-footer">
         <div class="j-button-group" style="padding: 0.2rem 0.32rem 0.2rem;">
             <div class="j-button-confirm" style="height: 0.92rem;">完成</div>
         </div>
-    </div> -->
+    </div>
     <!--S-Vue-->
 </div>
 

+ 204 - 0
src/jfw/modules/app/src/web/templates/big-member/page_ontrial_commit.html

@@ -0,0 +1,204 @@
+<!DOCTYPE html>
+<html lang="zh-CN" style="font-size: 50px;">
+
+<head>
+    <title>大会员-试用版</title>
+    <!--引入公共资源头部-->
+    {{include "/big-member/meta.html"}}
+
+    <!--S-当前页必定需要预加载的资源-->
+    <link rel="preload" as="style" href=//cdn.jsdelivr.net/npm/reset-css@4.0.1/reset.min.css />
+    <link rel="preload" as="style" href=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/index.css />
+    <link rel="preload" as="style" href=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/icon/local.css />
+    <link rel="preload" as="style" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/buy_commit.css?v={{Msg "seo" "version"}}" />
+    <!--E-当前页必定需要预加载的资源-->
+
+
+    <!--S-当前页面的css资源-->
+    <link rel="stylesheet" href=//cdn.jsdelivr.net/npm/reset-css@4.0.1/reset.min.css />
+    <link rel="stylesheet" href=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/index.css />
+    <link rel="stylesheet" href=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/icon/local.css />
+    <link rel="stylesheet" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/buy_commit.css?v={{Msg "seo" "version"}}" />
+    <!--E-当前页面的css资源-->
+</head>
+
+<body>
+    <div class="j-container">
+        {{include "/big-member/header.html"}}
+        <!--S-Vue-->
+        <div id="v-commit" class="j-main" v-cloak>
+            <div class="j-container">
+                <div class="j-main">
+                    <div class="selectLevel select-common">
+                        <div class="selectTitle">选择会员等级</div>
+                        <div class="levelList">
+                            <div class="setmeal active" v-for="(item,index) in edition">
+                                <div class="edition">${item.setmeal}</div>
+                                <div class="edition_price">${item.setmealprice}</div>
+                                <span class="cornermark j-icon  icon-gold-mark"></span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="selectyearnum select-common">
+                        <div class="selectTitle">选择购买年数</div>
+                        <div class="levelList">
+                            <div class="setmeal activeyear">
+                                <div class="edition">7天</div>
+                                <span class="cornermark j-icon  icon-gold-mark"></span>
+                            </div>
+                        </div>
+                    </div>
+                    <!-- 产品服务清单 -->
+                    <div class="proservice">
+                        <div class="proserve_header">
+                            <span class="serve_title">试用版仅有部分功能</span>
+                        </div>
+                        <div class="serve_list">
+                            <van-cell-group>
+                                <van-cell :title="item.listname" :class="item.addclass"  v-for="(item,index) in severList" />
+                                <template #icon>
+                                    <span class="j-icon icon-root"></span>
+                                </template>
+                            </van-cell-group>
+                        </div>
+                    </div>
+                </div>
+                <div class="j-footer">
+                    <div class="submit-container">
+                        <!-- 当 price-top/price-bottom 有一个显示的时候,则price-container显示。否则不显示 -->
+                        <div class="price-container">
+                            <div class="price-top">
+                                <span class="price-t-label">合计:</span>
+                                <span class="price-t-count-now">
+                                    <span class="cn-l">&yen;</span>
+                                    <span class="cn-r">199</span>
+                                </span>
+                            </div>
+                        </div>
+                        <div class="statement">
+                            <van-checkbox class="iconSize" icon-size="18px" v-model="checked" checked-color="#2ABED1"></van-checkbox>
+                            <p class="state">
+                                <span>我已阅读,并同意</span>
+                                <a href="/jyapp/front/staticPage/dataExport_serviceterms.html" @click="setStatus()" class="link highlight-text">《剑鱼标讯线上购买与服务条款》</a>
+                            </p>
+                        </div>
+                        <div class="j-button-group">
+                            <button id="run-call-buy" class="j-button-confirm" @click="onOrder()"
+                                :disabled="confirmDisabled">提交订单</button>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <!--S-Vue-->
+    </div>
+
+    <!--S-必定需要预加载的资源-->
+    <script rel="preload" as="script" src=//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js> </script>
+    <script rel="preload" as="script" src=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/vant.min.js> </script>
+    <script rel="preload" as="script" src=//cdn.jsdelivr.net/npm/zepto@1.2.0/dist/zepto.min.js> </script> <!--E-必定需要预加载的资源-->
+        <!--S-有可能需要提前预加载的资源
+        -->
+    <!--E-有可能需要提前预加载的资源-->
+
+    <!--S-当前页面的资源-->
+    <script src=//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js> </script>
+    <script src=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/vant.min.js> </script>
+    <script src=//cdn.jsdelivr.net/npm/zepto@1.2.0/dist/zepto.min.js> </script>
+    {{include "/big-member/commonjs.html"}}
+    <!-- <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/demo.js?v={{Msg "seo" "version"}}''></script> -->
+
+<!--E-当前页面的资源-->
+
+<!--小于100行同css,减少请求数-->
+<script>
+   var vNode = {
+        delimiters: ['${', '}'],
+        el: '#v-commit',
+        data: {
+            loading: true,
+            checked: false,
+            showPicker: false,
+            // originPrice: 2,
+            // 价格参数
+            price: 2,
+            grades:0,
+            gradeyear:0,
+            beforeall:0,
+            beforeprice:27999,
+            afterprice:21999,
+            severList:[
+                {listname:'招标订阅推送(可试用7天)'},
+                {listname:'AI中标预测(可试用3个项目)'},
+                {listname:'投标决策分析(可试用10个项目)'},
+                {listname:'潜在竞争对手(可展现7个潜在竞争对手)'},
+                {listname:'潜在客户(可展现7个潜在客户)'}
+            ],
+            edition: [
+                {
+                    setmeal:"试用版",
+                    setmealprice:"¥199"
+                }
+            ],
+
+        },
+        computed: {
+            confirmDisabled: function () {
+                return !this.checked
+            }
+        },
+        created () {
+            var recover = this.recover()
+            if(!recover){
+            }
+        },
+        methods: {
+            recover: function () {
+                var excludeKey = ['sessStorageKey']
+                var $data = sessionStorage.getItem(this.sessStorageKey)
+                if ($data) {
+                    $data = JSON.parse($data)
+                    for (var key in $data) {
+                        if (excludeKey.indexOf(key) !== -1) {
+                            continue
+                        }
+                        this.$data[key] = $data[key]
+                    }
+                    sessionStorage.removeItem(this.sessStorageKey)
+                }
+                return !!$data
+            },
+            onOrder: function (e) {
+                var _this = this
+                var level = 1
+                if(_this.grades == 0){
+                    level = 3
+                }else if(_this.grades == 1){
+                    level = 2
+                }else if(_this.grades == 2){
+                    level = 1
+                }
+                $.ajax({
+                    type:'POST',
+                    url:'/jypay/bigmember/createOrder',
+                    data:{
+                        level:level,
+                        cycle:_this.gradeyear+1
+                    },
+                    success:function(res){
+                        history.replaceState({}, '', '/jyapp/big/page/memberdetail?order_code=' + res.data.order_code);
+                        location.href = '/jyapp/pay/checkout_member?orderCode='+res.data.order_code+'&from=buy';
+                    }
+                })
+            },
+            setStatus:function(){
+                sessionStorage.setItem(this.sessStorageKey, JSON.stringify(this.$data))
+            },
+        }
+    }
+    new Vue(vNode)
+    </script>
+    {{include "/common/baiducc.html"}}
+</body>
+
+</html>

+ 221 - 0
src/jfw/modules/app/src/web/templates/big-member/page_ontrial_landingPage.html

@@ -0,0 +1,221 @@
+<!DOCTYPE html>
+<html lang="zh-CN" style="font-size: 50px;">
+
+<head>
+    <title>剑鱼标讯大会员-试用版</title>
+    <!--引入公共资源头部-->
+    {{include "/big-member/meta.html"}}
+
+    <!--S-当前页必定需要预加载的资源-->
+    <link rel="preload" as="style" href=//cdn.jsdelivr.net/npm/reset-css@4.0.1/reset.min.css />
+    <link rel="preload" as="style" href=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/index.css />
+    <link rel="preload" as="style" href=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/icon/local.css />
+    <link rel="preload" as="style" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/page_ontrial_landingPage.css?v={{Msg "seo" "mod_version"}}'/>
+    <!--E-当前页必定需要预加载的资源-->
+
+
+    <!--S-当前页面的css资源-->
+    <link rel="stylesheet" href=//cdn.jsdelivr.net/npm/reset-css@4.0.1/reset.min.css />
+    <link rel="stylesheet" href=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/index.css />
+    <link rel="stylesheet" href=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/icon/local.css />
+    <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/page_ontrial_landingPage.css?v={{Msg "seo" "mod_version"}}' />
+    <!--E-当前页面的css资源-->
+    <script>
+        try {
+            window.JyObj.hiddenBottom('0')
+        } catch (e) {
+            console.log('error: app not function')
+        }
+    </script>
+</head>
+
+<body>
+    <div class="j-container">
+        {{include "/big-member/header.html"}}
+        <div class="j-main" id="v-commit" ref="my_scroller">
+            <div class="on_header">
+                <img class="on_header_img" src="/jyapp/big-member/image/landpage/ontrial/on_header.png" alt="">
+            </div>
+            <div data-scroll="中标企业预测" class="land_action">
+                <div class="land_head">
+                    <img src="/jyapp/big-member/image/landpage/title01.png" alt="" class="head_big">
+                </div>
+                <div class="land_intro">强大的AI技术,预测项目可能中标的企业。</div>
+                <div class="land_main">
+                    <ul class="landul">
+                        <li class="landlist">
+                            <img src="/jyapp/big-member/image/landpage/zhongbiao/zhongbiao_img.png" alt="" class="land_banner">
+                        </li>
+                    </ul>
+                </div>
+                <div class="land_who" v-if="this.$data.winname==''">谁能中标, 你先知晓!</div>
+                <div class="land_who" v-if="this.$data.winname!==''">#${this.$data.winname}# 中标结果已预测成功</div>
+                <div class="land_buy" >可试用3个项目!</div>
+            </div>
+            <div data-scroll="投标决策分析"  class="land_action">
+                <div class="land_head">
+                    <img src="/jyapp/big-member/image/landpage/title03.png" alt="" class="head_big">
+                </div>
+                <div class="land_intro">通过对类似项目进行多维度分析,帮助企业决策是否投标或合作投标、以及投标报价金额等。</div>
+                <div class="land_main">
+                    <ul class="landul">
+                        <van-swipe :autoplay="3000">
+                            <van-swipe-item v-for="(image, index) in toubiaoImg" :key="index">
+                                <img v-lazy="image" :src="image" />
+                            </van-swipe-item>
+
+                        </van-swipe>
+                    </ul>
+                </div>
+                <div class="land_who">帮你评估投标项目,为投标决策提供客观依据</div>
+                <!-- <div class="land_who">#项目名称# 中标结果已预测成功</div> -->
+                <div class="land_buy" >可试用10个项目!</div>
+            </div>
+            <div data-scroll="更多服务"  class="land_action">
+                <div class="land_head">
+                    <img src="/jyapp/big-member/image/landpage/title07.png" alt="" class="head_big">
+                </div>
+                <!-- <div class="land_intro">全方位监控竞争对手,及时获取企业变动信息,商业情报一手掌控。</div> -->
+                <div class="land_main">
+                    <ul class="landul">
+                        <li class="landlist">
+                            <img src="/jyapp/big-member/image/landpage/ontrial/manysever.png" alt="" class="land_banner">
+                        </li>
+                    </ul>
+                </div>
+            </div>
+        </div>
+        <div class="j-footer">
+            <div class="j-button-footer">
+                <div class="j-button-left">
+                    <a id="run-call-phone" href="tel:400-108-6670" data-phone="400-108-6670" class="j-button-tel j-button call-phone">
+                        <span class="j-icon base-icon icon-phone--gary"></span>
+                        <span class="tel_text">电话咨询</span>
+                    </a>
+                    <div id="run-call-counsel" class="j-button-online j-button custorm">
+                        <span class="j-icon base-icon icon-counsel"></span>
+                        <span class="online_text">在线客服</span>
+                        <span class="noread_msg">9</span>
+                    </div>
+                </div>
+                <div class="j-button-right">
+                    <button class="j-button-buy">
+                        立即试用
+                    </button>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <script rel="preload" as="script" src=//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js> </script>
+    <script rel="preload" as="script" src=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/vant.min.js> </script>
+    <script rel="preload" as="script" src=//cdn.jsdelivr.net/npm/zepto@1.2.0/dist/zepto.min.js> </script>
+    <script src=//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js> </script>
+    <script src=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/vant.min.js> </script>
+    <script src=//cdn.jsdelivr.net/npm/zepto@1.2.0/dist/zepto.min.js> </script>
+    {{include "/big-member/commonjs.html"}}
+    <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/common.js?v={{Msg "seo" "version"}}'></script>
+<script>
+    function mySysIsIos() {
+        //ios终端
+        var flag1 = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
+        var flag2 = !!navigator.userAgent.match(/\(M[^;]+; Intel Mac OS X/);
+        return flag1 || flag2
+
+    }
+   var vNode = {
+        delimiters: ['${', '}'],
+        el: '#v-commit',
+        data: {
+            winname:'', //中标企业名称
+            entname:'',//企业名称
+            purchasename:'',//采购单位名称
+            pagescroll:0,//页面滚动高度
+            active: 0,
+            // 投标轮播图
+            toubiaoImg:[
+                '/jyapp/big-member/image/landpage/toubiao/toubiao1.png',
+                '/jyapp/big-member/image/landpage/toubiao/toubiao2.png',
+                '/jyapp/big-member/image/landpage/toubiao/toubiao3.png',
+                '/jyapp/big-member/image/landpage/toubiao/toubiao4.png',
+                '/jyapp/big-member/image/landpage/toubiao/toubiao5.png',
+                '/jyapp/big-member/image/landpage/toubiao/toubiao6.png'
+            ]
+        },
+        mounted () {
+            window.addEventListener('scroll', this.handleScroll, true)
+            var landinfo = sessionStorage.getItem('landinfo') || false
+            var landentinfo = sessionStorage.getItem('landentinfo') || false
+            var landproinfo = sessionStorage.getItem('landproinfo') || false
+            var recoverInfo = (landproinfo || landinfo || landentinfo)
+            sessionStorage.removeItem('landinfo')
+            sessionStorage.removeItem('landentinfo')
+            sessionStorage.removeItem('landproinfo')
+            if (recoverInfo) {
+                try {
+                    recoverInfo = JSON.parse(recoverInfo)
+                    if (recoverInfo.anchor) {
+                        this.$nextTick(function () {
+                            setTimeout(function () {
+                                document.querySelector('div[data-scroll="'+recoverInfo.anchor+'"]').scrollIntoView({
+                                    block: 'start'
+                                });
+                            }, 200)
+                        })
+                    }
+                    if (landproinfo) {
+                        this.winname = recoverInfo.landname || ''
+                    }
+                    if (landinfo) {
+                        this.purchasename = recoverInfo.landname || ''
+                    }
+                    if(landentinfo) {
+                        this.entname = recoverInfo.landname || ''
+                    }
+                } catch (e) {
+                    console.log('error 还原高度等信息失败')
+                }
+            }
+        },
+        methods: {
+            // 获取页面滚动高度
+            handleScroll:function(){
+                var top = Math.floor($('#v-commit').prop('scrollTop') || document.documentElement.scrollTop || window.pageXOffset)
+                this.pagescroll = top
+            },
+        }
+    }
+    new Vue(vNode)
+    </script>
+    <script>
+        // APP端禁止电话跳转
+        var isApp = false
+        try {
+            JyObj.getVersion()
+            isApp = true
+        } catch (e) {
+            isApp = false
+        }
+        if (isApp) {
+            $('a[data-phone]').attr('href', 'javascript:;')
+        }
+        $(".call-phone").on('click', function () {
+            var phone = $(this).attr('data-phone')
+            console.log(phone)
+            try {
+                JyObj.callPhone(phone);
+            } catch (e) {
+                console.log('error: app call phone')
+            }
+        })
+        $(".custorm").on('click', function () {
+            location.href = "/jyapp/free/customer"
+        })
+        $('.j-button-buy').on('click',function(){
+            location.href = './ontrial_commit'
+        })
+    </script>
+    {{include "/common/baiducc.html"}}
+</body>
+
+</html>

+ 64 - 0
src/jfw/modules/app/src/web/templates/me/mine.html

@@ -182,6 +182,7 @@
                             <span class="label">人工客服</span>
                         </div>
                         <div class="menu_list_right">
+                            <span class="badge-number" style="display: none;"></span>
                             <span class="j-icon base-icon icon-arrow-right"></span>
                         </div>
                     </a>
@@ -243,6 +244,69 @@
             }
         })
     </script>
+    <script>
+        function getOfflineMessageCount () {
+            try {
+                var nowPlatform = 'h5';
+                (function (w, d, e, x) {
+                    w[e] = function () { w.cbk = w.cbk || []; w.cbk.push(arguments); }
+                    x = d.createElement('script');
+                    x.async = true;
+                    x.id = 'zhichiScript';
+                    x.className="zhiCustomBtn";
+                    // wxh5、app、pc
+                    x.src = 'https://' + nowPlatform + '-jianyu.sobot.com/chat/frame/v2/entrance.js?sysnum=9d1e3980f91e4b75b8f04e2d206a4c76';
+                    window.xxx = x
+                    d.body.appendChild(x);
+                })(window, document, 'zc');
+                $.post("/jypay/user/getSimpleData?t="+new Date().getTime(),{},function(r){
+                    console.log(r, 'r')
+                    var ajaxUserInfo = {
+                        headImage: '',
+                        nickName: '默认昵称',
+                        userId: '',
+                    }
+
+                    if (r) {
+                        Object.keys(ajaxUserInfo).forEach(function (v) {
+                            if (r[v] && r[v] !== '') {
+                                ajaxUserInfo[v] = r[v]
+                            }
+                        })
+                    }
+
+                    zc('config', {
+                        custom:true,
+                        top_bar_flag: 0,
+                        auto_expand: false,
+                        show_face: 1,
+                        async: 0,
+                        photo_flag: false,
+                        partnerid: ajaxUserInfo.userId,
+                        face: ajaxUserInfo.headImage
+                    })
+                    console.log('获取未读消息')
+                    zc('receive_message',function(res){
+                        console.log(res, 'res receive_message')
+                    })
+                    zc('zhichiReceive',function(res){
+                        console.log(res, 'res zhichiReceive')
+                    })
+                    zc("offline_message_count",function(res){
+                        console.log(res, 'offline_message_count')
+                        if (res && res.size && res.size > 0) {
+                            $(".badge-number").text(res.size).show()
+                        } else {
+                            $(".badge-number").hide()
+                        }
+                    })
+                })
+            } catch (e) {
+                console.log('error: ',e)
+            }
+        }
+        getOfflineMessageCount()
+    </script>
     <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/me/js/mine.js?v={{Msg "seo" "version"}}"></script>
     {{include "/common/baiducc.html"}}
 </body>

+ 128 - 1
src/jfw/modules/app/src/web/templates/me/notice.html

@@ -15,6 +15,58 @@
             charset="utf-8"></script>
     {{include "/common/js.html"}}
     <title>通知</title>
+    <style>
+        .app-layout-content-b {
+            padding-top: 76px;
+        }
+        .msg-box {
+            position: fixed;
+            top: 21.33333vw;
+            left: 0;
+            width: 100%;
+            z-index: 2;
+            display: flex;
+            flex-direction: row;
+            padding: 16px;
+            box-sizing: border-box;
+            background-color: #fff;
+            min-height: 44px;
+        }
+        .msg-box > img {
+            width: 44px;
+            height: 44px;
+            border-radius: 50%;
+            margin-right: 12px;
+            flex-shrink: 0;
+        }
+        .msg-box .t-b-box {
+            flex: 1;
+            display: flex;
+            flex-direction: column;
+            justify-content: space-between;
+        }
+        .msg-box .content-box {
+            display: flex;
+            flex-direction: row;
+            justify-content: space-between;
+            align-items: center;
+            font-size: 13px;
+            line-height: 20px;
+            color: #5F5E64;
+            height: 100%;
+        }
+        .content-box .highlight-text {
+            font-size: 16px;
+            line-height: 24px;
+            color: #171826;
+        }
+        .content-box .time-text {
+            font-size: 12px;
+            line-height: 18px;
+            text-align: right;
+            color: #9B9CA3;
+        }
+    </style>
 </head>
 <body>
 <!--头部start-->
@@ -24,7 +76,21 @@
     <span></span></div>
 <div class="app-layout-content-b">
     <!--头部end-->
-
+    <!--S-固定客服-->
+    <div class="fixed-box msg-box">
+        <img src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/me/images/logo_work.png?v={{Msg "seo" "version"}}"/>
+        <div class="t-b-box">
+            <div class="content-box">
+                <span class="highlight-text">人工客服</span>
+                <span class="time-text">1天前</span>
+            </div>
+            <div class="content-box">
+                <div class="">消息回复只能显示1行 多了不需要显显显...</div>
+                <div class="badge-number" style="display:none;"></div>
+            </div>
+        </div>
+    </div>
+    <!--E-固定客服-->
     <div class="noticeMain">
         <!--信息空start-->
         <div class="empty">
@@ -47,6 +113,67 @@
             FastClick.attach(document.body);
         }, false);
     }
+    function getOfflineMessageCount () {
+        try {
+            var nowPlatform = 'h5';
+            (function (w, d, e, x) {
+                w[e] = function () { w.cbk = w.cbk || []; w.cbk.push(arguments); }
+                x = d.createElement('script');
+                x.async = true;
+                x.id = 'zhichiScript';
+                x.className="zhiCustomBtn";
+                // wxh5、app、pc
+                x.src = 'https://' + nowPlatform + '-jianyu.sobot.com/chat/frame/v2/entrance.js?sysnum=9d1e3980f91e4b75b8f04e2d206a4c76';
+                window.xxx = x
+                d.body.appendChild(x);
+            })(window, document, 'zc');
+            $.post("/jypay/user/getSimpleData?t="+new Date().getTime(),{},function(r){
+                console.log(r, 'r')
+                var ajaxUserInfo = {
+                    headImage: '',
+                    nickName: '默认昵称',
+                    userId: '',
+                }
+
+                if (r) {
+                    Object.keys(ajaxUserInfo).forEach(function (v) {
+                        if (r[v] && r[v] !== '') {
+                            ajaxUserInfo[v] = r[v]
+                        }
+                    })
+                }
+
+                zc('config', {
+                    custom:true,
+                    top_bar_flag: 0,
+                    auto_expand: false,
+                    show_face: 1,
+                    async: 0,
+                    photo_flag: false,
+                    partnerid: ajaxUserInfo.userId,
+                    face: ajaxUserInfo.headImage
+                })
+                console.log('获取未读消息')
+                zc('receive_message',function(res){
+                    console.log(res, 'res receive_message')
+                })
+                zc('zhichiReceive',function(res){
+                    console.log(res, 'res zhichiReceive')
+                })
+                zc("offline_message_count",function(res){
+                    console.log(res, 'offline_message_count')
+                    if (res && res.size && res.size > 0) {
+                        $(".badge-number").text(res.size).show()
+                    } else {
+                        $(".badge-number").hide()
+                    }
+                })
+            })
+        } catch (e) {
+            console.log('error: ',e)
+        }
+    }
+    getOfflineMessageCount()
 </script>
 <script type="text/javascript">
     localStorage.removeItem("redSpotLastAjaxTime");

+ 35 - 0
src/jfw/modules/bigmember/src/entity/trial.go

@@ -0,0 +1,35 @@
+package entity
+
+import (
+	"db"
+	"log"
+	qutil "qfw/util"
+)
+
+var userC = "user"
+
+func GetUserTrialInfoById(userId string) map[string]interface{} {
+	var res = map[string]interface{}{}
+	userInfo, ok := db.Mgo.FindById(userC, userId, nil)
+	log.Println(userId, "---")
+	if ok && userInfo != nil {
+		//i_member_status:4 正在试用 ;i_member_trial:1是试用过;同时满足:当前试用阶段
+		//member_trial:0:未试用过;1:正在试用;-1:已试用过;
+		res["member_trial"] = 0
+		if (*userInfo)["i_member_trial"] != nil && (*userInfo)["i_member_status"] != nil {
+			if qutil.IntAll((*userInfo)["i_member_status"]) == 4 {
+				res["member_trial"] = 1
+				amounts := db.Mysql.SelectBySql(`SELECT * FROM bigmember_amount a  WHERE a.user_id = '` + userId + `' AND a.user_type = 0`)
+				if amounts != nil && len(*amounts) != 0 {
+					amountInfo := (*amounts)[0]
+					res["forecastwinner_count"] = amountInfo["forecastwinner_count"]
+					res["decision_count"] = amountInfo["decision_count"]
+					res["forecastwinner_used_count"] = amountInfo["forecastwinner_used_count"]
+				}
+			} else {
+				res["member_trial"] = -1
+			}
+		}
+	}
+	return res
+}

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

@@ -9,6 +9,7 @@ import (
 	"service/search"
 	"service/subscribe"
 	"service/test"
+	"service/trial"
 	"service/use"
 
 	"github.com/go-xweb/xweb"
@@ -25,4 +26,5 @@ func init() {
 	xweb.AddAction(&portrait.EntPortrait{})
 	xweb.AddAction(&subscribe.Subscribe{})
 	xweb.AddAction(&report.Report{})
+	xweb.AddAction(&trial.Trial{})
 }

+ 29 - 0
src/jfw/modules/bigmember/src/service/trial/trial.go

@@ -0,0 +1,29 @@
+package trial
+
+import (
+	. "api"
+	"entity"
+	"log"
+	qutil "qfw/util"
+
+	"github.com/go-xweb/xweb"
+)
+
+type Trial struct {
+	*xweb.Action
+	userInfo xweb.Mapper `xweb:"/trial/userInfo"` //用户试用信息
+}
+
+//
+func (this *Trial) UserInfo() {
+	defer qutil.Catch()
+	userId := qutil.ObjToString(this.GetSession("userId"))
+	rData, errMsg := func() (interface{}, error) {
+		info := entity.GetUserTrialInfoById(userId)
+		return info, nil
+	}()
+	if errMsg != nil {
+		log.Printf("%s   获取用户信息出错-%s", userId, errMsg)
+	}
+	this.ServeJson(NewResult(rData, errMsg))
+}