From e0fb4f5a4153e4464ce1c1293f6c08a30f60a1b4 Mon Sep 17 00:00:00 2001 From: dengbw Date: Fri, 28 Jan 2022 16:16:36 +0800 Subject: [PATCH] syt_128 --- admin/controllers/app/licheb/Main.php | 21 + admin/controllers/app/licheb/Sytactivity.php | 417 +++++++++ admin/controllers/app/licheb/Sytbiz.php | 138 +++ admin/controllers/topics/Topics.php | 85 +- .../app/licheb/syt/achievement_lists.php | 122 +++ .../app/licheb/syt/activity_biz_lists.php | 60 ++ admin/views/app/licheb/syt/activity_edit.php | 543 ++++++++++++ admin/views/app/licheb/syt/activity_lists.php | 78 ++ admin/views/topics/edit.php | 5 + admin/views/topics/lists.php | 21 +- admin/views/topics/module_button.php | 181 ++++ admin/views/topics/module_enroll.php | 2 +- api/controllers/wxapp/liche/Aptinfo.php | 10 + api/controllers/wxapp/licheb/Customers.php | 13 +- api/controllers/wxapp/licheb/Sytactivity.php | 224 +++++ api/controllers/wxapp/material/Topic.php | 10 + common/helpers/comm_helper.php | 60 ++ common/libraries/entity/Syt_entity.php | 249 ++++++ common/models/app/App_weixin_users_model.php | 39 + .../app/licheb/Syt_activity_kpidata_model.php | 34 + .../models/app/licheb/Syt_activity_model.php | 18 + .../models/app/licheb/Syt_biz_score_model.php | 18 + .../receiver/Receiver_customers_model.php | 2 +- .../topics/Topic_module_button_model.php | 17 + home/config/app.php | 12 + home/config/wechat.php | 12 +- home/controllers/h5/Wxapp.php | 202 +++++ home/controllers/h5/syt/Myqrcode.php | 51 ++ home/controllers/h5/syt/Special.php | 652 ++++++++++++++ home/libraries/Hdwechat.php | 215 +++++ home/libraries/Jssdk.php | 85 ++ home/views/h5/footer.php | 3 + home/views/h5/header.php | 16 + home/views/h5/syt/special.php | 825 ++++++++++++++++++ home/views/h5/syt/special_poster.php | 158 ++++ www/home/MP_verify_6KCtCFAFCutAcUIU.txt | 1 + www/home/css/h5/syt/special.css | 1 + www/home/img/h5/syt/follow-bg.png | Bin 0 -> 1556 bytes www/home/img/h5/syt/icon-1.png | Bin 0 -> 1285 bytes www/home/img/h5/syt/icon-2.png | Bin 0 -> 1943 bytes www/home/img/h5/syt/icon-3.png | Bin 0 -> 1431 bytes www/home/img/h5/syt/icon-4.png | Bin 0 -> 1566 bytes www/home/img/h5/syt/icon-5.png | Bin 0 -> 1984 bytes www/home/img/h5/syt/icon-finger.png | Bin 0 -> 3042 bytes www/home/img/h5/syt/icon-live.gif | Bin 0 -> 1383 bytes www/home/img/h5/syt/icon-live2.png | Bin 0 -> 1315 bytes www/home/img/h5/syt/icon-mine.png | Bin 0 -> 5831 bytes www/home/img/h5/syt/icon-poster.gif | Bin 0 -> 1469 bytes www/home/img/h5/syt/icon-team.png | Bin 0 -> 1371 bytes www/home/img/h5/syt/invite-tt.png | Bin 0 -> 29718 bytes www/home/img/h5/syt/rank-1.png | Bin 0 -> 2128 bytes www/home/img/h5/syt/rank-2.png | Bin 0 -> 1833 bytes www/home/img/h5/syt/rank-3.png | Bin 0 -> 1843 bytes www/home/img/h5/syt/rank2-1.png | Bin 0 -> 5436 bytes www/home/img/h5/syt/rank2-2.png | Bin 0 -> 4887 bytes www/home/img/h5/syt/rank2-3.png | Bin 0 -> 4808 bytes www/home/img/h5/syt/report-shadow.png | Bin 0 -> 21151 bytes www/home/img/h5/syt/report-theme.jpg | Bin 0 -> 48875 bytes www/home/img/h5/syt/share-tip.png | Bin 0 -> 11334 bytes www/home/img/h5/syt/share-tip2.png | Bin 0 -> 11353 bytes 60 files changed, 4554 insertions(+), 46 deletions(-) create mode 100644 admin/controllers/app/licheb/Sytactivity.php create mode 100644 admin/controllers/app/licheb/Sytbiz.php create mode 100644 admin/views/app/licheb/syt/achievement_lists.php create mode 100644 admin/views/app/licheb/syt/activity_biz_lists.php create mode 100644 admin/views/app/licheb/syt/activity_edit.php create mode 100644 admin/views/app/licheb/syt/activity_lists.php create mode 100644 admin/views/topics/module_button.php create mode 100644 api/controllers/wxapp/licheb/Sytactivity.php create mode 100644 common/libraries/entity/Syt_entity.php create mode 100644 common/models/app/App_weixin_users_model.php create mode 100644 common/models/app/licheb/Syt_activity_kpidata_model.php create mode 100644 common/models/app/licheb/Syt_activity_model.php create mode 100644 common/models/app/licheb/Syt_biz_score_model.php create mode 100644 common/models/topics/Topic_module_button_model.php create mode 100644 home/config/app.php create mode 100644 home/controllers/h5/Wxapp.php create mode 100644 home/controllers/h5/syt/Myqrcode.php create mode 100644 home/controllers/h5/syt/Special.php create mode 100644 home/libraries/Hdwechat.php create mode 100644 home/libraries/Jssdk.php create mode 100644 home/views/h5/footer.php create mode 100644 home/views/h5/header.php create mode 100644 home/views/h5/syt/special.php create mode 100644 home/views/h5/syt/special_poster.php create mode 100644 www/home/MP_verify_6KCtCFAFCutAcUIU.txt create mode 100644 www/home/css/h5/syt/special.css create mode 100644 www/home/img/h5/syt/follow-bg.png create mode 100644 www/home/img/h5/syt/icon-1.png create mode 100644 www/home/img/h5/syt/icon-2.png create mode 100644 www/home/img/h5/syt/icon-3.png create mode 100644 www/home/img/h5/syt/icon-4.png create mode 100644 www/home/img/h5/syt/icon-5.png create mode 100644 www/home/img/h5/syt/icon-finger.png create mode 100644 www/home/img/h5/syt/icon-live.gif create mode 100644 www/home/img/h5/syt/icon-live2.png create mode 100644 www/home/img/h5/syt/icon-mine.png create mode 100644 www/home/img/h5/syt/icon-poster.gif create mode 100644 www/home/img/h5/syt/icon-team.png create mode 100644 www/home/img/h5/syt/invite-tt.png create mode 100644 www/home/img/h5/syt/rank-1.png create mode 100644 www/home/img/h5/syt/rank-2.png create mode 100644 www/home/img/h5/syt/rank-3.png create mode 100644 www/home/img/h5/syt/rank2-1.png create mode 100644 www/home/img/h5/syt/rank2-2.png create mode 100644 www/home/img/h5/syt/rank2-3.png create mode 100644 www/home/img/h5/syt/report-shadow.png create mode 100644 www/home/img/h5/syt/report-theme.jpg create mode 100644 www/home/img/h5/syt/share-tip.png create mode 100644 www/home/img/h5/syt/share-tip2.png diff --git a/admin/controllers/app/licheb/Main.php b/admin/controllers/app/licheb/Main.php index 724d45ab..815fbcc8 100644 --- a/admin/controllers/app/licheb/Main.php +++ b/admin/controllers/app/licheb/Main.php @@ -15,8 +15,10 @@ class Main extends HD_Controller $this->app_id = 2; parent::__construct(); $this->load->model('app/licheb/App_licheb_users_model', 'userM'); + $this->load->model('app/licheb/syt_activity_model', 'mdSytActivity'); $this->load->model('app/material/Material_template_model', 'mdTemplate'); $this->load->model('app/material/Material_biz_model', 'mdMaterialBiz'); + $this->load->model('topics/topics_model', 'mdTopics'); } public function index() @@ -61,6 +63,25 @@ class Main extends HD_Controller ); $conditions[] = array('icon' => 'am-icon-home', 'list' => $list); + $list = array(); + $value = $this->mdTopics->count(array('app_id' => $this->app_id)); + $list[] = array( + 'title' => '专题(个)', + 'value' => $value, + 'btns' => array( + array('name' => '查看详情', 'url' => '/topics/topics?app_id=' . $this->app_id), + ), + ); + $value = $this->mdSytActivity->count(array('status>' => -1)); + $list[] = array( + 'title' => '私域通-活动(个)', + 'value' => $value, + 'btns' => array( + array('name' => '查看详情', 'url' => '/app/licheb/sytactivity'), + ), + ); + $conditions[] = array('icon' => 'am-icon-user', 'list' => $list); + /*小程序设置 end*/ /*实时数据 end*/ diff --git a/admin/controllers/app/licheb/Sytactivity.php b/admin/controllers/app/licheb/Sytactivity.php new file mode 100644 index 00000000..e1f59f18 --- /dev/null +++ b/admin/controllers/app/licheb/Sytactivity.php @@ -0,0 +1,417 @@ + '已删除', 0 => '待审核', 1 => '已通过', 2 => '未通过'); + private $app_id = 2; + + public function __construct() + { + parent::__construct(); + $this->load->model('app/licheb/syt_activity_model', 'mdSytActivity'); + $this->load->model('app/licheb/syt_activity_kpidata_model', 'mdSytKpiData'); + $this->load->model('topics/topics_model', 'mdTopics'); + } + + public function index() + { + return $this->lists(); + } + + public function lists() + { + $params = $this->input->get(); + $params['page'] = $params['page'] ? intval($params['page']) : 1; + $params['size'] = $params['size'] ? intval($params['size']) : 20; + $lists = array(); + $where = array('status>' => -1); + $count = $this->mdSytActivity->count($where); + if ($count) { + $this->load->library('MyEncryption'); + $res = $this->mdSytActivity->select($where, 'id desc', $params['page'], $params['size']); + foreach ($res as $key => $value) { + $setValue = array(); + $setValue['id'] = $value['id']; + $setValue['title'] = $value['title']; + $z_title = ''; + if ($value['z_id']) { + $re_t = $this->mdTopics->get(array('id' => $value['z_id'])); + $re_t['title'] && $z_title = $re_t['title']; + } + $setValue['z_id'] = $value['z_id']; + $setValue['z_title'] = $z_title; + $setValue['s_time'] = $value['s_time']; + $setValue['e_time'] = $value['e_time']; + $setValue['c_time'] = date('Y-m-d H:i', $value['c_time']); + $setValue['status_name'] = $this->statusAry[$value['status']]; + + $url = http_host_com('home') . "/h5/syt/special?skey=" . $this->myencryption->base64url_encode("a_id=" . $value['id']); + $setValue['url'] = urlencode($url); + $lists[] = $setValue; + } + } + $this->data['_title'] = '私域通-活动列表'; + $this->data['pager'] = array('count' => ceil($count / $params['size']), 'curr' => $params['page'], 'totle' => $count); + $this->data['lists'] = $lists; + $this->data['params'] = $params; + return $this->show_view('/app/licheb/syt/activity_lists', true); + } + + public function get() + { + $params = $this->input->get(); + $id = intval($params['id']); + $status_list = $kpi_list = array(); + $posters = array('imgs_url' => array(), 'imgs' => array()); + $share_title = $remark = $rule = ''; + if ($id > 0) { + $re = $this->mdSytActivity->get(array('id' => $id)); + if (!$re || empty($re)) { + return $this->show_json(SYS_CODE_FAIL, '活动不存在!'); + } + $_title = '编辑私域通活动'; + $dataInfo['editType'] = 0; + $dataInfo['edit_url'] = '/app/licheb/sytactivity/edit'; + $dataInfo['brand_id'] = $re['brand_id'] ? explode(',', $re['brand_id']) : []; + $dataInfo['status'] = $re['status']; + $dataInfo['z_id'] = $re['z_id']; + if ($re['jsondata']) { + $jsondata = json_decode($re['jsondata'], true); + $share_title = $jsondata['share_title'] ? $jsondata['share_title'] : ''; + $remark = $jsondata['remark'] ? $jsondata['remark'] : ''; + $rule = $jsondata['rule'] ? $jsondata['rule'] : ''; + if ($jsondata['posters']) { + foreach ($jsondata['posters'] as $key => $value) { + $posters['imgs_url'][] = array("value" => $value['url'], "src" => build_qiniu_image_url($value['url'])); + $posters['imgs'][] = array("value" => $value['url'], "src" => build_qiniu_image_url($value['url']) + , "width" => $value['width'], "height" => $value['height']); + } + } + } + if ($re['z_id']) { + $re_t = $this->mdTopics->get(array('id' => $re['z_id'])); + $dataInfo['z_title'] = $re_t['title'] ? $re_t['title'] : ''; + } + $dataInfo['title'] = $re['title']; + $dataInfo['img'] = $re['img'] ? $re['img'] : ''; + $dataInfo['img_url'] = $re['img'] ? build_qiniu_image_url($re['img']) : ''; + $dataInfo['time'] = $re['s_time'] . " ~ " . $re['e_time']; + $jsonkpi = $re['jsonkpi'] ? json_decode($re['jsonkpi'], true) : ''; + foreach ($this->mdSytKpiData->kpiAry() as $key => $value) { + $kpi_list[$key] = array("num" => $jsonkpi[$key]['num'], "score" => $jsonkpi[$key]['score'] + , "title" => $value['title1'], "num_tag" => $value['num_tag'], "score_tag" => $value['score_tag']); + } + } else { + $_title = '新增私域通活动'; + $dataInfo['editType'] = 2; + $dataInfo['edit_url'] = '/app/licheb/sytactivity/add'; + $dataInfo['brand_id'] = []; + $dataInfo['status'] = 0; + $dataInfo['z_id'] = 0; + foreach ($this->mdSytKpiData->kpiAry() as $key => $value) { + $kpi_list[$key] = array("num" => 0, "score" => 0, "title" => $value['title1'], "num_tag" => $value['num_tag'] + , "score_tag" => $value['score_tag']); + } + } + foreach ($this->statusAry as $key => $value) { + $status_list[] = array("id" => $key, "name" => $value); + } + $dataInfo['kpi_list'] = $kpi_list; + $dataInfo['id'] = $id; + $dataInfo['share_title'] = $share_title; + $dataInfo['remark'] = $remark; + $dataInfo['rule'] = $rule; + $this->data['info'] = $dataInfo; + $this->data['status_list'] = $status_list; + $this->data['posters'] = $posters; + $this->data['_title'] = $_title; + return $this->show_view('/app/licheb/syt/activity_edit', true); + } + + public function add() + { + $info = $this->input->post('info'); + $checkData = $this->checkData($info); + if (!$checkData['code']) { + return $this->show_json($checkData['code'], $checkData['msg']); + } + $brand_id = $info['brand_id'] ? implode(',', $info['brand_id']) : 0; + $re = $this->mdSytActivity->get(array("z_id" => $info['z_id'], "brand_id" => $brand_id)); + if ($re) { + return $this->show_json(SYS_CODE_FAIL, '该活动已存在!'); + } + $jsonkpi = json_encode($info['kpi_list'], JSON_UNESCAPED_UNICODE); + $json_data['share_title'] = $info['share_title']; + $json_data['remark'] = $info['remark']; + $json_data['rule'] = $info['rule']; + //海报 + $posters = array(); + if ($info['posters']) { + foreach ($info['posters'] as $key => $value) { + $posters[] = array('url' => $value['value'], 'width' => $value['width'], 'height' => $value['height']); + } + } + $json_data['posters'] = $posters; + $jsondata = json_encode($json_data, JSON_UNESCAPED_UNICODE); + $addData = array("brand_id" => $brand_id, "title" => $info['title'], "z_id" => $info['z_id'], "img" => $info['img'] + , "jsonkpi" => $jsonkpi, "jsondata" => $jsondata, "status" => $info['status'], "c_time" => time()); + if ($info['time']) { + $time = explode(' ~ ', $info['time']); + $addData['s_time'] = $time[0]; + $addData['e_time'] = $time[1]; + } + $id = $this->mdSytActivity->add($addData); + if (!$id) { + return $this->show_json(SYS_CODE_FAIL, '新增活动失败!'); + } + $this->data['type'] = 'add'; + $this->data['id'] = $id; + return $this->show_json(SYS_CODE_SUCCESS, '新增活动成功!'); + } + + public function edit() + { + $info = $this->input->post('info'); + $checkData = $this->checkData($info); + if (!$checkData['code']) { + return $this->show_json($checkData['code'], $checkData['msg']); + } + if (!$info['id']) { + return $this->show_json(SYS_CODE_FAIL, '参数错误!'); + } + $jsonkpi = json_encode($info['kpi_list'], JSON_UNESCAPED_UNICODE); + $json_data['share_title'] = $info['share_title']; + $json_data['remark'] = $info['remark']; + $json_data['rule'] = $info['rule']; + //海报 + $posters = array(); + if ($info['posters']) { + foreach ($info['posters'] as $key => $value) { + $posters[] = array('url' => $value['value'], 'width' => $value['width'], 'height' => $value['height']); + } + } + $json_data['posters'] = $posters; + $jsondata = json_encode($json_data, JSON_UNESCAPED_UNICODE); + $brand_id = $info['brand_id'] ? implode(',', $info['brand_id']) : 0; + $updateData = array("brand_id" => $brand_id, "title" => $info['title'], "z_id" => $info['z_id'], "img" => $info['img'] + , "jsonkpi" => $jsonkpi, "jsondata" => $jsondata); + if ($info['time']) { + $time = explode(' ~ ', $info['time']); + $updateData['s_time'] = $time[0]; + $updateData['e_time'] = $time[1]; + } + $this->mdSytActivity->update($updateData, array('id' => $info['id'])); + $this->data['type'] = 'edit'; + return $this->show_json(SYS_CODE_SUCCESS, '修改活动成功!'); + } + + /** + * Notes:修改商家状态 + * Created on: 2020/8/24 11:12 + * Created by: dengbw + * @return bool|void + */ + public function edit_status() + { + $info = $this->input->post('info'); + if (!$info['id']) { + return $this->show_json(SYS_CODE_FAIL, '参数错误!'); + } + $this->mdSytActivity->update(array("status" => intval($info['status'])), array('id' => $info['id'])); + return $this->show_json(SYS_CODE_SUCCESS, '操作成功!'); + } + + + /** + * Notes:私域通-报名 + * Created on: 2020/12/23 14:54 + * Created by: dengbw + * @return bool + */ + public function get_enroll_lists() + { + $params = $this->input->get(); + if (!$params['a_id']) { + return $this->show_json(SYS_CODE_FAIL, '参数错误!'); + } + $re = $this->mdSytActivity->get(array('id' => $params['a_id'])); + if (!$re || empty($re)) { + return $this->show_json(SYS_CODE_FAIL, '活动不存在!'); + } + $res = $this->enrollSelect($params); + $lists = $res['lists']; + $count = $res['count']; + $params = $res['params']; + $this->data['_title'] = '私域通-[' . $re['title'] . ']报名'; + $this->data['pager'] = array('count' => ceil($count / $params['size']), 'curr' => $params['page'], 'totle' => $count); + $this->data['lists'] = $lists; + $this->data['params'] = $res['params']; + return $this->show_view('/app/hdy/syt/enroll_lists', true); + } + + public function enrollSelect($params) + { + $this->load->model('app/syt/syt_activity_enroll_model', 'mdSytActivityEnroll'); + $this->load->model('app/syt/syt_activity_team_model', 'mdSytActivityTeam'); + $this->load->model('app/hdy/app_hdy_users_model', 'mdHdyUsers'); + $params['page'] = $params['page'] ? intval($params['page']) : 1; + $params['size'] = $params['size'] ? intval($params['size']) : 20; + $params['a_id'] = intval($params['a_id']); + $lists = array(); + $where = array('status' => 1, 'a_id' => $params['a_id']); + if ($params['nickname']) { + $where['nickname LIKE "%' . $params['nickname'] . '%"'] = null; + } + if ($params['mobile']) { + $where['mobile LIKE "%' . $params['mobile'] . '%"'] = null; + } + $count = $this->mdSytActivityEnroll->count($where); + if ($count) { + $res = $this->mdSytActivityEnroll->select($where, 'id desc', $params['page'], $params['size']); + foreach ($res as $key => $value) { + $setValue = array(); + $setValue['id'] = $value['id']; + $setValue['nickname'] = $value['nickname']; + $setValue['mobile'] = $value['mobile']; + $cf_name = '-'; + if ($value['cf_uid'] || $value['t_id']) { + if ($value['cf_uid']) { + $reUsers = $this->mdHdyUsers->get(array('id' => $value['cf_uid'])); + $reUsers['nickname'] && $cf_name = $reUsers['nickname']; + } else { + $re_t = $this->mdSytActivityTeam->get(array('id' => $value['t_id'])); + $re_t['name'] && $cf_name = $re_t['name']; + } + } + $setValue['cf_name'] = $cf_name; + $setValue['c_time'] = date('Y-m-d H:i', $value['c_time']); + $lists[] = $setValue; + } + } + $data['lists'] = $lists; + $data['count'] = $count; + $data['params'] = $params; + return $data; + } + + /** + * Notes:检查新增/修改数据 + * Created on: 2020/8/20 11:59 + * Created by: dengbw + * @param $info + * @return array + */ + private function checkData($info) + { + $msg = ''; + $code = SYS_CODE_FAIL; + if (!$info) { + $msg = '非法参数'; + } else if (!$info['brand_id']) { + $msg = '请选择活动品牌'; + } else if (!$info['z_id']) { + $msg = '请选择活动专题'; + } else if (!$info['title']) { + $msg = '请输入活动标题'; + } else if (!$info['time']) { + $msg = '请选择活动时间'; + } else { + $code = SYS_CODE_SUCCESS; + } + return array('code' => $code, 'msg' => $msg); + } + + public function del() + { + } + + public function batch() + { + // TODO: Implement batch() method. + } + + public function export() + { + $params = $this->input->get(); + $params['page'] = 1; + $params['size'] = 10000; + $data = $indexs = array(); + $res = $this->enrollSelect($params); + $fileName = '私域通报名'; + foreach ($res['lists'] as $key => $value) { + $temp['nickname'] = $value['nickname']; + $temp['mobile'] = $value['mobile']; + $temp['cf_name'] = $value['cf_name']; + $temp['c_time'] = $value['c_time']; + $data[] = $temp; + } + $indexs = [ + 'nickname' => '报名昵称', + 'mobile' => '手机号', + 'cf_name' => '来源', + 'c_time' => '创建时间' + ]; + array_unshift($data, $indexs); + $this->load->library('excel'); + $this->excel->out($data, $indexs, $fileName . "_" . date('YmdHis')); + } + + public function get_topics() + { + $page = $this->input->post('page') ? intval($this->input->post('page')) : 1; + $size = $this->input->post('size') ? intval($this->input->post('size')) : 10; + + $topicsList = array(); + $where = array('status >' => -1, 'app_id' => $this->app_id); + $title = $this->input->post('title'); + $title && $where['title like "%' . $title . '%"'] = null; + $count = $this->mdTopics->count($where); + if ($count) { + $res = $this->mdTopics->select($where, 'id desc', $page, $size); + foreach ($res as $key => $value) { + $setValue = array(); + $setValue['id'] = $value['id']; + $setValue['title'] = $value['title']; + $topicsList[] = $setValue; + } + } + $this->data['topicsList'] = $topicsList; + $hasNext = ceil($count / $size) > $page ? 1 : 0; + $this->data['topicsPage'] = array('page' => $page, 'pageLimit' => $size, 'pageCount' => $count, 'hasNext' => $hasNext); + return $this->show_json(SYS_CODE_SUCCESS); + } + + private function get_biz_name($info) + { + $biz_name = ''; + if ($info['biz_id']) { + $reBiz = $this->mdBiz->get(array('id' => $info['biz_id']), 'biz_name'); + $biz_name = $reBiz['biz_name']; + } else if ($info['brand_id']) { + $reBrand = $this->mdBrand->get(array('id' => $info['brand_id']), 'brand_name'); + $biz_name = $reBrand['brand_name']; + } + return $biz_name; + } + + public function get_kpidata() + { + $this->load->model('app/syt/syt_activity_member_model', 'mdSytActivityMember'); + $params = $this->input->get(); + $params['page'] = $params['page'] ? intval($params['page']) : 1; + $params['size'] = $params['size'] ? intval($params['size']) : 10; + $where = array('status' => 1); + $res = $this->mdSytActivityMember->select($where, 'id asc', $params['page'], $params['size']); + foreach ($res as $key => $value) { + $this->mdSytKpiData->update(array("t_id" => $value['t_id']), array("a_id" => $value['a_id'], 'cf_uid' => $value['uid'])); + } + print_r($res); + exit; + } + +} \ No newline at end of file diff --git a/admin/controllers/app/licheb/Sytbiz.php b/admin/controllers/app/licheb/Sytbiz.php new file mode 100644 index 00000000..6a0381fa --- /dev/null +++ b/admin/controllers/app/licheb/Sytbiz.php @@ -0,0 +1,138 @@ +load->model('app/licheb/syt_biz_score_model', 'mdSytBizScore'); + $this->load->model('app/licheb/syt_activity_model', 'mdSytActivity'); + $this->load->model('app/licheb/syt_activity_kpidata_model', 'mdSytActivityKpiData'); + $this->load->model("biz/biz_model", 'mdBiz'); + $this->load->model('app/app_weixin_users_model', 'mdWeixinUsers'); + $this->load->model('app/licheb/app_licheb_users_model', 'mdLichebUsers'); + } + + public function index() + { + return $this->lists(); + } + + public function lists() + { + $params = $this->input->get(); + $re_a = $this->mdSytActivity->get(array("id" => $params['a_id'])); + if (!$re_a) { + return $this->show_json(SYS_CODE_FAIL, "活动不存在"); + } + $params['page'] = $params['page'] ? intval($params['page']) : 1; + $params['size'] = $params['size'] ? intval($params['size']) : 20; + $lists = array(); + $where = array('a_id' => $params['a_id']); + if($params['biz_name']){ + $where['biz_id in (select id from lc_biz where biz_name like "%' . $params['biz_name'] . '%")'] = null; + } + $count = $this->mdSytBizScore->count($where); + if ($count) { + $res = $this->mdSytBizScore->select($where, 'score DESC,id ASC', $params['page'], $params['size'], 'biz_id,score,c_time'); + $str_biz_ids = implode(',', array_column($res, 'biz_id')); + $map_biz = $this->mdBiz->map('id', 'biz_name', ["id in ({$str_biz_ids})" => null]); + foreach ($res as $key => $value) { + $setValue = array(); + $enroll_count = $this->mdSytActivityKpiData->count(['kpi' => 'enroll', 'a_id' => $params['a_id'], 'biz_id' => $value['biz_id']]); + $browse_count = $this->mdSytActivityKpiData->count(['kpi' => 'browse', 'a_id' => $params['a_id'], 'biz_id' => $value['biz_id']]); + $share_count = $this->mdSytActivityKpiData->count(['kpi' => 'share', 'a_id' => $params['a_id'], 'biz_id' => $value['biz_id']]); + $setValue['biz_id'] = $value['biz_id']; + $setValue['biz_name'] = $map_biz[$value['biz_id']]; + $setValue['score'] = $value['score']; + $setValue['enroll_count'] = $enroll_count; + $setValue['browse_count'] = $browse_count; + $setValue['share_count'] = $share_count; + $setValue['c_time'] = date('Y-m-d H:i:s', $value['c_time']); + $lists[] = $setValue; + } + } + $this->data['_title'] = $re_a['title'] . '-门店统计'; + $this->data['pager'] = array('count' => ceil($count / $params['size']), 'curr' => $params['page'], 'totle' => $count); + $this->data['lists'] = $lists; + $this->data['params'] = $params; + return $this->show_view('/app/licheb/syt/activity_biz_lists', true); + } + + public function get_achievement() + { + $params = $this->input->get(); + $params['page'] = $params['page'] ? intval($params['page']) : 1; + $params['size'] = $params['size'] ? intval($params['size']) : 20; + $re_a = $this->mdSytActivity->get(array("id" => $params['a_id'])); + if (!$re_a) { + return $this->show_json(SYS_CODE_FAIL, "活动不存在"); + } + $_title = $re_a['title'].'_业绩报告'; + $where['a_id'] = $params['a_id']; + $params['biz_id'] && $where['biz_id'] = $params['biz_id']; + if ($params['time']) { + $time = explode(' ~ ', $params['time']); + $time[0] && $where["c_time >="] = strtotime($time[0] . ' 00:00:00'); + $time[1] && $where["c_time <="] = strtotime($time[1] . ' 23:59:59'); + } + $menu_lists = $lists = array(); + foreach ($this->mdSytActivityKpiData->kpiAry() as $key => $value) { + $count = $this->mdSytActivityKpiData->count(array_merge($where, array('kpi' => $key))); + $menu_lists[] = array('title' => $value['title2'], 'value' => $count, 'num_tag' => $value['num_tag']); + } + $count = $this->mdSytActivityKpiData->count($where); + if ($count) { + $res = $this->mdSytActivityKpiData->select($where, 'id DESC', $params['page'], $params['size'], 'id,uid,cf_uid,kpi,c_time'); + $uids_arr = array_unique(array_column($res, 'uid')); + $cf_uids_arr = array_unique(array_column($res, 'cf_uid')); + $uids = $this->mdWeixinUsers->get_map_by_ids($uids_arr, 'id,nickname'); + $cf_uids = $this->mdLichebUsers->get_map_by_ids($cf_uids_arr, 'id,uname'); + foreach ($res as $key => $value) { + $setValue = array(); + $setValue['id'] = $value['id']; + $setValue['nickname'] = $cf_uids[$value['cf_uid']][0]['uname'] ? $cf_uids[$value['cf_uid']][0]['uname'] : '无昵称'; + $nickname = $uids[$value['uid']][0]['nickname'] ? $uids[$value['uid']][0]['nickname'] : '无昵称'; + $setValue['title'] = '新增' . $this->mdSytActivityKpiData->kpiAry($value['kpi'], 'title') . '用户' . $nickname; + $setValue['c_time'] = date('Y-m-d H:i', $value['c_time']); + $lists[] = $setValue; + } + } + $this->data['_title'] = $_title; + $this->data['pager'] = array('count' => ceil($count / $params['size']), 'curr' => $params['page'], 'totle' => $count); + $this->data['lists'] = $lists; + $this->data['menu_lists'] = $menu_lists; + $this->data['params'] = $params; + return $this->show_view('/app/licheb/syt/achievement_lists', true); + } + + public function get() + { + } + + public function add() + { + } + + public function edit() + { + } + + public function del() + { + } + + public function batch() + { + } + + public function export() + { + } +} \ No newline at end of file diff --git a/admin/controllers/topics/Topics.php b/admin/controllers/topics/Topics.php index 58d49aa0..f0cc4da4 100644 --- a/admin/controllers/topics/Topics.php +++ b/admin/controllers/topics/Topics.php @@ -14,7 +14,8 @@ Class Topics extends AppBase private $moduleAry = array( array('name' => '文本模块', 'tag' => 'text'), array('name' => '广告模块', 'tag' => 'ad'), - array('name' => '报名模块', 'tag' => 'enroll') + array('name' => '报名模块', 'tag' => 'enroll'), + array("name" => "按钮模块", "tag" => "button") ); public function __construct() @@ -26,6 +27,7 @@ Class Topics extends AppBase $this->load->model('topics/topic_module_ad_model', 'mdModuleAd'); $this->load->model('topics/topic_module_enroll_model', 'mdModuleEnroll'); $this->load->model('topics/topic_module_enrolldata_model', 'mdModuleEnrolldata'); + $this->load->model('topics/topic_module_button_model', 'mdModuleButton'); $this->load->model('topics/topic_user_log_model', 'mdUserLog'); $this->load->model("sys/sys_admin_model", 'mdSysAdmin'); } @@ -67,11 +69,6 @@ Class Topics extends AppBase } $res = $this->mdTopics->select($where, "id desc", $params['page'], $size); $count = $this->mdTopics->count($where); - - $view_where["c_time > UNIX_TIMESTAMP(DATE_SUB(DATE_FORMAT(NOW(),'%Y-%m-%d'),INTERVAL 7 day))"] = null; - $view_select = "tid, count(id) as doc_count, count(distinct app_uid) as doc_count_uid"; - - $user_log_arr = $this->mdUserLog->map_groupby('tid', '*', $view_where, $view_select, 'tid'); if ($res) { foreach ($res as $key => $value) { $setValue = array(); @@ -86,8 +83,6 @@ Class Topics extends AppBase } $setValue['status_name'] = $statusAry[$value['status']]; $setValue['c_time'] = date('Y-m-d H:i', $value['c_time']); - $setValue['count_view'] = $user_log_arr[$value['id']]['doc_count'] ?: 0; - $setValue['count_view_uid'] = $user_log_arr[$value['id']]['doc_count_uid'] ?: 0; $lists[] = $setValue; } } @@ -459,6 +454,10 @@ Class Topics extends AppBase $mdModule = $this->mdModuleEnroll; $style = 'block'; break; + case "button": + $title = '按钮模块'; + $mdModule = $this->mdModuleButton; + break; default: } if ($mdModule) { @@ -519,6 +518,10 @@ Class Topics extends AppBase $this->mdModuleAd->add($dataI); } else if ($add_sys_shop_module['tag'] == 'enroll') { $this->mdModuleEnroll->add($dataI); + } elseif ($add_sys_shop_module['tag'] == 'button') { + $this->mdModuleButton->add($dataI); + } elseif ($add_sys_shop_module['tag'] == 'countdown') { + $this->mdModuleCountdown->add($dataI); } //更新专题 $module_ids = $module_ids ? $module_ids . ',' . $mid : $mid; @@ -920,6 +923,63 @@ Class Topics extends AppBase return $this->show_json(SYS_CODE_SUCCESS, '保存成功!'); } + /** + * Notes:获取按扭模块信息 + * Created on: 2020/10/20 12:48 + * Created by: dengbw + */ + public function get_button_setting() + { + $module_id = intval($this->input->get('module_id')); + $re_btn = $this->mdModuleButton->get(array('module_id' => $module_id)); + $setting = $jsondata = array(); + $status = $module_type = 0; + $module_title = $module_descrip = ""; + if ($re_btn) { + $reM = $this->mdTopicModules->get(array('id' => $module_id)); + $status = intval($reM['status']); + $module_title = $re_btn['title']; + $module_type = intval($re_btn['type']); + $module_descrip = $re_btn['descrip']; + if ($re_btn['jsondata']) { + $jsondata = json_decode($re_btn['jsondata'], true); + $jsondata['img_url'] = $jsondata['img'] ? build_qiniu_image_url($jsondata['img']) : ""; + } + } + $setting['status'] = $status; + $setting['module_title'] = $module_title; + $setting['module_type'] = $module_type; + $setting['module_descrip'] = $module_descrip; + $setting['module_jsondata'] = $jsondata; + $this->data['setting'] = $setting; + return $this->show_json(SYS_CODE_SUCCESS, '获取成功!'); + } + + /** + * Notes:保存按扭模块 + * Created on: 2020/10/20 12:35 + * Created by: dengbw + */ + public function edit_save_button() + { + $save_data = $this->input->post('save_data'); + if (!$save_data['module_id']) { + return $this->show_json(SYS_CODE_FAIL, '非法参数!'); + } + $dataI['title'] = $save_data['setting']['module_title']; + $dataI['type'] = $save_data['setting']['module_type']; + $dataI['descrip'] = $save_data['setting']['module_descrip']; + $module_jsondata = $save_data['setting']['module_jsondata']; + unset($module_jsondata['img_url']); + $dataI['jsondata'] = json_encode($module_jsondata, JSON_UNESCAPED_UNICODE); + $this->mdModuleButton->update($dataI, array('module_id' => $save_data['module_id'])); + $where = array('id' => $save_data['module_id']); + $upd = array('status' => $save_data['setting']['status']); + $this->mdTopicModules->update($upd, $where); + return $this->show_json(SYS_CODE_SUCCESS, '保存成功!'); + } + + /** * Notes:修改状态 0下架,1正常 * Created on: 2019/12/3 15:48 @@ -938,20 +998,17 @@ Class Topics extends AppBase return $this->show_json(SYS_CODE_SUCCESS, '修改成功!'); } - public - function del() + public function del() { // TODO: Implement del() method. } - public - function batch() + public function batch() { } - public - function export() + public function export() { // TODO: Implement export() method. } diff --git a/admin/views/app/licheb/syt/achievement_lists.php b/admin/views/app/licheb/syt/achievement_lists.php new file mode 100644 index 00000000..53311a80 --- /dev/null +++ b/admin/views/app/licheb/syt/achievement_lists.php @@ -0,0 +1,122 @@ +
+
+ $value) { ?> +
+
+
+ +
+
+ +
+
+
+ +
+
+ +
+ + +
+
共有条数据
+ + + + + + + + + + + + + + + + + + + +
ID用户内容创建时间
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/admin/views/app/licheb/syt/activity_biz_lists.php b/admin/views/app/licheb/syt/activity_biz_lists.php new file mode 100644 index 00000000..67b4239c --- /dev/null +++ b/admin/views/app/licheb/syt/activity_biz_lists.php @@ -0,0 +1,60 @@ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
门店ID门店分数报名浏览分享创建时间操作
+ 业绩报告
+
+
+
+
+
+ +
+
+
\ No newline at end of file diff --git a/admin/views/app/licheb/syt/activity_edit.php b/admin/views/app/licheb/syt/activity_edit.php new file mode 100644 index 00000000..21624945 --- /dev/null +++ b/admin/views/app/licheb/syt/activity_edit.php @@ -0,0 +1,543 @@ +
+
+
+
+
+
+
+ 状态 +
+
+ + +
+
+
+ +
+
+
+
+
+ 活动信息 + + +
+
+
+ +
+
+
+ +
+
+ 选择 +
+
+ 注:活动页面只能从现有的专题中选择 +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+ +
+
+
+ +
+
+ + 建议尺寸宽度690 + + +
+
+
+
+ +
+

上传图片

+
+
+ + +
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+
{{v.title}}
+
+ +
+
{{v.num_tag}}
+
+ +
+
{{v.score_tag}}
+
+
+
+
+ + +
+
+
+
+ +
+
+ + + + + \ No newline at end of file diff --git a/admin/views/app/licheb/syt/activity_lists.php b/admin/views/app/licheb/syt/activity_lists.php new file mode 100644 index 00000000..2ca003ba --- /dev/null +++ b/admin/views/app/licheb/syt/activity_lists.php @@ -0,0 +1,78 @@ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID活动标题专题开始时间结束时间创建时间状态
+
+ 报名 + 门店 + 业绩报告 + 分享二维码 + 编辑 +
+
+
+
+
+
+ +
+
+
\ No newline at end of file diff --git a/admin/views/topics/edit.php b/admin/views/topics/edit.php index 1626ffad..d0610715 100644 --- a/admin/views/topics/edit.php +++ b/admin/views/topics/edit.php @@ -83,6 +83,8 @@ :is_template="is_template" @ad-title="changeModuleName"> +
@@ -135,6 +137,8 @@ + + + \ No newline at end of file diff --git a/admin/views/topics/module_enroll.php b/admin/views/topics/module_enroll.php index 701bf063..60cbef87 100644 --- a/admin/views/topics/module_enroll.php +++ b/admin/views/topics/module_enroll.php @@ -150,7 +150,7 @@
diff --git a/api/controllers/wxapp/liche/Aptinfo.php b/api/controllers/wxapp/liche/Aptinfo.php index 5b76d8e5..39cbdaf6 100644 --- a/api/controllers/wxapp/liche/Aptinfo.php +++ b/api/controllers/wxapp/liche/Aptinfo.php @@ -124,6 +124,16 @@ class Aptinfo extends Wxapp{ $lng = $this->input_param('lng'); $recommend_id = intval($this->input_param('cf_uid')); //来源用户id $cms_id = intval($this->input_param('cms_id')); //cmsid + $syt = intval($this->input_param('syt')); + if ($syt && $this->myuid) {//私域通报名 + $this->load->library('entity/syt_entity'); + $syt_entity = new Syt_entity(array('app_id' => $this->app_id)); + $results = $syt_entity->kpi_enroll_log(['cf_platform' => 'wxapp', 'uid' => $this->myuid, 'nickname' => $this->session['nickname'] + , 'mobile' => $this->session['mobile']]); + if ($results['code'] == 200) { + throw new Hd_exception($results['msg'], $results['code']); + } + } $city_id && $city_row = $this->sys_area_model->get(['county_id' => $city_id],'id,county_id,city_id'); $cms_row = $this->cms_model->get(['id'=>$cms_id]); diff --git a/api/controllers/wxapp/licheb/Customers.php b/api/controllers/wxapp/licheb/Customers.php index b53f96ea..12cb8bfd 100644 --- a/api/controllers/wxapp/licheb/Customers.php +++ b/api/controllers/wxapp/licheb/Customers.php @@ -120,7 +120,7 @@ class Customers extends Wxapp } $car_json = json_decode($row['car_json'], true); $update = []; - if($row['cf_title']!='平台分配'){ + if ($row['cf_title'] != '平台分配') { if ($mobile) { if (!mobile_valid($mobile)) { throw new Exception('手机号格式错误', ERR_PARAMS_ERROR); @@ -314,7 +314,7 @@ class Customers extends Wxapp $log = $log ? $log . ',' . $msg : $msg; } $visit = $status == 2 ? 1 : 0;//变成订单客户,更新客户已回访 - $this->customers_entity->add_log_visit($id, $uid, $this->session['uname'], $log,0,$visit); + $this->customers_entity->add_log_visit($id, $uid, $this->session['uname'], $log, 0, $visit); } } if ($result) { @@ -388,6 +388,7 @@ class Customers extends Wxapp $cf_clues = $this->input_param('cf_clues');//线索来源 $admin_id = $this->input_param('admin_id'); $id = $this->input_param('cus_id'); + $a_id = intval($this->input_param('a_id'));//私域通活动id !$page && $page = 1; !$size && $size = 10; @@ -403,12 +404,16 @@ class Customers extends Wxapp $orderby = 'c_time desc'; } } - $where = [ 'biz_id' => $biz_id, 'status>=' => 0 ]; + if ($a_id) { + $where["cf_id"] = 35; + $where["t_id"] = $a_id; + } + if ($group_id == 1 || $ismy) { $where["admin_id"] = $uid; } @@ -697,7 +702,7 @@ class Customers extends Wxapp if ($ret) { $this->load->library('receiver/customers_entity'); $visit = $update['status'] == 3 ? 1 : 0; - $this->customers_entity->add_log_visit($id, $this->session['uid'], $this->session['uname'], $log,0,$visit); + $this->customers_entity->add_log_visit($id, $this->session['uid'], $this->session['uname'], $log, 0, $visit); throw new Exception('操作成功', API_CODE_SUCCESS); } throw new Exception('操作失败', ERR_PARAMS_ERROR); diff --git a/api/controllers/wxapp/licheb/Sytactivity.php b/api/controllers/wxapp/licheb/Sytactivity.php new file mode 100644 index 00000000..9834fc67 --- /dev/null +++ b/api/controllers/wxapp/licheb/Sytactivity.php @@ -0,0 +1,224 @@ +login_white = array();//登录白名单 + $this->check_status = array();//用户状态校验 + $this->majia_white = array('get');//超级管理员披上马甲权限控制 + $this->load->model('app/licheb/syt_activity_model', 'mdSytActivity'); + $this->load->model('app/licheb/syt_activity_kpidata_model', 'mdSytActivityKpiData'); + $this->load->model('app/licheb/syt_biz_score_model', 'mdSytBizScore'); + $this->load->model('app/app_weixin_users_model', 'mdWeixinUsers'); + $this->load->model('app/licheb/app_licheb_users_model', 'mdLichebUsers'); + $this->load->model("biz/biz_model", 'mdBiz'); + $this->load->model('receiver/receiver_customers_model', 'mdCustomers'); + $this->biz_id = $this->session['new_biz_id'] ? $this->session['new_biz_id'] : intval($this->session['biz_id']); + } + + /** + * Notes:顶部菜单 + * Created on: 2022/1/14 9:40 + * Created by: dengbw + * @return mixed + */ + protected function get_tabs() + { + $data['title'] = '私域通'; + $bm_count = $this->mdSytActivityKpiData->count(['kpi' => 'enroll']); + $dd_count = $this->mdCustomers->count(['status' => 1, 'cf_id' => $this->cf_id]); + $xd_count = $this->mdCustomers->count(['status' => 2, 'cf_id' => $this->cf_id]); + $data['bg_img'] = 'https://qs.haodian.cn/wechat_app/lichebao/siyutong/theme.jpg'; + $data['menus'] = array(array('title' => '报名', 'value' => $bm_count), array('title' => '到店', 'value' => $dd_count), + array('title' => '下定', 'value' => $xd_count)); + return $data; + } + + /** + * Notes:推广活动列表 + * Created on: 2022/1/14 9:40 + * Created by: dengbw + * @return mixed + */ + protected function get_list() + { + $page = $this->input_param('page'); + $size = $this->input_param('size'); + !$page && $page = 1; + !$size && $size = 3; + $where['status'] = 1; + $date = date('Y-m-d H:i:s'); + $lists = array(); + $total = $this->mdSytActivity->count($where); + if ($total) { + $res = $this->mdSytActivity->select($where, 'id DESC', $page, $size, 'id,title,s_time,e_time'); + foreach ($res as $key => $value) { + $setValue = array(); + $setValue['id'] = intval($value['id']); + $setValue['title'] = $value['title']; + $type_name = $color = ''; + $type = 0; + $s_time = $value['s_time']; + $e_time = $value['e_time']; + if ($s_time > $date) { + $type = 1; + $type_name = '未开始'; + $color = '#999'; + } else if ($s_time <= $date && $e_time >= $date) { + $type = 2; + $type_name = '进行中'; + $color = '#ff842d'; + } else if ($e_time < $date) { + $type = 3; + $type_name = '已结束'; + $color = '#996c6c'; + } + $setValue['type'] = $type; + $setValue['type_name'] = $type_name; + $setValue['color'] = $color; + $lists[] = $setValue; + } + } + $data['list'] = $lists; + $data['total'] = $total; + return $data; + } + + /** + * Notes:推广活动详情 + * Created on: 2020/9/28 16:01 + * Created by: dengbw + * @throws Hd_exception + */ + protected function get_detail() + { + $id = intval($this->input_param('id')); + if (!$id) { + throw new Hd_exception('参数错误!', API_CODE_INVILD_PARAM); + } + $re = $this->mdSytActivity->get(array("id" => $id, "status" => 1)); + if (!$re) { + throw new Hd_exception('未找到活动!', API_CODE_INVILD_PARAM); + } + $jsondata = $re['jsondata'] ? json_decode($re['jsondata'], true) : ''; + $share_count = $this->mdSytActivityKpiData->count(['kpi' => 'share', 'a_id' => $id]); + $browse_count = $this->mdSytActivityKpiData->count(['kpi' => 'browse', 'a_id' => $id]); + $enroll_count = $this->mdSytActivityKpiData->count(['kpi' => 'enroll', 'a_id' => $id]); + $ranking = 0; + $re_biz_score = $this->mdSytBizScore->get(['a_id' => $id, 'biz_id' => $this->biz_id]); + if ($re_biz_score && $re_biz_score['score']) { + $ranking = $this->mdSytBizScore->count(['score >=' => $re_biz_score['score'], 'a_id' => $id]); + } + $data['id'] = intval($re['id']); + $data['img'] = $re['img'] ? build_qiniu_image_url($re['img']) : ''; + $data['poster'] = $jsondata['posters'] ? build_qiniu_image_url($jsondata['posters'][0]['url']) : $data['img']; + $data['remark'] = $jsondata['remark'] ? $jsondata['remark'] : ''; + $data['ranking'] = ['title' => '当前门店排名', 'value' => $ranking, 'url' => '/pages/siyutong/activityRanking/index?id=' . $id]; + $data['menus'] = [['title' => '分享', 'value' => $share_count], ['title' => '浏览', 'value' => $browse_count] + , ['title' => '报名>', 'value' => $enroll_count, 'url' => '/pages/customer/filterList/index?a_id=' . $id]]; + //生成分享连接 + $this->load->library('MyEncryption'); + $skey = $this->myencryption->base64url_encode("a_id={$id}&cf_uid={$this->myuid}&biz_id={$this->biz_id}&cf_share={$this->myencryption->random_string(6)}"); + $myqrcode_url = http_host_com('home') . '/h5/syt/special?skey=' . $skey; + $share_url = http_host_com('home') . '/h5/syt/myqrcode/get?url=' . $myqrcode_url; + $data['btn'] = ['title' => '马上邀请', 'value' => 1, 'share_url' => $share_url]; + return $data; + } + + /** + * Notes:实时战报 + * Created on: 2022/1/19 9:57 + * Created by: dengbw + * @return mixed + * @throws Hd_exception + */ + protected function get_log() + { + $page = $this->input_param('page'); + $size = $this->input_param('size'); + !$page && $page = 1; + !$size && $size = 10; + $id = intval($this->input_param('id')); + if (!$id) { + throw new Hd_exception('参数错误!', API_CODE_INVILD_PARAM); + } + $lists = array(); + $where = array('a_id' => $id, 'kpi<>' => 'share'); + $total = $this->mdSytActivityKpiData->count($where); + if ($total) { + $res = $this->mdSytActivityKpiData->select($where, 'id DESC', $page, $size, 'uid,cf_uid,kpi,biz_id,c_time'); + $uids_arr = array_unique(array_column($res, 'uid')); + $cf_uids_arr = array_unique(array_column($res, 'cf_uid')); + $uids = $this->mdWeixinUsers->get_map_by_ids($uids_arr, 'id,nickname'); + $cf_uids = $this->mdLichebUsers->get_map_by_ids($cf_uids_arr, 'id,uname'); + foreach ($res as $key => $value) { + $setValue = array(); + if ($value['kpi'] == 'enroll') { + $content = "{$uids[$value['uid']][0]['nickname']}通过{$cf_uids[$value['cf_uid']][0]['uname']}报名了活动"; + } else { + $content = "{$cf_uids[$value['cf_uid']][0]['uname']}邀请{$uids[$value['uid']][0]['nickname']}进入活动页"; + } + $setValue['content'] = $content; + $setValue['c_time'] = friendly_date($value['c_time'], 'mohu'); + $lists[] = $setValue; + } + } + $data['list'] = $lists; + $data['total'] = $total; + return $data; + } + + /** + * Notes:活动排名 + * Created on: 2022/1/19 14:25 + * Created by: dengbw + * @return mixed + * @throws Hd_exception + */ + protected function get_ranking() + { + $id = intval($this->input_param('id')); + if (!$id) { + throw new Hd_exception('参数错误!', API_CODE_INVILD_PARAM); + } + $re = $this->mdSytActivity->get(array("id" => $id, "status" => 1)); + if (!$re) { + throw new Hd_exception('未找到活动!', API_CODE_INVILD_PARAM); + } + $score = 0; + $ranking = []; + $jsondata = $re['jsondata'] ? json_decode($re['jsondata'], true) : ''; + $re = $this->mdSytBizScore->get(array("biz_id" => $this->biz_id)); + $re['score'] && $score = $re['score']; + $res = $this->mdSytBizScore->select(['a_id' => $id], 'score DESC,id ASC', 0, 7, 'biz_id,score'); + if ($res) { + $str_biz_ids = implode(',', array_column($res, 'biz_id')); + $map_biz = $this->mdBiz->map('id', 'biz_name', ["id in ({$str_biz_ids})" => null]); + foreach ($res as $key => $value) { + $num = $key + 1; + $ranking[] = ['num' => $num, 'biz_name' => $map_biz[$value['biz_id']], 'score' => $value['score'] . '分']; + } + } + $data['title'] = '活动排名'; + $data['biz'] = ['title' => '我的直营店', 'value' => $score . '分']; + $data['ranking'] = $ranking; + $data['rule'] = ['title' => '积分规则>', 'value' => $jsondata['rule'] ? $jsondata['rule'] : '']; + return $data; + } + +} \ No newline at end of file diff --git a/api/controllers/wxapp/material/Topic.php b/api/controllers/wxapp/material/Topic.php index 6a21f146..5a89ba2d 100644 --- a/api/controllers/wxapp/material/Topic.php +++ b/api/controllers/wxapp/material/Topic.php @@ -131,6 +131,16 @@ class Topic extends Wxapp $cf_id = 1; $brand_id = 0; $recommend_id && $cf_id = 8; + $syt = intval($this->input_param('syt')); + if ($syt && $this->myuid) {//私域通报名 + $this->load->library('entity/syt_entity'); + $syt_entity = new Syt_entity(array('app_id' => $this->app_id)); + $results = $syt_entity->kpi_enroll_log(['cf_platform' => 'wxapp', 'uid' => $this->myuid, 'nickname' => $this->session['nickname'] + , 'mobile' => $this->session['mobile']]); + if ($results['code'] == 200) { + throw new Hd_exception($results['msg'], $results['code']); + } + } $city_id && $city_row = $this->sys_area_model->get(['county_id' => $city_id], 'id,county_id,city_id'); $re_t = $this->mdTemplate->get(['id' => $t_id]); if ($re_t && $re_t['brand_ids']) { diff --git a/common/helpers/comm_helper.php b/common/helpers/comm_helper.php index d56450bc..427e0f45 100644 --- a/common/helpers/comm_helper.php +++ b/common/helpers/comm_helper.php @@ -33,6 +33,66 @@ if (!function_exists('load_cache')) { } } +/** + * 接口加密 + * @param $string + * @param string $operation + * @param string $key + * @param int $expiry + * @return string + */ +if (!function_exists('liche_authcode')) { + function liche_authcode($string, $operation = 'DECODE', $key = '123456', $expiry = 0) + { + $ckey_length = 4; + $key = md5($key ? $key : self::KEY); + $keya = md5(substr($key, 0, 16)); + $keyb = md5(substr($key, 16, 16)); + $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length) : substr(md5(microtime()), -$ckey_length)) : ''; + + $cryptkey = $keya . md5($keya . $keyc); + $key_length = strlen($cryptkey); + + $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0) . substr(md5($string . $keyb), 0, 16) . $string; + $string_length = strlen($string); + + $result = ''; + $box = range(0, 255); + + $rndkey = array(); + for ($i = 0; $i <= 255; $i++) { + $rndkey[$i] = ord($cryptkey[$i % $key_length]); + } + + for ($j = $i = 0; $i < 256; $i++) { + $j = ($j + $box[$i] + $rndkey[$i]) % 256; + $tmp = $box[$i]; + $box[$i] = $box[$j]; + $box[$j] = $tmp; + } + + for ($a = $j = $i = 0; $i < $string_length; $i++) { + $a = ($a + 1) % 256; + $j = ($j + $box[$a]) % 256; + $tmp = $box[$a]; + $box[$a] = $box[$j]; + $box[$j] = $tmp; + $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); + } + + if ($operation == 'DECODE') { + if ((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26) . $keyb), 0, 16)) { + return substr($result, 26); + } else { + return ''; + } + } else { + return $keyc . str_replace('=', '', base64_encode($result)); + } + + } +} + /** * sql日志 * @param $string diff --git a/common/libraries/entity/Syt_entity.php b/common/libraries/entity/Syt_entity.php new file mode 100644 index 00000000..de2507e8 --- /dev/null +++ b/common/libraries/entity/Syt_entity.php @@ -0,0 +1,249 @@ +ci = &get_instance(); + $this->init($params); + $class_name = lcfirst(get_class($this));//调用类的名称,子类或者当前类名称 + $this->log_file = "libraris_{$class_name}.log"; + $this->load->model('app/licheb/syt_activity_model', 'mdSytActivity'); + $this->load->model('app/licheb/syt_activity_kpidata_model', 'mdSytActivityKpiData'); + $this->load->model('app/licheb/syt_biz_score_model', 'mdSytBizScore'); + } + + public function init($params) + { + if ($params['app_id']) { + $this->app_id = $params['app_id']; + $this->load->model('app/App_model', 'mdApp'); + $this->app_config = $this->ci->mdApp->appConfig()[$this->app_id]; + } + } + + /** + * Notes:报名记录 + * Created on: 2022/1/24 10:57 + * Created by: dengbw + * @param $params + * @return array + */ + public function kpi_enroll_log($params) + { + if ($params['cf_platform'] == 'wxapp') { + if (!$params['uid']) { + return array('code' => 400, 'msg' => '无狸车用户uid'); + } + $this->load->model('app/liche/app_liche_users_model', 'mdLicheUsers'); + $this->load->model('app/licheb/app_licheb_users_model', 'mdLichebUsers'); + $this->load->model('app/app_weixin_users_model', 'mdWeixinUsers'); + $re_lu = $this->ci->mdLicheUsers->get(array("id" => $params['uid'])); + if (!$re_lu['unionid']) { + return array('code' => 400, 'msg' => '无狸车用户unionid'); + } + $re_lw = $this->ci->mdWeixinUsers->get(array("unionid" => $re_lu['unionid'])); + if (!$re_lw['unionid']) { + return array('code' => 400, 'msg' => '无狸车公众号unionid'); + } + $jsondata = $re_lw['jsondata'] ? json_decode($re_lw['jsondata'], true) : ''; + if (!$jsondata['syt']) { + return array('code' => 400, 'msg' => '无狸车公众号syt'); + } + $syt = $jsondata['syt']; + $syt['nickname'] = $params['nickname']; + $syt['mobile'] = $params['mobile']; + $syt['uid'] = $re_lw['id']; + $syt['cf_id'] = 35; + $syt['if_driver'] = 1; + $params = $syt; + } + $this->load->model('receiver/receiver_customers_model', 'mdCustomers'); + $this->load->model("biz/biz_model", 'mdBiz'); + $re_a = $this->ci->mdSytActivity->get(array("id" => $params['a_id'], "status" => 1)); + if (!$re_a) { + return array('code' => 400, 'msg' => '活动不存在'); + } + $nickname = $params['nickname']; + $mobile = $params['mobile']; + $cf_id = intval($params['cf_id']); + $uid = intval($params['uid']); + $biz_id = intval($params['biz_id']); + $if_driver = intval($params['if_driver']); + if ($biz_id) { + $re_enroll = $this->ci->mdCustomers->get(array('cf_id' => $cf_id, 't_id' => $params['a_id'], 'mobile' => $mobile)); + if ($re_enroll) { + return array('code' => 400, 'msg' => '你已经报名过啦,我们会在24时内与您取得联系,请耐心等待!'); + } + } + $brand_id = 0; + if ($re_a['brand_id']) { + $brand_ids = implode(',', $re_a['brand_id']); + $brand_id = count($brand_ids) > 0 ? $brand_ids[0] : $re_a['brand_id']; + } + $c_id = 0; + $type = 'customers'; + if ($biz_id) {//加入门店客户 + $re_biz = $this->ci->mdBiz->get(['id' => $biz_id, 'status' => 1]); + if ($re_biz) { + $add_data = [ + 'name' => $nickname, + 'mobile' => $mobile, + 'biz_id' => $biz_id, + 'brand_id' => $brand_id, + 'city_id' => $re_biz['city_id'], + 'county_id' => $re_biz['county_id'], + 'cf_title' => '私域活动', + 'cf_id' => $cf_id, + 't_id' => $params['a_id'], + 'p_time' => date('Y-m-d H:i:s'), + 'c_time' => time() + ]; + $c_id = $this->ci->mdCustomers->add($add_data); + if (!$c_id) { + return array('code' => 400, 'msg' => '您报名该活动失败了'); + } + } + } + if (!$c_id) {//未加到门店,加到线索池里 + $this->load->model('receiver/receiver_clues_model', 'clues_model'); + $this->load->library('receiver/clues_entity'); + $row = $this->ci->clues_model->get(['mobile' => $mobile]); + if ($row) { + $update = ['en_time' => date('Y-m-d H:i:s')]; + $this->ci->clues_model->update($update, ['id' => $row['id']]); + //增加日志 + $cf_title = $this->ci->clues_entity->cf_title($cf_id); + $log_msg = '用户报名'; + $cf_title && $log_msg = "用户通过【{$cf_title}】报名"; + $this->ci->clues_entity->add_log($row['id'], $uid, $nickname, $log_msg); + return array('code' => 200, 'msg' => '报名成功了,我们会在24时内与您取得联系!'); + } + $jsondata['info'] = ['biz_id' => $biz_id ? $biz_id : '']; + $params['a_id'] && $jsondata['info']['t_id'] = $params['a_id']; + $add_data = [ + 'name' => $nickname, + 'mobile' => $mobile, + 'brand_id' => $brand_id, + 'cf_uid' => $uid, + 'cf_id' => $cf_id, + 'app_id' => $this->app_id, + 'if_driver' => $if_driver, + 'cf_platform' => $params['cf_platform'], + 'jsondata' => json_encode($jsondata, JSON_UNESCAPED_UNICODE), + 'en_time' => date('Y-m-d H:i:s'), + 'c_time' => time() + ]; + $c_id = $this->ci->clues_model->add($add_data); + if (!$c_id) { + return array('code' => 400, 'msg' => '您报名该活动失败了'); + } + $type = 'clues'; + $cf_title = $this->ci->clues_entity->cf_title($cf_id); + $log_msg = '用户报名'; + $cf_title && $log_msg = "用户通过【{$cf_title}】报名"; + $this->ci->clues_entity->add_log($c_id, $uid, $nickname, $log_msg); + } + //增加报名分数 + $this->kpi_log(array('a_id' => $params['a_id'], 'cf_uid' => $params['cf_uid'], 'biz_id' => $params['biz_id'] + , 'kpi' => 'enroll', 'c_id' => $c_id, 'type' => $type, 'uid' => $uid)); + return array('code' => 200, 'msg' => '报名成功,我们会在24时内与您取得联系!'); + } + + /** + * Notes:添加kpi记录 + * Created on: 2021/1/13 11:20 + * Created by: dengbw + * @param $params + * @return array + */ + public function kpi_log($params) + { + if ($params['a_id'] && $params['uid'] && ($params['cf_uid'] || $params['biz_id'])) { + $re_a = $this->ci->mdSytActivity->get(array("id" => $params['a_id'], "status" => 1)); + $now_time = time(); + if (!$re_a || $now_time < strtotime($re_a['s_time']) || $now_time > strtotime($re_a['e_time'])) { + return array('code' => 0, 'msg' => '无活动或未在活动时间内'); + } + if ($params['kpi'] == 'share' && $params['cf_share']) {//检测分享码是否已使用 + $where_share = array("a_id" => $params['a_id'], 'kpi' => $params['kpi'], "cf_share" => $params['cf_share']); + if ($params['cf_uid']) { + $where_share['cf_uid'] = $params['cf_uid']; + } else { + $where_share['biz_id'] = $params['biz_id']; + } + $re_share = $this->ci->mdSytActivityKpiData->get($where_share); + if ($re_share) { + return array('code' => 0, 'msg' => '分享码已被使用'); + } + } + $re_kpi = $this->ci->mdSytActivityKpiData->get(array("a_id" => $params['a_id'], 'uid' => $params['uid'], 'kpi' => $params['kpi'])); + if ($re_kpi) {//已添加过活动kpi(访活动只记录一次用户kpi记录) + return array('code' => 0, 'msg' => '已添加过' . $params['kpi'] . '记录'); + } + $where_kpi = array("a_id" => $params['a_id'], "biz_id" => $params['biz_id'], 'kpi' => $params['kpi']); + //增加记录 + $addData = array_merge($where_kpi, array('uid' => $params['uid'], 'cf_uid' => $params['cf_uid'], 'c_time' => time())); + $jsondata = array(); + if ($params['kpi'] == 'enroll' && $params['c_id']) {//加报名id记录 + $jsondata['enroll_type'] = $params['type']; + $jsondata['enroll_c_id'] = $params['c_id']; + } + if ($params['kpi'] == 'share' && $params['cf_share']) {//加分享码 + $addData['cf_share'] = $params['cf_share']; + } + $jsondata && $addData['jsondata'] = json_encode($jsondata, JSON_UNESCAPED_UNICODE); + $id = $this->ci->mdSytActivityKpiData->add($addData); + if (!$id) { + return array('code' => 0, 'msg' => '添加记录失败'); + } + if (!$params['biz_id']) { + return array('code' => 0, 'msg' => '无门店不加分数'); + } + $jsonkpi = $re_a['jsonkpi'] ? json_decode($re_a['jsonkpi'], true) : array(); + $kpi_count = $this->ci->mdSytActivityKpiData->count(array_merge($where_kpi, array('status' => 0))); + $kpi_num = intval($jsonkpi[$params['kpi']]['num']); + $kpi_score = intval($jsonkpi[$params['kpi']]['score']); + if ($kpi_num && $kpi_score && $kpi_count >= $kpi_num) {//大于等于次数加分 + $re_biz_score = $this->ci->mdSytBizScore->get(array('a_id' => $params['a_id'], 'biz_id' => $params['biz_id'])); + if (!$re_biz_score) {//未添加门店数据 + $re_biz_score['id'] = $this->ci->mdSytBizScore->add(['a_id' => $params['a_id'], 'biz_id' => $params['biz_id'], 'c_time' => time()]); + if (!$re_biz_score['id']) { + return array('code' => 0, 'msg' => '添加门店分数记录'); + } + $re_biz_score['score'] = 0; + } + $score_ms = $kpi_score + intval($re_biz_score['score']); + $this->ci->mdSytBizScore->update(array('score' => $score_ms), array('id' => $re_biz_score['id'])); + $res_kpi = $this->ci->mdSytActivityKpiData->select(array_merge($where_kpi, array('status' => 0)), 'id asc', 0, $kpi_num, 'id'); + if ($res_kpi) { + $kpi_ids = implode(',', array_column($res_kpi, "id")); + $this->ci->mdSytActivityKpiData->update(array('status' => 1), array("id in(" . $kpi_ids . ")" => null));//更新为已加分 + } + return array('code' => 1, 'msg' => '添加记录成功'); + } + } else { + return array('code' => 0, 'msg' => '参数错误'); + } + } + + public function __get($name) + { + if ('_model' === substr($name, -6)) { + return $this->ci->$name; + } elseif ('load' == $name) { + return $this->ci->load; + } + return null; + } +} diff --git a/common/models/app/App_weixin_users_model.php b/common/models/app/App_weixin_users_model.php new file mode 100644 index 00000000..c914e4a2 --- /dev/null +++ b/common/models/app/App_weixin_users_model.php @@ -0,0 +1,39 @@ +table_name, 'default'); + } + + /** + * Notes:根据id获取数据 + * Created on: 2022/1/17 11:06 + * Created by: dengbw + * @param $ids + * @param string $fileds + * @return array + */ + public function get_map_by_ids($ids, $fileds = '') + { + $rows = []; + $ids = array_filter($ids); + if ($ids) { + $cf_ids = implode(',', $ids); + $where = [ + "id in ($cf_ids)" => null + ]; + $rows = $this->map('id', '', $where, '', '', '', $fileds); + } + return $rows; + } +} diff --git a/common/models/app/licheb/Syt_activity_kpidata_model.php b/common/models/app/licheb/Syt_activity_kpidata_model.php new file mode 100644 index 00000000..c6dd7dbc --- /dev/null +++ b/common/models/app/licheb/Syt_activity_kpidata_model.php @@ -0,0 +1,34 @@ +table_name, 'default'); + } + + public function kpiAry($kpi = '', $title = '') + { + $url = 'https://qs.haodian.cn/wechat_app/haodianyun/siyutong'; + $data['share'] = array('img' => $url . '/kpi2-1.png', 'title' => '分享', 'title1' => '分享次数', 'title2' => '分享次数', 'title3' => '分享人数' + , 'num_tag' => '次', 'score_tag' => '分数'); + $data['browse'] = array('img' => $url . '/kpi2-2.png', 'title' => '浏览', 'title1' => '浏览用户', 'title2' => '浏览次数', 'title3' => '浏览人数' + , 'num_tag' => '人', 'score_tag' => '分数'); + $data['enroll'] = array('img' => $url . '/kpi2-3.png', 'title' => '报名', 'title1' => '报名用户', 'title2' => '报名用户', 'title3' => '报名用户' + , 'num_tag' => '人', 'score_tag' => '分数'); + if ($kpi) { + return $data[$kpi][$title]; + } else { + return $data; + } + } +} diff --git a/common/models/app/licheb/Syt_activity_model.php b/common/models/app/licheb/Syt_activity_model.php new file mode 100644 index 00000000..78a495d7 --- /dev/null +++ b/common/models/app/licheb/Syt_activity_model.php @@ -0,0 +1,18 @@ +table_name, 'default'); + } +} diff --git a/common/models/app/licheb/Syt_biz_score_model.php b/common/models/app/licheb/Syt_biz_score_model.php new file mode 100644 index 00000000..68b6d79c --- /dev/null +++ b/common/models/app/licheb/Syt_biz_score_model.php @@ -0,0 +1,18 @@ +table_name, 'default'); + } +} diff --git a/common/models/receiver/Receiver_customers_model.php b/common/models/receiver/Receiver_customers_model.php index 7f3b7b86..602f74af 100644 --- a/common/models/receiver/Receiver_customers_model.php +++ b/common/models/receiver/Receiver_customers_model.php @@ -14,7 +14,7 @@ class Receiver_customers_model extends HD_Model private $status_arr = [-1 => '删除', 0 => '未见客户', 1 => '到店客户', 2 => '订单客户', 3 => '战败客户']; private $level = ['H', 'A', 'B', 'C', 'D']; - private $cfrom_arr = ['自有资源', '平台分配', '素材推广']; + private $cfrom_arr = ['自有资源', '平台分配', '素材推广', '私域活动']; private $cfrom_clues_arr = ['自然进店', '外展', 'DM', '转介绍', '其它','网站','外展外拓','垂直媒体','自媒体']; private $buy_time = [3, 7, 15, 30]; diff --git a/common/models/topics/Topic_module_button_model.php b/common/models/topics/Topic_module_button_model.php new file mode 100644 index 00000000..c921d4b6 --- /dev/null +++ b/common/models/topics/Topic_module_button_model.php @@ -0,0 +1,17 @@ +table_name, 'default'); + } +} \ No newline at end of file diff --git a/home/config/app.php b/home/config/app.php new file mode 100644 index 00000000..ac3eaca9 --- /dev/null +++ b/home/config/app.php @@ -0,0 +1,12 @@ +input_param(); + + //app_id是必需的 + $this->app_id = $app_id = $set_app_id ? $set_app_id : $this->input_param('app_id'); + $this->data['app_id'] = $app_id; + + $this->get_env(); + + $r = &load_cache('redis'); + $this->lc_redis = $r; + + //日志文件 + $class_name = lcfirst(get_class($this));//调用类的名称,子类或者当前类名称 + + $this->log_file = "h5_wxapp{$app_id}_{$class_name}.log"; + $this->log_dir = "h5_wxapp{$app_id}_{$class_name}"; + $this->redis_mcode = "wxapp_{$app_id}_mcode_"; + $this->white_mobile = array('18063762579'); + + $this->load->helper('cookie'); + + //根据app_id重载model + $this->load->rebuild_model($this->app_id); + + $this->load->library('hd_exception'); + } + + /** + * 所有方法请求入口 + * @param $method + * @return mixed + */ + function _remap($method){ + try{ + + if('index' == $method){ + $method = $this->request; + } else { + $method = $this->request.'_'. $method; + } + + if(!in_array($method, $this->white_appid) && !$this->app_id){ + debug_log("[error] ". __FUNCTION__ . "# not app_id", $this->log_file); + throw new Hd_exception('请求超时', 403); + } + + $data = $this->$method(); + + if($data['view']){//返回视图 + $this->data = array_merge($this->data, $data); + return $this->show_view($data['view'], $data['alone']); + } else {//返回json数据 + return $this->show_json($data); + } + } catch(Hd_exception $e){//处理异常 + $code = $e->getCode(); + $msg = $e->getMessage(); + + if($this->input->is_ajax_request()){ + return $this->show_json(array(), $code, $msg); + } else { + $this->data = array('heading' => 'Warning', 'message' => $msg); + return $this->show_view('errors/html/error_404'); + } + } + } + + /** + * 获取参数(只支持application/json格式) + * @param string $key + * @return array|mixed + */ + protected function input_param($key = ''){ + if($key){ + return $this->inputs[$key]; + } + + $request = $this->input->method(); + + switch($request){ + case 'post': + case 'put': + case 'delete': + $input = json_decode(file_get_contents('php://input'), true); + break; + default: + $input = $this->input->get(); + } + + $this->request = $request; + $this->inputs = $input; + return $this->inputs; + } + + /** + * @param $view + * @param $alone "独立页面" + */ + protected function show_view($view, $alone = false){ + if($alone){ + $this->load->view($view, $this->data); + } else{ + $this->load->view('h5/header',$this->data); + $this->load->view($view); + $this->load->view('h5/footer'); + } + } + + /** + * @param $data + * @param int $code + * @param string $msg + * @param string $url + */ + protected function show_json($data, $code = 200, $msg = 'success', $url = '') + { + if(!isset($data['code'])){ + $data = array('data' => $data, 'code' => $code, 'msg' => $msg, 'url' => $url); + } + + exit(json_encode($data)); + } + + /** + * @param $ukey + * @return array|mixed + */ + protected function api_session($ukey){ + $redis = &load_cache('redis'); + + $app_key = ""; + switch($this->app_id){ + case 1: + $app_key = "sbcard"; + break; + case 2: + $app_key= "xcard"; + } + + if(!$app_key){ + return array(); + } + + $redis_login = "wxapp_{$app_key}_login_"; + //data:{"uid":"用户ID", "session_key":"微信session_key"} + $data = $redis->get($redis_login.$ukey); + + $session = array(); + if($data){ + $session = json_decode($data, true); + } + + return $session; + } + + /** + * 获取环境 + */ + private function get_env(){ + if (false !== strpos($_SERVER['HTTP_HOST'], 'dev')) { //dev 测试 + $this->env = 'd'; + $this->host = "https://hd-wxdev.xiaoyu.com"; + $this->api_host = "https://hd-api-dev.xiaoyu.com"; + } elseif (false !== strpos($_SERVER['HTTP_HOST'], 'test')) {//test 测试 + $this->env = 't'; + $this->host = "https://www-test.haodian.cn"; + $this->api_host = "https://api.test.haodian.cn"; + } else { // 正式 + $this->env = 'p'; + $this->host = "https://www.haodian.cn"; + $this->api_host = "https://api.haodian.cn"; + } + } +} diff --git a/home/controllers/h5/syt/Myqrcode.php b/home/controllers/h5/syt/Myqrcode.php new file mode 100644 index 00000000..2a169efe --- /dev/null +++ b/home/controllers/h5/syt/Myqrcode.php @@ -0,0 +1,51 @@ +input->get('url'); + if ($url) { + $errorCorrectionLevel = 'L'; //容错级别 + $matrixPointSize = 5; //生成图片大小 + //生成二维码图片 + QRcode::png($url, false, $errorCorrectionLevel, $matrixPointSize, 1); + } + } + + function save() + { + $basedir = ''; + $saveDir = '要保存的目录地址'; + if (!is_dir($saveDir)) { + mkdir($basedir); + chmod($basedir, 0777); + } + if (is_dir($saveDir)) { + $filename = $saveDir . '/qrcode.png'; + $qrcode_content = 'hello qrcode';//二维码的内容 + ob_clean(); + QRcode::png($qrcode_content, $filename); + echo $filename; + } else { + exit('目录创建失败'); + } + } + +} \ No newline at end of file diff --git a/home/controllers/h5/syt/Special.php b/home/controllers/h5/syt/Special.php new file mode 100644 index 00000000..06f03b70 --- /dev/null +++ b/home/controllers/h5/syt/Special.php @@ -0,0 +1,652 @@ +secret = "2021_syt_h5_1119"; + //$this->load->helper('cookie'); + $this->load->model('app/licheb/syt_activity_model', 'mdSytActivity'); + $this->load->model('app/licheb/syt_activity_kpidata_model', 'mdSytActivityKpiData'); + $this->load->model('app/app_weixin_users_model', 'mdWeixinUsers'); + $this->load->model('receiver/receiver_customers_model', 'mdCustomers'); + $this->load->model("biz/biz_model", 'mdBiz'); + $ukey = get_cookie('ukey'); + if ($ukey) { + $this->session = json_decode(liche_authcode($ukey, 'DECODE', $this->secret), true); + $this->uid = $this->session['uid']; + } + //重置cookie + $reset = $this->input_param('reset'); + if ($reset) { + set_cookie("ukey", "", 86400 * 30); + $this->session = array(); + $this->uid = 0; + } + } + + /** + * Notes: + * https://liche-dev.xiaoyu.com/h5/syt/special + * https://liche-dev.xiaoyu.com/h5/syt/special?skey=YV9pZD03JmNmX3VpZD0yMSZiaXpfaWQ9MiZjZl9zaGFyZT1SNU5JS1c + * https://www.liche.cn/h5/syt/special + * Created on: 2021/8/26 11:19 + * Created by: dengbw + */ + function get() + { + $skey = $this->input->get('skey'); + //$skey = "YV9pZD03JmNmX3VpZD0yMSZiaXpfaWQ9MiZjZl9zaGFyZT1SNU5JS1c"; + if (!$skey) { + throw new Hd_exception("参数错误", 400); + } + $this->load->library('MyEncryption'); + $param = $this->myencryption->base64url_decode($skey); + //$skey = "a_id=7&cf_uid=24&biz_id=2&cf_share=" . $this->myencryption->random_string(6); + //echo $this->myencryption->base64url_encode($skey); + //print_r($param); + //exit; + $a_id = intval($param['a_id']);//活动id + $cf_uid = intval($param['cf_uid']);//来源用户id + $biz_id = intval($param['biz_id']);//门店id + $cf_share = $param['cf_share'];//分享 + $re_a = $this->mdSytActivity->get(array("id" => $a_id, "status" => 1)); + if (!$re_a) { + throw new Hd_exception("活动不存在", 400); + } + $url = http_host_com('home') . "/h5/syt/special?skey={$skey}"; + $this->set_auth($url); + $topic_ary = array('id' => $re_a['z_id'], 'a_id' => $a_id, '_title' => $re_a['title']); + $topic = $this->get_topic($topic_ary); + if (!$topic) { + throw new Hd_exception("专题不存在", 400); + } + if ($this->uid) { + $re_wu = $this->mdWeixinUsers->get(['id' => $this->uid]); + if ($re_wu) {//更新参数 + $jsondata = $re_wu['jsondata'] ? json_decode($re_wu['jsondata'], true) : ''; + $jsondata['syt'] = $param; + $this->mdWeixinUsers->update(['jsondata' => json_encode($jsondata, JSON_UNESCAPED_UNICODE)], ['id' => $this->uid]); + } + } + //一次性订阅 +// $re_s = $this->mdSytSubscribemsg->get(array('a_id' => $a_id, 'uid' => $this->uid)); +// if ($re_s) { +// $subscribemsg = '已订阅直播'; +// } else { +// $this->load->config('wechat'); +// $config = $this->config->item('liche'); +// $sub_redirect_url = urlencode(http_host_com('home') . '/h5/syt/special/subscribemsg?skey=' . $skey +// . '&s_time=' . $topic['mCountdown']['b_s_time']); +// $subscribemsg = "https://mp.weixin.qq.com/mp/subscribemsg?action=get_confirm&appid={$config['appid']}&scene=0}&template_id=DO0B9IYYub1d0oNvy9czzGbe6_1EU8PQmnLEoDOcmXA&redirect_url={$sub_redirect_url}&reserved=test#wechat_redirect"; +// } +// $topic['subscribemsg'] = $subscribemsg; + $topic['subscribemsg'] = ''; + $a_img = $re_a['img'] ? build_qiniu_image_url($re_a['img']) : ''; + $a_title = $re_a['title'] ? $re_a['title'] : ''; + //微信分享 + $this->load->library('Jssdk'); + $jssdk = new Jssdk('liche'); + $sign_package = $jssdk->getSignPackage(); + $t_skey = $c_skey = ''; + if ($biz_id) {//门店 + $skey = "a_id=" . $a_id . "&cf_uid=" . $cf_uid . "&biz_id=" . $biz_id . "&cf_share=" . $this->myencryption->random_string(6); + $c_skey = "a_id=" . $a_id . "&cf_uid=" . $cf_uid . '&biz_id=' . $biz_id; + } else { + $skey = "a_id=" . $a_id . "&cf_uid=" . $cf_uid . "&cf_share=" . $this->myencryption->random_string(6); + $c_skey = "a_id=" . $a_id . '&cf_uid=' . $cf_uid; + } + //浏览 + $this->set_kpi_score(array('a_id' => $a_id, 'cf_uid' => $cf_uid, 'biz_id' => $biz_id, 'kpi' => 'browse')); + //分享 + $cf_share && $this->set_kpi_score(array('a_id' => $a_id, 'cf_uid' => $cf_uid, 'biz_id' => $biz_id, 'cf_share' => $cf_share, 'kpi' => 'share')); + $share_url = http_host_com('home') . "/h5/syt/special?skey=" . $this->myencryption->base64url_encode($skey); + $jsondata = $re_a['jsondata'] ? json_decode($re_a['jsondata'], true) : ''; + $share_title = $jsondata['share_title'] ? $jsondata['share_title'] : ''; + $posters = $jsondata['posters'] ? $jsondata['posters'] : ''; + $share = array( + 'title' => $a_title, + "img" => $a_img, + "desc" => $share_title, + "url" => $share_url + ); + //渠道获取统计代码 + $stat_code = ""; +// if ($t_id) { +// $where = array('id' => $t_id); +// $row = $this->mdSytActivityTeam->get($where); +// $row['declaration'] && $stat_code = $row['declaration']; +// } + $topic['a_skey'] = $this->myencryption->base64url_encode("a_id=" . $a_id); + $topic['c_skey'] = $this->myencryption->base64url_encode($c_skey); + $topic['t_skey'] = $t_skey; + $topic['a_id'] = $a_id; + $topic['cf_uid'] = $cf_uid; + $topic['biz_id'] = $biz_id; + $topic['uid'] = $this->uid; + $topic['posters'] = $posters; + $topic['stat_code'] = $stat_code; + $data = array( + '_title' => $a_title, + 'view' => 'h5/syt/special', + 'topic' => $topic, + "sign_package" => $sign_package, + "share" => $share, + ); + return $data; + } + + private function get_topic($param = array()) + { + $data = $list = $mButton = array(); + $mCountdown = array('b_e_time' => 0, 'b_s_time' => 0); + $this->load->model('app/App_model', 'mdApp'); + $this->load->model('topics/topics_model', 'mdTopics'); + $this->load->model('topics/topic_modules_model', 'mdTopicModules'); + $this->load->model('topics/topic_module_text_model', 'mdModuleText'); + $this->load->model('topics/topic_module_ad_model', 'mdModuleAd'); + $this->load->model('topics/topic_module_enroll_model', 'mdModuleEnroll'); + $this->load->model('topics/topic_module_button_model', 'mdModuleButton'); +// $this->load->model('topics/topic_module_countdown_model', 'mdModuleCountdown'); + $re = $this->mdTopics->get(array('id' => $param['id'], 'app_id' => $this->app_id)); + if (!$re) { + return $data; + } + $appConfig = array(); + $mp_app_id = $mp_app_name = ''; + $ebiz = 0; + if ($re['jsondata']) { + $topics_jsondata = $re['jsondata'] ? json_decode($re['jsondata'], true) : array(); + if ($topics_jsondata['mp_app_id']) { + $appConfig = $this->mdApp->appConfig()[$topics_jsondata['mp_app_id']]; + $mp_app_id = $topics_jsondata['mp_app_id']; + $mp_app_name = $appConfig['wx_kzh']['appname'] ? $appConfig['wx_kzh']['appname'] : '星师傅'; + } + $ebiz = intval($topics_jsondata['ebiz']); + } + $nickname = $mobile = $msgisReg = ''; + $module_ids = $re['module_ids']; + if ($module_ids) { + $where = is_numeric($module_ids) ? array('id' => $module_ids) : array("id in ({$module_ids})" => null); + $where['status'] = 1; + $total = $this->mdTopicModules->count($where); + if ($total) { + $select = 'id, type,jsondata'; + $rows = $this->mdTopicModules->select($where, 'sort DESC', 0, 0, $select); + foreach ($rows as $row_topic) { + $mid = $row_topic['id']; + $type = $row_topic['type']; + $json_topic = json_decode($row_topic['jsondata'], true); + $title_img = ""; + $title_icon = ""; + if ($json_topic['title_img']) { + $title_img = build_qiniu_image_url($json_topic['title_img']); + } else { + $title_icon = "https://qs.haodian.cn/wechat_app/xingxuanka/special/tt-tip2.png"; + } + switch ($type) { + case "countdown"://倒计时 + $module = $this->mdModuleCountdown->get(array('module_id' => $mid)); + $jsondata = $module['jsondata'] ? json_decode($module['jsondata'], true) : array(); + $b_s_time = $jsondata['time'] ? $jsondata['time'] : 0; + $b_e_time = strtotime($b_s_time) - time(); + $b_e_time < 0 && $b_e_time = 0; + $mCountdown = array( + 'title' => $module['title'] ? $module['title'] : '', + 'b_title' => $jsondata['title'] ? $jsondata['title'] : '', + 'b_mp_title' => $jsondata['mp_title'] ? $jsondata['mp_title'] : '', + 'b_ghid' => $appConfig['ghid'] ? $appConfig['ghid'] : '', + 'b_s_time' => $b_s_time, + 'b_e_time' => $b_e_time, + ); + break; + case "button"://按钮类型 + $module = $this->mdModuleButton->get(array('module_id' => $mid)); + $jsondata = $module['jsondata'] ? json_decode($module['jsondata'], true) : array(); + $ghid = $url = ''; + $url = $jsondata['url'] ? $jsondata['url'] : ''; + $url_mini = $jsondata['url_mini'] ? $jsondata['url_mini'] : '';//在小程序里连接 + if ($appConfig['ghid'] && (strstr($url, 'pages'))) {//跳转小程序 + $ghid = $appConfig['ghid']; + } + $mButton = array( + 'title' => $module['title'] ? $module['title'] : '', + 'type' => $module['type'], + 'b_url' => $url, + 'b_url_mini' => $url_mini, + 'b_title' => $jsondata['title'] ? $jsondata['title'] : '', + 'b_img' => $jsondata['img'] ? build_qiniu_image_url($jsondata['img']) : '', + 'b_color' => $jsondata['color'] ? $jsondata['color'] : '', + 'b_ghid' => $ghid, + ); + break; + case "text"://文本类型 + $module = $this->mdModuleText->get(array('module_id' => $mid)); + $list[] = array( + "type" => "text", + 'id' => $mid, + 'title' => $module['title'] ? $module['title'] : '', + "title_img" => $title_img, + "title_icon" => $title_icon, + "title_color" => $json_topic["title_color"] ? $json_topic["title_color"] : "#fff",//背景色, + "title_bgcolor" => $json_topic["title_bgcolor"] ? $json_topic["title_bgcolor"] : "#ee5b15",//背景色 + 'bg_img' => $json_topic['bg_img'] ? build_qiniu_image_url($json_topic['bg_img']) : "", + 'bg_color' => $json_topic["bg_color"] ? $json_topic["bg_color"] : '#ff0', + "border_color" => strval($json_topic['border_color']), + 'descrip' => $module['descrip'] ? $module['descrip'] : '', + 'content' => $module['content'] ? $module['content'] : '', + 'style' => 0, + 'ads' => array(), + ); + break; + case 'ad'://广告 + $module = $this->mdModuleAd->get(array('module_id' => $mid)); + $module_json = $module['img_json'] ? json_decode($module['img_json'], true) : array(); + $ads = array(); + foreach ($module_json as $ad) { + $url = strval($ad['link']); + $miniProgram = ''; + $img = $ad['img'] ? build_qiniu_image_url($ad['img']) : ''; + if ($appConfig['ghid'] && strstr($url, 'pages')) {//跳转小程序 + $img_class = $module['style'] == 2 ? 'wp100 block bds-f3' : 'wp100 block'; + $miniProgram = '
+
+ + +
'; + } + $is_item = false; + if (strpos($url, "wxapp/syt/item") !== false) { + $url .= "&__skey=" . $this->input_param('skey'); + $is_item = true; + } + $ads[] = array( + 'type' => 'ad', + 'img' => $img, + 'url' => $url ? $url : '', + 'miniProgram' => $miniProgram, + 'jump_type' => intval($ad['jump_type']), + 'is_item' => $is_item, + 'title' => $ad['title'] + ); + } + $title_img = ""; + $title_icon = ""; + if ($json_topic['title_img']) { + $title_img = build_qiniu_image_url($json_topic['title_img']); + } else { + $title_icon = "https://qs.haodian.cn/wechat_app/xingxuanka/special/tt-tip2.png"; + } + $list[] = array( + "type" => "ad", + 'id' => $mid, + 'title' => $module['title'] ? $module['title'] : '', + "title_img" => $title_img, + "title_icon" => $title_icon, + "title_color" => $json_topic["title_color"] ? $json_topic["title_color"] : "#fff",//背景色, + "title_bgcolor" => $json_topic["title_bgcolor"] ? $json_topic["title_bgcolor"] : "#fe7c35",//背景色 + 'bg_img' => $json_topic['bg_img'] ? build_qiniu_image_url($json_topic['bg_img']) : "", + 'bg_color' => $json_topic["bg_color"] ? $json_topic["bg_color"] : (2 == $module['style'] ? '#FFF' : ''), + "border_color" => strval($json_topic['border_color']), + 'descrip' => $module['descrip'] ? $module['descrip'] : '', + 'content' => '', + 'style' => $module['style'], + 'ads' => $ads, + ); + break; + case 'enroll'://报名活动 + $module = $this->mdModuleEnroll->get(array('module_id' => $mid)); + //处理状态字段 + $status = array("title" => "我要报名", "value" => 0); + //是否开始 + if (1 == $module['type']) { + $s_time = strtotime($module['as_time']); + $e_time = strtotime($module['ae_time']); + } else { + $s_time = strtotime($module['es_time']); + $e_time = strtotime($module['ee_time']); + } + if ($s_time > time()) { + $status = array("title" => "报名尚未开始", "value" => 2); + } elseif ($e_time < time()) { + $status = array("title" => "报名已截止", "value" => -2); + } + //判断是否还能参加报名 + if (0 == $status['value'] && $module['limit_num'] > 0) { + $where = array('a_id' => $param['a_id']); + $count = $this->mdSytActivityEnroll->count($where); + if ($count >= $module['limit_num']) { + $status = array("title" => "报名人数已满", "value" => 3); + } + } + if ($this->uid) {//是否报名 + $re_enroll = []; + $this->session['mobile'] && $re_enroll = $this->mdCustomers->get(array('cf_id' => $this->cf_id, 't_id' => $param['a_id'], 'mobile' => $this->session['mobile'])); + if ($re_enroll) { + $status = array("title" => "已报名", "value" => 1); + } else { + $reUsers = $this->mdWeixinUsers->get(array('id' => $this->uid)); + $nickname = $reUsers['nickname'] ? $reUsers['nickname'] : ''; + $mobile = $reUsers['mobile'] ? $reUsers['mobile'] : ''; + } + } + $jsondata = $module['jsondata'] ? json_decode($module['jsondata'], true) : array(); + $if_code = intval($jsondata['if_code']);//是否验证手机 + if ($jsondata["show_type"] == 1) { + $msgisReg = array( + 'title' => $module['title'] ? $module['title'] : '报名', + 'if_code' => $if_code, + 'status' => $status); + break; + } + + $info = array( +// array("title" => "姓名", "field" => "input", "key" => "uname"), +// array("title" => "手机号", "field" => "mobile", "key" => "mobile"), +// array("title" => "备注", "field" => "input", "key" => "remark"), + ); + $record = array(); + $date_arr = array( + date('Y.m.d'), + date('Y.m.d', strtotime("-1 day")), + date('Y.m.d', strtotime("-2 day")), + date('Y.m.d', strtotime("-3 day")) + ); + $num = 10; + $res = $this->mdCustomers->select(array('cf_id' => $this->cf_id, 't_id' => $param['a_id']), 'c_time desc', 1, $num); + if ($res) { + foreach ($res as $key2 => $val2) { + $nick_name = $val2['nickname']; + $len = mb_strlen($nick_name, 'UTF-8'); + if ($len >= 3) { + $nick_name = mb_substr($nick_name, 0, 1, 'UTF-8') . '*' . mb_substr($nick_name, -1, 1, 'UTF-8'); + } else { + $nick_name = mb_substr($nick_name, 0, 1, 'UTF-8') . '*'; + } + $record[] = date('Y.m.d', $val2['c_time']) . ' ' . $nick_name . ' 报名了 ' . $param['_title']; + } + } + $num = $num - count($record); + if ($num) { + for ($i = 0; $i < $num; $i++) { + $record[] = $date_arr[array_rand($date_arr)] . ' ' . rand_name() . ' 报名了 ' . $param['_title']; + } + } + $list[] = array( + "type" => "enroll", + 'id' => $mid, + 'title' => $module['title'] ? $module['title'] : '', + "title_img" => $title_img, + "title_icon" => $title_icon, + "title_color" => $json_topic["title_color"] ? $json_topic["title_color"] : "#fff",//背景色, + "title_bgcolor" => $json_topic["title_bgcolor"] ? $json_topic["title_bgcolor"] : "#ee5b15",//背景色 + 'bg_img' => $json_topic['bg_img'] ? build_qiniu_image_url($json_topic['bg_img']) : "", + 'bg_color' => $json_topic["bg_color"] ? $json_topic["bg_color"] : '#fff', + "border_color" => strval($json_topic['border_color']), + 'descrip' => $module['descrip'] ? $module['descrip'] : '', + 'content' => $module['content'] ? $module['content'] : '', + 'style' => 0, + 'if_code' => $if_code, + 'ads' => array(), + 'status' => $status, + 'info' => $info, + 'record' => $record + ); + break; + default: + } + } + } + } + + $data = array( + 'id' => $param['id'], + 'title' => $re['title'], + 'bg_img' => build_qiniu_image_url($re['bg_img']), + 'bg_color' => $re['bg_color'], + 'ebiz' => $ebiz, + 'list' => $list, + 'name' => $nickname, + 'telPhone' => $mobile, + 'vCode' => '', + 'codeState' => true, + 'codeTx' => '获取验证码', + 'isSubmiting' => false, + 'mButton' => $mButton, + 'mCountdown' => $mCountdown, + "bundleIntervalEvent" => '', + 'msgisShowCode' => false, + 'msgisRegShow' => false, + "qrcode" => '', + "logintelPhone" => '', + "loginvCode" => '', + "logincodeState" => true, + "logincodeTx" => '获取验证码', + "loginBundleIntervalEvent" => '', + 'loginBackurl' => '', + "msgisLoginShowCode" => false, + "needLogin" => $reUsers['mobile'] ? false : true, + 'mp_app_id' => $mp_app_id, + 'mp_app_name' => $mp_app_name, + 'msgisReg' => $msgisReg, + ); + return $data; + } + + /** + * Notes:生成海报 + * Created on: 2022/1/20 16:35 + * Created by: dengbw + * @return array + * @throws Hd_exception + */ + protected function get_poster() + { + $skey = $this->input_param('skey'); + if (!$skey) { + throw new Hd_exception("参数错误", 400); + } + $this->load->library('MyEncryption'); + $param = $this->myencryption->base64url_decode($skey); + $a_id = intval($param['a_id']);//活动id + $cf_uid = intval($param['cf_uid']); + $biz_id = intval($param['biz_id']);//门店id + $re_a = $this->mdSytActivity->get(array("id" => $a_id, "status" => 1)); + if (!$re_a) { + throw new Hd_exception("活动不存在", 400); + } + $url = http_host_com('home') . "/h5/wxapp/syt/special/poster?skey={$skey}"; + $this->set_auth($url); + if ($biz_id) {//门店 + $skey = "a_id=" . $a_id . "&cf_uid=" . $cf_uid . "&biz_id=" . $biz_id . "&cf_share=" . $this->myencryption->random_string(6); + } else { + $skey = "a_id=" . $a_id . "&cf_uid=" . $cf_uid . "&cf_share=" . $this->myencryption->random_string(6); + } + $share_url = http_host_com('home') . "/h5/syt/special?skey=" . $this->myencryption->base64url_encode($skey); + $qr_cod = '/h5/syt/myqrcode/get?url=' . $share_url; + $posters = array(); + if ($re_a['jsondata']) { + $jsondata = json_decode($re_a['jsondata'], true); + if ($jsondata['posters']) {//海报 + foreach ($jsondata['posters'] as $key => $value) { + $posters[] = array("img" => build_qiniu_image_url($value['url']), "code" => $qr_cod, + "width" => $value['width'], "height" => $value['height']); + } + } + } + $this->load->library('Jssdk'); + $jssdk = new Jssdk('liche'); + $sign_package = $jssdk->getSignPackage(); + $data = array( + '_title' => '生成海报', + 'posters' => $posters, + 'sign_package' => $sign_package, + 'view' => 'h5/syt/special_poster', + ); + return $data; + } + + /** + * Notes:活动报名 + * Created on: 2020/11/3 14:36 + * Created by: dengbw + * @throws Hd_exception + */ + function post_enroll() + { + $params = $this->input->post(); + $mobile = $params['mobile']; + $code = $params['code']; + $nickname = $params['nickname']; + $if_code = $params['if_code']; + if (!$nickname) { + throw new Hd_exception('请输入昵称', 400); + } + if (!mobile_valid($mobile)) { + throw new Hd_exception('手机号码不正确', 400); + } + $key = ''; + if (!$if_code) {//0开启,1关闭 + if (!$code) { + throw new Hd_exception('请输入验证码', 400); + } + $key = $this->redis_mcode . $mobile; + if (!in_array($mobile, $this->white_mobile)) {//校验手机号 + $code_check = $this->lc_redis->get($key); + if (!$code || $code != $code_check) { + throw new Hd_exception("验证码不正确", 400); + } + } + } + $params['cf_platform'] = 'h5'; + $params['mobile'] = $mobile; + $params['nickname'] = $nickname; + $params['uid'] = $this->uid; + $params['cf_id'] = $this->cf_id; + $this->load->library('entity/syt_entity'); + $syt_entity = new Syt_entity(array('app_id' => $this->app_id)); + $results = $syt_entity->kpi_enroll_log($params); + if ($results['code'] == 400) { + throw new Hd_exception($results['msg'], $results['code']); + } + $key && $this->lc_redis->delete($key); + throw new Hd_exception($results['msg'], $results['code']); + } + + /** + * Notes:获取短信验证码 + * Created on: 2020/10/14 22:10 + * Created by: dengbw + * @throws Hd_exception + */ + protected function get_mcode() + { + $mobile = $this->input_param('mobile'); + $title = $this->input_param('title'); + if (!mobile_valid($mobile)) { + throw new Hd_exception('手机号码不正确', 400); + } + $key = $this->redis_mcode . $mobile; + $code = $this->lc_redis->get($key); + if (!$code) { + $this->load->helper('string'); + $code = random_string('numeric', 6); + $this->lc_redis->save($key, $code, 600); + } + $content = "【狸车】您正在参与{$title}报名,验证码 {$code}"; + b2m_send_sms($mobile, $content); + throw new Hd_exception('发送成功', 200); + } + + /** + * Notes:设置kpi加分 + * Created on: 2020/10/15 10:09 + * Created by: dengbw + * @param array $param + */ + private function set_kpi_score($param = array()) + { + $param['uid'] = $this->uid; + if ($param['a_id'] && $param['uid'] && ($param['cf_uid'] || $param['biz_id'])) { + $this->load->library('entity/syt_entity'); + $syt_entity = new Syt_entity(array('app_id' => $this->app_id)); + $syt_entity->kpi_log($param); + } + } + + /** + * Notes:未登录授权登录 + * Created on: 2020/10/28 21:07 + * Created by: dengbw + * @param $url + */ + protected function set_auth($url) + { + if ("wx" == checkua() && !$this->uid) { + $this->load->helper('url'); + $config['appid'] = 'wxe66f905683582780';//小红榜授权 + $config['appSecret'] = '9546cd4de877be13ce203f3e6140633f'; + $this->load->config('wechat'); + $config = $this->config->item('liche'); + $code = $this->input->get('code'); + $auth = 1;//是否信息授权 + $auth && $url .= "&auth={$auth}"; + if ($code) {//授权码获取微信信息 + $auth_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={$config['appid']}&secret={$config['appSecret']}&code={$code}&grant_type=authorization_code"; + $res = file_get_contents($auth_url); + $ret = json_decode($res, true); + $openid = $ret['openid']; + $unionid = $ret['unionid']; + $mobile = ''; + if ($openid) { + $row_wechat = $this->mdWeixinUsers->get(array('openid' => $openid)); + if (!$row_wechat) {//用户授权信息未记录到wechat + $info_url = "https://api.weixin.qq.com/sns/userinfo?access_token={$ret['access_token']}&openid={$openid}&lang=zh_CN"; + $res = file_get_contents($info_url); + $ret = json_decode($res, true); + $unionid = $ret['unionid']; + $add = array( + 'nickname' => strval($ret['nickname']), + "headimg" => strval($ret['headimgurl']), + "unionid" => $unionid, + "openid" => $openid, + "app_id" => $this->app_id, + "c_time" => time() + ); + $this->uid = $this->mdWeixinUsers->add($add); + if (!$this->uid) { + debug_log("[error]# " . $this->mdWeixinUsers->db->last_query(), __FUNCTION__, $this->log_dir); + } + } else { + !$unionid && $unionid = $row_wechat['unionid']; + $this->uid = $row_wechat['id']; + $mobile = $row_wechat['mobile']; + } + } + if ($this->uid) { + $session = array('uid' => $this->uid, "unionid" => $unionid, "mobile" => $mobile); + $ukey = liche_authcode(json_encode($session, JSON_UNESCAPED_UNICODE), 'ENCODE', $this->secret); + set_cookie("ukey", $ukey, 86400 * 30); + } + } elseif ($auth) {//信息授权获取用户微信昵称/头像 + $redirect_uri = urlencode($url); + $auth_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$config['appid']}&redirect_uri={$redirect_uri}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; + redirect($auth_url); + } elseif (!$this->session) {//静默授权获取用户openid + $redirect_uri = urlencode($url); + $auth_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$config['appid']}&redirect_uri={$redirect_uri}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"; + redirect($auth_url); + } + } + } + +} diff --git a/home/libraries/Hdwechat.php b/home/libraries/Hdwechat.php new file mode 100644 index 00000000..63c16cf9 --- /dev/null +++ b/home/libraries/Hdwechat.php @@ -0,0 +1,215 @@ +init($config); + } + + /** + * @param $config ('appid', 'secret') + */ + function init($config){ + $this->appid = $config['appid']; + $this->secret = $config['secret']; + $this->token_url = $config['token_url']; + + $CI = & get_instance(); + $CI->load->library("hd_wechat", $config); + /*这里用new的方式,因为load如果对象已经存在,会去取旧的,不会生成新配置的对象*/ + $this->hd_wechat = new Hd_wechat($config); + } + + /** + * 获取或者重置access_token + * @param $reset (是否重置) + * @return mixed + */ + function access_token($reset = false){ + + $this->access_token = $this->hd_wechat->access_token($reset); + + return $this->access_token; + } + + + /** + * 生成二维码 + * @param $filename (文件名称) + * @param $scene (最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式) + * @param $page (必须是已经发布的小程序存在的页面(否则报错),例如 pages/index/index, 根路径前不要填加 /,不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面) + * @param $width (二维码的宽度,单位 px,最小 280px,最大 1280px,默认430px) + * @return array {'file':'文件路径', 'url':'访问相对路径'} + */ + function wxacode($filename, $scene, $page, $width){ + $file = APPPATH . '../www/home/wx/wxacode/' . $filename . '.png'; + $dir = substr($file, 0, strrpos($file, '/')); + if(!is_dir($dir)){ + $ret = mkdir($dir, 0777, true);// 如果文件夹不存在,将以递归方式创建该文件夹 + if(!$ret){ + debug_log("[error] ". __FUNCTION__ . ": mkdir {$ret}, filename:{$filename}, scene:{$scene}, page:{$page}, width:{$width}", $this->log_file); + return array(); + } + } + + if(file_exists($file)){ + return array('file' => $file, 'url' => 'wx/wxacode/' . $filename . '.png'); + } + + $pre_url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='; + $url = $pre_url . $this->access_token(); + $data = array( + 'scene' => $scene, + 'page' => $page, + 'width' => $width ? $width : 430, + ); + + list($code, $res) = $this->curl_post($url, $data); + $ret = json_decode($res, true); + + if(isset($ret['errcode']) && 40001 == $ret['errcode']){//token过期,重置后请求 + $url = $pre_url . $this->access_token(true); + list($code, $res) = $this->curl_post($url, $data); + $ret = json_decode($res, true); + } + + if(isset($ret['errcode'])){ + debug_log("[error] ". __FUNCTION__ . ": httpcode:{$code}, response:{$res}, filename:{$filename}, scene:{$scene}, page:{$page}, width:{$width}", $this->log_file); + return array(); + } + + $ret = file_put_contents($file, $res); + if(false === $ret){ + debug_log("[error] ". __FUNCTION__ . ": file_put_contents {$ret}, filename:{$filename}, scene:{$scene}, page:{$page}, width:{$width}", $this->log_file); + return array(); + } + + return array('file' => $file, 'url' => 'wx/' . $filename . '.png'); + } + + function qrcode($filename, $scene, $type = 0, $expire = 0){ + $file = APPPATH . '../www/home/wx/qrcode/' . $filename . '.png'; + $file_url = 'wx/qrcode/' . $filename . '.png'; + $dir = substr($file, 0, strrpos($file, '/')); + if(!is_dir($dir)){ + $ret = mkdir($dir, 0777, true);// 如果文件夹不存在,将以递归方式创建该文件夹 + if(!$ret){ + debug_log("[error] ". __FUNCTION__ . ": mkdir {$ret}, filename:{$filename}, scene:{$scene}", $this->log_file); + return array(); + } + } + + if(file_exists($file)){ + return array('file' => $file, 'url' => $file_url); + } + + if(is_numeric($scene)){ + $action_info = array( + 'scene' => array('scene_id' => $scene) + ); + $action_name = $type ? 'QR_LIMIT_SCENE' : 'QR_SCENE'; + } else { + $action_info = array( + 'scene' => array('scene_str' => $scene) + ); + $action_name = $type ? 'QR_LIMIT_STR_SCENE' : 'QR_STR_SCENE'; + } + + $data = array( + 'action_name' => $action_name, + 'action_info' => $action_info + ); + $expire && $data['expire_seconds'] = $expire; + + $qr_url = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token='; + $url = $qr_url . $this->access_token(); + + //请求获取二维码的ticket + list($code, $res) = $this->curl_post($url, $data); + $ret = json_decode($res, true); + + if(isset($ret['errcode']) && 40001 == $ret['errcode']){//token过期,重置后请求 + $url = $qr_url . $this->access_token(true); + list($code, $res) = $this->curl_post($url, $data); + $ret = json_decode($res, true); + } + + if(isset($ret['errcode'])){ + debug_log("[error] ". __FUNCTION__ . ": httpcode:{$code}, response:{$res}, filename:{$filename}, scene:{$scene}", $this->log_file); + return array(); + } + + if(!$ret['ticket']){ + debug_log("[error] ". __FUNCTION__ . ": not ticket, filename:{$filename}, scene:{$scene}", $this->log_file); + return array(); + } + + //根据ticket获取 + $ticket_url='https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.$ret['ticket']; + + debug_log("[info] ". __FUNCTION__ . ": ticket_url=$ticket_url", $this->log_file); + + $ret = file_put_contents($file, $this->url_get($ticket_url)); + if(false === $ret){ + debug_log("[error] ". __FUNCTION__ . ": file_put_contents {$ret}, filename:{$filename}, scene:{$scene}", $this->log_file); + return array(); + } + + return array('file' => $file, 'url' => $file_url); + } + + /** + * @param $url + * @param $data + * @return array + */ + private function curl_post($url, $data){ + debug_log("[info] ". __FUNCTION__ . ":url={$url}, data=".json_encode($data), $this->log_file); + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); + $res = curl_exec($ch); + $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); + + $size = strlen($res); + if($size > 5000){ + debug_log("[info] ". __FUNCTION__ . ":httpcode={$code}, response is big only show size={$size}", $this->log_file); + } else { + debug_log("[info] ". __FUNCTION__ . ":httpcode={$code}, response={$res}", $this->log_file); + } + + return array($code, $res); + } + + /** + * @param $url + * @return string + */ + private function url_get($url){ + $res = file_get_contents($url); + debug_log("[info] ". __FUNCTION__ . ":url={$url}, res={$res}", $this->log_file); + return $res; + } +} \ No newline at end of file diff --git a/home/libraries/Jssdk.php b/home/libraries/Jssdk.php new file mode 100644 index 00000000..4fa21937 --- /dev/null +++ b/home/libraries/Jssdk.php @@ -0,0 +1,85 @@ +appId = $group['appid']; + $this->appSecret = $group['appSecret']; + } else { + $CI->load->config('wechat'); + $config =$CI->config->item($group); + + $this->appId = $config['appid']; + $this->appSecret = $config['appSecret']; + } + + $r = &load_cache('redis'); + $this->redis = $r->redis(); + + $param = array('appid' => $this->appId, "secret" => $this->appSecret); + $CI->load->library("hd_wechat", $param); + $this->hd_wechat = $CI->hd_wechat; + $this->hd_wechat->init($param); + } + + public function getSignPackage() + { + $jsapiTicket = $this->getJsApiTicket(); + $url = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; + + if($_SERVER['QUERY_STRING']) + { + //$url .= '?'.$_SERVER['QUERY_STRING']; + } + + $timestamp = time(); + $nonceStr = $this->createNonceStr(); + + // 这里参数的顺序要按照 key 值 ASCII 码升序排序 + $string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url"; + $signature = sha1($string); + + $signPackage = array( + "appId" => $this->appId, + "nonceStr" => $nonceStr, + "timestamp" => $timestamp, + "url" => $url, + "signature" => $signature, + "rawString" => $string, + 'jsapi_ticket' => $jsapiTicket + ); + + return $signPackage; + } + + private function createNonceStr($length = 16) + { + $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + $str = ""; + for ($i = 0; $i < $length; $i++) + { + $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); + } + + return $str; + } + + private function getJsApiTicket() + { + $ticket = $this->hd_wechat->api_ticket(); + return $ticket; + } +} diff --git a/home/views/h5/footer.php b/home/views/h5/footer.php new file mode 100644 index 00000000..98709269 --- /dev/null +++ b/home/views/h5/footer.php @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/home/views/h5/header.php b/home/views/h5/header.php new file mode 100644 index 00000000..18d15ba0 --- /dev/null +++ b/home/views/h5/header.php @@ -0,0 +1,16 @@ + + + + + + + + <?=isset($_title)?$_title:''?> + + + + + + + \ No newline at end of file diff --git a/home/views/h5/syt/special.php b/home/views/h5/syt/special.php new file mode 100644 index 00000000..34478b2f --- /dev/null +++ b/home/views/h5/syt/special.php @@ -0,0 +1,825 @@ + + + + + + + <?= $_title ?> + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+ + +
+
+ +
+
+ + +
+
+
+
+ + +
+ + +
+
+
+
+ +
+ + + +
+
+ + +
+
+
+
+
+ +
+ + + +
+
+
+
+
+
+ +
+ + + +
+
+
+ + +
+
+
+
+
+ +
+ + + +
+
+
+
+
+
+ +
+ + + +
+
+
+
+
+
+ +
+ + + +
+
+
+ +
+ + +
+ +
+
+
+
+
+
{{item}} +
+
+
+
+
+
+ +
+
报名昵称
+
+
+
+
手机号码
+
+ +
+
+
验证码
+
+
+ +
+ +
+ +
+ +
+
+
+
+ + +
+ Powered by + + 好店云 +
+ + + + +
+
+
+
+ +
+ +
+
+ + + + +
+
+ + +
+ +
+
+
+ +
+
+
+
+
+
+
+ +
+
长按识别二维码,关注{{mp_app_name}}服务号。即可接收直播提醒,还有更多福利不定期放送哦~ +
+
+
+ 知道了 +
+
+
+
+ +
+
+
+
+
+
绑定手机号
+
+ +
+
+
+ +
+
+
+ 确定 +
+ +
+
+
+ +
+
+
+
+
+
{{msgisReg.title}}
+ +
+ +
+ +
+ +
+
+
+ +
+
+ + +
+
+
+ +
+ +
+ +
+ + + + + diff --git a/home/views/h5/syt/special_poster.php b/home/views/h5/syt/special_poster.php new file mode 100644 index 00000000..a5401159 --- /dev/null +++ b/home/views/h5/syt/special_poster.php @@ -0,0 +1,158 @@ + + + + + + + <?= $_title ?> + + + + + + + + + + + + +
+
+
+
+
+
+
+ + +
+
+
+
+
+
+
+ +
+
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+ + 长按图片保存到手机发送给好友 +
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/www/home/MP_verify_6KCtCFAFCutAcUIU.txt b/www/home/MP_verify_6KCtCFAFCutAcUIU.txt new file mode 100644 index 00000000..043bdcc7 --- /dev/null +++ b/www/home/MP_verify_6KCtCFAFCutAcUIU.txt @@ -0,0 +1 @@ +6KCtCFAFCutAcUIU \ No newline at end of file diff --git a/www/home/css/h5/syt/special.css b/www/home/css/h5/syt/special.css new file mode 100644 index 00000000..3da98b46 --- /dev/null +++ b/www/home/css/h5/syt/special.css @@ -0,0 +1 @@ +@charset "UTF-8";/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;font-family:sans-serif}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-.267vw}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.inner10{padding:1.333vw}.inner20{padding:2.667vw}.inner30{padding:4vw}.inner40{padding:5.333vw}.ulib-r0{border-radius:0!important}.ulib-r5{border-radius:.667vw}.ulib-r10{border-radius:1.333vw}.ulib-rl10{-webkit-border-top-left-radius:1.333vw;-webkit-border-bottom-left-radius:1.333vw;border-top-left-radius:1.333vw;border-bottom-left-radius:1.333vw}.ulib-r20{border-radius:2.667vw}.ulib-r750{border-radius:100vw}.ulib-rl750{-webkit-border-top-left-radius:100vw;-webkit-border-bottom-left-radius:100vw;border-top-left-radius:100vw;border-bottom-left-radius:100vw}.ulib-rt20{border-top-left-radius:2.667vw;border-top-right-radius:2.667vw}.ulib-rlt10{border-top-left-radius:1.333vw}.mt0{margin-top:0!important}.mt5{margin-top:.667vw}.mt10{margin-top:1.333vw}.mt15{margin-top:2vw}.mt20{margin-top:2.667vw}.mt25{margin-top:3.333vw}.mt30{margin-top:4vw}.mt40{margin-top:5.333vw}.mt60{margin-top:8vw}.mt70{margin-top:9.333vw}.mt110{margin-top:14.667vw}.mt120{margin-top:16vw}.ml5{margin-left:.667vw}.ml10{margin-left:1.333vw}.ml20{margin-left:2.667vw}.ml30{margin-left:4vw}.ml40{margin-left:5.333vw}.ml60{margin-left:8vw}.ml100{margin-left:13.333vw}.mr5{margin-right:.667vw}.mr10{margin-right:1.333vw}.mr20{margin-right:2.667vw}.mr30{margin-right:4vw}.mr40{margin-right:5.333vw}.mr100{margin-right:13.333vw}.mr110{margin-right:14.667vw}.mb5{margin-bottom:.667vw}.mb10{margin-bottom:1.333vw}.mb20{margin-bottom:2.667vw}.mb30{margin-bottom:4vw}.mb40{margin-bottom:5.333vw}.mb80{margin-bottom:10.667vw}.pt0{padding-top:0!important}.pt3{padding-top:.4vw}.pt5{padding-top:.667vw}.pt10{padding-top:1.333vw}.pt15{padding-top:2vw}.pt20{padding-top:2.667vw}.pt25{padding-top:3.333vw}.pt30{padding-top:4vw}.pt40{padding-top:5.333vw}.pt50{padding-top:6.667vw}.pt80{padding-top:10.667vw}.pt100{padding-top:13.333vw}.pl0{padding-left:0!important}.pl5{padding-left:.667vw}.pl10{padding-left:1.333vw}.pl15{padding-left:2vw}.pl20{padding-left:2.667vw}.pl25{padding-left:3.333vw}.pl30{padding-left:4vw}.pl40{padding-left:5.333vw}.pl60{padding-left:8vw}.pl70{padding-left:9.333vw}.pl80{padding-left:10.667vw}.pl100{padding-left:13.333vw}.pl140{padding-left:18.667vw}.pl160{padding-left:21.333vw}.pl170{padding-left:22.667vw}.pl180{padding-left:24vw}.pl190{padding-left:25.333vw}.pl200{padding-left:26.667vw}.pl210{padding-left:28vw}.pl250{padding-left:33.333vw}.pr0{padding-right:0!important}.pr5{padding-right:.667vw}.pr10{padding-right:1.333vw}.pr15{padding-right:2vw}.pr20{padding-right:2.667vw}.pr30{padding-right:4vw}.pr40{padding-right:5.333vw}.pr60{padding-right:8vw}.pr100{padding-right:13.333vw}.pr200{padding-right:26.667vw}.pr220{padding-right:29.333vw}.pb0{padding-bottom:0!important}.pb5{padding-bottom:.667vw}.pb10{padding-bottom:1.333vw}.pb15{padding-bottom:2vw}.pb20{padding-bottom:2.667vw}.pb25{padding-bottom:3.333vw}.pb30{padding-bottom:4vw}.pb40{padding-bottom:5.333vw}.pb50{padding-bottom:6.667vw}.pb60{padding-bottom:8vw}.pb100{padding-bottom:13.333vw}.btn{display:inline-block;text-align:center;border:none;vertical-align:middle;cursor:pointer;-webkit-transition:all .15s ease 0s;transition:all .15s ease 0s}.btn:active{box-shadow:inset 0 .4vw .667vw rgba(0,0,0,.125)}.btn[disabled]{background-color:#aaa;color:#777}.btn-green{background:#68bc79}.btn-gray{background:#ccc}.btn-ffb03f{background:#ffb03f}.btn-f03b26{background:#f03b26}.bds-f3{border:#f3f3f3 1px solid}.bds-ccc{border:#ccc 1px solid}.bds-eee{border:#eee 1px solid}.bts-eee{border-top:#eee 1px solid}.bls-eee{border-left:#eee 1px solid}.brs-eee{border-right:#eee 1px solid}.bbs-eee{border-bottom:#eee 1px solid}.last-b-none:last-child{border-bottom:none}.bds-2-bf{border:#bfbfbf .267vw solid}.bds-ee3423{border:#ee3423 1px solid}.bds-2-e6{border:#e6e6e6 .267vw solid;box-sizing:border-box}.bts-20-f6{border-top:#f6f6f6 2.667vw solid}.bts-1-eb{border-top:#eee 1px solid}.bds-1-fe4c0e{border-bottom:1px solid #fe4c0e}.bts-1-ffa564{border-top:1px solid #ffa564}.border-none{border:none}.color-fff{color:#fff}.color-ccc{color:#ccc}.color-333{color:#333}.color-666{color:#666}.color-888{color:#888}.color-999{color:#999}.color-bbb{color:#bbb}.color-ffae00{color:#ffae00}.color-68bc79{color:#68bc79}.color-ee3423{color:#ee3423}.color-ffd83f{color:#ffd83f}.color-ffd7d3{color:#ffd7d3}.color-f7471a{color:#f7471a}.color-fddf32{color:#fddf32}.color-ffb03f{color:#ffb03f}.color-26cf7e{color:#26cf7e}.color-ff7919{color:#ff7919}.color-fe2643{color:#fe2643}.color-ff9000{color:#ff9000}.color-980002{color:#980002}.color-ffd9ac{color:#ffd9ac}.color-fb5250{color:#fb5250}.color-ffb759{color:#ffb759}.color-138ce1{color:#138ce1}.bg-none{background:0 0}.bg-eee{background-color:#eee}.bg-fff{background-color:#fff}.bg-fa{background-color:#fafafa}.bg-f5{background-color:#f5f5f5}.bg-f6{background-color:#f6f6f6}.bg-f7{background-color:#f7f7f7}.bg-68bc79{background-color:#68bc79}.bg-ccc{background-color:#ccc}.bg-999{background-color:#999}.bg-ee3423{background-color:#ee3423}.bg-ffd83f{background-color:#ffd83f}.bg-fddf32{background-color:#fddf32}.bg-ffb03f{background-color:#ffb03f}.bg-ff6f02{background-color:#ff6f02}.bg-ff7919{background-color:#ff7919}.bg-ff9000{background-color:#ff9000}.bg-00d8a0{background-color:#00d8a0}.bg-9d0002{background-color:#9d0002}.bg-f5e5e5{background-color:#f5e5e5}.bg-d43232{background-color:#d43232}.bg-138ce1{background-color:#138ce1}.bg-e7f3fc{background-color:#e7f3fc}.bg-000-op50{background-color:rgba(0,0,0,.5)}.bg-000-op80{background-color:rgba(0,0,0,.8)}.fn-clear:after,.fn-clear:before{content:"";display:table}.fn-clear:after{clear:both}.fn-clear{zoom:1}.fn-fl{float:left}.fn-fr{float:right}.fn-flex{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row;-webkit-box-align:stretch;align-items:stretch}.fn-flex-center{-webkit-box-align:center;align-items:center}.fn-flex-item{display:block;-webkit-box-flex:1;flex:1}.fn-flex-item[flexsize="2"]{-webkit-box-flex:2;flex:2}.fn-flex-item[flexsize="3"]{-webkit-box-flex:3;flex:3}.fn-flex-item[flexsize="4"]{-webkit-box-flex:4;flex:4}.fn-flex-item[flexsize="5"]{-webkit-box-flex:5;flex:5}.fn-flex-item[flexsize="6"]{-webkit-box-flex:6;flex:6}.fn-flex-item[flexsize="7"]{-webkit-box-flex:7;flex:7}.fn-flex-item[flexsize="8"]{-webkit-box-flex:8;flex:8}.fn-flex-item[flexsize="9"]{-webkit-box-flex:9;flex:9}.fn-flex-itemfixed{-webkit-box-flex:0;flex:0 0 auto}.fn-flex-between{-webkit-box-pack:justify;justify-content:space-between}.fn-flex-content-center{-webkit-box-pack:center;justify-content:center}.fn-flex-wrap{flex-wrap:wrap}.block{display:block}.inline-block{display:inline-block}.fn-hide{display:none}.overflowhidden{overflow:hidden}.scroll-x{overflow-x:auto}.scroll-y{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.top-0{top:0}.left-0{left:0}.bottom-0{bottom:0}.right-0{right:0}.z-index-0{z-index:0}.z-index-1{z-index:1}.z-index-2{z-index:2}.z-index-3{z-index:3}.z-index-4{z-index:4}.box-center-middle{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.box-middle{top:50%;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.box-center{left:50%;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}.box-shadow{box-shadow:0 0 1.333vw rgba(0,0,0,.15)}.wp80{width:80%;box-sizing:border-box}.wp100{width:100%;box-sizing:border-box}.img-cover{background-repeat:no-repeat;background-position:center center;background-size:100% auto}.fiximg{max-width:100%}.wp10{width:10%;box-sizing:border-box!important}.wp20{width:20%;box-sizing:border-box!important}.wp25{width:25%;box-sizing:border-box!important}.wp33{width:33%;box-sizing:border-box!important}.wp30{width:30%;box-sizing:border-box!important}.wp40{width:40%;box-sizing:border-box!important}.wp50{width:50%;box-sizing:border-box!important}.wp60{width:60%!important;box-sizing:border-box!important}.wp65{width:65%!important;box-sizing:border-box!important}.wp70{width:70%!important;box-sizing:border-box!important}.wp80{width:80%!important;box-sizing:border-box!important}.wp90{width:90%;box-sizing:border-box!important}.wp100{width:100%;box-sizing:border-box!important}.wp110{width:110%;box-sizing:border-box!important}.icon-jiazai{display:inline-block;-webkit-animation:rotate linear 1.2s infinite;animation:rotate linear 1.2s infinite}@-webkit-keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.opacity-70{opacity:.7}.line-height-0{line-height:0}.line-height-15{line-height:1.5}.line-height-17{line-height:1.7}.line-height-20{line-height:2}.container{min-height:calc(100vh - 14.667vw)}.text-nowrap{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-underline{text-decoration:underline}.text-through{text-decoration:line-through}.text-middle{vertical-align:middle}.text-lighter{font-weight:400}.text-bold{font-weight:600}.text-break{word-break:break-all;word-wrap:break-word}.space-nowrap{white-space:nowrap}.space-normal{white-space:normal}.text-light{font-weight:lighter}.text-normal{font-weight:400}.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.line-height-13{line-height:1.3}.line-height-15{line-height:1.5}.line-height-17{line-height:1.7}.font-18{font-size:2.4vw}.font-20{font-size:2.667vw}.font-22{font-size:2.933vw}.font-24{font-size:3.2vw}.font-26{font-size:3.467vw}.font-28{font-size:3.733vw}.font-30{font-size:4vw}.font-32{font-size:4.267vw}.font-34{font-size:4.533vw}.font-36{font-size:4.8vw}.font-38{font-size:5.067vw}.font-40{font-size:5.333vw}.font-42{font-size:5.6vw}.font-44{font-size:5.867vw}.font-46{font-size:6.133vw}.font-48{font-size:6.4vw}.font-50{font-size:6.667vw}.font-62{font-size:8.267vw}.font-70{font-size:9.333vw}.font-80{font-size:10.667vw}.font-90{font-size:12vw}.img-30x21{width:4vw;height:2.8vw;box-sizing:border-box}.img-24x24{width:3.2vw;height:3.2vw;box-sizing:border-box}.img-30x30{width:4vw;height:4vw;box-sizing:border-box}.img-42x42{width:5.6vw;height:5.6vw;box-sizing:border-box}.img-45x45{width:6vw;height:6vw;box-sizing:border-box}.img-50x50{width:6.667vw;height:6.667vw;box-sizing:border-box}.img-52x52{width:6.667vw;height:6.667vw;box-sizing:border-box}.img-75x75{width:10vw;height:10vw;box-sizing:border-box}.img-120x120{width:16vw;height:16vw;box-sizing:border-box}.img-130x130{width:17.333vw;height:17.333vw;box-sizing:border-box}.img-140x140{width:18.667vw;height:18.667vw;box-sizing:border-box}.img-160x160{width:21.333vw;height:21.333vw;box-sizing:border-box}.img-175x175{width:23.333vw;height:23.333vw;box-sizing:border-box}.img-170x170{width:22.667vw;height:22.667vw;box-sizing:border-box}.img-180x180{width:24vw;height:24vw;box-sizing:border-box}.img-220x220{width:29.333vw;height:29.333vw;box-sizing:border-box}.img-315x166{width:42vw;height:22.133vw;box-sizing:border-box}.img-315x264{width:42vw;height:35.2vw;box-sizing:border-box}.img-315x430{width:42vw;height:57.333vw;box-sizing:border-box}.img-710x288{width:94.667vw;height:38.4vw;box-sizing:border-box}.img-630x280{width:84vw;height:37.333vw;box-sizing:border-box}.img-750x380{width:100%;height:50.667vw;box-sizing:border-box}.img-750x450{width:100%;height:60vw;box-sizing:border-box}.img-750x560{width:100%;height:74.667vw;box-sizing:border-box}.img-750x750{width:100%;height:100vw;box-sizing:border-box}.img-750x820{width:100%;height:109.333vw;box-sizing:border-box}@font-face{font-family:iconfont;src:url(//at.alicdn.com/t/font_1778318_ux2utnaduln.eot?t=1587889255235);src:url(//at.alicdn.com/t/font_1778318_ux2utnaduln.eot?t=1587889255235#iefix) format("embedded-opentype"),url("data:application/x-font-woff2;charset=utf-8;base64,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") format("woff2"),url(//at.alicdn.com/t/font_1778318_ux2utnaduln.woff?t=1587889255235) format("woff"),url(//at.alicdn.com/t/font_1778318_ux2utnaduln.ttf?t=1587889255235) format("truetype"),url(//at.alicdn.com/t/font_1778318_ux2utnaduln.svg?t=1587889255235#iconfont) format("svg")}.iconfont{font-family:iconfont!important;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-checked:before{content:"\e61c"}.icon-shuoming:before{content:"\e632"}.icon-guize:before{content:"\e633"}.icon-chenggong:before{content:"\e742"}.icon-wode:before{content:"\e67a"}.icon-home:before{content:"\e601"}.icon-shouye1:before{content:"\e6c9"}.icon-dagou:before{content:"\e603"}.icon-dianpuren:before{content:"\e662"}.icon-camera-b:before{content:"\e619"}.icon-xihuan:before{content:"\e76a"}.icon-youjiantou:before{content:"\e663"}.icon-_remen:before{content:"\e600"}.icon-huiyuan1:before{content:"\e641"}.icon-shoucang:before{content:"\e7a9"}.icon-shijian:before{content:"\e62e"}.icon-jiazai:before{content:"\eb7b"}.icon-My:before{content:"\e615"}.icon-guanbi3:before{content:"\e613"}.icon-xiangji:before{content:"\e616"}.icon-kefu:before{content:"\e610"}.icon-xiazai:before{content:"\e675"}.icon-youhui:before{content:"\e60c"}.icon-rms:before{content:"\e754"}.icon-dizhi:before{content:"\e646"}.icon-dianpu1:before{content:"\e739"}.icon-xiala1:before{content:"\e608"}.icon-shang:before{content:"\e62b"}.icon-fenlei:before{content:"\e609"}.icon-tianjia:before{content:"\e61f"}.icon-fenxiang:before{content:"\e691"}.icon-dingwei:before{content:"\e695"}.icon-bianji:before{content:"\e61e"}.icon-fenxiang1:before{content:"\e621"}.icon-weixin1:before{content:"\e604"}.icon-choice2:before{content:"\e6fe"}.icon-shouye:before{content:"\e62f"}.icon-tel:before{content:"\e63b"}.icon-quanbu:before{content:"\e61b"}.icon-loudou:before{content:"\e690"}.icon-fabu:before{content:"\e60d"}.icon-wenhao:before{content:"\ed36"}.icon-xiugai:before{content:"\e63f"}.icon-huati:before{content:"\e8b1"}.icon-huati1:before{content:"\e8c4"}.icon-xuanze1:before{content:"\e617"}.icon-xiaochengxugengduo_:before{content:"\e72d"}.icon-guangbo:before{content:"\e656"}.icon-pingjia1:before{content:"\e63a"}.icon-shop:before{content:"\e63c"}.icon-xihuan1:before{content:"\e623"}.icon-shoucang1:before{content:"\e624"}.icon-fanhui:before{content:"\eb7c"}.icon-gengduo:before{content:"\eb7d"}.icon-icon-test:before{content:"\e626"}.icon-icon-test1:before{content:"\e627"}.icon-icon-test2:before{content:"\e628"}.icon-icon-test3:before{content:"\e629"}.icon-icon-test4:before{content:"\e62a"}.icon-icon-test5:before{content:"\e62c"}.icon-icon-test6:before{content:"\e62d"}.icon-icon-test7:before{content:"\e630"}.icon-search:before{content:"\e60b"}.icon-lajitong:before{content:"\e622"}.icon-guanbi:before{content:"\e61a"}.icon-quo-right:before{content:"\e63d"}.icon-quo-left:before{content:"\e640"}.icon-bofang:before{content:"\e653"}.icon-time:before{content:"\e661"}.icon-tianjia1:before{content:"\e635"}.icon-gantanhao:before{content:"\e685"}.icon-dianpu:before{content:"\e655"}.icon-qianbao:before{content:"\e61d"}.icon-dingwei1:before{content:"\e66f"}.icon-weixin:before{content:"\e654"}.icon-book1:before{content:"\e631"}.icon-bj:before{content:"\e625"}.icon-linedesign:before{content:"\e66e"}.icon-guanbi1:before{content:"\e612"}.icon-dizhi1:before{content:"\e63e"}.icon-xiala:before{content:"\e87e"}.icon-zanxiao:before{content:"\e885"}.icon-guanbi2:before{content:"\e620"}.icon-dian:before{content:"\e679"}@-webkit-keyframes mDialogFadeIn{from{opacity:0}to{opacity:1}}@keyframes mDialogFadeIn{from{opacity:0}to{opacity:1}}.mDialogFadeIn{-webkit-animation-name:mDialogFadeIn;animation-name:mDialogFadeIn}@-webkit-keyframes mDialogFadeOut{from{opacity:1}to{opacity:0}}@keyframes mDialogFadeOut{from{opacity:1}to{opacity:0}}.mDialogFadeOut{-webkit-animation-name:mDialogFadeOut;animation-name:mDialogFadeOut}@-webkit-keyframes mDialogZoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes mDialogZoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.mDialogZoomIn{-webkit-animation-name:mDialogZoomIn;animation-name:mDialogZoomIn}@-webkit-keyframes mDialogZoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes mDialogZoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.mDialogZoomOut{-webkit-animation-name:mDialogZoomOut;animation-name:mDialogZoomOut}@-webkit-keyframes mDialogBigIn{0%{opacity:0;-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2)}100%{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1)}}@keyframes mDialogBigIn{0%{opacity:0;-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2)}100%{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1)}}.mDialogBigIn{-webkit-animation-name:mDialogBigIn;animation-name:mDialogBigIn}@-webkit-keyframes mDialogBigOut{0%{opacity:1}100%{opacity:0;-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2)}}@keyframes mDialogBigOut{0%{opacity:1}100%{opacity:0;-webkit-transform:scale(1.2,1.2);transform:scale(1.2,1.2)}}.mDialogBigOut{-webkit-animation-name:mDialogBigOut;animation-name:mDialogBigOut}.mDialog-layer-container{visibility:hidden;position:fixed;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;box-sizing:border-box}.mDialog-layer-container *{box-sizing:border-box}.mDialog-layer-container.mDialog-layer-container-full>.mDialog-layer-title{border-radius:0}.mDialog-layer-container.mDialog-layer-container-full>.mDialog-layer-main{border-radius:0}.mDialog-layer-container.mDialog-layer-container-full>.mDialog-layer-btns{border-radius:0}.mDialog-layer-title{border-radius:2.6667vw 2.6667vw 0 0;background:#f5f5f5;clear:both;border-bottom:1px solid #d5d5d5;padding:2.6667vw;overflow:hidden;font-size:4.8vw}.mDialog-layer-main{word-break:break-all;word-wrap:break-word;overflow:hidden;font-size:4.2667vw}.mDialog-layer-main:after{content:"";display:table;clear:both}.mDialog-layer-main.mDialog-layer-main-full>div{height:100%;overflow:hidden}.mDialog-layer-main>div{position:relative}.mDialog-layer-btns{clear:both;border-top:1px solid #e8e8e8;background:#fff;border-radius:0 0 2.6667vw 2.6667vw;display:-webkit-box;display:flex}.mDialog-layer-btns>.mDialog-btn{-webkit-box-flex:1;flex:1;display:block;text-align:center;position:relative;color:#007aff;font-size:4.8vw;padding:2.6667vw 0}.mDialog-layer-btns>.mDialog-btn:after{content:"";position:absolute;left:0;top:0;width:1px;height:100%;border-left:1px solid #d5d5d5;color:#d5d5d5}.mDialog-layer-btns>.mDialog-btn:active{background-color:rgba(0,0,0,.05)}.mDialog-layer-btns>.mDialog-btn:first-child:after{border-left:0}.mDialog-close{position:absolute;width:8.667vw;height:8.667vw;overflow:hidden;right:0;top:0;margin-top:-4.3333vw;margin-right:-4.3333vw;border-radius:100%;background-color:#000}.mDialog-close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg);content:'';position:absolute;top:50%;left:1.3333vw;right:1.3333vw;background:#fff;height:.8vw;margin-top:-.4vw;border-radius:1.0667vw}.mDialog-close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);content:'';position:absolute;top:50%;left:1.3333vw;right:1.3333vw;background:#fff;height:.8vw;margin-top:-.4vw;border-radius:1.0667vw}.mDialog-shade{position:fixed;left:0;top:0;right:0;bottom:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.mDialog-shade.in{-webkit-animation-name:mDialogFadeIn;animation-name:mDialogFadeIn}.mDialog-shade.out{-webkit-animation-name:mDialogFadeOut;animation-name:mDialogFadeOut}.mDialog-default-section{background:#fff;font-size:4.2667vw;padding:2.6667vw}.mDialog-msg-section{background-color:rgba(0,0,0,.9);border-radius:2.6667vw;padding:4vw;color:#fff}@-webkit-keyframes line-spin-fade-loader{50%{opacity:.3}100%{opacity:1}}@keyframes line-spin-fade-loader{50%{opacity:.3}100%{opacity:1}}.mDialog-loading-section{background-color:rgba(0,0,0,.7);border-radius:2vw;padding:4vw 8vw;overflow:hidden}.mDialog-loading-section .loading-txt{font-size:4.2667vw;color:#fff;text-align:center;margin-top:2.6667vw;white-space:nowrap}.mDialog-loading-section .loading-icon{position:relative;width:16.533vw;height:16.533vw;margin:0 auto}.mDialog-loading-section .loading-icon>div{background-color:#fff;border-radius:.5333vw;-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute;width:1.0667vw;height:4.8vw;margin-left:-.5333vw}.mDialog-loading-section .loading-icon>div:nth-child(1){top:11.733vw;left:50%;-webkit-animation:line-spin-fade-loader 1.2s .12s infinite ease-in-out;animation:line-spin-fade-loader 1.2s .12s infinite ease-in-out}.mDialog-loading-section .loading-icon>div:nth-child(2){top:10.7173vw;left:10.7173vw;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation:line-spin-fade-loader 1.2s .24s infinite ease-in-out;animation:line-spin-fade-loader 1.2s .24s infinite ease-in-out}.mDialog-loading-section .loading-icon>div:nth-child(3){top:8.533vw;left:11.733vw;-webkit-transform-origin:top center;transform-origin:top center;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-animation:line-spin-fade-loader 1.2s .36s infinite ease-in-out;animation:line-spin-fade-loader 1.2s .36s infinite ease-in-out}.mDialog-loading-section .loading-icon>div:nth-child(4){top:5.816vw;left:11.733vw;-webkit-transform:rotate(-135deg);transform:rotate(-135deg);-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation:line-spin-fade-loader 1.2s .48s infinite ease-in-out;animation:line-spin-fade-loader 1.2s .48s infinite ease-in-out}.mDialog-loading-section .loading-icon>div:nth-child(5){top:0;left:50%;-webkit-animation:line-spin-fade-loader 1.2s .6s infinite ease-in-out;animation:line-spin-fade-loader 1.2s .6s infinite ease-in-out}.mDialog-loading-section .loading-icon>div:nth-child(6){top:5.816vw;left:5.816vw;-webkit-transform-origin:top center;transform-origin:top center;-webkit-transform:rotate(135deg);transform:rotate(135deg);-webkit-animation:line-spin-fade-loader 1.2s .72s infinite ease-in-out;animation:line-spin-fade-loader 1.2s .72s infinite ease-in-out}.mDialog-loading-section .loading-icon>div:nth-child(7){top:8.2667vw;left:4.8vw;margin-left:-.5333vw;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation:line-spin-fade-loader 1.2s .84s infinite ease-in-out;animation:line-spin-fade-loader 1.2s .84s infinite ease-in-out}.mDialog-loading-section .loading-icon>div:nth-child(8){top:10.7173vw;left:5.816vw;margin-left:-.5333vw;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation:line-spin-fade-loader 1.2s .96s infinite ease-in-out;animation:line-spin-fade-loader 1.2s .96s infinite ease-in-out}.mDialog-loading-section.loading-notext{padding:8vw}.mDialog-confirm-section{background:#fff;padding:5.333vw 4vw;border-radius:2.6667vw 2.6667vw 0 0}.gohome{position:fixed;bottom:15.333vw;right:4vw;width:13.333vw;height:13.333vw;text-align:center;line-height:13.333vw;z-index:1000}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}.clearfix:after{content:"";display:table;clear:both}input:focus,select:focus,textarea:focus{outline:0}em{font-style:normal}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}a{text-decoration:none;color:#333}body,button,select,textarea{font-family:'\5FAE\8F6F\96C5\9ED1',Tahoma,Arial,Helvetica,sans-serif}html{width:100%;background-color:#fff}.mt80{margin-top:10.667vw}.pt80{padding-top:10.667vw}.btn-primary{border-radius:13.333vw;color:#fff;background-image:-webkit-gradient(linear,left bottom,left top,from(#04f8a1),to(#02fccd));background-image:linear-gradient(to top,#04f8a1,#02fccd);font-size:4.8vw}.btn-line-primary{border-radius:13.333vw;font-size:4.8vw;color:#02fccc;border:#02fccc solid 1px}.btn-pink{text-align:center;color:#fff;font-size:5.333vw;background-color:#ff128d}.font-60{font-size:8vw}.color-blue{color:#696cc6}.color-lightblue{color:#08daff}.color-lightforblue{text-shadow:.2rem 0 1rem #2d09b3,-.2rem 0 1rem #2d09b3,0 .2rem 1rem #2d09b3,0 -.2rem 1rem #2d09b3}html{background-color:#fff}img{max-width:100%}.index{width:100vw;min-height:100vh}.index .inp-reg{border:none}.index input[disabled]{background-color:#fff}.index .j-swiper{height:5.333vw;line-height:5.333vw;overflow:hidden}.index .time-pin{display:inline-block;min-width:6vw;margin:0 .667vw 0 2vw;padding:.667vw;box-sizing:border-box;vertical-align:middle;text-align:center}.index .viewlive{display:block;width:14.933vw;height:9.6vw;background-color:rgba(0,0,0,.8)}.index .icon-mine{bottom:24vw;right:1.333vw;width:16vw;height:16vw}.poster{width:100vw;height:100vh}.poster .p-swiper{width:100vw;height:100vh;overflow:hidden}.poster .swiper-container{position:absolute;width:100%;height:100vh}.poster .swiper-container .swiper-slide{width:100%;height:100vh;background-size:contain;background-position:center;overflow-y:auto}.poster .swiper-pagination-fraction{position:fixed;top:6.667vw;bottom:auto;left:auto;right:0;width:auto;padding:2vw 4vw;background-color:rgba(0,0,0,.8);font-size:30;color:#fff}.msg{position:fixed;left:0;top:0;width:100%;height:100%;z-index:1000}.msg .msgBgPoster{position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.95)}.msg .msgBg{position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.8)}.msg .msgMain{position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:9999}.msg .msgMain i.posterClose{position:absolute;top:-9.333vw;right:1.333vw;width:6.667vw;height:6.667vw;border-radius:100%;border:.4vw solid #fff}.msg .msgMain i.posterClose::after,.msg .msgMain i.posterClose::before{position:absolute;left:50%;top:50%;content:'';width:3.333vw;height:.267vw;background-color:#fff}.msg .msgMain i.posterClose::before{-webkit-transform:translate(-50%,-50%) rotate(-45deg);transform:translate(-50%,-50%) rotate(-45deg)}.msg .msgMain i.posterClose::after{-webkit-transform:translate(-50%,-50%) rotate(45deg);transform:translate(-50%,-50%) rotate(45deg)}.msg .msgMain i.posterClose span{display:block;position:absolute;top:6.4vw;left:2.933vw;height:2.667vw;border-left:.4vw solid #fff}.msg .msgMain i.close{position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:-8.267vw;width:6.667vw;height:6.667vw;border-radius:100%;border:.4vw solid #fff}.msg .msgMain i.close::after,.msg .msgMain i.close::before{position:absolute;left:50%;top:50%;content:'';width:3.333vw;height:.267vw;background-color:#fff}.msg .msgMain i.close::before{-webkit-transform:translate(-50%,-50%) rotate(-45deg);transform:translate(-50%,-50%) rotate(-45deg)}.msg .msgMain i.close::after{-webkit-transform:translate(-50%,-50%) rotate(45deg);transform:translate(-50%,-50%) rotate(45deg)}.msg .msgMain .msgPoster{width:80vw}.msg .msgMain .postercon{max-height:120vw;overflow-y:auto}.msg .msgMain .content{width:80vw;background-color:#fff;border-radius:1.333vw;padding:5.333vw}.msg .msgMain .content .word h2{font-size:4.8vw;padding-bottom:2vw}.msg .msgMain .content .word .desc{max-height:65vh;overflow-y:auto}.msg .msgMain .content .word p{margin:0 auto;color:#333;line-height:1.7}.msg .msgMain .content .opt{text-align:center;padding-top:2.667vw}.msg .msgMain .content .opt .btn{width:80%;height:9.333vw;line-height:9.333vw;display:inline-block;background-color:#1fbaa4;color:#fff;border-radius:133.333vw;font-size:3.733vw}.msg.msg-qrcode .content{width:62.667vw;background-size:100% auto;background-position:bottom center;background-repeat:no-repeat}.msg.msg-qrcode .content .time em{color:#0074f6}.msg.msg-qrcode .content .time span{margin-left:.667vw;text-decoration:underline}.msg.msg-qrcode .content .qrcode{padding-bottom:12vw;margin:8vw auto 0;width:33.333vw}.msg.msg-qrcode .content .qrcode span{display:block;background-color:#58bafe;border-radius:1.333vw;height:6.933vw;line-height:6.933vw}.msg.msg-tips .msgMain{width:77.333vw;min-height:54.667vw;border-radius:1.333vw;background-size:100% auto;background-repeat:no-repeat;background-position:bottom center}.msg.msg-tips .hd{height:11.733vw;line-height:11.733vw;background-color:#fafafa;border-top-left-radius:1.333vw;border-top-right-radius:1.333vw}.msg.msg-tips .bd{max-height:80vw;overflow:auto;line-height:1.7}.swiper-container{position:absolute;width:100%;height:100%}.swiper-container .swiper-slide{width:100%;height:100%;background-size:contain;background-position:center} \ No newline at end of file diff --git a/www/home/img/h5/syt/follow-bg.png b/www/home/img/h5/syt/follow-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..bbb9f71eb8a56c6aeedadcaed1e8494f86dd4193 GIT binary patch literal 1556 zcmeAS@N?(olHy`uVBq!ia0vp^Z9we7!3HFaXZMBzDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMXkw~hZmDNz zW^7_h+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+85C-k3L4>= zc`5nj#hPF}zP?tTdBr7(dC94sF1AWQQ}i-3Q>dqz|q3U z$koNf*}~G;0H)U^Ke;qFHLnDwHwB^B6{lWMa>y+J+U$~Alv$RV;#QQOs{r=4RVHq? zIN>x8sy79*$v0US-C}l#vg$jE>|xbE zAQ0msejzl%aK#n16Cx@B+SPpbXTGd?FLSh2`}y}~_H?m4Ik|h4=fBVWJnzik=gUGS zsx5I3THU-%mAn4-646Ws?*(E!@tW6`#=U8fGG7wj!W49{qLX(5*RkZBh7bdWNe6$l z@Fr-shMqKD!w_w_ZHX+1`sY=BNu|s|hUa|v%Y`NK-UlYT&bMA#en~f{G3d)rjW06( z8(57#?^O-y)myVL>Bygn`#c{NDe`SrNyWL>C|Mf7zGJZh1Dn>Gq{%CE}-7 zNEj}^)M(O{%5wNqq|`L44ZY8dpZP?U{X8bOAW7th;IAILHH&|4nc}P*b<9r7?aap0 z=3h5#o|9m*LDzQbt&I~BZn%BvKF#lve#65c=?}Nr{>^*XrDs>~ob`xVOsGdBR7XX^ z!9b5!{W^!6(7D}0J#4?0K9BG)c=KP^YF?rM&*3ePU2kn|o1RgSDw^CEAi&ct|2N{G zSyN(t*)$pcqa1CCrwUsdo?Slhkx|QSQlyikfe!zY>k+O7I{!G+IahPI^~g6K5V4p+u?qr9qpnC%?Izko4~_XzWZ?NYM}-vgB`bJr5@y! zTbN7KiI@ogSfD6T$MVH}`h3YmKZ`5P4}Yreo&GJhPH(GBUD5*2pXvt~4)EH~eXD7p Q0xG9HUHx3vIVCg!05~KwKL7v# literal 0 HcmV?d00001 diff --git a/www/home/img/h5/syt/icon-1.png b/www/home/img/h5/syt/icon-1.png new file mode 100644 index 0000000000000000000000000000000000000000..343e18a387abbfb475fb62bc5e75219bb0055d46 GIT binary patch literal 1285 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1|*NXY)uAnN?apKg7ec#$`gxH85~pclTsBt za}(23gHjVyDhp4h+AuIMt7V2nltlRYSS9D@>Lr5I=vCwv0Ch7k*w|MTBqnF4mMA2p zrf25aD!t#mUr8Y|#a1cY)Yrhbz&SM|)1#^=HMq(zB)KX(*)m1R-cG@$!U||WZfZ%Q zLPc&)Ua?h$trFN=DzM-+Mp_!G5ft8Vw0u(3#Z7WJivkG!?gW3h;*(zm}loVL$>z9|8 z>y;bpKhp88yV>WRp=I1=9MH?=;jqG!%T2VElw`VEGWs$&r<-In3$Ab zT4JjNbScCOxdm`z^NOLt1Pn0!io^naLp=kKmtYEgeeo;J&4sHjE(uCSxEHIz#UYgi zsro^w#rdU0$-sz9QwCX8VC7ttnpl!w6q28x0}I7~jQo=P;*9(P1!reas97p#glFcZ z~)xwhAf*-_xY#~h*kNi5ugAv!Jr+H1FL`pBB|X3Y^Nj)UR?-UqK8QVX>btYMV4 z-Z&xR#*z&JmpB%&T&&U1cwL{scc}1S^j%?Y@w%ON?ip=1-+r@uAI*OBh4yOw}sx8>zqW9Kf zx9AkZH&NEpw>9uusGfXfc>axAau0t~zhT^|iO!t0701oiX-@6kB`j%kE0J$^1kYFg zmp=q;=N~jVRi&rB%06%BvJI_2CCaZK5^ZWtuKVS)@9*ND{z6;idKQ0QttykJzr)$~ zO8oVI;kNbHI;WLz-rudV^I(?C|CL;`)~wiS|IugH-OejNJj$5bBYfAqu2wPXv}ulV z|1a!k@L+5fEhYNdC+Et%NUJ#AYV5!Meox-I x%{Qj^u(5`$y|4DMOX&WeYw?SY++NPW%n)(s-o*2pclCk_CQnyCmvv4FO#tti&7J@N literal 0 HcmV?d00001 diff --git a/www/home/img/h5/syt/icon-2.png b/www/home/img/h5/syt/icon-2.png new file mode 100644 index 0000000000000000000000000000000000000000..7a06288526a4bb37769a103f58fab7b546188b99 GIT binary patch literal 1943 zcmaJ?dr%X19$$nab|fl=R;qNCK&?(C*@Q%sHNl2#kSKu|UP0PBLb5;t$%bSJ5fBC} ztu5fAqT%5K3QDVp4}^nSK<+3n4Tzv~avaLhGKXTsgWwCwZLDbjDBYRe-(xO(RihXOMY~vg$ybc zTyi8+1c|hKG(j1drb9#1g2Uu#iE_4rywwln7-2#{jp8!Us7})8VI!CPQWqxnwreUG zdLC-+bc#4wf&{#ZMVz?g1RU4GRBCE!DkasIg6ZO^G&Y+}h3Hf|-G@N<=yz*ynbAk1 z_gYXuP`zBI)Z$7^1KJd2u~-VuB@>zcR)SjlT2`Zf)h420RHIBwrBNVTNee)c=+B{Q z^=q^qm!NO*{X=1W*lsOKm7sboMJFc)7w2UQrG@!AREA@^Fbqpt=%P3Q!!dmVrUm(Y zTi4j&`beclfu-sPuu!ANWg0muM7U%^g`!j{UG0%SH2GGZs@m3+L-r`L;piY9m zy=J{1W1m~4`EXR6YCdPaO{KSRpA7x$^1Z!HyhZJ80j( zJhz6_HFI4ul{fT5Gx%3^c>0B&6jJUz@ds1eCLC8UQL$PaEZOfI3vtZ5YTD{nzAolq z2`2858YI8$AG&J|Nho9XUe5B~HUsS&nf2*hlDOKluPjnk&;ntp5oC~^!4l}2aXn*&ojfdx{5$t4r!EO*J!dq=KEJvCYCfaMv z-uJzZf3qvGn`x@+*&)=PnT#J`^>=xmJN<;8B!VZ6FKS(w7R%2ENzcwga9= zG??^kpaEX~W#x&V9E;QKJZ|pUQT-8Ts;b?2;OW`Jd^Z&b@Xj4M*gF>0^c{cKr*m*& z_mYG=oOiF!8LB*;`VV!MH-AL34GS>gKJuAySE-^q}#sTcohU`fx`>>15_(Cf8oc=YyHhnM>7> zPyc@Qq_bWA<;D|k1|%Oc%$NbBBuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFso&TM3hAM`dB6B=jtVb)aX^@765fKFxc2v6eK2Rr0UTq__OB&@Hb09I0xZL0)vRD^GUf^&XRs)DJWnQpS7iK&9QrJkXg zv5BRnj)IYap@qJIg}$M&uA!NgiGh`okpdJb0c|TvNwW%aaf8|g1^l#~=$>Fbx5 zm+O@q>*W`v>l<2HTIw4Z=^Gj80#)c1SLT%@R_NvxE5l51Ni9w;$}A|!%+FH*nV6WA zUs__T1av9H3%LbwWAlok!2}F2{ffi_eM3D1ke6TzeSPsO&CP|YE-nd5MYtEM!Nnn! z1*!T$sm1xFMajU3OH&3}Rbb^@l$uzQUlfv`p92fUfQ-b@F*0yAcQQ0|b#gSdbaFK| zGcNf@3$2Z*LE#Mc5iD^B&7uwpX?QKH*Z=xbo!8!b8~d)86)aa8^!wOOAGFhrmXr|o znV$S$*=M~AljkVTf8_YBp?&j3UZKNDB0St2pEQna$OzZFx#`g{#f~Bq3(jAm*RP$J zU7_SvtD5XO_loWTR=>uJ;?qN?vT&KcYjsrb_$(s&Lg9DEirS9Y3Z~~%QjS{n8eF_> zl@zh1u{GYsq(OFrH?zHG*F_^Y@v~QSb}$D^#U0gJbur<|kaI1+hPpOz=#puMvoe=21?Sn!3qSUNib_vcKbLh*2~7YAi~#ij literal 0 HcmV?d00001 diff --git a/www/home/img/h5/syt/icon-4.png b/www/home/img/h5/syt/icon-4.png new file mode 100644 index 0000000000000000000000000000000000000000..873a0acdabe96937f6e45a1686bb101439cbecf0 GIT binary patch literal 1566 zcmaJ>dr;GM9FGOvn-q+G!&h}+J#2@)YqYyxe$^Fj3{ zoJ^g2SYWswB2*7w3^p8dzP1UdC!5YGI>bGEZGh(~;Gwb>vJhF zq$UOigarTq5U5L1rweP8@AaQ7d~XA8x3GlrnoNET87z~D1%#M$T6vR0Y~>v0XfiYTyb=;JeOUs{j>%fNkv0hpgB>OoMkG>SNuxl${{NvgJ%;A^bn>5k|5KPV zI$07b zy<9Io@QokUF&z5>zAf@P|dhpSV#u;4fkKe z9=#GA>)0BpM=in95N$1&$!JcQm$NTqkolgdyzlhw{TJ>#WTi2taSDs!ke=<~f zL=g`!5r-yyYF}nRYtNRH;8&XG->a(XUle_z$rGf(Dey)hj)pZ4d^Fb;6zlh0 zMM&_z=zCi!d~s2R%CLpPL(9v+(+!@x2ctLl{n+4HHT%oUoig*>TjZ>+Z7vUTwC6oA z&0MPZt3Srk_CnKfJfQ8Zx&wLeI#1$m`W!yfD_U|j`O>LHg;`M#EMK{{?&;Y)yP{x= zCp7*}fBQRO=c@-L>B!w`^D|M1c;gU&o!Y=&uQ?L)xI81#;K53XUs7u7o9ls_S7$~= zNJ<~xSm2m&Fuc#XY=2GaluA!))y44I$8Wcvm>bfqxmdXj)=f>G@bhUoizf`MG{~l3 zo3*{K=(Mxj&w1~CNtt_QHvQDqv*B3IXRUwMS9-MVwKG2E(2o0_tgJh)(H+*bjND*z zhP!kr>K~~paPe(FMfAPC&U-7U`^Fi4uGd2Z;?5K=w8FS~zkl~eWM$y_uakSJ5Tfzs zG-zk#BzaemqV>X1Il6vD+#YeLqQ!d$d+FF5#N9^Bb_GHk~DUo+oyh`vF> zOI`HQuHPU3HV>Wt=y*P-s889ETKBnPS4&gl`TS#|xZ<6cp^)yxh+B2{!_U?2E_=SD i=~4I>kta4yoCc&Q3s&siRT}R5W9u}j>ca_ZTz><=Lsvxr literal 0 HcmV?d00001 diff --git a/www/home/img/h5/syt/icon-5.png b/www/home/img/h5/syt/icon-5.png new file mode 100644 index 0000000000000000000000000000000000000000..9442af5c96a2d677ec6606f9b40db778c4de1296 GIT binary patch literal 1984 zcmaJ?dr%X19^Y8F01D+{TSQ9NMR}TR9^@$zViHV%LQ%phcf!F!L<}=$S5`*gLOb2z&;? zvjxzvNo|oQfg;R=f-EYVqNYc&Kn{;eXEURCytN>MM(4sbE=*@q=xlxzjn80!&mV}0 zX3}KxmEySPv51oZ%EECYABOYt@~C-CDrVBcbRLff(-<&=K_L(n^IijvSSSW_@PdLE zHLFcJBd)^?pi>dqiS5A!5RvJxCFqSWWDVx$Z6X>5TM#2mr_!7yEdb^6KZok|FVJRO ziT;-F9}1gQdyOcpM9tV9lbRS@X0S7qkuNf#2#%Rl7?!ip#iT3@$IMxn5fq7>UE_ga zsXBuO%QJ^RkJ=DL6LCazx?}^7&E*IsOcs~L zWOEoS)&f_IsrTqn1HQo3{KjQ1%5~a7ZzLj%QIjqg)x?=FJ@~9_zHaec7>nvX=V}(u zg}EpfCX#`j!~NZ`7p@2gIkzvYOB`O9A2kq;Hxbs}Y(AC@04_9{Sg5iLPo*VDRmk%H zZHyE}Nq5{n>GL+`NUqii-CcPUC?ZXBAouUWp;)2t<)Y(Z%zlZ_rKXzOA%j*%eP4Q!pZh`imG{2$1PYcsCVc|HcJr6s>8@Ph->x$~ zE9&H7K#u$6%IwMY57-a>xspS9*+#Z_+DW$=*Lr;63Hz#}>)S>>x|&I(SmyEVSIfgg zM@VfoQC%wv`L;A$K6!TKrCSO%vp(e0W!|TC<70{j1-p2xIJo5cwT#`qn?Bg-IFZO1 zjkl%5RxYi)9q2ftd~H-|6T~(i_|BT>IIB7`qZ|$&5wq(biyX-%GuvbRz&qVO>Y%yW zRl+CG@zt(fn#VsYPnO&Pb}7R+O{*I8K0Qf4@{jI23r&oD)a!*bh*_7?ReFR z0vBV+l7di8@bMs8%s@v<;j57)2Wrb~?zY#-KivbSzu>HJC!6d)C?@`!NFF{!Lp#~c z7tW7HG!E{Uf&CwE?Os!UrdAU1OLzAB$%lPfzVi1(j0a!Ir5tGaUe~tu^HtlMMssq2 z0y4hjZ$PP=2)PpwRX-=G-;sZ&H95N7Yop84ije)$m2*ov)@Hr!I_~wFn_o*iEw`a{ zx;wCIa8lR)&P8*He%$1yUAl7mW7=$S>-63-RrJ)Cl%;CSp4(GC)6`ng+dt!Xwfjxv z?iFrHDQo^Bd2^F?xjg-B(%j~4e>J-8|0csyK6ry1a)p(`=QM^7Sra-^|K$*FSVtNU z3yP~JPXY7aXdVTJ&e(4SK520M^z=D#^I+siV3*!&>f4)v@!&8wC7|wBapF5$W!H*2 z*cW@hy(uWItBv2(oHQ~VE=<$bs^vU!n>3f$m3P6rr@PWKOR*!eVbrCuK23cvu5D9w?A5x}8SO~-QVQ&*==O!GCxM~b z&w8P9bRhS}>CkP*sx-wB@n!5Fr1+fg!vHDlvKDNs+Sj~0Vzqy++bO(O6}npb@Zx{u zeVmDaJ}vqI&EwU(_ubdM-!e9tYJa$U-2`%ao;0=jMEkpG--pgUNiAwUX_chL1=p1Q za+d;#4{-_wc<%^gzix2IWq!xF=L)EY?*)%tKP66xu3zTTaAYDL8lpNrH)U%7VJ)3> zeZ%8&W4*rV#D)B}5p1JyThZirSjOuT&L?Z6eIh;d)G9vQUR+f^z5G%_LLq*tVnAFY z`}&OM@K@}lOuWX|c$p#Pd&sm2=Z&}CwOgQ|hK!gvTl%9+)|>}0o8O;K@=rSSArPG! uKI;*y>1^86DUD{ryKZwlx%I{T6HpDL3m#4Q^#ivABgj}0aO literal 0 HcmV?d00001 diff --git a/www/home/img/h5/syt/icon-finger.png b/www/home/img/h5/syt/icon-finger.png new file mode 100644 index 0000000000000000000000000000000000000000..9b7e0df7e05f076b9c6104a57b153e002a421c9c GIT binary patch literal 3042 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 DGFUK~ literal 0 HcmV?d00001 diff --git a/www/home/img/h5/syt/icon-live.gif b/www/home/img/h5/syt/icon-live.gif new file mode 100644 index 0000000000000000000000000000000000000000..579b012d43a8cd90493af5c4e6949d59c09aca82 GIT binary patch literal 1383 zcmZ?wbhEHbG+{7dn8?h)@L%pfkoXTI7!?0=`?-b$J39ur8tEA@GeU$Sd;=6*5=#<+ zw2gg5L1J=tYKcNpYI8?t&$^1LIGr_bAC~( zf|;IyZnA-ak%GCUo}rnEiG_uZf{}rdfxdyczM+Axk&%^wnU$%r0u(3#Z7WJivkG!? zgW3h;*(zm}loVL$>z9|8>y;bpKhp88yV>WRp=I1=9MH?=;jqG!%T2V zElw`VEGWs$&r<-In3$AbT4JjNbScCOxdm`z^NRJr-qB0W&(*I;EYLU9GXQxBrqI_H zztY@Xxa#7Ppj3o=u^L<)Qdy9yACy|0Us{x$3RJEPvZ}z!xhOTUB)=#mKR*W+iUAq< zCHch}`2`9_!1z?q@J&q4%mayNg0=YiT6yLbmn7yTr+T{BDgh1A%gju%GIVq`Hg$8c zFf?>AFf?>^a&mPu2l6bO4IEt@%^Xc&dR_99OLJ56N?>|ZfO=glT}+G&U4i;Q`myK* zrH0%Bpv^9+MVV!(DQ-pixe8!kTV>*Qiy3aWK=h_yaSPNR<~a5010ACeid&?(h6w=^ z5Qqs+xj+s)?Wg7e6MPXcWi$T&_xI25Uq63*|MvCE=T9F$ynpxh&Ffb$Up#;I^vUB# z4%#K*@}C@U!{$jiyf zNJ~jdh>MAe2nz`c@bmHVaC32Tu(PqUFf#$m2gRQ(tVRsX3_8G~0$84yFfcG(nbW`W z^jrSLbGF>--h6M5{KLXSFIaDLq#ZmpOMF(?+dcc1_?(yMdcL+c`UuayIm~T7TEebT z&YZ1Av+WbVaLo?N4$}$Som#OsVO2#P>?oOGs>nGrT=HfGhs2JP?vlo3Vbcv}-n`ycw#swYsasZFY_G4q znyJzC!)5j9m)Y!px>sxc$*79akuH(cR=M-%q{QD;&$-fty}YY*=iYsLg7=)WVP909 zo%p76_ul>ElkX2i@~A2UI|Dz10MMhdbL<c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk#8koDQqR!L z*u>ION5ROz&_dt9Lf_C>*U-$$#K6kPNC66zfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAX(!G{Q6U zQu51-HNkp(eXTt6ic1pnl2bihY?Xkf=w)W6Sed&RTbi0Unj2a=n;IIrIyst{o4S}9 zxw#sdI2oF|xWV+gGzh;{9bu~=GL6sd{dOQ zm{PeWA9{Pkp*gLNWp+lP&8obu%L;#MZ!`VOuUdcN3PP=HrwtV=3nPw-h25HP zO!ttUrJ#*sYufgWPI8~GG-uq)UoJ7_=j~F9^q^k}{Cg{pPulTe)??M%^Jj!T7Jv0h zaDLdO71xWneueCK6`rHODU-+$rpcAQ+v;}hs_69_o4gKhy!WxmZEeoW2T95Dfmf6s zPpn?Ixo__yq0bhlf9f`8?Vsn@Kf`Ieh^*WG`~9w4mA58w$8MS|yWr&eL+TzUcP78k zzS@02>sqRPoP+wKV~a&DUOhj<)#KQTiRY*Ih3}62I9o&HYth&64#nIe@z0arZP4gH zwB(uZ>jN7Dr2XffJZIV-{^r5s+1@&8J=@M~{eS&-k(l4Fkk4x6eRGr8zH|IfxX7-v iTL0So-|xR@9$@I&xIoDu_)rK5y8D{KRnvz5)vMZ7$y_U+pOG&mY zG048}Nuff1P;%kk1F48UVl~g*UUJ zSQ!~2U5Eq)%#n>kAb~_j0|0850!bJbPaFm0jB~?#t4n^VYmx-vvFehR%0>_)k`~S# zuNUl#LkAn1xdeNjs7*5C|{?28O}p=@#8!j5E=XqAp2~^gl}=kp7|dCjXTtdcweg7!nw&06ALH--bp; z|Gz1L@Q*c_g2Meb-v5)BY!*bqfl)Xz(a+a~zHzQ+j$DzDTD~|8h3IQWBzpawMN@Yo zg-CWMl0aHoM_EIF&RgQWvBUtf%%2z|Bc#4JnS$|l!Rc$OOVU{s@OUf|p{WalD8b+` zMMY&OROgDSjt)#m8KMY5z~Gvi+A4ozwTUi%1e`bJZ!Gq|Se1Xp9?5|~qI=fH`QrU? zSY2Nt0rcmxk@$a)Md@Gp{=#DaJr?DE#e(U!x zjm7O=+jARtw$IlOmsFW%m)c`p-o+pHyPd}Aad`fGeq5ZYlROWTe4Nrr10HdsqRyTIjjf$JM_quqTI7gi| z6qSJ5yk#Fvv$WkOq^X|x3EQqkVV9v?308xgbmmNb2QFX3vk``v8Jf?whH;#ASHKk> zq=+*i5A@Y>94a=a9pOisWiHuB6|flYOQ6m>>Gp=mX5JB17dMINi3+18gXXy53 z=SoC)Led2#Orc}!OcT%L{kg2z(y6h~QkS_pp~`ovZq_`*q+TmtcYd*$v%NN8)A2WP zu+dXmq`gmm?*_MrpNOXWk9N2=>oTGZF}ljVh!bjd*U}yuRKp zmXvw@tSbp-baQ)^RgUFnLJ|{7Bhfecrjc?DP^^_I&TYSz_0Z4)2@vI7NWFEf;$)Pj zph4P&c@Y@_$Ddjrc_ofqlI_?cAR~C(LKalORc7q@60y)cQ#ll-8U~sV zma&YUx~K=}y_C0a-cj(D;*!cw5uc4N(9RfOuwql8PWe(>-t7HEg~{S>=)ERLKdT4h zQW)LwO2S;*Z$qOpJ(_E^SqfeTG5;Y?yY@U8B?rqbzxMpmmWq@GYhi=P{d{4VBdCB6 z!bYP23@T1$=84E8>bNF@^SsP@gbTV)Emcn@pjn1_#?;PU|1QRkOV+FDxoVY z?r;^LzI%`|9&;9#fM!U&WzaBt<7rLh&~MX@16hmid`9RFtIS>k+{I`EQ%`UN?eVA{ zA5)VYMmxyPFUa-UNE0Tc=1tzVZs5vCRNBKB{h3k*#$KW$tMsNQf-0!4`m!`Rfb9~WT z=3j`{Pj3Gxn1vT0XfN_);Fhu5K{3FstBku*d!@TxVPDL71DH+aHaMzt@I} zZJWa8A6bqfk;oZ|2yQlK%5rC`r23(LwNC~NDW zuLCBR)N5Y8^cf1>9S_iFSMa>;F+s^s=M~%;|L{i3dN~?%d$!)t3-CTxII#-TdPhc7 z#XD1ois-+D^25Wny$-j#Kg=w!r8#e=;u4;?)fS-XZELF&oDw;O3VWPgvYZ|6Xs9GM zbI*uXl^rL^)v-0-X^^5|Z^OTdOL~q}7HU5Zw(+X{p3c+#!BC*o+zs8eHJ50TtRwj# z8=Px1Sp59DtYzYwValjMRJ}8rp+WoI2y=CP{f*(`stFOw!+fj3VsDT53s*ZS&*v#+ zNR5`KUR`QqzMb-z_BZl;HwxlDoYhcc7)o;;+id-MAuq}G%#^UAD>twOmsEs=Ghd2? z=cK{a-Ag|xZPH@o5&7n%%PT3C>pA6whTuNk;^76NepacZ$rAM!6Gh+L1NO61~#YZ;Fz#aSvN#lf2zZIvq6k;KWNSuXd09AG7h|DTLtEp*om()skmq{+hKVnXP0Udrf|z>rC|E($75t~FAo@R)>ryvDDk z4~vgON)Ty>pp!f^?G4w>(`2n!P_gjF(>6cxYO`$IBHP{r==<$nl<7SejIp73CP&68F_K=`j&5n0FhK3$Y!Wn!Aa6d9!a ziYa(%bCR0QPGaB_g-})wkpnO^#KH5|_vN4O-o3lNd~P@N=X{E~yuAEN?z;PydHXC3 z8@g{8<7)5TdLAk+m|Q1+{ygNQf}QHjy$dBmaNjw-Npy@`PiFM`WK)wt+gmYpb#)A6 z{2a$Hw@9vlUmq)aFAU!sfC&D+)b0|m?vFPz>K-RMEq|_qBprHsdUByw-`8U2 zhFLS79mty!%Erxq6ec~_9G@PvbX50R9V$jk8>O2iY>>mhz7rge5d>@Oe~^B{{HRS$ zZXViqsrHp+Ma%dzu{f6#gy3F>J)+Zzssh8bhhVKVyk>JGENE+vQS}g)VxKH%DiHhK z32%Q6S?zn>G(yE|81k~bT&cIlnDl#lm1e@Z^j$CrtIS@OantVR_e2G&vh1>=A`dg6 z%!|vz_tP(hhhYE(aY%PaXD=ZfqHr^oQdm-=z$YQgVE++PdYAzH=3iix0hcqRDf+E^ z!laoJqXFbj&P=Yib$VK=b9wv%0xUl2_F61!QmMeRylYEK?B+u<*{jRsoQPywo}m^E zQSC@L9PS^*vH9T4RciI)*Qc#tM%3JYx*4Cz@$^cS*GT_qsb*s1PuF8Ka@)BJG?A|2 zjeb7u$f3bOzpx+EQ8^LyF7M-Z?CbpfSV=4JDyI_+{=aS}YMQS-JZF$DA|lem!Xenx zL|N|7k1(E`(Fw^iRQfGl>pBpfEi1@(@aWMao(vVDhCqBlz%VQm*u%95ENh*9!R*DV z*)z-=E*!N0cBrp*r^}@kt8c9aWSYtw@^9E4vMs>Oxi(j+&+&%azW6$737~CkM(rj% z4bhpiC@~0NFzw8{{Fw-L7%c|P&flF)eVzeNRUm{Y=qZLWq|6p=Ec1HlSG0V;T3AeM z9}F1n)CAs8i_{O?J+{ZD@$qP4@ovm2ORG@|Y1y^?knfjR8TlNGas3bP6y;h-`uw0a z*VZ$VNtZPicE#Mo!-G?^{>GDwVc)t{7H{32tK^kg?9gAf^Mq8*BSM|C*Law^XbvI8 zb3eY$D*At!u;+bmQEX$*3Zwtr?KxUevX292INobA9@XZT-s82Jp0R5Co2_}^`pqjr zdVs@Q(2pfMHusS3-~-M2%*W3G;1l>YH0yopJunz7?qFeIaej7E&(_xVV`J#v=w$fe z0Rz74qsE@xP79lOdB>L&OLOxIOA8D5ayk8!m=sHLe1ae^+-(Tiy@R=fu^X(2)9IH= zA8@Xp=Nh{aiu_Ve*QgB&^$XA{f32Gce=8X%0%F7pWEZ01+{0%$;rgT;}QtQF*u6WQO>RpX_8+}3=IZxc~WyA0P_!?PJQGsa>rM;-FJT=8xYMcy$ zLdHkOe)q-q2Nh(%2`lwm9T(!q{67<<>BV{2K|b}f!66&S03F(;vD2#syk9Q2x>C1M z>nRy=n+75_9qjzHH%h=LGq#t#`G&zSR>| z{zo~JR7G|5kA1y+Bd^_nRfpG{tUAA87z85p4#h`tknzGS^}7z?b*RY-nuG0;j!O$i z=pH`DypI#hFn+&!cI&Z=h{1~c)2zzDme<3ZuA=@9BFwU)7B}@f`QBu!qYI3Ug6-e{ z7BufBt;F6|;>+%d{m)Ln9z`ppDZ2H9?L#gz@T34g+{F*%=Ut%wxYh4e&3kdtt3Yb~ z`y2?pE@durN-1@ti^aCJJb%_Z$C-iiZgJ=)P2*1dtV`wadO4aQf-meur08Wl+Ak(F zTSNDj&MN|hb}n+awZeqa1VtF0!Cbt>K^Y6*O&%{WUtBi%WfL(N~zxg#2kx3 zdCSFQ(Qj*?SjlDU{xmb`))<#JJ+!hIchHH}9D+lom$i?UmX>s24~j{mO9t>oXw)Jo zbI=YlFxQLkwX+SurJDN;7^#SHU(U#J!4&8|FU-C0(C1a*Yup!s%T)^RxpEsM<^z^{ z4I|iifp?gvJBuCbXPy0cIWb^k4DoHm?THu=W0lU()bh#C zFtO#;9mdoFXC^$9m0MKdxBd50tHd~7I_m_0h$6Qu>SAUHGxZ|nboJ36ER zS2_43V8$8`V_DxEUXJAfCMZp>dyf*IbT~js->%h1Q=SN}`>kR*==TrzO=8t+XgY^I zG#Q!F#$O(<*UdENTcLNOWSSQi7Q7?4a(ar)UyS->tmOed(Hz4M3U4^|D{G%z*-(ZC zz9)_TZi|esE3ulX>l3Yf9w#B+_Tpn$uHD|`vzZNol`)I&Ktl7<%8Cd;Y^x(=XAR%9 zw^7%$G8&LxbD5{)RYXX0OYO&9+z>jPi2+mb1ew3i1*RvwlnZdO!Dn( z%1!xlTJf1U2BvC!+04>1K2c;en11x1eo5{$H#aZt?+P;s9$wGxD;FEYy;{1(Bqfp` zbA^q~>L!1)deMrZTY6&ugm#+T&Ytro-?yOiuW`UGrl~R~cDdcD)sE#}c~#;>z4K?= z#}Le$@U@*s{vwx0=#@pg7wc|7AaemZC^9p#{HJaW1}qUXF9vwS%NI9)ZBDnkHP`JR zyr`}`$+#caZd6%QfDav7hM6Nw<@tSt;aqOO8yMJ_qqYltc>~{ z(*>L0s84Z!xyd=~>8PMG%2y@W@T@z6D_no>&Mt{%Wm(w#YW3-m)Jobn_?Hii`Pn{# z&f>uh_Ty=b>Hpx3PmU)*un-i;aa zo(kpMINip$bF5t-VWGtmYl1yiYQugI8)aWa`1#1A0Q{EGKJ;Uvp*h(1k6(I~viJct zv*uIS2Y@ou1(7%0OF7~`H(Mf)t?!~llu0269syB&Qa%pKJWmP(vcRlF2B5)Kv6;h8 zq-pa58|hyK;ce0A(bm9Dj;jXwvW6m@bLa0pIJ2@X_OvMjYAgLpb3P1&drcKOlm2;C zWy}oV&x9!I!~WO+=Ix`HtEmq6I;`gn*Ii&{b{VT&V`dCPn)w;07A0CjHZ?1`+N?fy z@>NesH08W9^O53T8GKu-btmImv$w?6XsKBZoRAGu#u<}#(=rI(Y&>d*s}aq5%ZOvl zjA=*{{&uQ(8tPsvKIw-FlY+T@wh^NIaO=C&CDnudsah6F6;FfC-8L;^K(}Avo)~*b zT__ix0w?$;CViD);i{|iN<>A;(uivsn&K=t9}Prt2=f zX^;rU0ez?Xtpe(kiGhMXD{ozDDQSQsHD7@RI&z%tejFq_rq{K)Ltad>ltOeUlg z*k+ieYr0f^x&*AE`wCq$RNcYfY&_a^GcLiD^NV$?_(}E`uKH;*zXDi97hTi{GT*pf zuK)`_%~&%=_6YQA-scE2;*mgoVmQI<#0#tPb4ZHLIrC;bxd>v(p^G!*KOpBhF^-&j z8ZNy5;QX|t>CRH@!_vG=z60{jI9XzKB7oLi9t(Xbx1JrZXo?=HJIU{)l8s2^M^=qL zo;~?O-yO{MNbxLh2`0}VI#XtPmo@ZvexoD~bzy9mJj z2Zsh1tV);>No{wcuij;6Etg?6&X~SE;M#h|>B7w+DL%2`<|$Slp-ELX5vC!6pFuoF z&ZNL+Qm;)5U}n^G9BThma`UC@R#KhikBpXvn#)r_!MSY_WiUM4yW zW$f1L-KoXL)Kpr!y{ge%%;_I8WLV38BiFXy52qF9<|!6?cX=$MU}whwS0gt z&`mZlFj6qL)H5_QF|n}FQ7|$vGSD|L*EclKH8Qd?Ftai>R)7K}plwAdX;wilZcw{` zJX@uVl9B=|ef{$Ca=mh6z5JqdeM3u2OML?)eIp}XpbFjM%Dj@q3f;V7Wta&rsl~}f znFS@8`FRQ;6BCp2OG|8(fG&l2A-4c-Y+kV**gJa3`MLTPi3R$GdIlgb!4&%X;#ZoR z3s+rS5|oN?FIIz#Ln;eW^@CE2^Gl18Q-R8rK~@!5ITxiSmgEj`|#S7=pojr5<)X5Xaj~zX7_|U-v`}ghLvwPRh9ox5U-LiSp#trM& ztzENv)yfsimn~hgc+tWI^XJW-Gkey|8PlgtoicgS#0mXjScm6 zwKdgMl@;Y>r6t8hg$4O}xjETcnHlM6sVT`xi3#y>u`$t6krClxp&`LRfdT%0zCPYw zo*wRQt}f0_jt=&Awl>yQmKNq_rY6Qlh6eh2x;olgni}eAsw&D#iVE^_vNF$zj)4; zTiu)Q?fLzmL8+rtEpn!o)=E9;UHW@Yn9beuyoY_YJri5Cy0hSoY?;Y@s*@kG+^ldq z^5yz2z3sOW*KlvBIvA%KDPuR`@_jw2w{2_gzuJ5!kIns=Z%zDv@$1V>E4DrlZ{}D! zzgbatA~jI2D_`SPcyq}Hn&5mr_0TswDWt$3v+Dfv6fBipk|`fAnh zC%?I6bZmTr!A@sIbNX^*r!&U0UY#m-4@woQyHJ+1rs_0*ul90famS#*nLeYr6^O#FP|uHb+7&Yk@E zTJD~Dar*TO-~y3&*b_!(`(l$ du8N;kQrg*(QLkTi{dS4A{t9-wObi2qH2|GjFysIL literal 0 HcmV?d00001 diff --git a/www/home/img/h5/syt/icon-team.png b/www/home/img/h5/syt/icon-team.png new file mode 100644 index 0000000000000000000000000000000000000000..052a3cb3b412bb0c31202a73f15512238dc9d328 GIT binary patch literal 1371 zcmV-h1*H0kP)pCjp-1kh}ttD^4E zR1(SodKkDR)A3uti;`Xmd)s>#&)hMw+b{5n3w<>A!(`YGk^v0e#*E2VG?P6 zq@=$x6U2N;SG5W>8F;cpq+8PX%z&E794F}u+wtxhTHInFX{o|QDwb}bRD2j&zR@u!UQ)BTX`Gl2(y(}4ILHPuMqb>KiC zfZDazOB!r@1P~Roa!+bv*HcN`eh|2= zf>sP?ZfpjW+xyhc{}MO{h(>Nrg&^upH%i*gcC`8LRMdG}(xwKneutvTijh*4wMxT5@NU#6+k?j{aXD3DyFD035r&t(TY|&1|iYg#BRjz@D;PTNXOA` z#Iw3zlk=xbDl5I3!d3>dy$2AtMm)${a`n7qt2*cpP&?Y~+&Htx$~D1CK(=QA$#HCM zw3&93BtkrZ`aa^(U&0^FQb+p-2d zbz{m!63BM61|I`Ero^`J@fDIzPx;6JDw{2&^xJ)WvsR&zcn;87AU;QS!YZBkM1ZL= zR@`QP0NZr}P0ZM1mR=T13h3D4BUOj+@S~(=LVb$c!7=zhm_&1 zguwqOykzygv|Meyd@Vd|5TvYKEo}e_&K9q2G;J)b{oTLVh$0{$f$g>Rz4TR-g{@qj z*)9IgVfS-(gRe$F5S8$Av#@fs@d8-dyta1{1D<7ENxb9Qp^6!sGX{)1N-KK={l00RD*;^im?{1;RD zD(V0kR}UKiA3Hyr6&EibKtPC{i=T&ANQf1{&B-Om!70eW#lyzMFU-p+%*_q>pC1rT z&BNMOSQ8@mKeXUqVn91DFE?Qh4qsnic3&QLSC7{mTtY%Z9Gu)7+}v#N8El^ZE?yRX zY%ZSk|Hc5Z@wD==ck{A$bpiavXkqEIJ^A^t&8XXhzTw*4nGSw4lZ`i zzgznEL=~0)@2Sqt|C#OSrD^kj`2AlIdusc;*>Gsuc)EIfSiu!%OaGUYo3MS^cd29S~YD>Weilb*ecwX3h^tAEz0s0b^#czRj5SlK8*#DH)t z?DqE7!gA6w(o!eH6kBzmQhpRK-pKS}<|94)v|0}-#S!?~@dExo5YdPS|aQs#7 z|E27IgWwkQclaOEg@63V_-$O^7ViN!?Yq=^Tm%HS7zK!ww%_tmFjgB#$367w+iGVg z`bk9GR-_3&;YJ++?*TB;ZYvTUHRDf|Y&=(d8!(iplnK9xORDzx$PdkKLz1o~Oz;zh*1ditgUk20)B^fIo|Lj*EjTFz6^254@-~5d@o(;yPQYNm7*J|wI5B3>ro(;F|^L+H{y zI!QWkPR^uubVt{F)$mNfp;I@^Y}T8RAR5PDM+RqPYR{yzNJ#Fx;q8OEd~-#CWCQF) zW4P{|e;CKS!DYX#e|XMNkuryij=mDhwO*Dn-`Su$B;518I?_j##Oq|DntYZcN04sitbWEI#>i;apHH3Z+0;4{L&mZ3q}P4Zmp2;v ztFHNRb}D1!{anx3N1cRNE8G{ejk{>{`t-xhcU@m_%GwK%j8z2<7{SG40S*0RIA)Dk zm%z8dbj8q>DvkxekgfR*OubVElvC%*cC;3yhLn{U(U&Q(Ni59kfgwx8_dDM^g%@i+ z7zP}rP+{EgF6@!b>QaX~Ds~%D2Aph=86S7F!-j$HlTVgv4@F~)ML4R=EsW$^aUDadXeiCA`1XfvoxgVE z@wt}jrxAY^0NH+po$_!g_qhX9qKvT8rHD@it6eC^>b9Q|C)B`gsvSw5Eff_dT`6tlN69_ECh7z7tJ8}$RDBVW~BJ)(C| z9%;VM^+*uba&bhsV~fSaVQm>NPGC89+wJ)u@lxshMQW!L!@;%OwYXSiVmGs*pAI-n z6hB(ib^LWPgP3uL=^pxaIgT1@0aMfLs*?{bcw~ROKHpKTVWK=#&1dpNh$Q1!vuudu zGE3T-wDs4mH`svlw}ogr|1)`#Ih#WPy=k0qeRD2=#zeXorZ%gn`G{v_xo(8t){dyt z=>NNEsIjFjCW3?}ce<<71}d&XmT3$kms4s`mAo)kAscAJ7ne@06PWj#PVv0y_BL#$ z>f=s2jNW|5g;)Dsk%~{)W;}|FiA{E1@;o-gRCZj+_9ZpPLbW@0l5E6n+1y*>A3Xk_ z0D4ql^M(-I$H0R|(i9T*<;7(to(P*Nn2d|8t@MIo9fc+jR{l+t|8G^!i%r2O7Wp4? zPUJJ>+2XI{jovTfo+4smsQY>_3=>b-Q=9%!aiKmno#l54f5IJoyUfWG(NZOqfz^ZW zZAg;EN90m*Z+Luin3{mn%!@}lEy*RcA{fC*7!xh&%yuU~j^iJ@RL($#5%UB8NUOL< z#1%_fUzv;B3K%a{J8sECiAN$8(D}a zbEIKOPlhz+ZQRgTx`pEwfL_&S>+!KK-tKmj@kILk!08&70G_=$qWB?v>kzB>6BUvtpXSR1^5f^)j;4rT%78UPw0 z>4-p#WGSz^;16QqACUIi-=*Cr4mMmQRgzqaTj9@_wFT-CerK=e8@gEY7MP0o)0~%5 z>sjTzH2l?hiK5T2xmTwk(1N4-2UZ{kLEUyDJ}WO#$9?}7CvTm>50)3^uLmE$5Zx;h z+_tHU`A0`Vu{4QU=EaCn9B9Aa*g8%G_KL3*Ty%NHnP=fp^oQH&Wd`{eC6;Bq@*g)b zz;NKK{2g4N;qg+R0Uc6!h&bM|m$~{m0M+Dvl)$Ersl!g5ZH1y$YZ-mPQvTRfU)k?q z*@K9nOb10T#M8@+Nq@4g*dW8{<=}(uN|nSy7Bx#H8Ge&qrqeTjM=Uo}SuiL(;aEZl z?>nROfGypT=nBB=#(~{uCZB&r5QtYnV)n=z>H+e=CtUc!B z{hm;{6!JaY)MDWlIb<>R`WtyH_G3P~%<)Nk7nK#rY4*yPab#wOPRT-7#W44*aGcmBFHdeP~P!3UN zHRpKsXEo7IYmzQJ$-6*r>sBny5|DiOog_E}$|;ay^=(9Sz*8}aPN6{@^D$G{V0h=J z*V8(0PvOB>t@_8q2??0FC%bu*u0RCCT`t*iJ(t~4vN=Uet07Ce#S?Xa!J9gQK4wR7 zS5$g`L-nY#{;+6U$SR9}$Fl%2wN|AbU6~2hLdvh}#kYPwb^fd+DxagGJboeXoUE2i z;h%PLmBJp6xq|3YEWe@NiKW+jH*Y*KGhw8jQq^Lg;%lL3Nxe`9qa*4wlUTp zQeTdj9y%%_GUB!-Hog>01V@Q-98uTv7pcD`2R9$A*??K4W)$CVei;ng?HflKk1W@l zicv&95)vvBN$H&D#r^5|O*qB|(L?DSPaz7U1Bc#BXJ@%N-|OkUz=XVjp`12DR<8*T z0(Jj}gmyM0-NgIJPP@s+3Ame5L0ow2N4GG)FV3Isq^0wv2+Q@9v8giw{HNC0F2%UF zyE!V%q;lATAl_+2P;#ln5b#efb_C9A@75! zfpXonRXq?SOIG_r$&27Kv|u z&*Ub4|Gl9CP*bW8|KL0k;;3X}hs%K^p$q>=Im9{{h~mops$i^w?UmI_(U_=9Fb`e| zO0<<(pY*s@?hyi6lKzVMeoyHA?3RNP!G^+&u4TJD^sIoNneZ){X95J5s-1LwZjVZl z^$(6*qeCJIgDE<(V&(jf_}E>ev8D$hGaPNlV0+9t6SbiXk>j#gpL_ke3-CMZ1Yc<8 zv;|49%PYU9Mx=7n(uNGOATt*ExuQcX)@6eWy|0(za*fzF>eemeX(@PAX$L|of+jdW z$D{n7&b#{Sr7t$i`HAHlJ~L6@Gh0|mQ#jWMb-sCNgE7;HvCwkq@78zWstNJPX(PlG z{5jk8CDDf`jjAt?(g~>91lJUo{GerU@(GG!SFvogk--H(6`Id#GN`W(zMc=@JE;LE ztftT_xwLUwk9gd5c`EN!hL2~<%J4Z+(Dhjoe{lL8XoXRnY_5XCpXo<;KssP;Y}?Q5 zgO}&;Cdx#7ubBMNb8f4&kw1%+U6AxTI)aKFyIsQN*C9g3Yg!zQFY%)t@>g|I z2@;OM%k>58Um zzjtEgX<>XaMu$s+0^KguTv9a-)27x(Mx&_o`dYCk&1SWVR;;6%~tbWy+>fgYzIT0o9?O zC-8Fc9F7pF-c;N2;oSI+nJQ1N5&ZH}+Sqg_y2=QfhTCsaZ7qe zScBc^R7C75{v3+V9r)W0@5EYU-<%+~-eP~SGt<~KhOlk1Quc9chnt89Vs_!PVyDpD zU}=Qss)N_XIHjO(x$w5y1vGYC2khuFc=lx1lQBFG^86e7;5zRoJFXiV%V)F3!ro%d zBmIiLpxuSvw$+WDP(GPkO15R8j>o2}W7}V<73D>7u_;I8ZPmvl0M6thQlzt*uE)th zzpgYilTK_|=$J-dX#R|EGZR!-+ZSAXTTvB|H>pOLWE16;yZV6x z?ODEz#CJ6k7R67(>YW06vkT&1{%rL&Q8sY>QmC!1S9X{ZOVj~w1Ckt&X=oQ!F_=p^ zGoYg?7k}UMS~sFK$zOfA6=iUmCwf*=*^3uyxD8`8XXBcW&X3wD%(KU{^77HBWn4L&t}j zDqZ6XuGmFJBF(@aiAnQUl$a}P{v|*`7+HiV^4xmec)No%(e_wxSxgch*G=E zGzOxFnC~tsxHy&(oD9!U(wI0!38@==&;>VRSt*n$%6-Y&|?I-NHZ z;&=MEr{%_c`m;w@*d;yu#f8Y3i8G0mNWn#CVp8Uai_#+kV(K$#imn<^A9G+xmQ|bGU4f@l4rN~+zjm7V>s5$G9>!wU6g73lw@82bFj}PV=Zh3E zk=z!12b?LNQUPZ6Mhh$>?=IVe{`xtx7$dAgGpq<5?qJ-MMjxyA}qhS|MuQo-8G zRGFluspgR$yM5eyl!|}72_?H9eyh!A!#R^kZ_Z#-qu&o%-T?h5?q8nD7p};T2XFzX zvITu$S|>g!HZYMSik-6UH{O*>>tVlXk5O!NQ3TsntE{cObhI(w`cSiZI{?;yqqF!0 ztNVTa@Y*z-u2UGswG2Fq|BZ71NBTQ@$uPsH+ETzmgVCNJ&(wCeZ@MI6NzXfg%s-Yr zuY}cG)%!7k{&GC1HsOzbdN$S9u^M0hnlll-#=I5>Txx-_vPmv8*1vudj!m`d`$11! zuG>d_pH?XnLWUlf+;U4`bb%iBIV673!KmRRA9fXj`XOL?<_60Rh4 z8=v5W`Db-2dJC$0{bW2RwF8)jTbn(Fyu%jtaA zaV+^8sa4t2Zb;*JRVG2*wcGvaI|sx!?lo1Ppfs9+AvP*x$I-i1aI3UOejlNlKRBF` z>&Bx}Qj1kkZrtOI+$#$K-#JrD2HL@CsrEMLI&fz8E9^kWBcfSp>2WAFeY`Bif~bn;9+ zXvOmcVwkhFZHo85+vTQuj4C$E=Jo zR(s^}e+Um~sa9;-P!XxIafl=Ecn<*5OYaL+rnqCFMq-MGJch5Hb9LgoVTO1Wd&yxi0SW0c^F;-OcR zblOL?z-2V>>(XU^oh4;x)weR6B|eD)#@$aBj7|?lxWUH{Iw#_)dBqiP|8EH{@k08n zcl*v@PDd;uK2&mZ>rKnr3t%JVI)}4QoNnEPak8LjQVWR+0cG-PwhZwRbGR$gg|oXi zhrE|b?4+Py8C7ZF#YA-PK!UxMZNgh}Q&pFndSPv;Tt|O=rgv@Z;!a!lLb&$ClX@u4 z(s?DGS3->vvwV_^yf07JDQAu>;^+yAub25f{Wy0&1*Ws~H*+=~%}fsFYiP6ir&wX> zT4kFenH~&$3>44ZI1oHJYd4d6?)KM=q^xzK6&o0;AFolrgId{Vj`ZX3r4 z-6IwaHFp0xMhG(9r`}zcSt&Ppq#gks@-Fu1%`u4L+%dOD7}j2(vI_ZgR`_RPf$L!(uym-Mzd@i6H^_%f#|G?_4i@bvP`DJj1MFsmDq z>2*gg*SQN@WyI{skw;kxx?_%#aPYGRrx36r{lGqxt}85y(Q^i8-X4N20xvUva59nI zC%oGp$y%tYRmigc=v&sD_#%3JS#*eM zbg)o@i67IFPsIl}XAY`OmrRkVG12=hhdR}*rA7TAXQsAuHb+xdtT{i+2(#4|U2D%l z-7C{Qlu0BOMLXP>vu?|Gj+m|0=|ZaCynWl>khQe}a{Jyz%TMpsuKEgI?-dsf26~eC z8%FDrY+ST#(fkOh7FM&(cl_zy9 z>vLViVtY+V)Hrqg4SChVD!)L)UUdIaCgw^AO_J@6`S;g7&gh8lnN|`fU3yYyOHM_! zi^IrcsbR}$djq`|{??DN7h#=GIwzBinQc#;>x)8$2qez4Iy#KyjLr)`8+veIvh$Qc z^3Gu~wg7%2q25Um9_`Ns2L`ZF;%#t1H&x6BrN$Dj#t#ubtGmnYU^YSahTo*ITzm7l z@UpvBpy#C}4V1&w)cetvve-XJ@^1~D{WnnC{^LeIa)=H%p=L!Oq16@CBvi9%W>YAZ z-fNM=B`?jyql@8(3d%}P*2#}=TqdD8k2e(AzwVeMwCP!0_{EO%>9Qo_t9s+!X zp8ZcZ0X33<6%PIf_MZ{G{@fy%tYpW4ICD@wKV9y*0pj{4Ur4DIqq_HpXwpu)A2gvkRb zR;Qm=$jJyO;kAO2FAnwGm=~WpsAI$xj3;<@Mr2;?e=-1iiR|A!P|<$9u$FJ;!asJL zat#N>CAI2*^KnLpcZtwi$9TxG2O>a{I8x#r7|2QS86cs62}{C3Nc<$yT?5M~Y1Lgo z35{}Q>#UH{uV;UtGE7h}y%royn{bLGb=kJ|4toc4(g?V0$w^*;T=7@OI+Bj*ImX^| zmMNh(F2n2UA*q;zN{L%(HEkFZB+(iy+i%xLfB_9e53)y}9ZlxqR zPqGzY;5h`Uf7LLuWIHfso@4yac8N_2zTB2#A&qNjrPWFjB$N%AlA)#?iAmY+csHgP zklUpPY>9#)JX@{`aZ5>zUnoP^NxXSw^Z$tFJ4jKYH!WP@OP@rtmx*j%_$v*5Hm3=c zoP$t?ZCE>S!Yfo1*fAJ`b$gvDu@A_NQ)bnHCco z?ji(CVeo+QMGdKhvPvBvd^~_s67oxCAtwA(M}~R?`90cqUjZNF4+jbN&HNCCoK0{&0-J=Jxd*cnyF5dLeToyy7sEacp@P8^0ai;LyY zan@@L6ZW&dH|YKR9Oy})1Wg|Bc%0ao*oKHhpHJzA4{?s!ikDdZXUA8B!t{5NgmUo} z!V}P(f1TYVe4fTBvJ5_9rYaNfgS@%DccrVIAhl9J|0VM=$g*5;hd_8j+pb-euqQ;$B!#_MJ|{d3+c5N zSZ^k1l#)YXu<5S-yv2Y8%;!;8kLd0Uj&XK>*3?=e0j1uDf}@$JuwyVSR8LR`esf}B zjYDQ!t7tseH3=hDEMU4!_=umeG-h?>Kd;o`^!co^HHgGlkdlYi5tZsK!?f5?C4| zHtwW(Fy@mc zy#@0s+}3n1@){XH)O^yEoR{n`jB}DomDC-%jC6H;D$;!=OTD$pm?@hhT4vY~SqhJS!GoluhgK3I?0(8k^n!xl;$=z7lI9ZX zfk;@;#IpN^GCG#;9ZCYVD8Ze`9`A(jPhT&Nd}E=)?$S;<9*b zVR`Qj@3e<*kHs1bC68tdN;L$1&AMs#sAma18dIC+ay0gT!-Cf7QNvOcXRk-tl&*MP z=?K2WAzCX0T82}yu&MP-#_g3`C7qEcBvK4pJLs+vEz*MV`=;RWSN&ZhJjVX&*LI|{ zjc%Oj+|QGC`{Aw>C239j()l1GFM$UCYQ?Z-;uNFrCG!s^1p-O0%KRje`G_6Rm%2xE zm_G1l#SHlsfD$)C0hx#%q~}^OX+(Fx64PdiU)CwQgBe~iINuO7lI2@HREBGzK5xwY z*kV{Hz8QEV$=gjTkx$Bcxq>z5dM@H3a$~0HGGZXR^?FV}yUb9&3yogypVYuYd#d)S zVaEK+_AbhqMJN+#Cadz#%GC-Enwgadb$c8VEazWUF9YKAibpkN@NtL-zg8h*>@*>1 zjOT;o#T$zj`8#$AB%J@QeiRh6koFbk*#uf+CsC(VjQ<9*6XSVfPR$*sKm=R)Ay!1i;GAluaE;E_}=0-?#ZXVE=h-*HX>-$@hhX4Qp{kQ}9UN%{_$ z>$Qq8u?(-jF29KUjS~(~V4Fdwv-qAI^}tUag^+snN&B%WnC{(Tc-1T)Q3B)4-cQA^ z142jyZz?9AD<%`GoIi4b$j=n+R`tFG<|%*RugaI!2mSi#hItVYH#*11P1%JjH&#|t zJ0>cI#*fBhu*x21VU#-SGDeW^s_;J6NPz{FrYZm$HaL@ z?_vTD_OU6N^=BTCU%sfP`DF90tilc{|E*y}&=I~hWbd<8I{jns5(K@GQ$+=h6qWs$ zS(Aa!bLPjB@SUineKyGdPp!&YZs=4~L8e;wa37siQ6r^SKP*i4$DcHPYlVenA>z z<=~1^UOkmjTiajp9ftUPC^3zk{lZwX*B0p@wY>GRU+R@czodB?Qizvfg1TTPT+t{c zqAwIMlnmRdl@M+?Kd z+WD8X*J~rP2e3Mr!Ku}Vx!D1#%30R`q2a+IqV?x|1NHV;bb^xt(JRLU)19$L814BB z0A-UT+RPl~C}20_MG1I11>igb62Y66EOL&kI7sv67u#kCvr}fRAD?qZQ=_seVkCfN z*O*<0E1#@sf=B>jHtGLLgmxmZQJGOPTz!kz9~beFfi8)`12PVmeERuxR_c` zNr)l?tDK0+r;~=euS6X#unN)w3&2+BZk7>ab zK8%(lkGJMPfu6Fb)uXZJj&pC>vY-lU`>ok-BXJ_rRaa5=yoex09DNxA3H7p9>^kY# z4G!=N*c68id7kZ}I>%A)?s&$+P6be#O}1)`HEe69Wq)uQHd8TF?rdRkOAe$9&Hcaz z^;yS2`e+P@Y6R&hh|CF&?)&KPr%o=D)*YTT1m*D>n9ql0&ncA?H(uT-(zkoukOEt9RB(`WsJTVkkXw+`E56+ z!FleSEfF-2-y#~{yQ5HNM+!-yw`hv1%3CO|Sq6d{H=!A{zY4<+8we|QudqB87! zCeSNQWQj+*D=~-rG+to!$>%Tke>XtZm);*wUwg>Qi7%5G)Y&<+MPhHkM3cAjlI`1i z!@~=VyL*BUeN1~_>P|qp5lD53%h`ky5wuAt=XIK!1C#Ryb*0T#q6M+f zE2};q1MS~)Jkn-yq>=7h>aCN`rbv`Dr93@HvCw+isA4#NZjp$p5~{8hFOn{rA+B!W zSFW+9rE|aiyf4x%@x=&mf`wJ1&f~cVof)>3I0$2bj z_?dJ6-gbPrAhFxfth~Etil;RQ_imY*HL|U>*R>>x{+^pvK6{%@5B861BFC`qqW^U| zbBSIrDDM;I^x~BiJ|f_FmjCYl)IIgP)ha;OYp?v~G>yTe*j zIF{QA`}O*o{`^dIroSr>U3!IQWHhW|84}mV5gekDhO)}_XAeU8A!To>Jx6$teohsn zzt`?jUUjMjX>6ly)#$wPbQmyy3ri}%^^$nToHkiplreJ@P}{*?xiSX^JfDo2Tnaeg zaB*G99*AprMyvh_-5r~5IFi}03Kf4lcDOHO`im~lLu;rGun3FI zjc2;Ut4;8ThMh&kR-K!Bg$|?v162M*b1n8cvJ!ZgUflKgr3|e(?n#EeE*w08Xum`V z*7|{S`8;2CEA??pt(bNqTqRWuNYF!{9`0Q%bEgD5)w^^Cf;SZL7fdEUbA9NF7N=E- z`uQQ^=s|2gaR=F#EQI0YQ%a(Odn2)jPLf)qZzYq+o? zKcY5KwXT0vczRM+eusVOE4=>q`5(}7=_POd`j4^K)y29;3{yAGfthxT^u_N9Af7vK zbvpA)XwF|YUn|_1*kF7ms{EY3YX{b+i969hUUqcljEf%%YQ**)K)yHUa!&;%Alco; zrDM0G$_gr|zeVGh(GO7aWabU?dRx}Pz-z6i997x)HPbr zm#5`05VX{zN(m74sTMpz+|TDQQ;a&4np?+$mU`#=>8^$zm3raZk6xGG-wFqRih)iR zdOgsT33cY*xwreRzhSVv+L#ONDc_h@{)6A~e5f$XsK7)x5E@w}MCJ=wH%p^gw_sMO zcvoP>gRxxqdGMp)RQ#Z$RO2_auYZeMIjRvTpob~Z8&)7D6gmaDY{iaJz-rG>NDWR- zm?OOeP{!8CTO+@@N298{t8s5zX<>)L5P3yq)z74g2F_2HdW#W;6K!NX5N`mu!)g zvaC3@6Sauj)BP&sH-{J=-$i!Q&K4z}nwFwtO7g~E@YDTHRW_D<4h?ITf>xz~VUJcb zQ+1{Mp#*p0Ivk8R)1m&m3GWHorOlbpE*XW@*%s8PuHSfxI#}Z}YI=&<&s^gVRvJFDox1blc5FNJ*6Eh$>q$*- z0Ko7KdhX_g(dq8FP!T|$*KK>*m#urLjn{=bwh|AbZx68Je{W5U%ltB| zTD#*G`}!=uELnW$TH0@@)E?<31c@95-Wp*A&pIx+--qRFJmtlaR{Eq*;`ElZQTXBDV&2c+HRU)lk*kqUetDw5gHOoF zAi5zivxjZJ_>wVXpjrI2CY1(HG+5@6CJ=RPaxea<5E|wCD(%aAjSUmo8&8Tfp-U4Z zy1U<5kPvmpHi6_fuC~;ldK7L=PGYh|6d0xj$gw?a98^zYIxPC%t!f-Lv+oKJAKlQi z;mZHOjmDRVL#7dqE{(j9S0FD1|0FAG={twg9Z|d`bpK(VR}1wV0PT_jCEz=np@-(j zJc;eUxuO<6nT$_8mRhc-ibp8k{b>$MOMA)>8~~gwyz^3{Wh6w99ys>_vR9S+iwB3| zn4AJ!SKCS zd|9hP#-%AxKM>2(KQy2)wjYqPpi%bYPV*a&czzsvhLqE@x7Ro=7GVf(8cWwCUTOu- zJw&+TndjEb0L}z^^#IKdfwYE2^rlPpgG8A)>q4cQEB_htr?6)C9tOla!kG%O ztWnO^$KXq+4aML@_xh*UX64tZsAu6258UGWZR&VDz?L^Qf$KvkN5}h6{2MpAtMQvb z-%0RRCn;&g!3&4`MEio^EMA|ujp@gAgz42>!3yuVxYMaUtNrieD*X=@@QC|Q(8XDp zRgf$d!d2lPA@sjBBedj6D1(IsV%b}P3Ry=dn5E`Yl~=K+$z=mmQGdDa>jR{o_#M#D z%2uV8vsM)LUrLt!kn);%Yrg4-1ZoRaJq{H~qevzxdnY}PHC)h+{jgwe1^I$6%CDF%AUauZ;{fioqm$~R|{ zGjTz&PvR-fVk=Oib8cXgJW+c`Ca?O^`=W?&3epyleXA?vnS-FW%j5n?Zx}tI2l0G$ zEbZbM({*x}tM7#DKQyLTa;B>Jdzk(j2vambHm4Y{)0?e)0b{NHG1hQCZPRc+>v-h+%Gf>e32xTbf=jIVA?vZrihv1#>W^1)SJ0> zYCQa#hgUV*tZ{kaZ>PLZVf<#QiyI|?U(G2R~n<%Lh z5q>uNW@zy^mc#3@O;t^sl`XJfUGsy@?~I#zpF(!SIrl*ZN5XosHi8HVc)xGK18ypA~%K zAdsAsd?$J1jzl0ZHv{wh!>I7po4`Jzp|mHB)1;I)ocgxl6eGA#Tqz2@#dn|f#_yn% zMeNwZtbHS0?(191U15id4bA)XJL00*xBIsfy^GL%Ynk3Au6oP)iI(CvPEx3IWnk^LuJkhB{WBvS80 z#xP$30Q4dvK*n8tH9%WTdSuzb@9@c`^8S`DO@iO`3|Fv={Z3;oKaPPg-Zgy~9b-u9 zGJd(TNb^~O4E2Te*~9yQVc9pM^LYEu<8wV5u-BfPY2#UtMsexKxE+^JVL7nV?gxIn z={f175v`&v+ZUf}iQl)!k1_J3bTUAI8u@nsa%A(*D5$pTY@C7+nfL6c zB8!eNUse7YSoT92(SvrT!L0+JT9?$PgGZ0}6~-XW632*67`Awe8GN&N=}%5j=M33j z;(9QjC;Njvopi^hA@J!f{lIhTC{yd1nuUdSD5%h`<`J2sShyYUj{zUDMt1wNEy{~~ z)T~ed+spJ`2|C0(a%RTq9I299BH-5^fOO}(X1jf)*l?XU#8#)TFR5L_rJDVI+r6iZ zuzQnXor{;##|v+gL^(G40KBE&ZjS#mj@PX!@W1-=fSGgqp4Yg0U&+l6CCzjRr zJ++t2uu+bQsy{O^xdOQVh};GHN^MGOP%1`-M{T`;1i8f6^{N8KMWVM2;pHq! zrttXV5N>;mr>x~zI@)gb15pap>cG_1uJnfK$mm_puyCOxI`~S^mi0`ze$YwZ5%jSE3}uJ}*GdlXJ4=U85xR=T_eNMsB6IO^VpyN?bWAl=&)Vh)j}_i&^dyhBIkZ_$CD|HSX=&tv(QHUHJ5oFjPda~`$)n3=Vw<~80;#WC<=;UUcvLU_f;vzP%?(*2;jdg` zzRa5Q(NX4T5QTHvWQk!*fl!{4fEG^NM}EyzPU{E5&ED|tGeS`-f4Tx zEn?l@K}PuRZ8C3IM{Ko3sUDosK&}(1H*@McZLjVsOB=pS2CVjj@C{jsoMJuq??;yArf(*_Go?)6ON>0x;0UkmO132L zcUOFwCTTjSKt&~n@u=mbY~t@C_>gACW@RzD9Vz=aWeBobfD=~H{O%EAaavtUrs`Kt zl3ndAqmss;FAjdYYT&UMiE;T}zT4gVT!Nmn4Hd3zN}*vJ8DldvM4Wk^W2WQGpzd_Y zShr;l$3{xO``2{!7Fxa^tskd2eWYwT=TKcVoumSisyj;PgGmsBJhNXLuEy#y_o~YCM-!{84cT-W5Bx zi`!!e{v_?43_1d*xb{h3)SW0PYz4v_=#e=?NcUylbPnRje&~;FnJ9h8lQjS87x(qM zb`Kv%k|Tnw*!YOK(u|f3?8e?%B}WC!>YiL|xh`my3+aA}wv7(WPo~oshpk@NDFlg7 zm1oy89$2Xul9jwN^y%%LWAgl|&>tqUE-nQ*WRl`uPS96)uBrg$smR6|ZUxXxe#}<= zBYY{lPiF-?5Kv%Zu-LiZLugnTTAG@;a`*J3`hQwF3%{toCX6fH4Zj8HPU$XLYUz?v znx#QXx_jxCj-|_`1qA61>6DP}MmpZr&-)kb-Fxntne)u|nNzUyQRS#ur%_~7@t08_yTkel(C>m z;}t5H<A2KF1!&n`h^C*gGVtg21VG2_75xq_elKwcu z37rrrcF44jdU#!&m~5`i_~z7;Pttqzw!c$M#)Fxs1p)B#7HDiFv#inFYpD%~3wsK} zv(U0Aj}-6hr@c2?iu=+W&Kf-E|M-)#Q^K^gpcO3me!yl7_l3h_*E!FD zFt`o#`3yq^nxoHnpMajY45A)$<=yahIDZn8QJI>0Tzp?tnHY5IA-)7un8;K-L^;Tn z<_}LAR4s$N*R>g03bqDKTVWPFyHY?hmFkl+RaI7%6u4fGKJ}?1E>QEuWEm(#?4iu8 zDQMgA-ijYE*G-3&y+k_-e%$k-(l1QtYthH}Y`BKQFv^d=T!QrCF69k`^w%TA|Hd^( z`t+rJQ^bmzOi3YY*1b2Ok|7w+-P9Bf8L!BU62;$g>CT6;;O?cNys_|JouJzYp(TN_ z14l+sa&RS@qIe}qRPjxX(`BHe^D;hJx4L2Bp;xtM(C_H+;(;@ISsC1!Y_n%w_>K#g z#dY69rg3VZh7khw(rIOEbHK0l0JpqfIWrTo=f6TBp>s*dilPO-3jHF$y*HMl9v`H2 zQ;Wjy>PjT-vNc*se~>8x>>iV5a0p)t_M00)@We z{l@TmZoEAaxZ$a5{-)rAV#_6=STA>6a~QwhZr!`n+~Z(w zUmia8CsiCCB&*;XGAN4zL4U-y=qn{N7-=pHQ=wR7+)IVw1ZCn<-}F4|^%d^Php3b5 zII!I$Z4~@2d(RJ8fdg9(lp7%}ipN?82{Z5ThrdM>Db&&Nm+?f_Ept%|GJvRBn}656 zI=3{UT7NB@REOu+!u_tFeOkgq{Er7_6zaFHY+JWq{QjRmqY22p^hHWa7^q-u4VH44 zBkV0#q>xFH}3XAG}Gz+L9e)`>t~ zNb_=R>81dG%C+KZ^$}{Ib^iN(*Iu_H^(XpEY(>eYxG6D(h({x=yI8uZq#^|~09cQ_ zY1TCb>|lhinsHEq{s-i!^=CsqtC{1x9YS2=n-oWGoRW5otpUmsFm{WjF$@yO= zoKvp2IpX_iRR>EmLO$od%g9nib-O|)$2RjnWaYsRHg?^))J|R!Qm_RU=d5!fXpYQi z-+YZMl-?`6f zwe2c>am)5(S0QJbaoYx)N)Z ztT}m$VuS1WzBmv1Xdf{P68HSb#O5%NxoM?CT@CA zFUU&l1%1Ux<|2jg#;Su*-AS7ilb~GNOZr2yT8ZDA$MBtHxXUSc{I${U+*gJ=i+uf7 z0&F6`MBk1eqs#b^QT+PjQ={}?149WH>4bOR!uQ{;61T=({JfNswtkh4Wx=3(gxmKl zdxZD1s4|sjcWY6H^VbqHh#G7pMP-^8BwznCm0VZ36e+1o$w~}~lNrSGG57gn%oc5+ z@3Rk_5i=!Y?->kIE&bMA^}gn|L6-v(jy3VDBQan_s?Mt}!#;M@eO|Xz;a_D(QZN*^ ziKaCNxlx`I!NWd2H_?^Ia$41g8Q|3q&LqyY2K%~E=j{xqnXB)FVrkyfu<3vCTT=9t zi)gtxL8n*~Y`)OemDm_|AVvG)kODWl@UVYy;m7=gPAg(_H@A@=sYO^ICFR$$4U`=P zoAl?>Qt01<9$dn5*NXb>CDtjYsHNEkFX4nw7y9n;`W@`pCSo)wU7nYjZu&45SsWtg zF#lS=nDOnXko%&7ai*K!?y6+5@d1|oO)V_@Wcbj~OKrHBYmM!1D%+4%(MgA6jE7=` zJa+%hC3NN@xe$AU%sCMi5M_@x?hcQL{prQmEMHHG>(^|($b&tq`*y^$1z?A8 zA?l-li9zBtH*qWbNiQ~?TFk{Yxi5i6eUN>sG_evGMkf7f`VO{CyQ6aw?RAFAgFN0? zM-cjjc0$6X>uDx8*k*HeV!oSVYxq9hdGeBd&)oq5zr6V`wHID4Ln0N0;KYFyOlR3g zpbK-ePzpECI~ew7Aq%eSyndv!QT6@UpVo3A`96yF3XPQ1UZZ4QLB!Zrt;YDdWn;HJ z42?wc1-0d32S5IYl{zU&y9|;Nf#g?>tFRI@m!!&Y+OYN;#Y~Y>7K1J}!#fz;ZXceu z0t^m>sk%Zi;O{2HbeEN91RP&E%SqDKyAR8T_TTaVj=<7Wm-f23$?5~uhAp#&*m@}Y zt$z~8Kb0PGXgi#ndMN~N(N321E3RaB5L!?tzQm zCj`hzFP0SYEYW^ui3jOVhr8648Q0uBEhdxw=^@*^5TX>{5IJ4$tW{7Rh6R=#c$aVYS|B0I7g3Yp`g zNfuChLl*V!K<|UIOnFxQOG7|T{FR5S@tV)@y>R}`(qZ%IpmxZhcD!=v>nF#br+;hU z5Nc%EL49z$3XPD2@66>&6#1VcQOk9@Are$V3l$wsM5#TjT0`ag5{-~q5NR~^{X0kI zL8XG^_T_- zkuLYNX}4_iMmTOogtlONnhcpc*c%|q#_yFShfRX%G-Fn$qi{lI|IYVfzkr_YZG$W| zXighO&K>j=$#_TAmr#Y;+urHt(s$E7?W-uPhW)Rih1ec{s8k%q%)I^Drw z3tkx&$q> zu>`YH*>654w9#GWz|C(es<2WLwLRGgHuY8IP2|B-pv7)+iqz@fuk ze+~2X25n{{4i&h2c#U#PDwRw3D9E%G)7fvMR=K714A zyuB6)INBM;w7Ym7TnT1>SF9iEfzxkeywT0b*I#pyR{r_>#&Zz~?Nx$2b*%i-$=Eix zYd(Fs+nILK(?p1Mir2B@e4&puur7ckxu(M1F^;#Ls6B-0eA!qnnVqXX-!#Tr?>~T? zav8$Xdf`|w6psiSlIa{Ci3%1w`3P&9N$m*n$I3nC-%~A5+(Yl?mJUO95e>?|L(}>2 zf@@CLjfKVM;8JR;MI<4Y)B&?rtCW%K$IsD7-XoQYvT&MGzlz9iYUKiH%tW=MQLi^C z^hS%H8q@9TPa2qW#Sp>mGBHtlW18#!}pUWjcs!Ni{rI1);iq z8qt7N6E5Z zsHRgbu>gWlp~2JjoyccSzHOz zh5COSZB+gOeo^Y4BZy9H-kRu8rqOGHbPUL{u5J!@VBe9+f4`7N?>LQcja6y=yNCM% zbI91`VV1oZKL~lzPZTm=k*<(y4V$2ak4puhPJShH8mF*5t*LDYLP-E)in2*JE?o<#T}fOlc|At)sue7 z9YBuqm>uus5pXy>K+_T8iC6$7_vUg+LS^3ReDSWh#13W#y@)8VmiV3QM~=gdUT5Hr z`f+_Fyy{P*LK%E(<&6K_RpE(ojR}xckFd9z+xZDCZ#Kq+Tk*Sqb$_nNF!QxxZGzkB zx=eWNpAVj)&h(F-XnE0)xR!4e+vDg?%4by*u$CHQ@P~H5hl_e}f z{qhLC5g(t8WJv@^#OB`xcVHjXx8nV(m*D^iy zY-3M_N4}k{F+6^;L|M^%_xqrMg#*%`$;#SGYQ@Tf$4ble6jOrz1Idj3!Dwe`3lCGm zrSFNU$C1cOV6Qr~+~N}n@{2t0lB?}ZKwg2sko(3<8oVZlen1W}-E-=-)sqlZbAt27 z*?dq#LXyW=WOpM6!U)SfRvMfr0C68x>xBuy@2PQ6scVKD?^KMQvXf+8e_W#%$0V+E z+>tM3gc&HB<_pSI>M!1%CSv{r$x(*==x+fDWBGqmy)*{%>2KIAkcTg1;?p*9d$rT{ z6YSAAh%pDnPepys1F8f>Z;BjO-7`0-*Uk zNvkab>mhov=fNdRXM12P%zgV87sMqm4e2y$z68X4v(5Sb*H$`QQTnMvV46f$iIRfb zm{6p!VpQl%npSts$Z4*ZAprolXtiRU*IwP8`yA2{Dr_v!GHAkO8tfoJVJvh znvysxy*vcPL#1r1zHj)y!(&!KE9%hrI7<-`em?^)EQRFE(e~N=nsNdUpGr{W;S~hE z%VHTfN-8XJM@9z^rgfJT=PHSYUlG%wchTl~WKt5?{r&sO#ANEKmzUEiYtgqd;x17S zAG1cYQdze56OQ<5!OC9Dc6k5E67T$+`mPo}UX@inG&ra4!C zeo=_kW`;Otk~$c8@?3eKGHwgBjiuU!FUQ3(EBDr&yc#`x%tao9Pl5!|tZL6&Yz=dL zQ&=Y#d1QhiU85QPDTtO0j0*!K-^BMB$}%$rqa>Gc3@AGZsTw&eAp5v z0qJtl83b#<70 zdsfBIIBEq`6seiOAO&@dZQ890nw|glo5zlOU*yY$yO3riOFKNU&P7DU#wC^S;uJpV zin-p6BJh(0XOF)g|CQu4$_CA5tYxKM^!FTfZ2D53PV#vN#~dJRKS6q+sGO-DtKc-w z-SE;bjHX%t+wuFeKx!PVpcKYX(o%PG4WgIdFS3JEedaW!YAjfwzxsm4PdAS5yQKH_ z<+b94_j!mNb;ir=GUm3(r08DD2xPqEkBmF%@+~eIY`9-dYSocEtKku7mmsdC;@ywd z`^bi^k{>)VO#-Vz_oaudf_L0|sLX5P+lkHOfql^Q-<2Abg8S2p+t$_$uqUAD)~{U2)C)JD9H z;jG?quG45m=-TzTdI!lFPrs(TwNf`$w=ny=!K4OMUOax?IL%}yIBHzsPb!dZGR7vg zMna!l`0JtI@Bz+@58g=ix2GLZsElgN|hf^4&LRm{_0Ekg3w> zYNPeww{_v-EwXBkY~WUgSrXS~k#5}DR6OTEr!W>4h~}>q9M(Bt*&i;RzwL-o zp5A#dRC@uj*X%-QE-`vc0Q^u}XFd-Lf)psSFWVz6A=@rCmX=Pd=T~}_Y0U~Y2maCS zM~|z>%xX!H&@&#b)(1Rs7DUo!Rm1wqXU9(9t{Yyj66RBQgi~tJ)o~L3^toe9?u(yW z)zQbCJk3+C?Qg5nGMAz-U-SaYPJG<2wfL0i}ddjQOXb#Ey)T(TmGw%V) zLi54nS7?8AU$U(`%i`Z

3~t;oT$bqT1ZTyzbw9F=k{2hzGO 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 literal 0 HcmV?d00001 diff --git a/www/home/img/h5/syt/rank-3.png b/www/home/img/h5/syt/rank-3.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec24e2c8452328516c51cc4577632d1d9c7fbe1 GIT binary patch literal 1843 zcmaJ?c~BE)9E~Ux5p@tyK}gpqO3-9CAwUudNG^#(A|w$xLsDz3rDso7*(|S;EJVp?vXgu1D3hf`IJG1*8^WOU%-}`2BBV~&w zI(a&gNTi99aG{(SMZ`;WbRfR!`Uj50;DL)`a0RNxGgKH%3e%uTFd#ux$*>$&X)@DV z;b0PJ>>Qmk29J?OaMdV6SJ^OhGh!gvBvNpw*`QLV!Z?rwC+qY)%FFsj3ZT>QD9Zw* zkklZ6Q*_~LFj%ohrc|#KEQ++Y!G6D41XFUkjsL&OeXO8p%Bq9 zjg~7Hia*C9Ry;}yjvKfjn30h|&+wP^|;DR(;H_ED+pnu z8q*nY9jXUximD{kg!3pwrk_ec3?s67>( zxge1YXgl109ro}R;UL>|#Ja>{#Qdo2)Sn5jUnnA`DZSe|ugW8?KC+ez84I ztC><%Y43w|89W9Mp<>1QU4HDKPIqbdo$Q3~+NnHpV!*yNhPf zrfNOxcfyC?hrZh^E36wTt1l_4ldXT9Wo)mzmho5e+iP{M*6!*>&64b<71d+%?2lX0 z3~qy4*?s}CyL;_CE&Sd%GTT|3CGBVVcpZG1fIz|cyMCf!eZ=t z)w^hBv3xAKxFF%agxwqQW{gvlN8h&NrhaU>vvp^hWR7WrDRJH<2c$fH_6E5t;P5m6 z71>eef4I_BFuvTgVH{`~f39jl4X;IzyfW|m(%Na;dnTqh{2mrg4pB5A`PAF2@kbs! zf3>5^lAb-~!`e{uq^Ih{OD@$4YsrL18|nrHBtnq#e@DcuF>?G92vdiGEEt35Za zSK56w$KSoPuk|D(G{k<_o>iI6&7OJSj~>?Kc?oe^#R{)Sq!+B_#}+^HGB4>sW=!wS z+cnNUiaXiS+ZG>Pei3xf@(wgj>g(&;w;=Fgo5soeNkP2QZ-{aJ>X@ZFV(;*E!3|vj zdoc1Xe`>|j)7+D@Z*KjNU7CKFzW|Is6=Lt2B*5IBJ?@7F;(t6E<4oVuICow5lfovu zKAwjCO~j5CtD@t+8uBUG#dfi;Uw+?V$JG4(p3+-0^K>CaeZO{WZ*99vZoGy3uxQOq zysuO3+*wwc9VHu>CJFMk^B`|LJOqUvx+c(ij`!nyVYOuDKl`aYFfeKQlG=8QcG_DX zCa!gkK9aIMswEbqf)^?*abVT0pmpT)Yb&Of`_1pJPi@(o$UN}iy zS9WFKM#A0|5vH>ZWe2-`z2v)JouTcDOPdf=nU99EcY+p+~9E2w5O}JWn9$Uobz9f$uXIl z#zle2kNAaDX>hNDWLeI()8ER5e8Qg5j@>h@T6{D-zp%&2>P)}zvm5ths^b=_Nk5~b zt@fNBY4c!a?)A1Mj3?b|3!j9#ENNaz>+pCU+y64QX4ZR`L{do6=>y)S0(aYQOd^sA JkMR>X{tb=y&+7mH literal 0 HcmV?d00001 diff --git a/www/home/img/h5/syt/rank2-1.png b/www/home/img/h5/syt/rank2-1.png new file mode 100644 index 0000000000000000000000000000000000000000..189edbc67d04a9e38a9e302345e3aba265c2eaca GIT binary patch literal 5436 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 literal 0 HcmV?d00001 diff --git a/www/home/img/h5/syt/rank2-2.png b/www/home/img/h5/syt/rank2-2.png new file mode 100644 index 0000000000000000000000000000000000000000..581723043dc698269b71d5b48d8ce4dfbae09137 GIT binary patch literal 4887 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 N>1&&4)o8dy{|~R^u-^ax literal 0 HcmV?d00001 diff --git a/www/home/img/h5/syt/rank2-3.png b/www/home/img/h5/syt/rank2-3.png new file mode 100644 index 0000000000000000000000000000000000000000..7ea2c8d7910a54134d6c3956443e51f64c0a4e52 GIT binary patch literal 4808 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 literal 0 HcmV?d00001 diff --git a/www/home/img/h5/syt/report-shadow.png b/www/home/img/h5/syt/report-shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..23cc520dee611758da3fcf062212b2e072f8dc72 GIT binary patch literal 21151 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 Y01r=UG$B1E;{X5v07*qoM6N<$f;hn9tN;K2 literal 0 HcmV?d00001 diff --git a/www/home/img/h5/syt/report-theme.jpg b/www/home/img/h5/syt/report-theme.jpg new file mode 100644 index 0000000000000000000000000000000000000000..974a2370be2bc148bfcaaabcbaa76538f9478fc0 GIT binary patch literal 48875 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