Ver Fonte

wesmiler 更新第5期更新代码合并

wesmiler há 5 anos atrás
pai
commit
f88a91a41b
36 ficheiros alterados com 6486 adições e 9716 exclusões
  1. 1 1
      app/api/controller/AccountController.php
  2. 0 0
      app/api/controller/MarketBaseController.php
  3. 1 1
      app/api/controller/MarketController.php
  4. 1609 1609
      app/api/controller/MemberController.php
  5. 1 1
      app/api/controller/SmsController.php
  6. 1 1
      app/weixin/controller/ActivityController.php
  7. 1 1
      app/weixin/controller/IndexController.php
  8. 1 1
      app/weixin/controller/MemberController.php
  9. 0 0
      app/weixin/model/Advice.php
  10. 0 0
      app/weixin/model/Complain.php
  11. 2182 2182
      app/weixin/model/Member.php
  12. 0 0
      app/weixin/model/UserRechargeLog.php
  13. 1 1
      app/weixin/model/Wechat.php
  14. 0 0
      app/weixin/model/WechatBack.php
  15. 2 2
      app/weixin/service/Award.php
  16. 307 308
      app/weixin/service/Member.php
  17. 0 0
      public/themes/default/manifest.json
  18. BIN
      public/themes/default/weixin.zip
  19. 107 107
      public/themes/default/weixin/match/index.html
  20. 0 0
      public/themes/default/weixin/member/advice.html
  21. 0 0
      public/themes/default/weixin/member/complain.html
  22. 0 0
      public/themes/default/weixin/member/complain_submit.html
  23. 0 0
      public/themes/default/weixin/public/assets/css/advice.css
  24. 0 0
      public/themes/default/weixin/public/assets/css/complain-submit.css
  25. 0 0
      public/themes/default/weixin/public/assets/css/complain.css
  26. 430 430
      public/themes/default/weixin/public/assets/css/entry.css
  27. 0 1
      public/themes/default/weixin/public/assets/css/market-entry.css
  28. 428 428
      public/themes/default/weixin/public/assets/css/match.css
  29. 0 0
      public/themes/default/weixin/public/assets/img/advice.png
  30. 0 0
      public/themes/default/weixin/public/assets/img/location.png
  31. 0 0
      public/themes/default/weixin/public/assets/img/user_black.png
  32. 796 796
      public/themes/default/weixin/public/assets/js/entry.js
  33. 2 2
      public/themes/default/weixin/public/assets/js/hearts.js
  34. 615 359
      public/themes/default/weixin/public/assets/js/match_back.js
  35. 1 1
      public/themes/default/weixin/public/assets/js/privacy.js
  36. 0 3484
      sgds.sql

+ 1 - 1
app/api/controller/AccountController.php

@@ -122,7 +122,7 @@ class AccountController extends BaseController
         $pageSize = input('pageSize',20);
         $type = input('type',0);
         $params['type'] = $type && $type != '全部'? $type : 'income';
-        $params['user_id'] = $this->userId==102712? 12022 : $this->userId;
+        $params['user_id'] = $this->userId;
         $dataList = Member::getBalanceLog($params, $pageSize);
         showJson(1005,1001, $dataList);
     }

+ 0 - 0
app/api/controller/MarketBaseController.php


+ 1 - 1
app/api/controller/MarketController.php

@@ -247,7 +247,7 @@ class MarketController extends MarketBaseController
             if ($avatar) {
                 $memberData['avatar'] = $avatar;
             }
-
+           
             if (!$agentId) {
                 $res = $agentId = Member::insertGetId($memberData);
             } else {

Diff do ficheiro suprimidas por serem muito extensas
+ 1609 - 1609
app/api/controller/MemberController.php


+ 1 - 1
app/api/controller/SmsController.php

@@ -33,7 +33,7 @@ class SmsController extends HomeBaseController
             case 'code': // 完善信息注册
             case 'reg':  // 账号注册
                 $id = Member::where(['mobile' => $mobile])
-                    ->where(function($query) {
+                	->where(function($query) {
                         $query->where(['agent_type'=> 0])->whereOr(['agent_type'=> 1, 'is_reg_profile'=> 1]);
                     })
                     ->where('user_status','>=',0)

+ 1 - 1
app/weixin/controller/ActivityController.php

@@ -27,7 +27,7 @@ class ActivityController extends BaseController
      * @return mixed
      */
     public function book(){
-        $sid = input('sid', 0);
+    	$sid = input('sid', 0);
         if($sid){
             session('sid', input('sid', 0));
         }

+ 1 - 1
app/weixin/controller/IndexController.php

@@ -35,7 +35,7 @@ class IndexController extends BaseController
         $needRegProfile = session('needRegProfile');
         $isRegProfile = Member::where(['id'=> $this->userId])->value('is_reg_profile');
         if($isRegProfile == 1 || $needRegProfile==false){
-            Wechat::redirectUrl(url('/weixin/match/index','','',true));
+           Wechat::redirectUrl(url('/weixin/match/index','','',true));
         }
         
         return $this->fetch('entry');

+ 1 - 1
app/weixin/controller/MemberController.php

@@ -71,7 +71,7 @@ class MemberController extends BaseController
      */
     public function home()
     {
-        $sid = input('sid', 0);
+    	$sid = input('sid', 0);
         if($sid){
             session('sid', input('sid', 0));
         }

+ 0 - 0
app/weixin/model/Advice.php


+ 0 - 0
app/weixin/model/Complain.php


Diff do ficheiro suprimidas por serem muito extensas
+ 2182 - 2182
app/weixin/model/Member.php


+ 0 - 0
app/weixin/model/UserRechargeLog.php


+ 1 - 1
app/weixin/model/Wechat.php

@@ -369,7 +369,7 @@ class Wechat
                     PRedis::set("token:error", ['error'=> 'token请求次数超出警告值8000:'.date('Y-m-d H:i:s'),'date'=> date('Y-m-d H:i:s')], 7 * 24 *3600);
                     return false;
                 }
-                PRedis::set($countKey, $requestCount+1, 300);
+                PRedis::set($countKey, $requestCount+1, 600);
             }
 
             $tokenData = httpRequest($url);

+ 0 - 0
app/weixin/model/WechatBack.php


+ 2 - 2
app/weixin/service/Award.php

@@ -120,7 +120,7 @@ class Award
         $nickname = $nickname? $nickname : formatName($userLogin);
         $logData['userInfo'] = $userInfo;
         if (empty($userInfo)) {
-            $logData['error'] = '审核用户信息不存在';
+        	$logData['error'] = '审核用户信息不存在';
             PRedis::set("{$cacheKey}:error_user", $logData, 7200);
             return false;
         }
@@ -135,7 +135,7 @@ class Award
         // 旧用户不结算
         $createTime = isset($sourceInfo['create_time'])? $sourceInfo['create_time'] : 0;
         if ($createTime && $createTime <= strtotime('2021-02-23')) {
-            $logData['error'] = '注册时间不在结算范围内';
+        	$logData['error'] = '审核用户注册时间不在结算范围内';
             PRedis::set("{$cacheKey}:error_user_reg_time", $logData, 7200);
             return false;
         }

+ 307 - 308
app/weixin/service/Member.php

@@ -1,309 +1,308 @@
-<?php
-/**
- * 会员服务
- */
-
-namespace app\weixin\service;
-
-use app\weixin\model\AccountLog;
-use app\weixin\model\Complain;
-use app\weixin\model\UserBalanceLog;
-use app\weixin\model\UserProfile;
-use app\weixin\model\Member as MemberModel;
-use app\weixin\model\Wechat;
-use think\Db;
-
-class Member
-{
-    /**
-     * 会员信息认证审核
-     * @param $userId 用户ID
-     * @param $status 审核状态:2-成功,3-失败
-     * @param string $scene 审核类型:idcard-身份证,education-学历,position-职业/工作
-     * @param string $failRemark 审核失败原因
-     * @return array|int
-     */
-    public static function checkAuth($userId, $status, $scene='idcard', $failRemark=''){
-        try {
-            // 验证认证信息是否存在
-            $field = 'id,userid,idcard,idcard_check,education_check,position_check';
-            $info = UserProfile::getInfo(['userid'=> $userId],$field);
-            if(empty($info)){
-                return 2122;
-            }
-
-            if(!in_array($status, [2,3])){
-                return 2127;
-            }
-
-            //var_dump($info);
-
-            // 审核处理
-            $sceneNames = ['idcard'=>'身份证','education'=> '学历','position'=> '工作'];
-            switch($scene){
-                case 'idcard':  // 身份认证审核
-                    // 验证状态
-                    $idcardCheck = isset($info['idcard_check'])? intval($info['idcard_check']) : 0;
-                    if($idcardCheck != 0 && $idcardCheck != 1 && $status == 2){
-                        return 2123;
-                    }
-
-                    $data = [
-                        'idcard_check'=> $status,
-                        'idcard_fail'=> $failRemark? trim($failRemark) : '',
-                    ];
-                    break;
-                case 'education':  // 学历认证审核
-                    // 验证状态
-                    $educationCheck = isset($info['education_check'])? intval($info['education_check']) : 0;
-                    if($educationCheck != 0 && $educationCheck != 1 && $status == 2){
-                        return 2123;
-                    }
-
-                    $data = [
-                        'education_check'=> $status,
-                        'education_fail'=> $failRemark? trim($failRemark) : '',
-                    ];
-                    break;
-                case 'position':  // 工作认证审核
-                    // 验证状态
-                    $positionCheck = isset($info['position_check'])? intval($info['position_check']) : 0;
-                    if($positionCheck != 0 && $positionCheck != 1 && $status == 2){
-                        return 2123;
-                    }
-
-                    $data = [
-                        'position_check'=> $status,
-                        'position_fail'=> $failRemark? trim($failRemark) : '',
-                    ];
-                    break;
-                default:
-                    return 2126;
-                    break;
-            }
-
-            // 更新数据处理
-            Db::startTrans();
-            if(!UserProfile::saveData(['userid'=> $userId], $data)){
-                Db::rollback();
-                return 2125;
-            }
-
-            // 审核通过奖励处理
-            $remark = '';
-            $sceneName = isset($sceneNames[$scene])? $sceneNames[$scene] : '信息';
-            $field = 'id,openid,user_nickname,real_name,redheart';
-            $memberInfo = MemberModel::getInfo(['id'=> $userId], $field);
-            if($status == 2){
-
-                // 身份认证更新生日
-                $idcard = isset($info['idcard'])? trim($info['idcard']) : '';
-                if($scene == 'idcard' && $idcard){
-                    $birthday = substr($idcard, 6,8);
-                    $birthday = substr($birthday,0,4).'-'.substr($birthday,4,2).'-'.substr($birthday,6,2);
-                    $birthday = $birthday? strtotime($birthday) : 0;
-                    if($birthday){
-                        MemberModel::saveData(['id'=> $userId], ['birthday'=> $birthday]);
-                    }
-                }
-
-                $siteInfo = cmf_get_site_info();
-                $awardNum = isset($siteInfo[$scene.'_award_redheart'])? intval($siteInfo[$scene.'_award_redheart']) : 0;
-                if($awardNum){
-                    $redheart = isset($memberInfo['redheart'])? intval($memberInfo['redheart']) : 0;
-                    if(!MemberModel::saveData(['id'=> $userId], ['redheart'=> intval($redheart + $awardNum)])){
-                        Db::rollback();
-                        return 2125;
-                    }
-
-                    // 账户明细
-                    $remark = "{$sceneName}认证成功奖励{$awardNum}个爱心";
-                    $accountData = [
-                        'type' => 4,
-                        'account_type' => 1,
-                        'change_type' => 1,
-                        'user_id' => $userId,
-                        'money' => $awardNum,
-                        'balance' => $redheart,
-                        'created_at' => date('Y-m-d H:i:s'),
-                        'remark' => "{$sceneName}认证成功奖励{$awardNum}个爱心",
-                    ];
-                    AccountLog::insertGetId($accountData);
-                }
-            }
-
-
-            Db::commit();
-
-            // 推送审核信息
-            $openid = isset($memberInfo['openid'])? $memberInfo['openid'] : '';
-            if ($openid) {
-                $realname = isset($memberInfo['real_name']) ? $memberInfo['real_name'] : '';
-                $checkTime = date('Y.m.d H:i');
-                $remark = $status==2? "感谢您的使用,点击进入公众号,遇见一段爱情!" : '请修改后重新提交';
-                $params = [
-                    'title' => $status==2? "恭喜!您的{$sceneName}认证已经通过审核!\n\n审核时间:\t{$checkTime}" : $failRemark."\n\n审核时间:\t{$checkTime}",
-                    'remark' => $remark,
-                    'type' => 'auth',
-                    'keywords' => [
-                        /*'keyword1' => [
-                            'value' => $realname,
-                            'color' => '#173177',
-                        ],*/
-                        'keyword1' => [
-                            'value' => "{$sceneName}认证",
-                            'color' => '#173177',
-                        ],
-                        'keyword2' => [
-                            'value' => $status==2? '审核通过' : '认证失败',
-                            'color' => '#173177',
-                        ],
-                    ],
-                    'url' => $status==2? url('/weixin/match/index', '', '', true) : url('/weixin/auth/' . $scene, '', '', true),
-                ];
-                PRedis::set('auths:message:u_'.$userId, ['result' => $memberInfo, 'params' => $params], 600);
-                Wechat::sendTplMsg($openid, $params);
-            }
-
-            // 认证分销收益结算
-            $inviteInfo = MemberModel::getInviteInfo($userId);
-            $inviteId = isset($inviteInfo['invite_id'])? $inviteInfo['invite_id'] : 0;
-            if($inviteInfo && $inviteId>0 && $status == 2){
-                PRedis::set('markets:auth:entry:' . $scene.'_'.$userId, ['inviteInfo'=> $inviteInfo, 'memberInfo' => $memberInfo], 7200);
-
-                $types = ['idcard'=> 5, 'education'=> 6, 'position'=> 7];
-                $type = isset($types[$scene])? $types[$scene] : 0;
-                if($type && !UserBalanceLog::checkHasMarket($inviteId, $userId, $type)){
-
-                    Award::marketAward($inviteId, $userId, $type);
-                }
-            }
-
-            return ['id'=> $userId];
-        } catch (\Exception $exception){
-            // var_dump($exception);
-            return 1015;
-        }
-    }
-
-    /**
-     * 投诉用户审核奖励
-     * @param $userId 举报用户ID
-     * @param array $info 举报数据:至少含举报用户、被举报用户、举报类型、举报内容、举报时间
-     * @return array|false
-     * @throws \think\Exception
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\ModelNotFoundException
-     * @throws \think\exception\DbException
-     * @throws \think\exception\PDOException
-     */
-    public static function checkComplain($userId, $info = [])
-    {
-        $cid = isset($info['id'])? $info['id'] : 0;
-        if(empty($cid) || Complain::where(['id'=> $cid])->value('status') != 1){
-            return false;
-        }
-
-        $userInfo = MemberModel::where(['id' => $userId, 'user_status' => 1])
-            ->field('id,user_login,user_nickname,openid,redheart')
-            ->find();
-
-        $nickname = isset($userInfo['user_nickname']) ? $userInfo['user_nickname'] : '';
-        $redheart = isset($userInfo['redheart']) ? floatval($userInfo['redheart']) : 0;
-        if (empty($userInfo)) {
-            return false;
-        }
-
-        $siteInfo = cmf_get_site_info();
-        $awardNum = isset($siteInfo['complain_award_redheart']) ? intval($siteInfo['complain_award_redheart']) : 0;
-        if ($awardNum > 0) {
-            $cuid = isset($info['c_uid'])? $info['c_uid'] : 0;
-            $cUserInfo = MemberModel::alias('u')
-                ->leftJoin('sg_user_profile sp','sp.userid=u.id')
-                ->where(['u.id' => $cuid, 'u.user_status' => 1])
-                ->field('u.id,u.openid,u.user_login,u.user_nickname,u.openid,u.redheart,sp.wechat_code')
-                ->find();
-            if (empty($cUserInfo)){
-                return false;
-            }
-
-            // 更新状态
-            //Complain::where(['id'=> $cid])->update(['status'=> 2]);
-            //Db::startTrans();
-            // 冻结被举报用户,2021,加多一个字段,顺便放入冻结选项
-            $freezing = isset($info['remark'])? $info['remark'] : '被人举报';
-            $freezingChoose = isset($info['freezing_choose'])? $info['freezing_choose'] : '';
-            $result1=MemberModel::where(['id'=> $cuid,'user_type'=> 2])->update(['user_status'=> 0,'freezing'=> $freezing,'freezing_choose'=>$freezingChoose]);
-
-            // 奖励入账
-            $result2= MemberModel::where(['id' => $userId])->update(['redheart' => moneyFormat($redheart + $awardNum), 'updated_at' => date('Y-m-d H:i:s')]);
-            // echo $cuid.'::'.$userId;die();
-            // 账户明细
-            $dateTime = date('Y-m-d H:i:s');
-            $cNickname = isset($cUserInfo['user_nickname']) ? $cUserInfo['user_nickname'] : '';
-            $logData = [
-                'user_id' => $userId,
-                'type' => 4,
-                'account_type' => 1,
-                'change_type' => 1,
-                'money' => $awardNum,
-                'balance' => $redheart,
-                'remark' => "举报用户[ID:$cuid],昵称[{$cNickname}]审核通过奖励",
-                'created_at' => $dateTime,
-            ];
-
-            $result3=db('account_log')->insertGetId($logData);
-            //if($result1 && $result2 && $result3){Db::commit();}else{Db::rollback();}
-            // 发送模板消息给举报用户
-            $openid = isset($userInfo['openid'])? $userInfo['openid'] : '';
-            if($openid){
-                $wechatCode = isset($cUserInfo['wechat_code'])? $cUserInfo['wechat_code'] : '暂无';
-                $params = [
-                    'title' => "尊敬的{$nickname}用户,您举报的用户经平台核实已审核通过,请谨慎与该用户联系\n\n被举报用户:\t{$cNickname}(昵称)\n\n对方微信号: \t{$wechatCode}\n\n申请时间:\t{$dateTime}",
-                    'remark' => "脱单需主动,交友需谨慎!",
-                    'type' => 'confirm',
-                    'keywords' => [
-                        'keyword1' => [
-                            'value' => '举报用户',
-                            'color' => '#173177',
-                        ],
-                        'keyword2' => [
-                            'value' => '已审核',
-                            'color' => '#173177',
-                        ],
-                    ],
-                ];
-
-                Wechat::sendTplMsg($openid, $params);
-            }
-
-            // 被举报用户通知
-            $cOpenid = isset($cUserInfo['openid'])? $cUserInfo['openid'] : '';
-            $cnickname = isset($cUserInfo['user_nickname'])? $cUserInfo['user_nickname'] : '';
-            if($cOpenid){
-                $params = [
-                    'title' => "尊敬的{$cnickname}用户,由于您的账号被多人举报经平台已经将您的账号冻结,若有疑问请联系平台客服\n\n举报原因:\t{$freezing}",
-                    'remark' => "脱单需主动,交友需真诚!",
-                    'type' => 'confirm',
-                    'keywords' => [
-                        'keyword1' => [
-                            'value' => '举报反馈',
-                            'color' => '#173177',
-                        ],
-                        'keyword2' => [
-                            'value' => '已审核',
-                            'color' => '#173177',
-                        ],
-                    ],
-                ];
-
-                Wechat::sendTplMsg($cOpenid, $params);
-            }
-
-            return true;
-        }
-
-        return false;
-    }
-
+<?php
+/**
+ * 会员服务
+ */
+
+namespace app\weixin\service;
+
+use app\weixin\model\AccountLog;
+use app\weixin\model\Complain;
+use app\weixin\model\UserBalanceLog;
+use app\weixin\model\UserProfile;
+use app\weixin\model\Member as MemberModel;
+use app\weixin\model\Wechat;
+use think\Db;
+
+class Member
+{
+    /**
+     * 会员信息认证审核
+     * @param $userId 用户ID
+     * @param $status 审核状态:2-成功,3-失败
+     * @param string $scene 审核类型:idcard-身份证,education-学历,position-职业/工作
+     * @param string $failRemark 审核失败原因
+     * @return array|int
+     */
+    public static function checkAuth($userId, $status, $scene='idcard', $failRemark=''){  
+        try {
+            // 验证认证信息是否存在
+            $field = 'id,userid,idcard,idcard_check,education_check,position_check';
+            $info = UserProfile::getInfo(['userid'=> $userId],$field);
+            if(empty($info)){
+                return 2122;
+            }
+
+            if(!in_array($status, [2,3])){
+                return 2127;
+            }
+
+            //var_dump($info);
+
+            // 审核处理
+            $sceneNames = ['idcard'=>'身份证','education'=> '学历','position'=> '工作'];
+            switch($scene){
+                case 'idcard':  // 身份认证审核
+                    // 验证状态
+                    $idcardCheck = isset($info['idcard_check'])? intval($info['idcard_check']) : 0;
+                    if($idcardCheck != 0 && $idcardCheck != 1 && $status == 2){
+                        return 2123;
+                    }
+
+                    $data = [
+                        'idcard_check'=> $status,
+                        'idcard_fail'=> $failRemark? trim($failRemark) : '',
+                    ];
+                    break;
+                case 'education':  // 学历认证审核
+                    // 验证状态
+                    $educationCheck = isset($info['education_check'])? intval($info['education_check']) : 0;
+                    if($educationCheck != 0 && $educationCheck != 1 && $status == 2){
+                        return 2123;
+                    }
+
+                    $data = [
+                        'education_check'=> $status,
+                        'education_fail'=> $failRemark? trim($failRemark) : '',
+                    ];
+                    break;
+                case 'position':  // 工作认证审核
+                    // 验证状态
+                    $positionCheck = isset($info['position_check'])? intval($info['position_check']) : 0;
+                    if($positionCheck != 0 && $positionCheck != 1 && $status == 2){
+                        return 2123;
+                    }
+
+                    $data = [
+                        'position_check'=> $status,
+                        'position_fail'=> $failRemark? trim($failRemark) : '',
+                    ];
+                    break;
+                default:
+                    return 2126;
+                    break;
+            }
+
+            // 更新数据处理
+            Db::startTrans();
+            if(!UserProfile::saveData(['userid'=> $userId], $data)){
+                Db::rollback();
+                return 2125;
+            }
+
+            // 审核通过奖励处理
+            $remark = '';
+            $sceneName = isset($sceneNames[$scene])? $sceneNames[$scene] : '信息';
+            $field = 'id,openid,user_nickname,real_name,redheart';
+            $memberInfo = MemberModel::getInfo(['id'=> $userId], $field);
+            if($status == 2){
+
+                // 身份认证更新生日
+                $idcard = isset($info['idcard'])? trim($info['idcard']) : '';
+                if($scene == 'idcard' && $idcard){
+                    $birthday = substr($idcard, 6,8);
+                    $birthday = substr($birthday,0,4).'-'.substr($birthday,4,2).'-'.substr($birthday,6,2);
+                    $birthday = $birthday? strtotime($birthday) : 0;
+                    if($birthday){
+                        MemberModel::saveData(['id'=> $userId], ['birthday'=> $birthday]);
+                    }
+                }
+
+                $siteInfo = cmf_get_site_info();
+                $awardNum = isset($siteInfo[$scene.'_award_redheart'])? intval($siteInfo[$scene.'_award_redheart']) : 0;
+                if($awardNum){
+                    $redheart = isset($memberInfo['redheart'])? intval($memberInfo['redheart']) : 0;
+                    if(!MemberModel::saveData(['id'=> $userId], ['redheart'=> intval($redheart + $awardNum)])){
+                        Db::rollback();
+                        return 2125;
+                    }
+
+                    // 账户明细
+                    $remark = "{$sceneName}认证成功奖励{$awardNum}个爱心";
+                    $accountData = [
+                        'type' => 4,
+                        'account_type' => 1,
+                        'change_type' => 1,
+                        'user_id' => $userId,
+                        'money' => $awardNum,
+                        'balance' => $redheart,
+                        'created_at' => date('Y-m-d H:i:s'),
+                        'remark' => "{$sceneName}认证成功奖励{$awardNum}个爱心",
+                    ];
+                    AccountLog::insertGetId($accountData);
+                }
+            }
+
+
+            Db::commit();
+
+            // 推送审核信息
+            $openid = isset($memberInfo['openid'])? $memberInfo['openid'] : '';
+            if ($openid) {
+                $realname = isset($memberInfo['real_name']) ? $memberInfo['real_name'] : '';
+                $checkTime = date('Y.m.d H:i');
+                $remark = $status==2? "感谢您的使用,点击进入公众号,遇见一段爱情!" : '请修改后重新提交';
+                $params = [
+                    'title' => $status==2? "恭喜!您的{$sceneName}认证已经通过审核!\n\n审核时间:\t{$checkTime}" : $failRemark."\n\n审核时间:\t{$checkTime}",
+                    'remark' => $remark,
+                    'type' => 'auth',
+                    'keywords' => [
+                        /*'keyword1' => [
+                            'value' => $realname,
+                            'color' => '#173177',
+                        ],*/
+                        'keyword1' => [
+                            'value' => "{$sceneName}认证",
+                            'color' => '#173177',
+                        ],
+                        'keyword2' => [
+                            'value' => $status==2? '审核通过' : '认证失败',
+                            'color' => '#173177',
+                        ],
+                    ],
+                    'url' => $status==2? url('/weixin/match/index', '', '', true) : url('/weixin/auth/' . $scene, '', '', true),
+                ];
+                PRedis::set('auths:message:u_'.$userId, ['result' => $memberInfo, 'params' => $params], 600);
+                Wechat::sendTplMsg($openid, $params);
+            }
+
+            // 认证分销收益结算
+            $inviteInfo = MemberModel::getInviteInfo($userId);
+            $inviteId = isset($inviteInfo['invite_id'])? $inviteInfo['invite_id'] : 0;
+            if($inviteInfo && $inviteId>0 && $status == 2){
+                PRedis::set('markets:auth:entry:' . $scene.'_'.$userId, ['inviteInfo'=> $inviteInfo, 'memberInfo' => $memberInfo], 7200);
+
+                $types = ['idcard'=> 5, 'education'=> 6, 'position'=> 7];
+                $type = isset($types[$scene])? $types[$scene] : 0;
+                if($type && !UserBalanceLog::checkHasMarket($inviteId, $userId, $type)){
+
+                    Award::marketAward($inviteId, $userId, $type);
+                }
+            }
+
+            return ['id'=> $userId];
+        } catch (\Exception $exception){
+            // var_dump($exception);
+            return 1015;
+        }
+    }
+
+    /**
+     * 投诉用户审核奖励
+     * @param $userId 举报用户ID
+     * @param array $info 举报数据:至少含举报用户、被举报用户、举报类型、举报内容、举报时间
+     * @return array|false
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public static function checkComplain($userId, $info = [])
+    {   
+        $cid = isset($info['id'])? $info['id'] : 0;
+        if(empty($cid) || Complain::where(['id'=> $cid])->value('status') != 1){
+            return false;
+        }
+
+        $userInfo = MemberModel::where(['id' => $userId, 'user_status' => 1])
+            ->field('id,user_login,user_nickname,openid,redheart')
+            ->find();
+
+        $nickname = isset($userInfo['user_nickname']) ? $userInfo['user_nickname'] : '';
+        $redheart = isset($userInfo['redheart']) ? floatval($userInfo['redheart']) : 0;
+        if (empty($userInfo)) {
+            return false;
+        }
+
+        $siteInfo = cmf_get_site_info();
+        $awardNum = isset($siteInfo['complain_award_redheart']) ? intval($siteInfo['complain_award_redheart']) : 0;
+        if ($awardNum > 0) { 
+            $cuid = isset($info['c_uid'])? $info['c_uid'] : 0;
+            $cUserInfo = MemberModel::alias('u')
+                ->leftJoin('sg_user_profile sp','sp.userid=u.id')
+                ->where(['u.id' => $cuid, 'u.user_status' => 1])
+                ->field('u.id,u.openid,u.user_login,u.user_nickname,u.openid,u.redheart,sp.wechat_code')
+                ->find();
+            if (empty($cUserInfo)){
+                return false;
+            }
+
+            // 更新状态
+            //Complain::where(['id'=> $cid])->update(['status'=> 2]);
+            //Db::startTrans();
+            // 冻结被举报用户,2021,加多一个字段,顺便放入冻结选项
+            $freezing = isset($info['remark'])? $info['remark'] : '被人举报';
+            $result1=MemberModel::where(['id'=> $cuid,'user_type'=> 2])->update(['user_status'=> 0,'freezing'=> $freezing,'freezing_choose'=>$info['freezing_choose']]);
+
+            // 奖励入账
+           $result2= MemberModel::where(['id' => $userId])->update(['redheart' => moneyFormat($redheart + $awardNum), 'updated_at' => date('Y-m-d H:i:s')]);
+           // echo $cuid.'::'.$userId;die();
+            // 账户明细
+            $dateTime = date('Y-m-d H:i:s');
+            $cNickname = isset($cUserInfo['user_nickname']) ? $cUserInfo['user_nickname'] : '';
+            $logData = [
+                'user_id' => $userId,
+                'type' => 4,
+                'account_type' => 1,
+                'change_type' => 1,
+                'money' => $awardNum,
+                'balance' => $redheart,
+                'remark' => "举报用户[ID:$cuid],昵称[{$cNickname}]审核通过奖励",
+                'created_at' => $dateTime,
+            ];
+
+            $result3=db('account_log')->insertGetId($logData);
+            //if($result1 && $result2 && $result3){Db::commit();}else{Db::rollback();}
+            // 发送模板消息给举报用户
+            $openid = isset($userInfo['openid'])? $userInfo['openid'] : '';
+            if($openid){
+                $wechatCode = isset($cUserInfo['wechat_code'])? $cUserInfo['wechat_code'] : '暂无';
+                $params = [
+                    'title' => "尊敬的{$nickname}用户,您举报的用户经平台核实已审核通过,请谨慎与该用户联系\n\n被举报用户:\t{$cNickname}(昵称)\n\n对方微信号: \t{$wechatCode}\n\n申请时间:\t{$dateTime}",
+                    'remark' => "脱单需主动,交友需谨慎!",
+                    'type' => 'confirm',
+                    'keywords' => [
+                        'keyword1' => [
+                            'value' => '举报用户',
+                            'color' => '#173177',
+                        ],
+                        'keyword2' => [
+                            'value' => '已审核',
+                            'color' => '#173177',
+                        ],
+                    ],
+                ];
+
+                Wechat::sendTplMsg($openid, $params);
+            }
+
+            // 被举报用户通知
+            $cOpenid = isset($cUserInfo['openid'])? $cUserInfo['openid'] : '';
+           $cnickname = isset($cUserInfo['user_nickname'])? $cUserInfo['user_nickname'] : '';
+            if($cOpenid){
+                $params = [
+                    'title' => "尊敬的{$cnickname}用户,由于您的账号被多人举报经平台已经将您的账号冻结,若有疑问请联系平台客服\n\n举报原因:\t{$freezing}",
+                    'remark' => "脱单需主动,交友需真诚!",
+                    'type' => 'confirm',
+                    'keywords' => [
+                        'keyword1' => [
+                            'value' => '举报反馈',
+                            'color' => '#173177',
+                        ],
+                        'keyword2' => [
+                            'value' => '已审核',
+                            'color' => '#173177',
+                        ],
+                    ],
+                ];
+
+                Wechat::sendTplMsg($cOpenid, $params);
+            }
+
+            return true;
+        }
+
+        return false;
+    }
+
 }

+ 0 - 0
public/themes/default/manifest.json


BIN
public/themes/default/weixin.zip


+ 107 - 107
public/themes/default/weixin/match/index.html

@@ -1,107 +1,107 @@
-<include file="weixin@block:header"/>
-<title>推荐</title>
-<link rel="stylesheet" href="__TMPL__/weixin/public/assets/css/swiper.min.css?v={$version}">
-<link rel="stylesheet" href="__TMPL__/weixin/public/assets/css/match.css?v={$version}">
-<div id="app" v-cloak>
-    <div :class="!hasFollow? 'top_lieb hasFollow' : 'top_lieb'">
-        <ul>
-            <li class="active"><h1><a href="/weixin/match/index?rs=1">单身推荐</a></h1></li>
-            <li><h1><a href="/weixin/match/hearts">怦然心动</a></h1></li>
-            <span class="filter" @click="showFilterBox=showFilterBox?false : true"><img src="__TMPL__/weixin/public/assets/img/search.png"></span>
-        </ul>
-    </div>
-    <div class="followTips" v-if="hasFollow==0">关注拾光公众号,接收微信申请和结果反馈<a @click="showFollow()">立即关注</a><span @click="hasFollow=true">x</span></div>
-    <div :class="'box'+(!hasFollow? ' has' : '')">
-        <div id="recommends" class="recommend-box">
-            <div class="tips" v-if="tipsArr.length>0">
-                <a href="/weixin/member/complain"><span></span></a>
-            </div>
-            <div class="join"><a href="/weixin/activity/book?id=15">我要推荐</a></div>
-            <div v-if="total<=0" class="empty recommends"><span>暂无数据</span></div>
-            <div v-show="total>0" class="swiper-container recommends">
-                <div class="swiper-wrapper ">
-                    <div class="swiper-slide" v-for="(item,k) in dataList" @click="goDetail(item.id)" :key="k">
-                        <div class="info-box" :id="'list_'+item.id">
-                            <div class="info">
-                                <img class="avatar" :src="item.avatar">
-                                <div class="td_xix">
-                                    <h1>
-                                        <span class="nickname" v-text="item.user_nickname"></span>
-                                        <i v-if="item.idcard_check==2 || item.education_check==2 || item.position_check==2" class="auth" @click.stop="showAuth(item)"><img src="/themes/default/weixin/public/assets/img/auth.png" width="28" height="28"></i>
-<!--                                        <i v-if="item.vip_auth" class="vip-auth"><img  src="/themes/default/weixin/public/assets/img/vip-auth.png" width="24" height="24"><span>已认证</span></i>-->
-                                        <span class="pics"><img src="/themes/default/weixin/public/assets/img/pic.png">{{item.pic_count}}</span>
-                                    </h1>
-                                    <p class="location" v-if="item.distance!=''">距离你 {{item.distance}}{{item.district? '·'+item.district : ''}}</p>
-                                    <p><span v-text="item.birthday_day?item.birthday_day+' | ':''"></span><span
-                                            v-text="item.height_txt?item.height_txt+' | ':''"></span><span
-                                            v-text="item.education_txt? item.education_txt+'|':''"></span><span v-text="item.occupation"></span></p>
-                                    <p><span v-text="item.city? '现居'+item.city : ''"></span><span v-text="item.home_province? '·'+item.home_province+'人' : ''"></span>
-                                    </p>
-                                </div>
-                            </div>
-                            <!--<div class="desc">
-                                <p v-html="item.introduce? item.introduce: '这个人很懒,什么也没留下~'"></p>
-                            </div>-->
-                            <div class="down-more" v-if="(k+1) == dataList.length" @click.stop="loadMore()">
-                                <span ><img src="/themes/default/weixin/public/assets/img/down.png" width="36" height="36"></span>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div v-if="status.loaded" class="loaded">
-                已加载完全部
-            </div>
-        </div>
-        <div :class="!hasFollow? 'filterBox has' : 'filterBox'" v-if="showFilterBox">
-            <div class="prxd_box">
-                <ul>
-                    <li>
-                        <div class="prxd_bt"><h1>你希望Ta的年龄是</h1></div>
-                        <div class="prxd_nr">
-                            <h1>年龄</h1>
-                            <img class="minzu" src="__TMPL__/weixin/public/assets/img/tubiao35.png">
-                            <label>
-                                <input id="age_btn" class="tianx tianx select-value9 sel" type="text" name="age"  placeholder="不限"/>
-                                <input id="age" type="text" class="tianx tianx select-value9 input" :data-code="conditions.age" placeholder="不限" readonly>
-                            </label>
-                        </div>
-                    </li>
-                    <li>
-                        <div class="prxd_bt"><h1>你希望Ta的身高是</h1></div>
-                        <div class="prxd_nr">
-                            <h1>身高</h1>
-                            <img class="minzu" src="__TMPL__/weixin/public/assets/img/tubiao35.png">
-                            <label>
-                                <input id="height_btn" class="tianx tianx select-value9 sel" type="text" name="height"  placeholder="不限"/>
-                                <input id="height" type="text" class="tianx tianx select-value9 input" :data-code="conditions.height" placeholder="不限" readonly>
-                            </label>
-                        </div>
-                    </li>
-                    <li>
-                        <div class="prxd_bt"><h1>你希望Ta的学历至少是</h1></div>
-                        <div class="prxd_nr4 choose-item" id="education">
-                            <h1 v-if="educations.length<=0" class="active" data-code="0">不限</h1>
-                            <h1 v-for="(item,k) in educations" :class="k==conditions.education||(conditions.education<=0 && k==0)? 'active' : 'btn'" :data-code="k" v-text="item"></h1>
-                        </div>
-                    </li>
-                    <li>
-                        <div class="prxd_bt"><h1>你希望Ta的婚姻状态是</h1></div>
-                        <div class="prxd_nr3 choose-item" id="married">
-                            <h1 v-for="(item,k) in marrieds" :class="k+1==conditions.married||(conditions.married<=0 && k==0)? 'active' : 'btn'" :data-code="k+1" v-text="item"></h1>
-                        </div>
-                    </li>
-                </ul>
-                <div class="ger_banc">
-                    <h1 class="save" @click="filterSubmit()">筛选</h1>
-                </div>
-            </div>
-        </div>
-
-    </div>
-    <!-- 底部菜单 -->
-    <include file="weixin@block:footer_nav"/>
-</div>
-<script src="__TMPL__/weixin/public/assets/lib/swiper.min.js?v={$version}"></script>
-<script src="__TMPL__/weixin/public/assets/js/match.js?v={$version}"></script>
-<include file="weixin@block:footer"/>
+<include file="weixin@block:header"/>
+<title>推荐</title>
+<link rel="stylesheet" href="__TMPL__/weixin/public/assets/css/swiper.min.css?v={$version}">
+<link rel="stylesheet" href="__TMPL__/weixin/public/assets/css/match.css?v={$version}">
+<div id="app" v-cloak>
+    <div :class="!hasFollow? 'top_lieb hasFollow' : 'top_lieb'">
+        <ul>
+            <li class="active"><h1><a href="/weixin/match/index?rs=1">单身推荐</a></h1></li>
+            <li><h1><a href="/weixin/match/hearts">怦然心动</a></h1></li>
+            <span class="filter" @click="showFilterBox=showFilterBox?false : true"><img src="__TMPL__/weixin/public/assets/img/search.png"></span>
+        </ul>
+    </div>
+    <div class="followTips" v-if="hasFollow==0">关注拾光公众号,接收微信申请和结果反馈<a @click="showFollow()">立即关注</a><span @click="hasFollow=true">x</span></div>
+    <div :class="'box'+(!hasFollow? ' has' : '')">
+        <div id="recommends" class="recommend-box">
+            <div class="tips" v-if="tipsArr.length>0">
+                <a href="/weixin/member/complain"><span></span></a>
+            </div>
+            <div class="join"><a href="/weixin/activity/book?id=15">我要推荐</a></div>
+            <div v-if="total<=0" class="empty recommends"><span>暂无数据</span></div>
+            <div v-show="total>0" class="swiper-container recommends">
+                <div class="swiper-wrapper ">
+                    <div class="swiper-slide" v-for="(item,k) in dataList" @click="goDetail(item.id)" :key="k">
+                        <div class="info-box" :id="'list_'+item.id">
+                            <div class="info">
+                                <img class="avatar" :src="item.avatar">
+                                <div class="td_xix">
+                                    <h1>
+                                        <span class="nickname" v-text="item.user_nickname"></span>
+                                        <i v-if="item.idcard_check==2 || item.education_check==2 || item.position_check==2" class="auth" @click.stop="showAuth(item)"><img src="/themes/default/weixin/public/assets/img/auth.png" width="28" height="28"></i>
+<!--                                        <i v-if="item.vip_auth" class="vip-auth"><img  src="/themes/default/weixin/public/assets/img/vip-auth.png" width="24" height="24"><span>已认证</span></i>-->
+                                        <span class="pics"><img src="/themes/default/weixin/public/assets/img/pic.png">{{item.pic_count}}</span>
+                                    </h1>
+                                    <p class="location" v-if="item.distance!=''">距离你 {{item.distance}}{{item.district? '·'+item.district : ''}}</p>
+                                    <p><span v-text="item.birthday_day?item.birthday_day+' | ':''"></span><span
+                                            v-text="item.height_txt?item.height_txt+' | ':''"></span><span
+                                            v-text="item.education_txt? item.education_txt+'|':''"></span><span v-text="item.occupation"></span></p>
+                                    <p><span v-text="item.city? '现居'+item.city : ''"></span><span v-text="item.home_province? '·'+item.home_province+'人' : ''"></span>
+                                    </p>
+                                </div>
+                            </div>
+                            <!--<div class="desc">
+                                <p v-html="item.introduce? item.introduce: '这个人很懒,什么也没留下~'"></p>
+                            </div>-->
+                            <div class="down-more" v-if="(k+1) == dataList.length" @click.stop="loadMore()">
+                                <span ><img src="/themes/default/weixin/public/assets/img/down.png" width="36" height="36"></span>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div v-if="status.loaded" class="loaded">
+                已加载完全部
+            </div>
+        </div>
+        <div :class="!hasFollow? 'filterBox has' : 'filterBox'" v-if="showFilterBox">
+            <div class="prxd_box">
+                <ul>
+                    <li>
+                        <div class="prxd_bt"><h1>你希望Ta的年龄是</h1></div>
+                        <div class="prxd_nr">
+                            <h1>年龄</h1>
+                            <img class="minzu" src="__TMPL__/weixin/public/assets/img/tubiao35.png">
+                            <label>
+                                <input id="age_btn" class="tianx tianx select-value9 sel" type="text" name="age"  placeholder="不限"/>
+                                <input id="age" type="text" class="tianx tianx select-value9 input" :data-code="conditions.age" placeholder="不限" readonly>
+                            </label>
+                        </div>
+                    </li>
+                    <li>
+                        <div class="prxd_bt"><h1>你希望Ta的身高是</h1></div>
+                        <div class="prxd_nr">
+                            <h1>身高</h1>
+                            <img class="minzu" src="__TMPL__/weixin/public/assets/img/tubiao35.png">
+                            <label>
+                                <input id="height_btn" class="tianx tianx select-value9 sel" type="text" name="height"  placeholder="不限"/>
+                                <input id="height" type="text" class="tianx tianx select-value9 input" :data-code="conditions.height" placeholder="不限" readonly>
+                            </label>
+                        </div>
+                    </li>
+                    <li>
+                        <div class="prxd_bt"><h1>你希望Ta的学历至少是</h1></div>
+                        <div class="prxd_nr4 choose-item" id="education">
+                            <h1 v-if="educations.length<=0" class="active" data-code="0">不限</h1>
+                            <h1 v-for="(item,k) in educations" :class="k==conditions.education||(conditions.education<=0 && k==0)? 'active' : 'btn'" :data-code="k" v-text="item"></h1>
+                        </div>
+                    </li>
+                    <li>
+                        <div class="prxd_bt"><h1>你希望Ta的婚姻状态是</h1></div>
+                        <div class="prxd_nr3 choose-item" id="married">
+                            <h1 v-for="(item,k) in marrieds" :class="k+1==conditions.married||(conditions.married<=0 && k==0)? 'active' : 'btn'" :data-code="k+1" v-text="item"></h1>
+                        </div>
+                    </li>
+                </ul>
+                <div class="ger_banc">
+                    <h1 class="save" @click="filterSubmit()">筛选</h1>
+                </div>
+            </div>
+        </div>
+
+    </div>
+    <!-- 底部菜单 -->
+    <include file="weixin@block:footer_nav"/>
+</div>
+<script src="__TMPL__/weixin/public/assets/lib/swiper.min.js?v={$version}"></script>
+<script src="__TMPL__/weixin/public/assets/js/match.js?v={$version}"></script>
+<include file="weixin@block:footer"/>

+ 0 - 0
public/themes/default/weixin/member/advice.html


+ 0 - 0
public/themes/default/weixin/member/complain.html


+ 0 - 0
public/themes/default/weixin/member/complain_submit.html


+ 0 - 0
public/themes/default/weixin/public/assets/css/advice.css


+ 0 - 0
public/themes/default/weixin/public/assets/css/complain-submit.css


+ 0 - 0
public/themes/default/weixin/public/assets/css/complain.css


+ 430 - 430
public/themes/default/weixin/public/assets/css/entry.css

@@ -1,431 +1,431 @@
-html,body{
-    width: 100%;
-    font-family: "微软雅黑";
-    font-size: 1em;
-    margin: 0;
-    padding: 0;
-    height: 100%;
-}
-img{
-    width: 100%;
-    margin: 0;
-    padding: 0;
-}
-
-.need {
-    color: red;
-    margin: 10px .05rem;
-    display: inline-block;
-    height: 20px;
-    line-height: 20px;
-    margin-top: 10px;
-}
-
-.xixi_tox img {
-    width: 100%;
-    height: 100%;
-}
-/*index*/
-.main_page{
-    width: 100%;
-    height: 100%;
-}
-.top_div{
-    width: 100%;
-    height: 40vw;
-    background: #506695;
-    overflow: hidden;
-}
-.logo{
-    width: 18%;
-    margin: 10px auto 5px auto;
-}
-.top_text_1,.top_text_2{
-    width: 100%;
-    text-align: center;
-    line-height: 7vw;
-    color: white;
-    font-size: 4.5vw;
-}
-.top_text_2{
-    margin-bottom: 5vw;
-}
-.nine_button{
-    width: 100%;
-}
-.button{
-    width: 33.33%;
-    height: 33.33vw;
-    float: left;
-    font-size: 4vw;
-}
-.button_img{
-    width: 20%;
-    margin: 30% auto 5% auto;
-}
-.button_text{
-    width: 100%;
-    text-align: center;
-}
-/*release_record*/
-.release_main{
-    width: 100%;
-}
-.release_title{
-    width: 100%;
-    height: 15vw;
-    overflow: hidden;
-    background: #f2f2f2;
-}
-.release_title_left{
-    width: 49.5%;
-    height: 10vw;
-    margin:2.5vw 0;
-    float: left;
-    border-right: 2px solid #8E97AF;
-    overflow: hidden;
-}
-.left_img{
-    width: 15%;
-    margin: 1.4vw 3% 1.6vw 15%;
-    float: left;
-}
-.left_text{
-    width: 67%;
-    float: left;
-    font-size: 3vw;
-    line-height: 4vw;
-    margin-top: 1.5vw;
-    color: #506695;
-}
-.release_title_right{
-    width: 49.5%;
-    height: 10vw;
-    margin:2.5vw 0;
-    float: right;
-}
-.right_img{
-    width: 15%;
-    margin: 1.4vw 3% 1.6vw 15%;
-    float: left;
-}
-.right_text{
-    width: 67%;
-    float: left;
-    font-size: 3vw;
-    line-height: 4vw;
-    margin-top: 1.5vw;
-    color: #506695;
-}
-.gray_text{
-    color: #8D8D8D;
-}
-.release_records{
-    width: 100%;
-}
-.record{
-    width: 100%;
-    height:13vw ;
-    border-bottom: 1px solid #ECECEC;
-}
-.record_left{
-    width: 47%;
-    padding-left: 3%;
-    float: left;
-    text-align: left;
-    margin-top: 1vw;
-}
-.record_right{
-    width: 47%;
-    padding-right: 3%;
-    float: left;
-    text-align: right;
-    margin-top: 1vw;
-}
-.record_left_top,.record_right_top{
-    font-size: 4.1vw;
-    line-height: 7vw;
-}
-.record_left_bottom,.record_right_bottom{
-    font-size: 3.5vw;
-    color: #8D8D8D;
-}
-.record_small{
-    font-size: 2.5vw;
-    color: #8D8D8D;
-}
-/*select_record*/
-.select_start_date{
-    width: 100%;
-    height: 12vw;
-    font-size: 4vw;
-    color: #666666;
-    overflow: hidden;
-    line-height: 12vw;
-    border-bottom: 1px solid darkgray;
-}
-.start_date_left{
-    width: 47%;
-    padding-left: 3%;
-    float: left;
-}
-.start_date_right{
-    width: 47%;
-    padding-right: 3%;
-    text-align: right;
-    float: left;
-}
-.start_date_right input{
-    background:transparent;
-    border: none;
-    font-size: 4vw;
-    color: #666666;
-    text-align: center;
-}
-.select_records{
-    width: 100%;
-    margin-top: 6vw;
-}
-
-.gear.date_dd {
-    display: none;
-}
-.date_grid{
-    display: block;
-    text-indent: -90rem;
-}
-.date_roll>div:nth-child(1), .datetime_roll>div:nth-child(1),.date_roll>div:nth-child(2), .datetime_roll>div:nth-child(2)  {
-    -webkit-box-flex: 4;
-    -webkit-flex: 4;
-    -ms-flex: 4;
-    flex: 4;
-}
-
-.tox_box{position: 0 15px;background: #ffd132;overflow: hidden;padding-bottom: 15px;border-radius:0 0 10px 10px;}
-.tox_box p{font-size: 16px;color: #fff;text-align: center;}
-.xixi_tox{height: 100px;width: 100px;background: #fff;margin: auto;border-radius: 100%;overflow: hidden;margin-top:30px;margin-bottom: 15px;position: relative}
-
-.gerxix_box{padding: 0px 15px;background: #fff;margin-top: 10px;border-radius:10px;}
-
-.xixi_bt2{height: 56px;}
-
-.xixi_bt h1{border-left: 4px solid #ffd132;font-size: 16px;color: #333;font-weight: bold;padding-left: 10px;height: 22px;line-height:22px;margin-top: 9px;}
-
-.xixi_bt p{font-size: 12px;color: #999;line-height: 20px;margin-top: 6px;}
-
-.gerxix_box li{height: 40px;width: 100%;border-bottom: 1px solid #efefef;overflow: hidden;list-style: none}
-
-.gerxix_box li h1{float: left;font-size: 14px;line-height:40px;}
-
-.tianx{font-size: 14px;color: #333;width: 55%;height: 40px;float: right;line-height: 40px;margin-right: 15px;text-align: right;border: none;outline: medium;}
-
-.minzu{float: right;width:12px;margin-top:14px;}
-
-
-.ger_banc{margin-top: 10px;height: 80px;padding: 15px;background: #fff;border-radius:10px 10px 0 0 ;}
-
-.ger_banc h1{font-size: 18px;height: 45px;line-height: 45px;text-align: center;background: #ffd132;color: #333;border-radius: 6px;margin-top: 20px;}
-
-.yanzm_wb{font-size: 14px;color: #333;width:35%;height: 40px;float: right;line-height: 40px;margin-right: 15px;text-align: left;border: none;outline: medium;}
-.yanzm{-webkit-appearance: none;font-size: 12px;color: #333;width:20%;height: 26px;float: right;line-height: 26px;border: none;outline: medium;background: #ffd132;margin-top: 7px;width: 80px;text-align: center;border-radius: 4px;}
-
-input:-internal-autofill-selected{background-color: #fff;}
-
-/* 上传 */
-#cropPreview {
-    display: none;
-}
-.select-pic {
-    position: relative;
-}
-.upload {
-    position: absolute;
-    width: 100%;
-    height: 100%;
-    top: 0;
-    left: 0;
-    z-index: 2;
-    opacity: 0;
-}
-
-/*	头像弹窗样式开始*/
-.pop{
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 100%;
-    z-index: 999999;
-    overflow-y: hidden;
-}
-.guanbi{
-    position: fixed;
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 100%;
-    background: rgba(0, 0, 0, 0.6);
-
-}
-.popMiddle{background: #fff;overflow: hidden;}
-.pop .popMain{
-    width: 100%;
-    position: absolute;
-    bottom: 0;
-    z-index: 99999;
-}
-.popMiddle h1{text-align: center;padding: 15px;color: #666;font-size: 12px;}
-.popMiddle ul{width: 100%;overflow: hidden;padding-bottom: 15px;}
-.popMiddle h2{
-    text-align: center;
-    color: #333;
-    font-size: 16px;
-    line-height: 44px;
-    border-top: 1px solid #d2d2d2;
-    border-bottom: 1px solid #d2d2d2;
-}
-.popMiddle li{width: 20%;overflow: hidden;text-align: center;float: left;}
-.popMiddle li img{width: 92%;border-radius: 10px;overflow: hidden;}
-.popMiddle p{font-size: 12px; color: #666;margin-top: 6px;}
-.popBottom{
-    position: relative;
-    bottom: 0;
-    left: 0;
-    display: block;
-    text-align: center;
-    width: 100%;
-    height: 45px;
-    background: #fff;
-    font-size: 16px;
-    line-height: 45px;
-}
-
-/*	头像弹窗样式结束*/
-
-/* 地区弹窗样式调整 */
-.toolbar .picker-button {
-    color: #ffd132;
-}
-
-.weui-picker-modal .picker-item.picker-selected {
-    color: #ffd132;
-}
-/* end*/
-
-
-/* 裁剪 */
-.crop-preview {
-    margin-top: 40px;
-    height: calc(100% - 105px);
-}
-.crop-preview .preview {
-    height: 100%;
-    background: rgba(152, 147, 147, 0.2);
-    position: relative;
-    width: 100%;
-}
-.crop-preview .preview-box {
-    height: 425px;
-    width: 343px;
-    position: absolute;
-    right: 0;
-    left: 0;
-    margin: auto;
-    overflow: hidden;
-    bottom: 102px;
-    border-top-left-radius: 4px;
-    border-top-right-radius: 4px;
-}
-
-.crop-preview .desc {
-    position: absolute;
-    bottom: 42px;
-    text-align: center;
-    color: #666;
-    height: 60px;
-    line-height: 60px;
-    width: 343px;
-    border: 1px solid #fff;
-    margin: 0 auto;
-    left: 0;
-    right: 0;
-    background: #fff;
-    border-bottom-left-radius: 4px;
-    border-bottom-right-radius: 4px;
-}
-.crop-preview .del {
-    position: absolute;
-    top: -35px;
-    right: 5px;
-    z-index: 99;
-    /*position: absolute;
-    top: 5px;
-    right: 5px;*/
-}
-.crop-preview .del img {
-    height: 30px;
-    width: 30px;
-}
-.crop-preview .tips {
-    position: absolute;
-    bottom: 0;
-    width: 100%;
-    text-align: center;
-}
-.crop-preview .tips span {
-    color: #999;
-}
-.crop-preview .tips img {
-    width: 30px;
-    margin-right: 10px;
-}
-.crop-preview .preview-box .preview-img {
-    width: 100%;
-    height: 100%;
-}
-.crop-actions {
-    position: absolute;
-    bottom: 0;
-    width: 100%;
-    text-align: center;
-    margin: 10px 0;
-}
-
-.crop-actions a {
-    width: 47%;
-    display: inline-block;
-    margin-left: 2%;
-    padding: 0;
-    margin-top: 0 !important;
-    float: left;
-}
-
-.crop-actions a:last-child {
-    color: #fff;
-    background: #ffd132;
-}
-/*end */
-
-/*弹窗*/
-.show-info {
-    z-index: 9996;
-}
-.show-info .fanhui2 {
-    z-index: 996;
-}
-
-.show-info .cont {
-    height: 100%;
-    width: 100%;
-}
-
-.show-info .cont iframe {
-    height: 100%;
-    width: 100%;
-    overflow-y: scroll;
-    overflow-x: hidden;
-}
-.show-info .weui-popup__modal {
-    overflow: hidden;
-}
-
+html,body{
+    width: 100%;
+    font-family: "微软雅黑";
+    font-size: 1em;
+    margin: 0;
+    padding: 0;
+    height: 100%;
+}
+img{
+    width: 100%;
+    margin: 0;
+    padding: 0;
+}
+
+.need {
+    color: red;
+    margin: 10px .05rem;
+    display: inline-block;
+    height: 20px;
+    line-height: 20px;
+    margin-top: 10px;
+}
+
+.xixi_tox img {
+    width: 100%;
+    height: 100%;
+}
+/*index*/
+.main_page{
+    width: 100%;
+    height: 100%;
+}
+.top_div{
+    width: 100%;
+    height: 40vw;
+    background: #506695;
+    overflow: hidden;
+}
+.logo{
+    width: 18%;
+    margin: 10px auto 5px auto;
+}
+.top_text_1,.top_text_2{
+    width: 100%;
+    text-align: center;
+    line-height: 7vw;
+    color: white;
+    font-size: 4.5vw;
+}
+.top_text_2{
+    margin-bottom: 5vw;
+}
+.nine_button{
+    width: 100%;
+}
+.button{
+    width: 33.33%;
+    height: 33.33vw;
+    float: left;
+    font-size: 4vw;
+}
+.button_img{
+    width: 20%;
+    margin: 30% auto 5% auto;
+}
+.button_text{
+    width: 100%;
+    text-align: center;
+}
+/*release_record*/
+.release_main{
+    width: 100%;
+}
+.release_title{
+    width: 100%;
+    height: 15vw;
+    overflow: hidden;
+    background: #f2f2f2;
+}
+.release_title_left{
+    width: 49.5%;
+    height: 10vw;
+    margin:2.5vw 0;
+    float: left;
+    border-right: 2px solid #8E97AF;
+    overflow: hidden;
+}
+.left_img{
+    width: 15%;
+    margin: 1.4vw 3% 1.6vw 15%;
+    float: left;
+}
+.left_text{
+    width: 67%;
+    float: left;
+    font-size: 3vw;
+    line-height: 4vw;
+    margin-top: 1.5vw;
+    color: #506695;
+}
+.release_title_right{
+    width: 49.5%;
+    height: 10vw;
+    margin:2.5vw 0;
+    float: right;
+}
+.right_img{
+    width: 15%;
+    margin: 1.4vw 3% 1.6vw 15%;
+    float: left;
+}
+.right_text{
+    width: 67%;
+    float: left;
+    font-size: 3vw;
+    line-height: 4vw;
+    margin-top: 1.5vw;
+    color: #506695;
+}
+.gray_text{
+    color: #8D8D8D;
+}
+.release_records{
+    width: 100%;
+}
+.record{
+    width: 100%;
+    height:13vw ;
+    border-bottom: 1px solid #ECECEC;
+}
+.record_left{
+    width: 47%;
+    padding-left: 3%;
+    float: left;
+    text-align: left;
+    margin-top: 1vw;
+}
+.record_right{
+    width: 47%;
+    padding-right: 3%;
+    float: left;
+    text-align: right;
+    margin-top: 1vw;
+}
+.record_left_top,.record_right_top{
+    font-size: 4.1vw;
+    line-height: 7vw;
+}
+.record_left_bottom,.record_right_bottom{
+    font-size: 3.5vw;
+    color: #8D8D8D;
+}
+.record_small{
+    font-size: 2.5vw;
+    color: #8D8D8D;
+}
+/*select_record*/
+.select_start_date{
+    width: 100%;
+    height: 12vw;
+    font-size: 4vw;
+    color: #666666;
+    overflow: hidden;
+    line-height: 12vw;
+    border-bottom: 1px solid darkgray;
+}
+.start_date_left{
+    width: 47%;
+    padding-left: 3%;
+    float: left;
+}
+.start_date_right{
+    width: 47%;
+    padding-right: 3%;
+    text-align: right;
+    float: left;
+}
+.start_date_right input{
+    background:transparent;
+    border: none;
+    font-size: 4vw;
+    color: #666666;
+    text-align: center;
+}
+.select_records{
+    width: 100%;
+    margin-top: 6vw;
+}
+
+.gear.date_dd {
+    display: none;
+}
+.date_grid{
+    display: block;
+    text-indent: -90rem;
+}
+.date_roll>div:nth-child(1), .datetime_roll>div:nth-child(1),.date_roll>div:nth-child(2), .datetime_roll>div:nth-child(2)  {
+    -webkit-box-flex: 4;
+    -webkit-flex: 4;
+    -ms-flex: 4;
+    flex: 4;
+}
+
+.tox_box{position: 0 15px;background: #ffd132;overflow: hidden;padding-bottom: 15px;border-radius:0 0 10px 10px;}
+.tox_box p{font-size: 16px;color: #fff;text-align: center;}
+.xixi_tox{height: 100px;width: 100px;background: #fff;margin: auto;border-radius: 100%;overflow: hidden;margin-top:30px;margin-bottom: 15px;position: relative}
+
+.gerxix_box{padding: 0px 15px;background: #fff;margin-top: 10px;border-radius:10px;}
+
+.xixi_bt2{height: 56px;}
+
+.xixi_bt h1{border-left: 4px solid #ffd132;font-size: 16px;color: #333;font-weight: bold;padding-left: 10px;height: 22px;line-height:22px;margin-top: 9px;}
+
+.xixi_bt p{font-size: 12px;color: #999;line-height: 20px;margin-top: 6px;}
+
+.gerxix_box li{height: 40px;width: 100%;border-bottom: 1px solid #efefef;overflow: hidden;list-style: none}
+
+.gerxix_box li h1{float: left;font-size: 14px;line-height:40px;}
+
+.tianx{font-size: 14px;color: #333;width: 55%;height: 40px;float: right;line-height: 40px;margin-right: 15px;text-align: right;border: none;outline: medium;}
+
+.minzu{float: right;width:12px;margin-top:14px;}
+
+
+.ger_banc{margin-top: 10px;height: 80px;padding: 15px;background: #fff;border-radius:10px 10px 0 0 ;}
+
+.ger_banc h1{font-size: 18px;height: 45px;line-height: 45px;text-align: center;background: #ffd132;color: #333;border-radius: 6px;margin-top: 20px;}
+
+.yanzm_wb{font-size: 14px;color: #333;width:35%;height: 40px;float: right;line-height: 40px;margin-right: 15px;text-align: left;border: none;outline: medium;}
+.yanzm{-webkit-appearance: none;font-size: 12px;color: #333;width:20%;height: 26px;float: right;line-height: 26px;border: none;outline: medium;background: #ffd132;margin-top: 7px;width: 80px;text-align: center;border-radius: 4px;}
+
+input:-internal-autofill-selected{background-color: #fff;}
+
+/* 上传 */
+#cropPreview {
+    display: none;
+}
+.select-pic {
+    position: relative;
+}
+.upload {
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    top: 0;
+    left: 0;
+    z-index: 2;
+    opacity: 0;
+}
+
+/*	头像弹窗样式开始*/
+.pop{
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    z-index: 999999;
+    overflow-y: hidden;
+}
+.guanbi{
+    position: fixed;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    background: rgba(0, 0, 0, 0.6);
+
+}
+.popMiddle{background: #fff;overflow: hidden;}
+.pop .popMain{
+    width: 100%;
+    position: absolute;
+    bottom: 0;
+    z-index: 99999;
+}
+.popMiddle h1{text-align: center;padding: 15px;color: #666;font-size: 12px;}
+.popMiddle ul{width: 100%;overflow: hidden;padding-bottom: 15px;}
+.popMiddle h2{
+    text-align: center;
+    color: #333;
+    font-size: 16px;
+    line-height: 44px;
+    border-top: 1px solid #d2d2d2;
+    border-bottom: 1px solid #d2d2d2;
+}
+.popMiddle li{width: 20%;overflow: hidden;text-align: center;float: left;}
+.popMiddle li img{width: 92%;border-radius: 10px;overflow: hidden;}
+.popMiddle p{font-size: 12px; color: #666;margin-top: 6px;}
+.popBottom{
+    position: relative;
+    bottom: 0;
+    left: 0;
+    display: block;
+    text-align: center;
+    width: 100%;
+    height: 45px;
+    background: #fff;
+    font-size: 16px;
+    line-height: 45px;
+}
+
+/*	头像弹窗样式结束*/
+
+/* 地区弹窗样式调整 */
+.toolbar .picker-button {
+    color: #ffd132;
+}
+
+.weui-picker-modal .picker-item.picker-selected {
+    color: #ffd132;
+}
+/* end*/
+
+
+/* 裁剪 */
+.crop-preview {
+    margin-top: 40px;
+    height: calc(100% - 105px);
+}
+.crop-preview .preview {
+    height: 100%;
+    background: rgba(152, 147, 147, 0.2);
+    position: relative;
+    width: 100%;
+}
+.crop-preview .preview-box {
+    height: 425px;
+    width: 343px;
+    position: absolute;
+    right: 0;
+    left: 0;
+    margin: auto;
+    overflow: hidden;
+    bottom: 102px;
+    border-top-left-radius: 4px;
+    border-top-right-radius: 4px;
+}
+
+.crop-preview .desc {
+    position: absolute;
+    bottom: 42px;
+    text-align: center;
+    color: #666;
+    height: 60px;
+    line-height: 60px;
+    width: 343px;
+    border: 1px solid #fff;
+    margin: 0 auto;
+    left: 0;
+    right: 0;
+    background: #fff;
+    border-bottom-left-radius: 4px;
+    border-bottom-right-radius: 4px;
+}
+.crop-preview .del {
+    position: absolute;
+    top: -35px;
+    right: 5px;
+    z-index: 99;
+    /*position: absolute;
+    top: 5px;
+    right: 5px;*/
+}
+.crop-preview .del img {
+    height: 30px;
+    width: 30px;
+}
+.crop-preview .tips {
+    position: absolute;
+    bottom: 0;
+    width: 100%;
+    text-align: center;
+}
+.crop-preview .tips span {
+    color: #999;
+}
+.crop-preview .tips img {
+    width: 30px;
+    margin-right: 10px;
+}
+.crop-preview .preview-box .preview-img {
+    width: 100%;
+    height: 100%;
+}
+.crop-actions {
+    position: absolute;
+    bottom: 0;
+    width: 100%;
+    text-align: center;
+    margin: 10px 0;
+}
+
+.crop-actions a {
+    width: 47%;
+    display: inline-block;
+    margin-left: 2%;
+    padding: 0;
+    margin-top: 0 !important;
+    float: left;
+}
+
+.crop-actions a:last-child {
+    color: #fff;
+    background: #ffd132;
+}
+/*end */
+
+/*弹窗*/
+.show-info {
+    z-index: 9996;
+}
+.show-info .fanhui2 {
+    z-index: 996;
+}
+
+.show-info .cont {
+    height: 100%;
+    width: 100%;
+}
+
+.show-info .cont iframe {
+    height: 100%;
+    width: 100%;
+    overflow-y: scroll;
+    overflow-x: hidden;
+}
+.show-info .weui-popup__modal {
+    overflow: hidden;
+}
+
 /*end */

+ 0 - 1
public/themes/default/weixin/public/assets/css/market-entry.css

@@ -404,7 +404,6 @@ input:-internal-autofill-selected{background-color: #fff;}
     background: #ffd132;
 }
 
-/*弹窗*/
 .show-info {
     z-index: 9996;
 }

+ 428 - 428
public/themes/default/weixin/public/assets/css/match.css

@@ -1,429 +1,429 @@
-/* 首页 */
-html {
-    height: 100%;
-}
-body {
-    /*overflow-y: scroll;*/
-
-}
-.box {
-    padding: 0 15px;
-    overflow-y: scroll !important;
-    height: calc(100% - 134px);
-    position: relative;
-    margin-bottom: 0;
- }
-.box.recommend {
-    background: none;
-    padding: 0;
-    width: 100%;
-    /*margin-left: 15px;*/
-}
-.box.has {
-    margin-top: 85px;
-    height: calc(100% - 156px);
-}
-.recommend.has {
-    height: calc(100% - 145px);
-}
-.box .swiper-container {
-    height: 100%;
-}
-
-.box .hearts .swiper-slide {
-    height: calc(100% - 20px);
-    width: calc(100% - 30px);
-    margin: 0 auto;
-}
-.recommend-box {
-    height: 100%;
-    position: relative;
-}
-.box .recommends .swiper-slide {
-    height: calc(95% - 20px);
-    /*height: calc(100% - 20px);*/
-    margin: 0 auto;
-}
-.recommend-box .info-box {
-    margin: 0;
-    margin-bottom: 20px;
-    height: calc(100% - 20px);
-    border-radius: 8px;
-    position: relative;
-    border-bottom: 10px solid #dcd8cd;
-    /*height: 100%;*/
-}
-.recommend-box .info-box .info {
-    height: 100%;
-    /*height: 100%;*/
-}
-.recommend-box .info .avatar {
-    border-radius: 8px;
-    /*border-bottom-left-radius: 8px;*/
-    /*border-bottom-right-radius: 8px;*/
-}
-.top_lieb ul {
-    position: relative;
-}
-.top_lieb li {
-    background-color: transparent;
-    color: #333;
-}
-.more {
-    text-align: center;
-    margin-top: 20px;
-}
-.more a {
-    color: #f1c21f;
-}
-.top_lieb li.active {
-    background-color: #f1c21f;
-    color: #fff;
-}
-.top_lieb li.active a {
-    color: #fff;
-}
-.top_lieb li a {
-    color: #333;
-}
-.top_lieb ul .filter {
-    position: absolute;
-    right: 4px;
-    top: 8px;
-}
-.top_lieb ul .filter img {
-    width: 24px;
-    height: 24px;
-    display: inline-block;
-}
-.hearts .info-box {
-    /*margin: 0 15px;*/
-    margin-left: 15px;
-    height: 100%;
-    border-radius: 8px;
-    background-color: #fff;
-    border: 1px solid #e5e2e2;
-    box-shadow: 0px 2px 2px 2px #e7e8e5;
-    position: relative;
-
-}
-.recommend-box .pics {
-    float: right;
-    margin-right: 8px;
-    font-weight: normal;
-    font-size: 14px;
-    line-height: 24px;
-}
-.info-box .info {
-    position: relative;
-    height: calc(100% - 100px);
-}
-.info .avatar {
-    height: 100%;
-    width: 100%;
-    display: block;
-    border-top-left-radius: 8px;
-    border-top-right-radius: 8px;
-}
-.followTips {
-    height: 30px;
-    background: #2f2e2e;
-    width: 100%;
-    position: fixed;
-    top: 0;
-    z-index: 999;
-    color: #fff;
-    text-align: center;
-    line-height: 30px;
-    font-size: 14px;
-}
-.follow img {
-    width: 100%;
-    height: 100%;
-}
-.followTips a {
-    color: #fff;
-    background: #f1c21f;
-    border-radius: 4px;
-    padding: 2px 5px;
-    margin-left: 5px;
-}
-.followTips span {
-    float: right;
-    margin-right: .5rem;
-    border-radius: 100%;
-    display: inline-block;
-    width: 20px;
-    text-align: center;
-    background: #ccc;
-    height: 20px;
-    line-height: 20px;
-    margin-top: 5px;
-}
-.top_lieb.hasFollow {
-    top: 30px;
-}
-.info .td_xix{
-    width: 100%;
-    min-height: 5.2rem;
-    /*background-color: rgba(160, 159, 159, 0.4);*/
-    background-color: rgba(195 ,194 ,194 , 0.37);
-    position: absolute;
-    bottom: 0;
-    color: #fff;
-}
-.info .td_xix h1{
-    font-size: 20px;
-    margin-left: 12px;
-    line-height: 36px;
-    margin-top: 6px;
-    font-weight: bold;
-    color: #fff;
-}
-.info .auth {
-    vertical-align: middle;
-    display: inline-block;
-    /*line-height: 24px;*/
-    height: 28px;
-}
-.info .vip-auth {
-    background-color: #f1c21f;
-    display: inline-block;
-    vertical-align: middle;
-    padding: 2px 6px;
-    border-radius: 6px;
-    line-height: 24px;
-    font-style: normal;
-    font-size: 12px;
-}
-.info .vip-auth img {
-    display: inline-block;
-    vertical-align: middle;
-}
-.info .vip-auth span {
-    display: inline-block;
-    vertical-align: middle;
-    margin-left: 6px;
-    color: #fff;
-}
-.info .td_xix p{
-    font-size: 14px;
-    line-height: 26px;
-    margin-left: 12px;
-    color: #fff;
-}
-.info-box .desc {
-    /*height: 100px;*/
-
-}
-
-.info-box .desc p {
-    margin: 20px;
-    line-height: 28px;
-    text-align: center;
-    color: #666;
-    font-weight: 200;
-    word-break: break-all;
-    text-overflow: ellipsis;
-    display: -webkit-box;
-    -webkit-box-orient: vertical;
-    -webkit-line-clamp: 2;
-    overflow: hidden;
-}
-.info-box .down-more {
-    position: absolute;
-    right: 8px;
-    bottom: 8px;
-   /* position: absolute;
-    bottom: -60px;
-    left: 0;
-    right: 0;
-    margin: auto;
-    width: 36px;*/
-}
-
-.pics {
-    float: right;
-    margin-right: 8px;
-}
-.pics img {
-    width: 24px;
-    height: 24px;
-    vertical-align: middle;
-}
-
-.nomore {
-    padding-left: 15px;
-    background: url('/themes/default/weixin/public/assets/img/recommend_bg.png?v=1') no-repeat 100%/100%;
-    font-size: 16px;
-}
-.nomore .head {
-    text-align: center;
-    margin: 20px;
-    font-size: 20px;
-}
-.nomore .time {
-    margin: 15px 0 20px;
-    text-align: center;
-}
-.nomore .time span {
-    color: red;
-}
-.nomore .tips {
-    margin: 10px auto;
-    line-height: 36px;
-    text-align: center;
-    margin-right: 15px;
-}
-
-.join {
-    position: fixed;
-    z-index: 99;
-    right: 0;
-    background: #e62977;
-    padding: 4px 8px 4px 14px;
-    font-size: 12px;
-    color: #fff;
-    border-radius: 20px 0 0 20px;
-    top: 20%;
-}
-
-.join a {
-    color: #fff;
-}
-
-.top_lieb{height: 46px;background: #fff;width: 100%; position: fixed;top: 0;z-index: 999;border-bottom: 1px solid #e6e6e6;}
-.top_lieb ul{padding: 0 10px;}
-.top_lieb li{float: left;overflow: hidden;width:30%;margin: 0 9%;margin-top:10px;border-radius: 14px;}
-.top_lieb li h1{font-size: 16px;text-align: center;height:26px;margin: auto;line-height: 26px;}
-
-.box{padding-left: 15px;margin-top:58px;margin-bottom: 49px; background: #fff;overflow: hidden;padding-top: 15px;    position: relative;}
-.tuod_ne{position: relative;width: 100%;margin-bottom: 15px;border-radius: 10px;overflow: hidden;height: 425px;}
-.tuod_ne img{width: 100%;top: 0;position: absolute;width: 100%;height: 100%;}
-.tuod_ne::before{display: block;content: '';width: 100%;padding-top: 100%;}
-
-.item .td_xix{width: 100%; height: 5rem;background-color: rgba(160, 159, 159, 0.4);position: absolute;bottom: 0;}
-.item .td_xix h1{font-size: 16px;margin-left: 12px;line-height: 26px;margin-top: 6px;font-weight: bold;color: #fff;}
-.item .td_xix p{font-size: 14px;line-height: 20px;margin-left: 12px;color: #fff;}
-
-.filterBox {
-    width: 100%;
-    position: fixed;
-    z-index: 100;
-    background-color: rgba(137, 133, 133, 0.38);
-    top: 47px;
-    left: 0;
-    height: 100%;
-}
-.filterBox.has {
-    top: 77px;
-}
-.prxd_box{padding:0 15px;overflow: hidden; background-color: #fff; padding-bottom: 15px}
-.prxd_box ul{margin-top:20px;}
-.prxd_box li{overflow: hidden;}
-
-.prxd_bt{height: 40px; background: #fff;}
-
-.prxd_bt h1{font-size: 14px;color: #333;font-weight: bold;height: 22px;line-height:22px;margin-top: 0px;}
-
-.choose-item h1.active {
-    border: 1px solid #ffd132;
-    color: #fff;
-    background: #ffd132;
-}
-
-.prxd_nr{height: 40px;width: 100%;overflow: hidden;}
-.prxd_nr2,.prxd_nr3 {height: 50px;width: 100%;overflow: hidden;}
-.prxd_nr h1{float: left;font-size: 14px;line-height:40px;}
-.prxd_nr2 h1,.prxd_nr3 h1,.prxd_nr4 h1{float: left;font-size: 12px;padding: 5px 10px;border: 1px solid #ccc;margin-right: 20px;border-radius: 4px;    margin-bottom: 15px;}
-
-.tianx{font-size: 14px;color: #333;width: 55%;height: 40px;float: right;line-height: 40px;margin-right: 15px;text-align: right;border: none;outline: medium;}
-.prxd_nr label {
-    position: relative;
-    display: inline-block;
-    width: 55%;
-    float: right;
-}
-.prxd_nr label input {
-    width: 100%;
-}
-.prxd_nr label input.input {
-    position: absolute;
-    z-index: 1;
-    right: 0;
-}
-.prxd_nr label input.sel {
-    opacity: 0;
-    position: relative;
-    /*position: absolute;*/
-    z-index: 2;
-    right: 0;
-}
-
-.minzu {
-    float: right;
-    width: 12px;
-    margin-top: 14px;
-}
-.tianx {
-    font-size: 14px;
-    color: #333;
-    width: 55%;
-    height: 40px;
-    float: right;
-    line-height: 40px;
-    margin-right: 15px;
-    text-align: right;
-    border: none;
-    outline: medium;
-}
-
-.ger_banc {
-    margin-top: 10px;
-    height: 80px;
-    background: #fff;
-}
-
-.ger_banc h1 {
-    font-size: 18px;
-    height: 40px;
-    line-height: 40px;
-    text-align: center;
-    background: #ffd132;
-    color: #333;
-    border-radius: 6px;
-    margin-top: 20px;
-    padding: 0 20px;
-}
-
-/* 提示 */
-
-.tips {
-    position: fixed;
-    top: 12%;
-    background: #ffd132;
-    z-index: 99;
-    border-radius: 16px;
-    padding: 0px 8px;
-    width: 85%;
-    text-align: center;
-    right: -100%;
-    height: 30px;
-    line-height: 30px;
-    overflow: hidden;
-    display: none;
-}
-
-.tips a {
-    display: block;
-    color: red;
-    width: 100%;
-    min-width: 296px;
-    font-size: 14px;
-}
-
-.tips a em {
-    font-style: normal;
-    max-width: 50px;
-    overflow: hidden;
+/* 首页 */
+html {
+    height: 100%;
+}
+body {
+    /*overflow-y: scroll;*/
+
+}
+.box {
+    padding: 0 15px;
+    overflow-y: scroll !important;
+    height: calc(100% - 134px);
+    position: relative;
+    margin-bottom: 0;
+ }
+.box.recommend {
+    background: none;
+    padding: 0;
+    width: 100%;
+    /*margin-left: 15px;*/
+}
+.box.has {
+    margin-top: 85px;
+    height: calc(100% - 156px);
+}
+.recommend.has {
+    height: calc(100% - 145px);
+}
+.box .swiper-container {
+    height: 100%;
+}
+
+.box .hearts .swiper-slide {
+    height: calc(100% - 20px);
+    width: calc(100% - 30px);
+    margin: 0 auto;
+}
+.recommend-box {
+    height: 100%;
+    position: relative;
+}
+.box .recommends .swiper-slide {
+    height: calc(95% - 20px);
+    /*height: calc(100% - 20px);*/
+    margin: 0 auto;
+}
+.recommend-box .info-box {
+    margin: 0;
+    margin-bottom: 20px;
+    height: calc(100% - 20px);
+    border-radius: 8px;
+    position: relative;
+    border-bottom: 10px solid #dcd8cd;
+    /*height: 100%;*/
+}
+.recommend-box .info-box .info {
+    height: 100%;
+    /*height: 100%;*/
+}
+.recommend-box .info .avatar {
+    border-radius: 8px;
+    /*border-bottom-left-radius: 8px;*/
+    /*border-bottom-right-radius: 8px;*/
+}
+.top_lieb ul {
+    position: relative;
+}
+.top_lieb li {
+    background-color: transparent;
+    color: #333;
+}
+.more {
+    text-align: center;
+    margin-top: 20px;
+}
+.more a {
+    color: #f1c21f;
+}
+.top_lieb li.active {
+    background-color: #f1c21f;
+    color: #fff;
+}
+.top_lieb li.active a {
+    color: #fff;
+}
+.top_lieb li a {
+    color: #333;
+}
+.top_lieb ul .filter {
+    position: absolute;
+    right: 4px;
+    top: 8px;
+}
+.top_lieb ul .filter img {
+    width: 24px;
+    height: 24px;
+    display: inline-block;
+}
+.hearts .info-box {
+    /*margin: 0 15px;*/
+    margin-left: 15px;
+    height: 100%;
+    border-radius: 8px;
+    background-color: #fff;
+    border: 1px solid #e5e2e2;
+    box-shadow: 0px 2px 2px 2px #e7e8e5;
+    position: relative;
+
+}
+.recommend-box .pics {
+    float: right;
+    margin-right: 8px;
+    font-weight: normal;
+    font-size: 14px;
+    line-height: 24px;
+}
+.info-box .info {
+    position: relative;
+    height: calc(100% - 100px);
+}
+.info .avatar {
+    height: 100%;
+    width: 100%;
+    display: block;
+    border-top-left-radius: 8px;
+    border-top-right-radius: 8px;
+}
+.followTips {
+    height: 30px;
+    background: #2f2e2e;
+    width: 100%;
+    position: fixed;
+    top: 0;
+    z-index: 999;
+    color: #fff;
+    text-align: center;
+    line-height: 30px;
+    font-size: 14px;
+}
+.follow img {
+    width: 100%;
+    height: 100%;
+}
+.followTips a {
+    color: #fff;
+    background: #f1c21f;
+    border-radius: 4px;
+    padding: 2px 5px;
+    margin-left: 5px;
+}
+.followTips span {
+    float: right;
+    margin-right: .5rem;
+    border-radius: 100%;
+    display: inline-block;
+    width: 20px;
+    text-align: center;
+    background: #ccc;
+    height: 20px;
+    line-height: 20px;
+    margin-top: 5px;
+}
+.top_lieb.hasFollow {
+    top: 30px;
+}
+.info .td_xix{
+    width: 100%;
+    min-height: 5.2rem;
+    /*background-color: rgba(160, 159, 159, 0.4);*/
+    background-color: rgba(195 ,194 ,194 , 0.37);
+    position: absolute;
+    bottom: 0;
+    color: #fff;
+}
+.info .td_xix h1{
+    font-size: 20px;
+    margin-left: 12px;
+    line-height: 36px;
+    margin-top: 6px;
+    font-weight: bold;
+    color: #fff;
+}
+.info .auth {
+    vertical-align: middle;
+    display: inline-block;
+    /*line-height: 24px;*/
+    height: 28px;
+}
+.info .vip-auth {
+    background-color: #f1c21f;
+    display: inline-block;
+    vertical-align: middle;
+    padding: 2px 6px;
+    border-radius: 6px;
+    line-height: 24px;
+    font-style: normal;
+    font-size: 12px;
+}
+.info .vip-auth img {
+    display: inline-block;
+    vertical-align: middle;
+}
+.info .vip-auth span {
+    display: inline-block;
+    vertical-align: middle;
+    margin-left: 6px;
+    color: #fff;
+}
+.info .td_xix p{
+    font-size: 14px;
+    line-height: 26px;
+    margin-left: 12px;
+    color: #fff;
+}
+.info-box .desc {
+    /*height: 100px;*/
+
+}
+
+.info-box .desc p {
+    margin: 20px;
+    line-height: 28px;
+    text-align: center;
+    color: #666;
+    font-weight: 200;
+    word-break: break-all;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    -webkit-box-orient: vertical;
+    -webkit-line-clamp: 2;
+    overflow: hidden;
+}
+.info-box .down-more {
+    position: absolute;
+    right: 8px;
+    bottom: 8px;
+   /* position: absolute;
+    bottom: -60px;
+    left: 0;
+    right: 0;
+    margin: auto;
+    width: 36px;*/
+}
+
+.pics {
+    float: right;
+    margin-right: 8px;
+}
+.pics img {
+    width: 24px;
+    height: 24px;
+    vertical-align: middle;
+}
+
+.nomore {
+    padding-left: 15px;
+    background: url('/themes/default/weixin/public/assets/img/recommend_bg.png?v=1') no-repeat 100%/100%;
+    font-size: 16px;
+}
+.nomore .head {
+    text-align: center;
+    margin: 20px;
+    font-size: 20px;
+}
+.nomore .time {
+    margin: 15px 0 20px;
+    text-align: center;
+}
+.nomore .time span {
+    color: red;
+}
+.nomore .tips {
+    margin: 10px auto;
+    line-height: 36px;
+    text-align: center;
+    margin-right: 15px;
+}
+
+.join {
+    position: fixed;
+    z-index: 99;
+    right: 0;
+    background: #e62977;
+    padding: 4px 8px 4px 14px;
+    font-size: 12px;
+    color: #fff;
+    border-radius: 20px 0 0 20px;
+    top: 20%;
+}
+
+.join a {
+    color: #fff;
+}
+
+.top_lieb{height: 46px;background: #fff;width: 100%; position: fixed;top: 0;z-index: 999;border-bottom: 1px solid #e6e6e6;}
+.top_lieb ul{padding: 0 10px;}
+.top_lieb li{float: left;overflow: hidden;width:30%;margin: 0 9%;margin-top:10px;border-radius: 14px;}
+.top_lieb li h1{font-size: 16px;text-align: center;height:26px;margin: auto;line-height: 26px;}
+
+.box{padding-left: 15px;margin-top:58px;margin-bottom: 49px; background: #fff;overflow: hidden;padding-top: 15px;    position: relative;}
+.tuod_ne{position: relative;width: 100%;margin-bottom: 15px;border-radius: 10px;overflow: hidden;height: 425px;}
+.tuod_ne img{width: 100%;top: 0;position: absolute;width: 100%;height: 100%;}
+.tuod_ne::before{display: block;content: '';width: 100%;padding-top: 100%;}
+
+.item .td_xix{width: 100%; height: 5rem;background-color: rgba(160, 159, 159, 0.4);position: absolute;bottom: 0;}
+.item .td_xix h1{font-size: 16px;margin-left: 12px;line-height: 26px;margin-top: 6px;font-weight: bold;color: #fff;}
+.item .td_xix p{font-size: 14px;line-height: 20px;margin-left: 12px;color: #fff;}
+
+.filterBox {
+    width: 100%;
+    position: fixed;
+    z-index: 100;
+    background-color: rgba(137, 133, 133, 0.38);
+    top: 47px;
+    left: 0;
+    height: 100%;
+}
+.filterBox.has {
+    top: 77px;
+}
+.prxd_box{padding:0 15px;overflow: hidden; background-color: #fff; padding-bottom: 15px}
+.prxd_box ul{margin-top:20px;}
+.prxd_box li{overflow: hidden;}
+
+.prxd_bt{height: 40px; background: #fff;}
+
+.prxd_bt h1{font-size: 14px;color: #333;font-weight: bold;height: 22px;line-height:22px;margin-top: 0px;}
+
+.choose-item h1.active {
+    border: 1px solid #ffd132;
+    color: #fff;
+    background: #ffd132;
+}
+
+.prxd_nr{height: 40px;width: 100%;overflow: hidden;}
+.prxd_nr2,.prxd_nr3 {height: 50px;width: 100%;overflow: hidden;}
+.prxd_nr h1{float: left;font-size: 14px;line-height:40px;}
+.prxd_nr2 h1,.prxd_nr3 h1,.prxd_nr4 h1{float: left;font-size: 12px;padding: 5px 10px;border: 1px solid #ccc;margin-right: 20px;border-radius: 4px;    margin-bottom: 15px;}
+
+.tianx{font-size: 14px;color: #333;width: 55%;height: 40px;float: right;line-height: 40px;margin-right: 15px;text-align: right;border: none;outline: medium;}
+.prxd_nr label {
+    position: relative;
+    display: inline-block;
+    width: 55%;
+    float: right;
+}
+.prxd_nr label input {
+    width: 100%;
+}
+.prxd_nr label input.input {
+    position: absolute;
+    z-index: 1;
+    right: 0;
+}
+.prxd_nr label input.sel {
+    opacity: 0;
+    position: relative;
+    /*position: absolute;*/
+    z-index: 2;
+    right: 0;
+}
+
+.minzu {
+    float: right;
+    width: 12px;
+    margin-top: 14px;
+}
+.tianx {
+    font-size: 14px;
+    color: #333;
+    width: 55%;
+    height: 40px;
+    float: right;
+    line-height: 40px;
+    margin-right: 15px;
+    text-align: right;
+    border: none;
+    outline: medium;
+}
+
+.ger_banc {
+    margin-top: 10px;
+    height: 80px;
+    background: #fff;
+}
+
+.ger_banc h1 {
+    font-size: 18px;
+    height: 40px;
+    line-height: 40px;
+    text-align: center;
+    background: #ffd132;
+    color: #333;
+    border-radius: 6px;
+    margin-top: 20px;
+    padding: 0 20px;
+}
+
+/* 提示 */
+
+.tips {
+    position: fixed;
+    top: 12%;
+    background: #ffd132;
+    z-index: 99;
+    border-radius: 16px;
+    padding: 0px 8px;
+    width: 85%;
+    text-align: center;
+    right: -100%;
+    height: 30px;
+    line-height: 30px;
+    overflow: hidden;
+    display: none;
+}
+
+.tips a {
+    display: block;
+    color: red;
+    width: 100%;
+    min-width: 296px;
+    font-size: 14px;
+}
+
+.tips a em {
+    font-style: normal;
+    max-width: 50px;
+    overflow: hidden;
 }

+ 0 - 0
public/themes/default/weixin/public/assets/img/advice.png


+ 0 - 0
public/themes/default/weixin/public/assets/img/location.png


+ 0 - 0
public/themes/default/weixin/public/assets/img/user_black.png


Diff do ficheiro suprimidas por serem muito extensas
+ 796 - 796
public/themes/default/weixin/public/assets/js/entry.js


+ 2 - 2
public/themes/default/weixin/public/assets/js/hearts.js

@@ -318,7 +318,7 @@ var app = new Vue({
                         title: '每一位真诚走心的单身,都值得被推荐~', // 分享标题
                         // desc: '邀请你认识Ta', // 分享描述
                         desc: '汇聚南宁8090后优质单身青年,本硕博及海占比78%,脱单来这里就够了!', // 分享描述
-                        link: location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
+                        link: location.href+'&sid='+_this.memberInfo.id, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                         imgUrl: logo, // 分享图标
                         success: function () {
                         }
@@ -327,7 +327,7 @@ var app = new Vue({
                     wx.updateTimelineShareData({
                         title: '每一位真诚走心的单身,都值得被推荐~', // 分享标题
 
-                        link: location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
+                        link: location.href+'&sid='+_this.memberInfo.id, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                         //desc: '邀请你一起参加这个有趣的活动,每期都有脱单的哦!', // 分享描述
                         imgUrl: logo, // 分享图标
                         success: function () {

+ 615 - 359
public/themes/default/weixin/public/assets/js/match_back.js

@@ -1,360 +1,616 @@
-var app = new Vue({
-    'el': '#app',
-    'data': {
-        // 当前导航
-        curNav: 'match',
-        // 数据请求参数
-        params: {
-            page: 1,
-            historyPage: 0,
-            loadHistory: 0,
-            age_txt: '',
-            height_txt: '',
-            education: 0,
-            married: 0,
-            pageSize: 12,
-            type: 1,
-        },
-        hasFollow: 1,
-        // 数据列表
-        dataList: [],
-        matchList: [],
-        // 条件参数
-        ages: [],
-        // 身高
-        heights: [],
-        // 收入
-        salarys: ['不限'],
-        // 学历
-        educations: ['不限','大专','本科','硕士及以上'],
-        // 婚姻状态
-        marrieds: [],
-        // 设置的条件
-        conditions: {
-            age: 0,
-            year: '',
-            age_txt: '',
-            city: 0,
-            education: 0,
-            height: '',
-            height_txt: '',
-            home_province: 0,
-            salary: 0,
-            salary_txt: '不限',
-            weight: 0,
-            weight_txt: '不限',
-            married: 0,
-            married_txt: '未婚',
-        },
-        // 记录数
-        total: 1,
-        type: 1,
-        // 是否已经推荐过
-        redommended: false,
-        showFilterBox: false,
-        // 用户信息
-        memberInfo: {},
-        // 加载状态
-        status: {
-            locading: false,
-            loaded: false,
-        },
-        swiper: null,
-        loadedCount: 0,
-    },
-    created: function () {
-        var page = sessionStorage.getItem('page')
-        var dataList = sessionStorage.getItem('dataList')
-        dataList = typeof (dataList) != 'undefined'? JSON.parse(dataList) : []
-        if(dataList.length>0){
-            this.page = Math.ceil(dataList.length/this.params.pageSize);
-            this.dataList = dataList;
-        }else{
-            if(page>1){
-                this.params.historyPage = page;
-                for(var i=1; i<=page; i++){
-                    this.params.page = i;
-                    this.params.loadHistory = i==1? 0 : 1;
-                    this.getDataList(true);
-                }
-            }else{
-                this.getDataList(false);
-            }
-        }
-
-        this.getInfo();
-        this.getParams();
-        this.getMatchList();
-        this.initShare();
-    },
-    search: function(){
-
-    },
-    updated: function () {
-        // 懒加载
-        this.lazyload();
-    },
-    // 渲染数据
-    mounted: function () {
-        var _this = this;
-        // 单身推荐列表
-        var rSwiper = new Swiper('.recommends', {
-            loop: false, // 循环模式选项
-            // spaceBetween: 10,
-            autoplay: false,
-            observer: true,//修改swiper自己或子元素时,自动初始化swiper
-            observeParents: true,//修改swiper的父元素时,自动初始化swiper
-            direction: 'vertical',
-            slidesPerView: 'auto',
-            // slidesPerView : 1,
-            // spaceBetween : 20,
-
-        });
-
-        // 每日推荐匹配
-        /*     var hSwiper = new Swiper('.hearts', {
-                 loop: false, // 循环模式选项
-                 // spaceBetween: 10,
-                 autoplay: false,
-                 slidesPerView: 'auto',
-                 observer: true,//修改swiper自己或子元素时,自动初始化swiper
-                 observeParents: true,//修改swiper的父元素时,自动初始化swiper
-             });*/
-
-        // 分类导航切换
-        $(".top_lieb li").click(function () {
-            var type = $(this).index() + 1;
-            $(this).addClass('active').siblings().removeClass('active');
-            _this.type = type;
-            if (_this.type == 2 ) {
-                // _this.hasFollow=1
-            }else{
-                $.hideLoading();
-            }
-        });
-
-        // 滚动加载更多
-        /*$(".box").scroll(function () {
-            _this.lazyload();
-            var scrollHeight = $(this).scrollTop();
-            var height = $('.box')[0].scrollHeight;
-            var docHeight = $(this).outerHeight();
-            if (docHeight + scrollHeight >= height - 1) {
-                if (_this.status.loading || _this.status.loaded) {
-                    return false;
-                }
-                _this.status.loaded = false;
-                _this.status.total = 1;
-                _this.params.page++;
-                _this.getDataList(true);
-            }
-            $(".tuod_ne").each(function(){
-                if($(this).offset().top<=70){
-                    sessionStorage.setItem('pageId', $(this).attr('id'));
-                }
-            })
-        });*/
-
-
-    },
-    computed: function(){
-
-    },
-    methods: {
-        // 获取用户信息
-        getInfo: function () {
-            var _this = this;
-            $.post('/api/member/getInfo', {type: 1}, function (res) {
-                if (res.code == 'success') {
-                    _this.memberInfo = res.data
-                    _this.hasFollow = typeof(_this.memberInfo.is_follow) != 'undefined'? _this.memberInfo.is_follow : 0;
-                    if (_this.memberInfo.user_status != 1) {
-                        _this.matchList = [];
-                        $.showLoading('账号已被冻结,请联系客服', 'text');
-                        setTimeout(function () {
-                            // $.hideLoading();
-                            location.href = '/weixin/page/custom';
-                        }, 500)
-                    }
-                } else if (res.code == 'exception') {
-                    var url = res.data.url;
-                    $.showLoading(res.message, 'text');
-                    if (url) {
-                        setTimeout(function () {
-                            $.hideLoading();
-                            location.href = url;
-                        }, 500)
-                    }
-                } else {
-                    $.toast(res.message, 'text');
-                }
-            }, "json");
-        },
-        // 初始化参数
-        getParams: function(){
-            var _this = this;
-            $.post('/api/index/params', {}, function (res) {
-                if (res.code == 'success'){
-                    var paramDatas = res.data;
-                    _this.marrieds = typeof (paramDatas.marrieds) != 'undefined'? paramDatas.marrieds : ["未婚"];
-                }else{
-                    $.toast(res.message, 'text');
-                }
-            }, "json");
-        },
-        // 获取列表数据
-        getDataList: function (more) {
-            var _this = this;
-            var oldList =  _this.dataList;
-            _this.status.loading = true;
-            if (_this.params.page == 1 ) {
-                _this.dataList = [];
-            }
-            if(_this.params.loadHistory<=0){
-                $.showLoading("数据加载中...");
-            }
-
-            $.post('/api/member/getRecommendList', _this.params, function (res) {
-                _this.status.loading = false;
-                $.hideLoading();
-                if (res.code == 'success') {
-                    if (res.data === true) {
-                        _this.total = 0;
-                        _this.redommended = true;
-                        _this.status.loaded = false;
-                        return false;
-                    }
-
-                    _this.total = res.data.total;
-                    var dataList = res.data.data;
-                    if (dataList.length <= 0 && _this.params.page > 1) {
-                        // if(_this.params.historyPage>1){
-                        //     _this.params.page = _this.params.historyPage-1;
-                        //     _this.getDataList(false);
-                        //     return false;
-                        // }
-                        _this.status.loaded = true;
-                        return false;
-                    }else if(dataList.length <= 0 && _this.params.page <= 1){
-                        sessionStorage.setItem('page', 0);
-                    }else{
-                        sessionStorage.setItem('page', _this.params.page);
-                    }
-
-                    if (more>0) {
-                        $.each(dataList, function (k, item) {
-                            _this.dataList.push(item);
-                        });
-
-                    }else {
-                        _this.dataList = dataList
-                    }
-
-                    sessionStorage.setItem('dataList', JSON.stringify(_this.dataList));
-
-                } else {
-                    $.toast(res.message, 'text');
-                }
-            }, "json");
-        },
-        // 获取列表数据
-        getMatchList: function () {
-            var _this = this;
-            $.post('/api/member/getRecommendList', {page: 1, type: 2, pageSize: 20}, function (res) {
-                if (res.code == 'success') {
-                    // _this.matchList = res.data.data
-                    // _this.matchList.push(res.data.data[0])
-
-                } else {
-                    $.toast(res.message, 'text');
-                }
-            }, "json");
-        },
-        // 详情主页
-        goDetail: function (id) {
-            location.href = '/weixin/member/home?id=' + id;
-        },
-        showFollow: function(){
-            $.modal({
-                id: "follow",
-                title: "长按关注拾光公众号",
-                text: "<div class='follow'><p><img src='/static/images/qrcode.jpg'></p><p>每天免费为你心动匹配1位优质单身</p></div>",
-                buttons: [
-                    {
-                        text: "取消", className: "default", onClick: function () {
-                            return false;
-                        }
-                    }
-                ]
-            });
-        },
-        // 延迟加载
-        lazyload: function(){
-            var _this = this;
-            var num = $(".tuod_ne .thumb").length; //可见区域高度
-            var seeHeight = document.documentElement.clientHeight; //可见区域高度
-            var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; //滚动条距离顶部高度
-            for (var i = _this.loadedCount; i < num; i++) {
-                var _img = $(".tuod_ne .thumb").eq(i);
-                var src = _img.attr('src');
-                var dataSrc = _img.attr('data-src');
-                var offsetTop = _img.offset().top;
-                if (dataSrc && offsetTop < (seeHeight + scrollTop)) {
-                    if ( dataSrc != src) {
-                        _img.attr('src', dataSrc)
-                    }
-                    _this.loadedCount = i + 1;
-                }
-            }
-        },
-        // 初始化分享
-        initShare: function(){
-            var _this = this;
-            var url = 'http://'+document.domain+'/weixin/match/index';
-            var logo = 'http://'+document.domain+'/themes/default/weixin/public/assets/img/logo.jpg';
-            var sid = getParam('sid');
-            if(sid){
-                url = location.href;
-            }
-            $.post('/api/index/getJssdkParams', {url: url}, function (res) {
-                var params = res.data;
-
-                // 微信JSSDK
-                wx.config({
-                    debug: false, // 是否调试模式
-                    appId: params.appId, // 必填,公众号的唯一标识
-                    timestamp: params.timestamp, // 必填,生成签名的时间戳
-                    nonceStr: params.nonceStr, // 必填,生成签名的随机串
-                    signature: params.signature,// 必填,签名
-                    jsApiList: ['updateAppMessageShareData','updateTimelineShareData'] // 必填,需要使用的JS接口列表
-                });
-
-                // 初始化处理
-                wx.ready(function () {
-                    // 好友
-                    wx.updateAppMessageShareData({
-                        title: '每一位真诚走心的单身,都值得被推荐~', // 分享标题
-                        // desc: '邀请你认识Ta', // 分享描述
-                        desc: '汇聚南宁8090后优质单身青年,本硕博及海占比78%,脱单来这里就够了!', // 分享描述
-                        link: location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
-                        imgUrl: logo, // 分享图标
-                        success: function () {
-                        }
-                    });
-                    // 朋友圈
-                    wx.updateTimelineShareData({
-                        title: '每一位真诚走心的单身,都值得被推荐~', // 分享标题
-
-                        link: location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
-                        //desc: '邀请你一起参加这个有趣的活动,每期都有脱单的哦!', // 分享描述
-                        imgUrl: logo, // 分享图标
-                        success: function () {
-                        }
-                    });
-                });
-
-
-            },"json");
-        }
-    }
+var app = new Vue({
+    'el': '#app',
+    'data': {
+        // 当前导航
+        curNav: 'match',
+        // 数据请求参数
+        params: {
+            page: 1,
+            historyPage: 0,
+            loadHistory: 0,
+            age: '',
+            height: '',
+            education: 0,
+            married: 0,
+            pageSize: 50,
+            type: 1,
+            lat: '',
+            lng: '',
+        },
+        hasFollow: 0,
+        // 数据列表
+        dataList: [],
+        matchList: [],
+        // 条件参数
+        ages: [],
+        // 身高
+        heights: [],
+        // 收入
+        salarys: ['不限'],
+        // 学历
+        educations: ['不限','大专','本科','硕士及以上'],
+        // 婚姻状态
+        marrieds: [],
+        // 设置的条件
+        conditions: {
+            age: '',
+            year: '',
+            age_txt: '',
+            city: 0,
+            education: 0,
+            height: '',
+            height_txt: '',
+            home_province: 0,
+            salary: 0,
+            salary_txt: '不限',
+            weight: 0,
+            weight_txt: '不限',
+            married: 0,
+            married_txt: '未婚',
+        },
+        // 记录数
+        total: 1,
+        type: 1,
+        // 是否已经推荐过
+        redommended: false,
+        showFilterBox: false,
+        // 用户信息
+        memberInfo: {},
+        // 加载状态
+        status: {
+            locading: false,
+            loaded: false,
+        },
+        rSwiper: null,
+        timerId: null,
+        tipsTimerId: null,
+        tipsLoadTimerId: null,
+        loadedCount: 0,
+        slideIndex: 0,
+        tipsArr: [],
+        tips: {
+            content: '',
+            left: -95,
+        },
+        tipParams: {
+            page: 1,
+            pageSize: 30
+        },
+    },
+    created: function () {
+        var reset = getParam('rs');
+        var slideIndex = sessionStorage.getItem('slideIndex');
+        var dataList = sessionStorage.getItem('dataList')
+        dataList = typeof (dataList) != 'undefined' && dataList != null? JSON.parse(dataList) : []
+        if(dataList && dataList.length>0 && !reset){
+            this.slideIndex = typeof (slideIndex) != 'undefined' && slideIndex>0? slideIndex : 0
+            this.slideIndex = this.slideIndex <= dataList.length? this.slideIndex : 0
+            this.total = dataList.length;
+            this.params.page = Math.ceil(dataList.length/this.params.pageSize);
+            this.dataList = dataList;
+        }else{
+            this.slideIndex = 0;
+            this.getDataList(false);
+        }
+
+        this.getInfo();
+        this.getParams();
+        this.initShare();
+       // this.timeLockTips();
+    },
+    updated: function () {
+        var _this = this;
+        _this.initData();
+
+        _this.initSwiper()
+
+        // 懒加载
+        this.lazyload();
+
+
+        // 选项选中
+        $(".choose-item h1").click(function(){
+            $(this).addClass('active').siblings().removeClass('active');
+        });
+    },
+    // 渲染数据
+    mounted: function () {
+        var _this = this;
+
+        _this.initSwiper()
+
+        // 分类导航切换
+        $(".top_lieb li").click(function () {
+            var type = $(this).index() + 1;
+            $(this).addClass('active').siblings().removeClass('active');
+            _this.type = type;
+            if (_this.type == 2 ) {
+                // _this.hasFollow=1
+            }else{
+                $.hideLoading();
+            }
+        });
+
+    },
+    methods: {
+        // 获取用户信息
+        getInfo: function () {
+            var _this = this;
+            $.post('/api/member/getInfo', {type: 1,uncheck: true}, function (res) {
+                if (res.code == 'success') {
+                    _this.memberInfo = res.data
+                    _this.hasFollow = typeof(_this.memberInfo.is_follow) != 'undefined'? _this.memberInfo.is_follow : 0;
+                    /*if (_this.memberInfo.user_status != 1) {
+                        _this.matchList = [];
+                        $.showLoading('账号已被冻结,请联系客服', 'text');
+                        setTimeout(function () {
+                            // $.hideLoading();
+                            location.href = '/weixin/page/custom';
+                        }, 500)
+                    }*/
+                } else if (res.code == 'exception') {
+                    var url = res.data.url;
+                    $.showLoading(res.message, 'text');
+                    if (url) {
+                        setTimeout(function () {
+                            $.hideLoading();
+                            location.href = url;
+                        }, 500)
+                    }
+                } else {
+                    $.toast(res.message, 'text');
+                }
+            }, "json");
+        },
+        // 初始化参数
+        getParams: function(){
+            var _this = this;
+            $.post('/api/index/params', {}, function (res) {
+                if (res.code == 'success'){
+                    var paramDatas = res.data;
+                    _this.marrieds = typeof (paramDatas.marrieds) != 'undefined'? paramDatas.marrieds : ["未婚"];
+                    _this.initData();
+                }else{
+                    $.toast(res.message, 'text');
+                }
+            }, "json");
+        },
+        // 获取举报用户
+        getTips: function(){
+            var _this = this
+            $.post('/api/member/complainList', _this.tipParams, function (res) {
+                if (res.code == 'success'){
+                    var dataList = typeof(res.data.data) != 'undefined'? res.data.data : [];
+                    if(dataList.length>0 && res.data.total>0 && _this.tipsArr.length<res.data.total){
+                        if(dataList.length<_this.tipParams.pageSize){
+                            _this.tipsArr = _this.tipsArr.concat(dataList)
+                        }else{
+                            _this.tipsArr = dataList
+                        }
+
+                        _this.initTips(0)
+                    }else{
+                        clearInterval(_this.tipsLoadTimerId)
+                    }
+                }
+            }, "json");
+        },
+        timeLockTips(){
+            var _this = this;
+            clearInterval(_this.tipsLoadTimerId)
+
+            _this.getTips()
+            /*setInterval(function(){
+                _this.tipParams.page ++;
+                _this.getTips()
+            }, 20000)*/
+        },
+        // 初始化提示
+        initTips: function(index){
+            var _this = this
+            var num = _this.tipsArr.length
+
+            if(num>0){
+                var data = typeof(_this.tipsArr[index]) != 'undefined'? _this.tipsArr[index] : {};
+                if(!data){
+                    return false;
+                }
+
+                clearInterval(_this.tipsTimerId)
+                _this.tips.content = '提示:用户<em>'+data.user_nickname+'</em>因被举报核实已拉黑,点击查看'
+                var strs = _this.tips.content? _this.tips.content.split('') : [];
+                if(strs.length>9){
+                    _this.tips.width = (strs.length-9)*13.5
+                }
+                _this.tipsTimerId = setInterval(function(){
+                   if(_this.tips.left>=100){
+                       _this.tips.left = -100;
+                       _this.tips.content = '';
+                       index = index+1>=num? 0 : index+1;
+                       _this.initTips(index)
+                       return false;
+                   }
+
+                    _this.tips.left += 0.25;
+                }, 20);
+            }
+
+        },
+        // 初始化筛选数据
+        initData: function(){
+            var _this = this;
+            var ages = [];
+            for(var i=0;i<=72;i++){
+                ages.push(18+i);
+            }
+
+            var conditions = sessionStorage.getItem('conditions');
+            conditions = typeof (conditions) != 'undefined' && conditions != null? JSON.parse(conditions) : {}
+            if(conditions){
+                _this.conditions = conditions
+            }
+
+            var data = _this.conditions.age? _this.conditions.age.toString() : '';
+            data = data? data.split('~'): [];
+            var data1 = typeof(data[0]) != 'undefined'? data[0] : '';
+            var data2 = typeof(data[1]) != 'undefined'? data[1] : '';
+            data2 = data2>data1?data2 : 0;
+            if(data1==0 && data2>0){
+                code = data2+'以下';
+            }else if(data1>0 && data2==0){
+                code = data1+'以上';
+            }else if(data1 && data2 && data2>data1){
+                code = data1+'~'+data2+'岁';
+            }
+
+            $("#age").val(code);
+            $("#age_btn").val(_this.conditions.age);
+            $("#age_btn").picker({
+                title: "请选择年龄",
+                cols: [
+                    {
+                        textAlign: 'center',
+                        values: ages,
+                    },
+                    {
+                        textAlign: 'center',
+                        values: ages,
+                    }
+                ],
+                onChange: function(data){
+                    var code = '';
+                    var data1 = data.cols[0].value;
+                    var data2 = data.cols[1].value;
+                    data1 = data1 =='不限'? 0 : data1;
+                    data2 = data2 =='不限'? 0 : data2;
+                    data2 = data2>data1?data2 : 0;
+                    if(data1==0 && data2>0){
+                        code = data2+'以下';
+                    }else if(data1>0 && data2==0){
+                        code = data1+'以上';
+                    }else if(data1 && data2 && data2>data1){
+                        code = data1+'~'+data2+'岁';
+                    }
+                    $("#age").attr('data-code', data1+'~'+data2);
+                    $("#age").val(code);
+                    // $("#age").val(data1 || data2 && (data2>data1)? data1+'~'+data2 : '');
+                },
+                onConfirm: function(data){
+                    console.log(data)
+                }
+            });
+
+            for (var i = 1; i <= 70; i++) {
+                _this.heights.push((145 + i));
+            }
+
+            var data = _this.conditions.height? _this.conditions.height.toString() : '';
+            data = data? data.split('~'): [];
+            var data1 = typeof(data[0]) != 'undefined'? data[0] : '';
+            var data2 = typeof(data[1]) != 'undefined'? data[1] : '';
+            var code = '';
+            data1 = data1 =='不限' || !data1? 0 : data1;
+            data2 = data2 =='不限' || !data2? 0 : data2;
+            data2 = data2>data1?data2 : 0;
+            if(data1==0 && data2>0){
+                code = data2+'以下';
+            }else if(data1>0 && data2==0){
+                code = data1+'以上';
+            }else if(data1 && data2 && data2>data1){
+                code = data1+'~'+data2+'cm';
+            }
+            $("#height_btn").attr('data-code', _this.conditions.height);
+            $("#height").val(code);
+            $("#height_btn").picker({
+                title: "请选择身高",
+                cols: [
+                    {
+                        textAlign: 'center',
+                        values: _this.heights,
+                    },
+                    {
+                        textAlign: 'center',
+                        values: _this.heights,
+                    }
+                ],
+                onChange: function(data){
+                    var code = '';
+                    var data1 = data.cols[0].value;
+                    var data2 = data.cols[1].value;
+                    data1 = data1 =='不限' || !data1? 0 : data1;
+                    data2 = data2 =='不限' || !data2? 0 : data2;
+                    data2 = data2>data1?data2 : 0;
+                    if(data1==0 && data2>0){
+                        code = data2+'以下';
+                    }else if(data1>0 && data2==0){
+                        code = data1+'以上';
+                    }else if(data1 && data2 && data2>data1){
+                        code = data1+'~'+data2+'cm';
+                    }
+                    $("#height").attr('data-code', data1+'~'+data2);
+                    $("#height").val(code);
+                },
+                onConfirm: function(data){
+
+                },
+            });
+        },
+        // 加载更多
+        loadMore: function(){
+            var _this = this;
+            var slideIndex = _this.dataList.length;
+            _this.status.loaded = false;
+            _this.status.total = 1;
+            _this.params.page++;
+            _this.slideIndex = slideIndex>0? slideIndex : 0
+            _this.getDataList(true);
+        },
+        // 获取列表数据
+        getDataList: function (more) {
+            var _this = this;
+            if(_this.status.loading){
+                return false;
+            }
+            _this.status.loading = true;
+            if (_this.params.page == 1 ) {
+                _this.dataList = [];
+            }
+            if(_this.params.loadHistory<=0){
+                $.showLoading("数据加载中...");
+            }
+
+            $.post('/api/member/getRecommendList', _this.params, function (res) {
+                _this.status.loading = false;
+                $.hideLoading();
+                if (res.code == 'success') {
+                    if (res.data === true) {
+                        _this.total = 0;
+                        _this.redommended = true;
+                        _this.status.loaded = false;
+                        return false;
+                    }
+
+                    _this.total = res.data.total;
+                    var dataList = res.data.data;
+                    if (dataList.length <= 0 && _this.params.page > 1) {
+                        _this.showMessage('已加载完全部...', 1500)
+                        _this.status.loaded = true;
+                        return false;
+                    }else if(dataList.length <= 0 && _this.params.page <= 1){
+                        sessionStorage.setItem('page', 0);
+                        sessionStorage.setItem('dataList', null);
+                    }else{
+                        sessionStorage.setItem('page', _this.params.page);
+                    }
+
+                    if (more>0) {
+                        $.each(dataList, function (k, item) {
+                            _this.dataList.push(item);
+                        });
+
+                    }else {
+                        _this.dataList = dataList
+                    }
+
+                    sessionStorage.setItem('dataList', JSON.stringify(_this.dataList));
+                } else {
+                    $.toast(res.message, 'text');
+                }
+            }, "json");
+        },
+        initSwiper: function(){
+            var _this = this;
+            if(_this.rSwiper != null && _this.dataList.length>0){
+                _this.rSwiper.destroy(true);
+            }
+
+            console.log(_this.slideIndex);
+            setTimeout(function(){
+                // 单身推荐列表
+                _this.rSwiper = new Swiper('.recommends', {
+                    // loop: false, // 循环模式选项
+                    // autoplay: false,
+                    initialSlide: _this.slideIndex,// 默认显示
+                    freeModeSticky:true,
+                    freeMode: false,
+                    observer: true,//修改swiper自己或子元素时,自动初始化swiper
+                    observeParents: true,//修改swiper的父元素时,自动初始化swiper
+                    direction: 'vertical',
+                    slidesPerView: 'auto',
+                    on: {
+                        touchEnd: function(){
+                            sessionStorage.setItem('slideIndex', this.activeIndex+1);
+                        },
+
+                    },
+                })
+
+            }, 300)
+        },
+        // 提示消息
+        showMessage: function(msg, time){
+            $.showLoading(msg);
+            setTimeout(function(){
+                $.hideLoading();
+            }, time)
+        },
+        // 详情主页
+        goDetail: function (id) {
+            location.href = '/weixin/member/home?id=' + id;
+        },
+        // 筛选
+        filterSubmit: function(){
+            var _this = this;
+            _this.params.age = _this.conditions.age = $("#age").attr('data-code');
+            _this.params.height = _this.conditions.height = $("#height").attr('data-code');
+            _this.params.education = _this.conditions.education = $("#education h1.active").attr('data-code');
+            _this.params.married = _this.conditions.married = $("#married h1.active").attr('data-code');
+            _this.params.page = 1;
+            _this.loaded = false;
+            _this.total = 1;
+            _this.slideIndex = 0;
+            _this.showFilterBox = false;
+            sessionStorage.setItem('conditions', JSON.stringify(_this.conditions));
+            _this.getDataList(0);
+        },
+        showAuth: function(data){
+            $.closeModal();
+            var idcard = data.idcard_check==2? 'idcard active' : 'idcard';
+            var position = data.position_check==2? 'position active' : 'position';
+            var education = data.education_check==2? 'education active' : 'education';
+            var vip = data.vip_auth==1? "<img  class='vip' src='/themes/default/weixin/public/assets/img/auth/vip.png'>" : '';
+            $.modal({
+                id: "autnInfo",
+                close: true,
+                title: "认证信息",
+                text: "<div class='authInfo'><span class='close'>x</span><p class='avatar'><img src='"+data.avatar+"' alt=''>"+vip+"</p>" +
+                "<p class='info'>" +
+                "<span class='"+idcard+"'><span class='icon'><img src='/themes/default/weixin/public/assets/img/auth/idcard.png' alt=''></span><span>实名</span></span>" +
+                "<span class='"+position+"'><span class='icon'><img src='/themes/default/weixin/public/assets/img/auth/position.png' alt=''></span><span>工作</span></span>" +
+                "<span class='"+education+"'><span class='icon'><img src='/themes/default/weixin/public/assets/img/auth/education.png' alt=''></span><span>学历</span></span>" +
+                "</p>" +
+                "</div>",
+                buttons: [
+                    {
+                        text: "关闭", className: "default", onClick: function () {
+                            return false;
+                        }
+                    },
+                    {
+                        text: "我也要认证", className: "warning", onClick: function () {
+                            location.href = '/weixin/auth/index/'
+                        }
+                    }
+                ]
+            });
+
+            $(".authInfo .close").click(function(){
+                $.closeModal();
+            })
+        },
+        showFollow: function(){
+            $.modal({
+                id: "follow",
+                title: "长按关注拾光公众号",
+                text: "<div class='follow'><p><img src='/static/images/qrcode.jpg'></p><p>每天免费为你心动匹配1位优质单身</p></div>",
+                buttons: [
+                    {
+                        text: "取消", className: "default", onClick: function () {
+                            return false;
+                        }
+                    }
+                    ]
+            });
+        },
+        // 延迟加载
+        lazyload: function(){
+            var _this = this;
+            var num = $(".tuod_ne .thumb").length; //可见区域高度
+            var seeHeight = document.documentElement.clientHeight; //可见区域高度
+            var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; //滚动条距离顶部高度
+            for (var i = _this.loadedCount; i < num; i++) {
+                var _img = $(".tuod_ne .thumb").eq(i);
+                var src = _img.attr('src');
+                var dataSrc = _img.attr('data-src');
+                var offsetTop = _img.offset().top;
+                if (dataSrc && offsetTop < (seeHeight + scrollTop)) {
+                    if ( dataSrc != src) {
+                        _img.attr('src', dataSrc)
+                    }
+                    _this.loadedCount = i + 1;
+                }
+            }
+        },
+        // 初始化分享
+        initShare: function(){
+            var _this = this;
+            var url = 'http://'+document.domain+'/weixin/match/index';
+            var logo = 'http://'+document.domain+'/themes/default/weixin/public/assets/img/logo.jpg';
+            var sid = getParam('sid');
+            if(sid){
+                url = location.href;
+            }
+            $.post('/api/index/getJssdkParams', {url: url}, function (res) {
+                var params = res.data;
+
+                // 微信JSSDK
+                wx.config({
+                    debug: false, // 是否调试模式
+                    appId: params.appId, // 必填,公众号的唯一标识
+                    timestamp: params.timestamp, // 必填,生成签名的时间戳
+                    nonceStr: params.nonceStr, // 必填,生成签名的随机串
+                    signature: params.signature,// 必填,签名
+                    jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData','getLocation','openLocation'] // 必填,需要使用的JS接口列表
+                });
+
+                // 初始化处理
+                wx.ready(function () {
+                    // 获取定位数据
+                    wx.getLocation({
+                        success: function (res) {
+                            $.post('/api/member/getLocationAddress',{type: 2,lat: res.latitude,lng: res.longitude},function(res){
+                                if(res.code == 'success'){
+                                    var location = res.data.location;
+                                    var lat = typeof(location.location.lat)!='undefined'? location.location.lat : 0;
+                                    var lng = typeof(location.location.lng)!='undefined'? location.location.lng : 0;
+                                    if(lat && lng){
+                                        _this.params.lng = lng
+                                        _this.params.lat = lat
+                                        _this.getDataList(false);
+
+                                    }
+                                }
+                            },'json');
+                        },
+                        cancel: function (res) {
+                            $.toast('用户拒绝了授权位置信息', 'text');
+                        }
+                    });
+
+                    // 好友
+                    wx.updateAppMessageShareData({
+                        title: '每一位真诚走心的单身,都值得被推荐~', // 分享标题
+                        // desc: '邀请你认识Ta', // 分享描述
+                        desc: '汇聚南宁8090后优质单身青年,本硕博及海占比78%,脱单来这里就够了!', // 分享描述
+                        link: location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
+                        imgUrl: logo, // 分享图标
+                        success: function () {
+                        }
+                    });
+                    // 朋友圈
+                    wx.updateTimelineShareData({
+                        title: '每一位真诚走心的单身,都值得被推荐~', // 分享标题
+
+                        link: location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
+                        //desc: '邀请你一起参加这个有趣的活动,每期都有脱单的哦!', // 分享描述
+                        imgUrl: logo, // 分享图标
+                        success: function () {
+                        }
+                    });
+                });
+
+
+            },"json");
+        }
+    }
 })

+ 1 - 1
public/themes/default/weixin/public/assets/js/privacy.js

@@ -56,7 +56,7 @@ var app = new Vue({
                 if (res.code == 'success'){
                     $.toast(res.message, 'text');
                 }else if(res.code == 'exception'){
-                    $.modal({
+                   $.modal({
                         id: "apply",
                         title: "温馨提示",
                         text: res.message,

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 3484
sgds.sql