提交 2db570cd 编写于 作者: D Devil

qq小程序优化,unionid优先处理

上级 cf0437df
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\admin\controller;
use app\service\ConfigService;
/**
* QQ小程序 - 配置
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class AppMiniQQConfig extends Common
{
/**
* 构造方法
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
// 登录校验
$this->IsLogin();
// 权限校验
$this->IsPower();
}
/**
* [Index 配置列表]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
*/
public function Index()
{
// 配置信息
$this->assign('data', ConfigService::ConfigList());
return $this->fetch();
}
/**
* [Save 配置数据保存]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-01-02T23:08:19+0800
*/
public function Save()
{
return ConfigService::ConfigSave($_POST);
}
}
?>
\ No newline at end of file
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\admin\controller;
use app\service\AppMiniService;
/**
* QQ小程序管理
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class AppMiniQQList extends Common
{
private $application_name;
private $old_path;
private $new_path;
private $params;
/**
* 构造方法
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-03T12:39:08+0800
*/
public function __construct()
{
// 调用父类前置方法
parent::__construct();
// 登录校验
$this->IsLogin();
// 权限校验
$this->IsPower();
// 参数
$this->params = input();
$this->params['application_name'] = 'qq';
}
/**
* [Index 列表]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
*/
public function Index()
{
$this->assign('data_list', AppMiniService::DataList($this->params));
return $this->fetch();
}
/**
* [Created 生成]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-02-05T20:12:30+0800
*/
public function Created()
{
// 是否ajax请求
if(!IS_AJAX)
{
$this->error('非法访问');
}
// 配置内容
$app_mini_title = MyC('common_app_mini_qq_title');
$app_mini_describe = MyC('common_app_mini_qq_describe');
if(empty($app_mini_title) || empty($app_mini_describe))
{
return DataReturn('配置信息不能为空', -1);
}
// 开始操作
$this->params['app_mini_title'] = $app_mini_title;
$this->params['app_mini_describe'] = $app_mini_describe;
return AppMiniService::Created($this->params);
}
/**
* [Delete 删除包]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-09T21:13:47+0800
*/
public function Delete()
{
// 是否ajax请求
if(!IS_AJAX)
{
$this->error('非法访问');
}
// 开始操作
return AppMiniService::Delete($this->params);
}
}
?>
\ No newline at end of file
{{include file="public/header" /}}
<!-- right content start -->
<div class="content-right">
<div class="content">
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/appminiqqconfig/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/appminiqqconfig/index')}}">
<div class="am-form-group">
<label>{{$data.common_app_mini_qq_appid.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_qq_appid.describe}}</span></label>
<input type="text" name="{{$data.common_app_mini_qq_appid.only_tag}}" placeholder="{{$data.common_app_mini_qq_appid.name}}" data-validation-message="{{$data.common_app_mini_qq_appid.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_appid.value}}"{{/if}} />
</div>
<div class="am-form-group">
<label>{{$data.common_app_mini_qq_appsecret.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_qq_appsecret.describe}}</span></label>
<input type="text" name="{{$data.common_app_mini_qq_appsecret.only_tag}}" placeholder="{{$data.common_app_mini_qq_appsecret.name}}" data-validation-message="{{$data.common_app_mini_qq_appsecret.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_appsecret.value}}"{{/if}} />
</div>
<div class="am-form-group">
<label>{{$data.common_app_mini_qq_apptoken.name}}<span class="am-form-group-label-tips">{{$data.common_app_mini_qq_apptoken.describe}}</span></label>
<input type="text" name="{{$data.common_app_mini_qq_apptoken.only_tag}}" placeholder="{{$data.common_app_mini_qq_apptoken.name}}" data-validation-message="{{$data.common_app_mini_qq_apptoken.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_apptoken.value}}"{{/if}} />
</div>
<div class="am-form-group">
<label>{{$data.common_app_mini_qq_title.name}}</label>
<input type="text" name="{{$data.common_app_mini_qq_title.only_tag}}" placeholder="{{$data.common_app_mini_qq_title.name}}" data-validation-message="{{$data.common_app_mini_qq_title.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_title.value}}"{{/if}} />
</div>
<div class="am-form-group">
<label>{{$data.common_app_mini_qq_describe.name}}</label>
<input type="text" name="{{$data.common_app_mini_qq_describe.only_tag}}" placeholder="{{$data.common_app_mini_qq_describe.name}}" data-validation-message="{{$data.common_app_mini_qq_describe.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_app_mini_qq_describe.value}}"{{/if}} />
</div>
<div class="am-form-group am-form-group-refreshing">
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block" data-am-loading="{loadingText:'处理中...'}">保存</button>
</div>
</form>
<!-- form end -->
</div>
</div>
<!-- right content end -->
<!-- footer start -->
{{include file="public/footer" /}}
<!-- footer end -->
\ No newline at end of file
{{include file="public/header" /}}
<!-- right content start -->
<div class="content-right">
<div class="content">
<!-- operation start -->
<div class="am-g">
<button class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus submit-ajax" data-url="{{:MyUrl('admin/appminiqqlist/created')}}" data-view="reload" data-msg="生成时间比较长,请不要关闭浏览器窗口!"> 生成</button>
</div>
<!-- operation end -->
<!-- miniapp develop tips -->
{{if config('shopxo.is_develop') eq true}}
<div class="am-alert am-alert-warning am-radius" data-am-alert="">
当前为开发模式<br />
&nbsp;&nbsp;&nbsp;1. 发布小程序必须采用 https 协议,上线需确认 app.js 中 request_url 参数值是否正确。<br />
&nbsp;&nbsp;&nbsp;2. 发布小程序,建议关闭开发者模式、从正式环境重新生成小程序下载使用开发者工具上传审核。<br />
&nbsp;&nbsp;&nbsp;3. 非 https 环境下,在开发者工具 -> 顶部导航 -> 详情 -> 不校验合法域名、web-view(业务域名)TLS版本以及HTTPS证书(勾选改选项即可进行小程序开发调试)。
</div>
{{else /}}
<div class="am-alert am-alert-warning am-radius" data-am-alert="">
1. 生成小程序必须在 https 协议下进行操作、请配置好服务器 ssl 并使用 https 协议登录后台管理生成小程序。<br />
2. 如需非 https 协议下生成小程序,请在 config/shopxo.php 文件中 is_develop值改为true开启开发者模式。
</div>
{{/if}}
<!-- list start -->
<table class="am-table am-table-striped am-table-hover am-text-middle am-margin-top-sm am-margin-left-xs">
<thead>
<tr>
<th>包名</th>
<th>大小</th>
<th>创建时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{{if !empty($data_list)}}
{{foreach $data_list as $v}}
<tr>
<td>{{$v.name}}</td>
<td>{{$v.size}}</td>
<td>{{$v.time}}</td>
<td class="view-operation">
{{if !empty($v.url)}}
<a href="{{$v.url}}">
<button class="am-btn am-btn-success am-btn-xs am-radius am-icon-download"> 下载</button>
</a>
{{/if}}
<button class="am-btn am-btn-danger am-btn-xs am-radius am-icon-trash-o submit-delete" data-url="{{:MyUrl('admin/appminiqqlist/delete')}}" data-id="{{$v.name}}" data-view="reload"> 删除</button>
</td>
</tr>
{{/foreach}}
{{/if}}
</tbody>
</table>
{{if empty($data_list)}}
<div class="table-no"><i class="am-icon-warning"></i> 没有相关数据</div>
{{/if}}
<!-- lis end -->
</div>
</div>
<!-- right content end -->
<!-- footer start -->
{{include file="public/footer" /}}
<!-- footer end -->
\ No newline at end of file
......@@ -336,8 +336,7 @@ class User extends Common
}
// 授权
$result = (new \base\QQ(MyC('common_app_mini_qq_appid', '1109990622'), MyC('common_app_mini_qq_appsecret', 'PdVsj1n2sByQQBCi
')))->GetAuthSessionKey($this->data_post['authcode']);
$result = (new \base\QQ(MyC('common_app_mini_qq_appid'), MyC('common_app_mini_qq_appsecret')))->GetAuthSessionKey($this->data_post['authcode']);
if($result !== false)
{
return DataReturn('授权登录成功', 0, $result);
......@@ -383,8 +382,7 @@ class User extends Common
$user = UserService::AppUserInfoHandle(null, 'qq_openid', $this->data_post['openid']);
if(empty($user))
{
$result = (new \base\QQ(MyC('common_app_mini_qq_appid', '1109990622'), MyC('common_app_mini_qq_appsecret', 'PdVsj1n2sByQQBCi
')))->DecryptData($this->data_post['encrypted_data'], $this->data_post['iv'], $this->data_post['openid']);
$result = (new \base\QQ(MyC('common_app_mini_qq_appid'), MyC('common_app_mini_qq_appsecret')))->DecryptData($this->data_post['encrypted_data'], $this->data_post['iv'], $this->data_post['openid']);
if(is_array($result))
{
$result['nick_name'] = isset($result['nickName']) ? $result['nickName'] : '';
......
......@@ -1659,24 +1659,39 @@ class UserService
'referrer' => isset($params['referrer']) ? $params['referrer'] : 0,
];
// 微信用户unionid
if(!empty($params['weixin_unionid']))
{
$data['weixin_unionid'] = $params['weixin_unionid'];
}
// QQ用户unionid
if(!empty($params['qq_unionid']))
{
$data['qq_unionid'] = $params['qq_unionid'];
}
// 用户信息处理
$user = self::AppUserInfoHandle(null, $field, $params['openid']);
if(!empty($user))
{
return DataReturn('授权成功', 0, $user);
} else {
// 用户unionid列表
// 微信用户unionid
// QQ用户unionid
$unionid_all = ['weixin_unionid', 'qq_unionid'];
foreach($unionid_all as $unionid)
{
if(!empty($params[$unionid]))
{
// unionid字段是否存在用户
$user_unionid = UserService::AppUserInfoHandle(null, $unionid, $params[$unionid]);
if(!empty($user_unionid))
{
// openid绑定
if(Db::name('User')->where(['id'=>$user_unionid['id']])->update([$field=>$params['openid'], 'upd_time'=>time()]))
{
// 直接返回用户信息
$user_unionid[$field] = $params['openid'];
return DataReturn('授权成功', 0, $user_unionid);
}
}
// 如果用户不存在数据库中,则unionid放入用户data中
$data[$unionid] = $params[$unionid];
break;
}
}
// 不强制绑定手机则写入用户信息
if(intval(MyC('common_user_is_mandatory_bind_mobile')) != 1)
{
......
此差异已折叠。
......@@ -67,7 +67,7 @@ App({
// 请求地址
request_url: "{{request_url}}",
request_url: 'http://tp5-dev.com/',
request_url: 'https://test.shopxo.net/',
//request_url: 'https://test.shopxo.net/',
// 基础信息
application_title: "{{application_title}}",
......
......@@ -405,7 +405,7 @@ ul {margin-top:0;}
.admin-sidebar-sub {margin-top:0;margin-bottom:0;box-shadow:0 16px 8px -15px #e2e2e2 inset;background:#646464;padding-left:10px;}
.admin-sidebar-sub li:first-child {border-top:1px solid #dedede;}
.admin-sidebar {height:100%;overflow-x:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch;}
.admin-sidebar .am-icon-angle-down {margin-top: 5px;}
.admin-sidebar .am-icon-angle-down {margin-top: 2px;}
@media only screen and (min-width:641px) {
header { left: 169px; }
header .am-topbar-brand, .am-topbar-nav > li > a { line-height: 35px; }
......@@ -427,6 +427,7 @@ ul {margin-top:0;}
/*---right Content---*/
.content-right .content {padding:10px 10px 0 10px;}
.admin-sidebar-list li a {padding:0.6rem;}
.admin-sidebar-list li a .iconfont { vertical-align: middle; }
.common-left-menu a:hover { background:rgba(118, 119, 120, 0.45); }
.common-left-menu-active {background:#1cc09f !important;color:#fff !important;}
#ifcontent {border:0px;}
......
@font-face {font-family: "iconfont";
src: url('iconfont.eot?t=1572350240955'); /* IE9 */
src: url('iconfont.eot?t=1572350240955#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAABgsAAsAAAAAKowAABfeAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCGLgrCQLUTATYCJANcCzAABCAFhG0Hgkob5SJFBoONA4Dgv0Bk/1cHtns0KoRAWUuB7em0dsWL97t2bO0rjAJD2GfmdQ1ExRzM11SIdhhbitVFQVhmchZfbEUCnSiiN5QSekiX/rzdFR54pQMnLF0c4DvbHzhIUH0CKLmGoqaiIi6qDM/P7f9c7tZ3u6skMu8aeno3/TpGmvFx2AN9b9qjwip8Ab5CclgJViTxf7VWxaeYlQhkJYQC2oE2sxRkjKZ3RDTjmnFNKUHfVJa2iaS8vVmbn1dBv5xq9oS9EyCZrKFdeHNZflvvk/WqLHnxMFyECmADWKnSm8+WiE+0/6dTV7uEOCzlcb47OYm+dMrLGfp8dgpOSg6fS5YDXJoIpoxd22GSglJZLpGd8ga4Ag3rSMM2FkpXrAMSv9ulRc94iVrEthywAqTyhIX2OVo+6voQkDKOGWjB8y4NxTgkRdjlBL7fj2KPDxcxWMTZIeOijgTZCYjNavMEAJ42vr7+BOGKAYbAAslyzaTNh9GcJ+BpRdYNKzvahSc/DmwvBhaYATgwbWa+PNaCGYaasvSOnwBgGoXweNNfwBMYBY2AJz+JdMxKLLVu+VV2bHe9VfFHgLYGSHtCCotp8urN+g88iEmweFqE5PTRxNGmgqGKCMioE5FSowEKAXauAmiEWNSGX4AyDzH8As9DAr+QFIKUDIYHpYDRAqVBgUYFYOSgnmD0gfqB0QRNBMOB6iCVT81gVEBLwDCgS8Gogq4DQ6BNYASg+8DIQP8Aow56FAr1pv2YhxR+NXJqTBkPytEAoB8XmQU8CJU9DWqfIPX7EnAXMSQGNsAYhQFjaXvCIcnOHRDmdVjslvtJUg7qJu+VVL2TjSrV6ozq9EneN6tKqS5vB3fHiQn6XGCjqo/rs9IgqMWNzo0TES4YNyVJ7slnVqsjFLWdtunVPJerRHFlRL3erjRroyuVZjNJRlaTzthaWqvXatWpZXVtpumZliqu170vClL5Mx6ec9CX3PBsuu/SEpAexrZD0ZllBwKza47F9h9pXxwhyyVkaPa+uXVXiYMXF8+ufAHnV+4HMwd+4PgEAOCd1jBuH5w2S99nLCsvWoQwLDk3Y4V2wJxTHT8eA5kwMnOucVBfWVu6FAhafHb6cnO/Nrsybhw5FIZaFOlJYsaxfsGOZaIi6/04NkptuapdRlaWPYr4eZA+3pLtJL/w9zEGx7FcBiSopOsz5Y6mYrX1jXxtKgHflx4HfOZFe/3Qy8XN519PeGP41RL4eTjmXrGQYZi5zNGj6XQUSu7YlSRtJvrd7cwt5XOcx//Rwn/r0f/NJDmUhbvOTVwpk55MGWO7CilZCi41phu7FVWrE/Q1mKdxBOn9rDk2d0HezBTTXcvQdPObhsq5U9CY5AvXZcq9DXWNqQY7qOmO1kGFHoLzj61ANAayq8EumCQoyWIHLhas4MOG4kyypFHlc9472A7oCAmOonrrCCdc12LkcUJKrZ17wTs3JtWPviTNd29PfuOPW90NNIeNAXjepzb3csLAKFPA+Nyr8bBr0a7m8uL9mpr+Lzf7VjvBQWjwxSIo1QDyNUJ8n7/n2fSw4zKiKmlkVTo5riNEuQh9juTg4I2R10sbz74cVz/44iO7jOqtSg3FGrwhq/jHtxuQNXdeTVVQdGawacUq686y2ks1P/Vz3Ji7VXcD4tdEfqQt2VCNlyyx+R7zYoW4JVFLJvBj8RK7QMthC7Mqq7WqN8PLAfCBhBmvmJPWZ20xckXHoZnRtESIRdFmJUoBmz5dc5B7tbPyUJjTXeYi5FJAEEW6Kr3NL10S+UQEUToTdjjVGVwzzA+8qsy4qffciye3+sBrJcZrquc6HOx7NTmAnxe6y3RfLBQ+N+5Gk5CbZS91PTh7/+H0mxNbHGpomv6xklxgZmmOi5gAbptAHQeBBoAIIx7mmHMEWBHO4vOAmkhooATYjjlinPgAzAUiGMMephxJwLYg1hAFEIIk2JTiduHRM4EQQy4RhTKJ2VaIUxsxlyGwKXA6dVgIHzjwM8IQE0QNCwBTRbgNxrklCHUYBSE5CCoR4R0SQDAnQRZhgs7CNU4Q8ypSMLOIqtI7mXAtpV2XVW/pkmIq4Xa4RoxYC0GUIla408UlcAGcCzWqACT48FblEsVGhHLisxJA2ADK93ktc4MMnWRh4DKCKEPFEZIJl5RiwAIjEN/dC04EgAfYlkQgpoSHOQhGCQEmEOGSf5iigC76fhthlv+IWW6MURZrE0hDkBK4RC4IC+NEiNj2RAAC3wUmuAKELRJolhEpJAGJQXKugrAVXpwJFr4QSjApkgQVF8aKxEWZobDKb8RcUnMA5MJ+RRWqsMJGgRASgBgCEI2V44JllgVAKUMNGmIM5miGmI8BLYrwshBz7kGTM5syt0mXCEGi5TJCHUztRCaWgygw5gqyQVKcFsEkrEoiIDITLI3CWEamjSnHHFPEJz6TXkl6G4iDSuTmJWM+JxYR1GIsRaIBTGiAEZne5jzl10SzW2F1F2enXs1a0yzbuY0j/TvnbMp1TVkxr9ixYNmkQsuWWdsz6W2zt7qdE5cvDKbOXzm51LZ57o78rsFw3raKonexXbYqhOS+9nLcOo93eUWMvcmebAbVWVk3IKWpfh6AqIAFF2evzw7BHOUrSeF7p2bM8Hi1q3S5zR/RnA6ngDElDYHLsmknY8axHWphiKxovRsIP89jSBIzivQw7JcNr1DOskhXiZkkMv55RMo/ONuIpfS+fPPB9OXiqtFltS3l92Lr4mV56UL/u4aItOpsIMwakcU03I2zEUzHeejV9rW82FWbeb0IUh2kWCtaXZle6KhCRlYbpPdOtarH8ZfxgVVXo0kLUghkb9EIzV7MHbzvS/6+bhra+0bR7ni3cARJcdbRzu1mn67j8FjXjh7jXT1QUwdKx+Grgctqef/FqCntw2XvXrBXHLoUQ0omP4OqGeQ9OlJnVT7xDBcpz/bH4XgJLlw4MpgeurkYWRXSBeH8bQ2wXR2uqcpQ+T3YbIfO3GgfjBZXLm9pi54L85EaucK7n0144UI5sTC90omszhpD6dZ0Zm388EEbKFp/8TJ8jeGPZOtcazoaboLSdXnNvtLS/TLGIedBhSvWVXW9DQgaDXuHClmyA8Qxea/SucYjSzvw0DY6jsfSPOyXvGQDAx7Rrq+K7XASkTNrRF1F1lyexJWWDEIEcsKfelnUQL7f9KYo5oJIGnWTqFq5Hk7dxZsYGUiKoGbF6rCJAXJV3ATN76ChQkomwJPQHjhqfUseYvSF76e54H3zzoZjIwzbh6Kf6wZvLGo6d2t8auT20mZ1Me2erfEOaLHpTjixbiza3Hw/mdJS4ieuG/jCXEYLhOkPn+sTyhnVVfQ6meHn7W58Ri9u4FHMz9dWXE6mLJ8VdjmZSiAuk8aN2C0jIODK8bFo+Zl8CMoYGZKN2bHPFzrIrbDeJ0fydH+ujA91hpTDvv1TZN+fmlnsvp0ABqJMxggjwhqtJdvJiZY4pGHUGSUHXXFR181i3Fmp6DoXr0yi7bR/yuKAaLi1rw/bLd2ZdE+WkN5cfw+2W8+2tr48IT/kgcsEY60n29KtE3UMDJgfhKk2JQreN2Jbc8jH28prr6vV+lVr1SpvxEzk4XiJq67Ya4xrcu3aT78kWWxo6XqkzGw6ZYXrKLyL71W3WASleXk2gaVFvQZHRpBfkbd0fI260Saw5eWVhnXbi/aeI8b5XGMC9lYy1IJJQuV+vzVF2UVr/Pq9oxiV7YU1osbeE68t7GtQGTIrDhauLtdBeXmQLlFjNcvZifzFJVehuF89GFmeDc3JY2YEUuAG33085pO/WeY1lkIoUaPrqfz9hMnb59sAUwKZGXPysiHdLuEeUNbJ7bKCntAG2A43hNqNS+8B1t+4+8vAnjlqsp2snmNfPTkA4h+QbnmrPKZESMNTobHRS7jLCPgydpa4wWBbPr7Jo0FsM4xf7tHkTXcW28T7H+/3nOJqzzbVL//fYRozenJz4U69efOUnYVm/ZTNUWMFjsJrXa0tdJzW0oo7o+H0FvJBwllBl+A2Hxfc0nfpzxArMt0QjowjVeImjd5AmkSfTGrDyfRJIEEZ1eu45XmrCs56nu3ttVy90Vfnurq77m0wa7hYJ4FL6MSMIE/FVVM7l98VMriLpz7iH0vi/QYBI4xOa22xhlhbEMaWvn9Bjk+m69+uS3yWxxL2IceEDqQFsZNrzOHxSKZIjcRb/5ZWS9qtU7e2U6slDySpBSSkFkndehRaR0yOn2H/Tl8Hndy6fB9CFVKRFqsAOQEWKahjplIgcLnsqsTFaT/GJn4kk7PZFefyO2vbG9Ia6to7889VsLNhFeEjkY0Fsyycj6Q7wmwsxrOu/YxHVz2wRyyWLbxD+sixsKpeUs9Q/6Sdob0EW1IcViMFoxithvCsh8lmYormwEYKjN17cBmbufYxC6ztCihG32VgIwnhsC3YRcJ+DHzK4DCOrR4bk+qfs1jvl7EknWR1TS0SQjB2ZqnCVWHnlkhypwW0wQW+N2sMZkDUXe5poPjcrMWLJEQ4vdo0NcyV1cAiozQ4K3eKBibtWrDfGpb/q5NfepvuySmvqr8pRAJNRlOOw/vRVkh9a/QvA+91VC5xmX/61fUvCWy3OEQERSE+IOlMJgWE1C1fczpELGjUj7ly/Mjv11V6s7f+5+6DC2yjtCWrpmqx1t2phJPPRmu/0kKVqWlOYgSFl8wuKDIWqgSj7CjQqUokdCoaNSMwY3p/GqF13DdebLrPqIikzEwf5r4u/fisiWNoh5Vin9GeFCQrylQEBeVEmkC33urgB5VBWrDcmXpFMEefTkdZttHych7C1cV2OkHZMyKR84Vk/Pb7gD2XkWRkrr61A/bv1zIt71HLWA5W5WV4pxzOMc0dSfOlTPuympA3VtMkOVsIY5ij51iQ7JxMRgHKeCkrka0zBY6Bd7p5xTfzXHc+e4t7BvUgi2W9zuy7S4TrSeMJNhlCXeH3zyWsj9LtYFS8iph/HxjppXg/3BvYRz7v+qIg6hReCpujG1KpUdOacMv8gU2bvhrVdA39V/4cUthuY2SZ/cuaq0DrCqk9bHiipPgPCP7XfRj/1Mzd9ALIhE79GXZhxI/2+eFGvty8rpyzQCxn98obpOczxwgZUiec8wQhyGaUz/FrhwRamcn1JnrT0+gN7oHXWw6Eitgnaj7Dl1LgytLYRkyn89YxBzXYaPJAtxtPL1WJL6RM83bT3d8iykbWlNerCE3YtdL7pAyjTI4cRclxCA9kOtGPb78wZFVASmORY7vRHpN1ZAqGtE8azjRAJuVOzg/YlnO2bozNkLQGz9qNjAwpLs9tMCFoYAfD11P+XqcnfZHy3/59aACfzVXRHILFoZpQDTIyyqycN7h2DtHamyVTRtbIWywy3Z5yBek4rPQCsWM2cB8HikjNw8QN3WZjm1F4K8rstSy/MODa7XyORXMat2jyd1KUkphrFZR2/b31BqHcyFSWoUzFhjUwx29i1EX47rizt4oQ2Y6HkAIlDtPe4gw2oxxhO4442Iivbnvx7OM+AuXGC1JglVHOgetakROHBlTKe33tSOv6QNTTkyFb2yu7duj9xoj3fdcQx7pAZ49tHxQSrUyilGmV8cnIJYrZomUMN5kbY+1mcPAdfWxqQuVITZYqmnr64+bSyAkMM2PiqgQqoFo82JXuiOt8sgs047nlneo+u8JSHjElJFyEbO6qWH21yjFydiJzmHR4G9uwxCDuIz+PsbMo+NMPG5N3KA4YnatNVil2jFO7Lx6zruhwe3SmctJseOeNGztLhpcf3ulcZiZkijteQp18fEbiMjAuhXzABsAVVvYQhobqexI1VrOcOPIR30949IiAvH9iZImpmoYjb5Cr8j27p/BGWN7SouZrqcnIG/oH+puc8V58daR/lAb0f3y2JXxDvybfs6dxybF9hNunvz021YsQpfFXR4KfyCqG/WRXFaz+11ZE9nTYIr1Mkz0pNdXkNRkdSUxCbXHwhOku8+a5pLtmGZBh+o4sDZg5kHHuXCNkgBogEQEGIEx186RKvnFt6KwcGxIHkJgWiGFZkIVvGRr6bJaNP/KOKyuzCCwoWrpeEkguPzbv4PSj8z6ldYJKgynUBKpzF4lj1H9IFpmyj8yd4n5pER7aKl6Um1RYVBjbMVKB54bmRlsvlOz7DVRH6CNAdaSPxs/frw4U6bUBkYrNAFWxlGiESwSqtbAQADSSqWRGOB8vHLq1Wa5Ifgfpy999f4NnC6ilXENtYtNsJoD4neKz/qepXeGb66gprJXW8Rgp6nvwu9fB3o28PF4L5oR1U0/xIawr8KjLO7CvfORHwJ+R/p07oq3krqTxaumm5ST5zCIA8U9Tz/p3iruMc5nqbKxUPK8oHggM1B6h5+T0te1eUpllm67flrQqqZSxvtiRo6fTw9ihvVeaZEmyMY9oj0i/eYIErQOR+fF74frVeDi7rxyVpZWrpFOmSFVybaNcE+hTViXTyhs1chAJMpVc0yjXyhjlpBp5pqYHHuxTvsHB/jV6MNUD69CVGw6WhCVW0q7jnQqNTsBgH0+CyMuV7cx/oOmcV1smRnwReMtMBjLF1z1o5uT/UDXabOSs4jxfvZAxw1ZgNXBKoUsmViTajkY+vxA46eTE/KcGSA9Dj/ELI9pDElTK8aveC/5QFAT3pGwAibpMcoH6z4AbjpuxGNbdydsNDTROgXXhri2xHjND4vZLmXlSxOaCYN8CDZPZPHLyymTlhISMVIBYRT9MvM+ayBog3iEOsGYJ4n7J56fnf8WCrLPacnDmHWZ52yZaLwVGgBggp0U33b7FzniSU7xwW8PmrZ1WSqdt9bjZTfBM83HZzJRnJ6uW2IQf5tbNMntf3czgFGdsZmqdBKLLcgxHNofmkp3MS5aYoaz9BxOEfx1fGvUONzi74Ph77tYjvlC47JRooGqOHGLaXOy76E9oLnOglXEq3brF4jTzt2xxKvW9QDB30Z8TfOEFMIHBHcBIkF+2G5binuGDqp3VaFTQpFc+73HcxRk3vL9vMDBRAw4Gk7sJgz/ru2GDg2qI8HPQMfj5kzzMPwC/fg2z7cDrVwcIk796RdBf9VevsUsu0jynhth/RP+MHT12p2hn/HqRjACFEy0nGmIWc9fkZmetbpvJr1EhxoKnE0PnRsdN+eRIakNGmSqcAs0004ksQbmrZDFmHKBeIwTlcn+CJ5V3V9h4Fy7Nqazcwe1C2y1Y6cepfZr97mb2kmPFiWipS+pI5eUbvbw0fpQdOH1poF/D0uSajKixf0AFk2V2a8X581plu0aZkRGwWW1kaYaHfhtat+7usrtv1tBwQ3+jSk178UYr+8xpzBkjy9A7LS2g1CZHNwxzsHxkGARGeuBDsNKYfKPdsPeZ2+DTcD5rci+8A1aFuwmId4ojK4z1hf8981WHYT6ViF1VWrmgNqLwYv/Bvgj3wYo8VYcQ7oHXAI6LBNAXpUrL6No9+VnXYVFxI/wEnvRncWugf803Xj6a+JlC/0+5yfV7vu1gBruRq2fCoUaDGIOUK/gjuNp7bTTAVXeZgr/fnTzKvnK6r923GyTCgZy3oZBKmtpv1zbuogZI5YPgz98NObf6aC2y5+9wreVMN0SMBcvqPgAO3WdMD6gwDCG63zM9ZTovl67QwGojlwDTuGK68PxMN9T5Giy6/4JD97/pAW3+5ZD+stNTNt36KitM0tHRgwXuIGRBxVCQjrzWjcxd3yD2ilshc93eF9gMSbPTrO6t5AU02Dxssjw+OxexyFLKnlcWoBQxYykB4faSYnM5zD60t90LShsj5rMA57TZQ4xAtTQSiBad3hkFvvwbEPMUzkbUeV76C7AyeO6ME3uOBPeLqkl11kWfycXOOIFHmBK1SGppzyIHSi4kDMNuKQEEZ49METUuHIQDRVR1X76WjgeV3levdOF+GVk5BQoVKVbyE1RzVdVUV5+8sk+ueWqq9d/Dk9UIemcAa4mDTHIdG9S9TJJPcMyNUSi4Q9L9EHUc8vDYCgYF6Jqo6zoilc0KW/IKnmuFi86GXR65hqMv0quxMtng+5pTIrBSz0tCgo5Lv+MKDa9mSSFke+pRO1IsQEjuuuWZhbybSZ/4QYVM/HjQpCK/9EXAINGgyAf7LVOeJeAY+nUg4si7vbfRAAA=') format('woff2'),
url('iconfont.woff?t=1572350240955') format('woff'),
url('iconfont.ttf?t=1572350240955') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1572350240955#iconfont') format('svg'); /* iOS 4.1- */
src: url('iconfont.eot?t=1572709662529'); /* IE9 */
src: url('iconfont.eot?t=1572709662529#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('iconfont.woff?t=1572709662529') format('woff'),
url('iconfont.ttf?t=1572709662529') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1572709662529#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
......@@ -91,6 +91,10 @@
content: "\e791";
}
.icon-xiaochengxu-qq:before {
content: "\e65e";
}
.icon-zhifubao:before {
content: "\e629";
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册