mirror of
https://gitee.com/zongzhige/shopxo.git
synced 2026-06-06 16:21:54 +08:00
用户多端共享优化、图标导航支持纯净模式
This commit is contained in:
@ -117,6 +117,16 @@ class AppCenterNav
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['desc'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'desc',
|
||||
'is_sort' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'where_type' => 'like',
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['is_enable'],
|
||||
'view_type' => 'status',
|
||||
|
||||
@ -46,7 +46,6 @@ class Brand
|
||||
'status_field' => 'is_enable',
|
||||
'is_search' => 1,
|
||||
'is_delete' => 1,
|
||||
'delete_url' => MyUrl('admin/brand/delete'),
|
||||
'delete_key' => 'ids',
|
||||
'detail_title' => MyLang('form_table_base_detail_title'),
|
||||
'is_middle' => 0,
|
||||
|
||||
@ -46,7 +46,6 @@ class Order
|
||||
'base' => [
|
||||
'key_field' => 'id',
|
||||
'is_search' => 1,
|
||||
'search_url' => MyUrl('admin/order/index'),
|
||||
'detail_title' => MyLang('form_table_base_detail_title'),
|
||||
'is_middle' => 0,
|
||||
],
|
||||
|
||||
@ -45,6 +45,7 @@ class User
|
||||
'is_delete' => 1,
|
||||
'is_middle' => 0,
|
||||
'is_data_export_excel' => 1,
|
||||
'detail_title' => MyLang('form_table_base_detail_title'),
|
||||
],
|
||||
// 表单配置
|
||||
'form' => [
|
||||
@ -81,13 +82,33 @@ class User
|
||||
[
|
||||
'label' => $lang['system_type'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'system_type',
|
||||
'is_sort' => 1,
|
||||
'view_key' => 'system_type_text',
|
||||
'text_truncate' => 2,
|
||||
'is_popover' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'select',
|
||||
'where_type' => 'in',
|
||||
'data' => $this->SystemTypeList(),
|
||||
'is_multiple' => 1,
|
||||
'form_type' => 'select',
|
||||
'form_name' => 'id',
|
||||
'where_type_custom' => 'in',
|
||||
'where_value_custom' => 'WhereValueSystemType',
|
||||
'data' => $this->SystemTypeList(),
|
||||
'is_multiple' => 1,
|
||||
],
|
||||
],
|
||||
[
|
||||
'label' => $lang['platform'],
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'platform_text',
|
||||
'text_truncate' => 2,
|
||||
'is_popover' => 1,
|
||||
'search_config' => [
|
||||
'form_type' => 'select',
|
||||
'form_name' => 'id',
|
||||
'where_type_custom' => 'in',
|
||||
'where_value_custom' => 'WhereValuePlatform',
|
||||
'data' => MyLang('common_platform_type'),
|
||||
'data_key' => 'value',
|
||||
'data_name' => 'name',
|
||||
'is_multiple' => 1,
|
||||
],
|
||||
],
|
||||
[
|
||||
@ -288,6 +309,52 @@ class User
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 系统类型条件处理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-06-08
|
||||
* @desc description
|
||||
* @param [string] $value [条件值]
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public function WhereValueSystemType($value, $params = [])
|
||||
{
|
||||
if(!empty($value))
|
||||
{
|
||||
// 获取用户 id
|
||||
$ids = Db::name('UserPlatform')->where('system_type', 'in', $value)->column('user_id');
|
||||
|
||||
// 避免空条件造成无效的错觉
|
||||
return empty($ids) ? [0] : $ids;
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户平台条件处理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-06-08
|
||||
* @desc description
|
||||
* @param [string] $value [条件值]
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public function WhereValuePlatform($value, $params = [])
|
||||
{
|
||||
if(!empty($value))
|
||||
{
|
||||
// 获取用户 id
|
||||
$ids = Db::name('UserPlatform')->where('platform', 'in', $value)->column('user_id');
|
||||
|
||||
// 避免空条件造成无效的错觉
|
||||
return empty($ids) ? [0] : $ids;
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户信息条件处理
|
||||
* @author Devil
|
||||
@ -321,7 +388,7 @@ class User
|
||||
*/
|
||||
public function SystemTypeList()
|
||||
{
|
||||
return Db::name('User')->group('system_type')->column('system_type', 'system_type');
|
||||
return Db::name('UserPlatform')->group('system_type')->column('system_type', 'system_type');
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -87,6 +87,7 @@ return [
|
||||
'id' => 'User ID',
|
||||
'number_code' => 'Number Code',
|
||||
'system_type' => 'System Type',
|
||||
'platform' => 'Platform',
|
||||
'avatar' => 'Avatar',
|
||||
'username' => 'Username',
|
||||
'nickname' => 'Nickname',
|
||||
@ -914,6 +915,7 @@ return [
|
||||
'images_url' => 'Icon',
|
||||
'event_type' => 'Event Tyoe',
|
||||
'event_value' => 'Event Value',
|
||||
'desc' => 'Desc',
|
||||
'is_enable' => 'Enable or not',
|
||||
'is_need_login' => 'Whether to log in',
|
||||
'sort' => 'Sort',
|
||||
|
||||
@ -87,6 +87,7 @@ return [
|
||||
'id' => '用户ID',
|
||||
'number_code' => '会员码',
|
||||
'system_type' => '系统类型',
|
||||
'platform' => '所属平台',
|
||||
'avatar' => '头像',
|
||||
'username' => '用户名',
|
||||
'nickname' => '昵称',
|
||||
@ -899,6 +900,7 @@ return [
|
||||
'images_url' => '导航图标',
|
||||
'event_type' => '事件类型',
|
||||
'event_value' => '事件值',
|
||||
'desc' => '描述',
|
||||
'is_enable' => '是否启用',
|
||||
'is_need_login' => '是否需登录',
|
||||
'sort' => '排序',
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
<!-- 图标 -->
|
||||
{{if !empty($module_data) and !empty($module_data['images_url'])}}
|
||||
<div class="am-circle nav-icon-circle" style="background-color:{{if empty($module_data['bg_color'])}}#d0d0d0{{else /}}{{$module_data.bg_color}}{{/if}};">
|
||||
<a href="{{$module_data['images_url']}}" target="_blank">
|
||||
<img src="{{$module_data['images_url']}}" class="am-radius am-vertical-align-middle" width="30" height="30" />
|
||||
<div class="am-circle nav-icon-circle" {{if !empty($module_data['bg_color'])}}style="background-color:{{$module_data.bg_color}};"{{/if}}>
|
||||
<a href="{{$module_data['images_url']}}" target="_blank" class="am-block">
|
||||
<img src="{{$module_data['images_url']}}" class="am-radius am-vertical-align-middle" {{if empty($module_data['bg_color'])}}width="50" height="50"{{else /}}width="30" height="30"{{/if}} />
|
||||
</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
@ -1,8 +1,8 @@
|
||||
<!-- 图标 -->
|
||||
{{if !empty($module_data) and !empty($module_data['images_url'])}}
|
||||
<div class="am-circle nav-icon-circle" style="background-color:{{if empty($module_data['bg_color'])}}#d0d0d0{{else /}}{{$module_data.bg_color}}{{/if}};">
|
||||
<a href="{{$module_data['images_url']}}" target="_blank">
|
||||
<img src="{{$module_data['images_url']}}" class="am-radius am-vertical-align-middle" width="30" height="30" />
|
||||
<div class="am-circle nav-icon-circle" {{if !empty($module_data['bg_color'])}}style="background-color:{{$module_data.bg_color}};"{{/if}}>
|
||||
<a href="{{$module_data['images_url']}}" target="_blank" class="am-block">
|
||||
<img src="{{$module_data['images_url']}}" class="am-radius am-vertical-align-middle" {{if empty($module_data['bg_color'])}}width="50" height="50"{{else /}}width="30" height="30"{{/if}} />
|
||||
</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
@ -1,2 +1,57 @@
|
||||
<!-- 继承公共的 form -->
|
||||
{{extend name="public/module/detail" /}}
|
||||
{{extend name="public/module/detail" /}}
|
||||
|
||||
<!-- 重写数据模块 -->
|
||||
{{block name="detail_data"}}
|
||||
<!-- 父级内容 -->
|
||||
{__block__}
|
||||
|
||||
<!-- 用户平台信息 -->
|
||||
<div class="am-panel am-panel-default">
|
||||
<div class="am-panel-hd">{{:MyLang('common_service.user.detail_platform_title')}}</div>
|
||||
<div class="am-panel-bd">
|
||||
{{if !empty($data['user_platform_data'])}}
|
||||
<div class="am-scrollable-horizontal">
|
||||
<table class="am-table am-table-bordered am-table-striped am-text-nowrap am-margin-bottom-0">
|
||||
<head>
|
||||
<tr>
|
||||
<th>{{:MyLang('common_service.user.detail_system_type')}}</th>
|
||||
<th>{{:MyLang('common_service.user.detail_platform')}}</th>
|
||||
<th>{{:MyLang('common_service.user.detail_alipay_openid')}}</th>
|
||||
<th>{{:MyLang('common_service.user.detail_baidu_openid')}}</th>
|
||||
<th>{{:MyLang('common_service.user.detail_toutiao_openid')}}</th>
|
||||
<th>{{:MyLang('common_service.user.detail_toutiao_unionid')}}</th>
|
||||
<th>{{:MyLang('common_service.user.detail_qq_openid')}}</th>
|
||||
<th>{{:MyLang('common_service.user.detail_qq_unionid')}}</th>
|
||||
<th>{{:MyLang('common_service.user.detail_weixin_openid')}}</th>
|
||||
<th>{{:MyLang('common_service.user.detail_weixin_unionid')}}</th>
|
||||
<th>{{:MyLang('common_service.user.detail_weixin_web_openid')}}</th>
|
||||
<th>{{:MyLang('common_service.user.detail_kuaishou_openid')}}</th>
|
||||
</tr>
|
||||
</head>
|
||||
<tbody>
|
||||
{{foreach $data.user_platform_data as $v}}
|
||||
<tr>
|
||||
<td>{{$v.system_type}}</td>
|
||||
<td>{{$v.platform_name}}</td>
|
||||
<td>{{$v.alipay_openid}}</td>
|
||||
<td>{{$v.baidu_openid}}</td>
|
||||
<td>{{$v.toutiao_openid}}</td>
|
||||
<td>{{$v.toutiao_unionid}}</td>
|
||||
<td>{{$v.qq_openid}}</td>
|
||||
<td>{{$v.qq_unionid}}</td>
|
||||
<td>{{$v.weixin_openid}}</td>
|
||||
<td>{{$v.weixin_unionid}}</td>
|
||||
<td>{{$v.weixin_web_openid}}</td>
|
||||
<td>{{$v.kuaishou_openid}}</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{else /}}
|
||||
{{include file="public/not_data" /}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
{{/block}}
|
||||
@ -10,13 +10,7 @@
|
||||
<a href="{{:MyUrl('admin/user/index', $params)}}" class="am-fr am-text-sm am-margin-top-sm am-icon-mail-reply"> {{:MyLang('retreat_title')}}</a>
|
||||
</legend>
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_system_type')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.user.form_item_system_type_tips')}}</span></label>
|
||||
<input type="text" name="system_type_name" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_system_type_message')}}" data-validation-message="{{:MyLang('common_service.user.form_item_system_type_message')}}" value="{{if empty($data['system_type'])}}default{{else /}}{{$data.system_type}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-u-md-6 am-padding-horizontal-0">
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
@ -32,6 +26,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-md-6 am-padding-horizontal-0">
|
||||
{{include file="lib/gender" /}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
@ -47,97 +44,27 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_alipay_openid')}}</label>
|
||||
<input type="text" name="alipay_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_alipay_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_alipay_openid_message')}}" value="{{if !empty($data['alipay_openid'])}}{{$data.alipay_openid}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_baidu_openid')}}</label>
|
||||
<input type="text" name="baidu_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_baidu_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_baidu_openid_message')}}" value="{{if !empty($data['baidu_openid'])}}{{$data.baidu_openid}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_toutiao_openid')}}</label>
|
||||
<input type="text" name="toutiao_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_toutiao_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_toutiao_openid_message')}}" value="{{if !empty($data['toutiao_openid'])}}{{$data.toutiao_openid}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_toutiao_unionid')}}</label>
|
||||
<input type="text" name="toutiao_unionid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_toutiao_unionid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_toutiao_unionid_message')}}" value="{{if !empty($data['toutiao_unionid'])}}{{$data.toutiao_unionid}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_qq_openid')}}</label>
|
||||
<input type="text" name="qq_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_qq_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_qq_openid_message')}}" value="{{if !empty($data['qq_openid'])}}{{$data.qq_openid}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_qq_unionid')}}</label>
|
||||
<input type="text" name="qq_unionid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_qq_unionid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_qq_unionid_message')}}" value="{{if !empty($data['qq_unionid'])}}{{$data.qq_unionid}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_weixin_openid')}}</label>
|
||||
<input type="text" name="weixin_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_weixin_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_weixin_openid_message')}}" value="{{if !empty($data['weixin_openid'])}}{{$data.weixin_openid}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_weixin_unionid')}}</label>
|
||||
<input type="text" name="weixin_unionid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_weixin_unionid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_weixin_unionid_message')}}" value="{{if !empty($data['weixin_unionid'])}}{{$data.weixin_unionid}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_web_weixin_openid')}}</label>
|
||||
<input type="text" name="weixin_web_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_web_weixin_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_web_weixin_openid_message')}}" value="{{if !empty($data['weixin_web_openid'])}}{{$data.weixin_web_openid}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-6 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_kuaishou_openid')}}</label>
|
||||
<input type="text" name="kuaishou_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_kuaishou_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_kuaishou_openid_message')}}" value="{{if !empty($data['kuaishou_openid'])}}{{$data.kuaishou_openid}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-cf">
|
||||
<div class="am-u-sm-3 am-padding-horizontal-0">
|
||||
<div class="am-u-sm-4 am-u-md-3 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_province')}}</label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.user.form_item_province')}}" name="province" data-validation-message="{{:MyLang('common_service.user.form_item_province_message')}}" class="am-radius" value="{{if !empty($data['province'])}}{{$data.province}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-3 am-padding-horizontal-0">
|
||||
<div class="am-u-sm-4 am-u-md-3 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_city')}}</label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.user.form_item_city')}}" name="city" data-validation-message="{{:MyLang('common_service.user.form_item_city_message')}}" class="am-radius" value="{{if !empty($data['city'])}}{{$data.city}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-3 am-padding-horizontal-0">
|
||||
<div class="am-u-sm-4 am-u-md-3 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_county')}}</label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.user.form_item_county')}}" name="county" data-validation-message="{{:MyLang('common_service.user.form_item_county_message')}}" class="am-radius" value="{{if !empty($data['county'])}}{{$data.county}}{{/if}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="am-u-sm-3 am-padding-horizontal-0">
|
||||
<div class="am-u-sm-12 am-u-md-3 am-padding-horizontal-0">
|
||||
<div class="am-form-group">
|
||||
<label>{{:MyLang('common_service.user.form_item_address')}}</label>
|
||||
<input type="text" placeholder="{{:MyLang('common_service.user.form_item_address')}}" name="address" data-validation-message="{{:MyLang('common_service.user.form_item_address_message')}}" class="am-radius" value="{{if !empty($data['address'])}}{{$data.address}}{{/if}}" />
|
||||
@ -187,8 +114,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{include file="lib/gender" /}}
|
||||
|
||||
<!-- 插件扩展数据 start -->
|
||||
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
|
||||
<div class="plugins-tag">
|
||||
|
||||
@ -89,6 +89,9 @@ class Common extends BaseController
|
||||
|
||||
// 公共数据初始化
|
||||
$this->CommonInit();
|
||||
|
||||
// token验证
|
||||
$this->TokenCheck();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -214,6 +217,21 @@ class Common extends BaseController
|
||||
$this->page_size = 10;
|
||||
}
|
||||
|
||||
/**
|
||||
* token验证
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2018-04-18T16:20:58+0800
|
||||
*/
|
||||
private function TokenCheck()
|
||||
{
|
||||
if(!empty($this->user) && !empty($this->data_request['token']) && $this->data_request['token'] != ApiService::CreatedUserToken($this->user['id']))
|
||||
{
|
||||
exit(json_encode(DataReturn('token非法', -1000)));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 空方法响应
|
||||
* @author Devil
|
||||
|
||||
@ -2170,9 +2170,6 @@ return [
|
||||
// 用户
|
||||
'user' => [
|
||||
// 表单
|
||||
'form_item_system_type' => 'System Type',
|
||||
'form_item_system_type_tips' => 'default',
|
||||
'form_item_system_type_message' => 'System type 2~60 characters',
|
||||
'form_item_username' => 'Username',
|
||||
'form_item_username_message' => 'User name 2~30 characters',
|
||||
'form_item_nickname' => 'Nickname',
|
||||
@ -2181,26 +2178,6 @@ return [
|
||||
'form_item_mobile_message' => 'Mobile number format error',
|
||||
'form_item_email' => 'E-mail',
|
||||
'form_item_email_message' => 'Email format error',
|
||||
'form_item_alipay_openid' => 'Alipay openid',
|
||||
'form_item_alipay_openid_message' => 'Please fill in Alipay openid',
|
||||
'form_item_baidu_openid' => 'Baidu openid',
|
||||
'form_item_baidu_openid_message' => 'Please fill in Baidu openid',
|
||||
'form_item_toutiao_openid' => 'Toutiao openid',
|
||||
'form_item_toutiao_openid_message' => 'Please fill in the header openid',
|
||||
'form_item_toutiao_unionid' => 'Toutiao unionid',
|
||||
'form_item_toutiao_unionid_message' => 'Please fill in the headline unionid',
|
||||
'form_item_qq_openid' => 'QQopenid',
|
||||
'form_item_qq_openid_message' => 'Please fill in QQ openid',
|
||||
'form_item_qq_unionid' => 'QQunionid',
|
||||
'form_item_qq_unionid_message' => 'Please fill in QQuinonid',
|
||||
'form_item_weixin_openid' => 'WeChat openid',
|
||||
'form_item_weixin_openid_message' => 'Please fill in WeChat openid',
|
||||
'form_item_weixin_unionid' => 'WeChat unionid',
|
||||
'form_item_weixin_unionid_message' => 'Please fill in WeChat unionid',
|
||||
'form_item_web_weixin_openid' => 'WeChat webopenid',
|
||||
'form_item_web_weixin_openid_message' => 'Please fill in WeChat webopenid',
|
||||
'form_item_kuaishou_openid' => 'Kwai openid',
|
||||
'form_item_kuaishou_openid_message' => 'Please fill in the Kwai openid',
|
||||
'form_item_province' => 'Province',
|
||||
'form_item_province_message' => 'Maximum 60 characters in the province',
|
||||
'form_item_city' => 'City',
|
||||
@ -2220,6 +2197,20 @@ return [
|
||||
'form_item_pwd' => 'Login Password',
|
||||
'form_item_pwd_tips' => 'Enter to change the password',
|
||||
'form_item_pwd_message' => 'Login password format is between 6 and 18 characters',
|
||||
// 详情
|
||||
'detail_platform_title' => 'User Platform Info',
|
||||
'detail_system_type' => 'System Type',
|
||||
'detail_platform' => 'Platform',
|
||||
'detail_alipay_openid' => 'Alipay openid',
|
||||
'detail_baidu_openid' => 'Baidu openid',
|
||||
'detail_toutiao_openid' => 'Toutiao openid',
|
||||
'detail_toutiao_unionid' => 'Toutiao unionid',
|
||||
'detail_qq_openid' => 'QQopenid',
|
||||
'detail_qq_unionid' => 'QQunionid',
|
||||
'detail_weixin_openid' => 'WeChat openid',
|
||||
'detail_weixin_unionid' => 'WeChat unionid',
|
||||
'detail_web_weixin_openid' => 'WeChat webopenid',
|
||||
'detail_kuaishou_openid' => 'Kwai openid',
|
||||
// 保存
|
||||
'save_admin_info_error_tips' => 'The current operation administrator information is incorrect',
|
||||
'save_user_already_exist_tips' => 'User already exists[{$var}]',
|
||||
|
||||
@ -2175,9 +2175,6 @@ return [
|
||||
// 用户
|
||||
'user' => [
|
||||
// 表单
|
||||
'form_item_system_type' => '系统类型',
|
||||
'form_item_system_type_tips' => '默认 default',
|
||||
'form_item_system_type_message' => '系统类型2~60字符',
|
||||
'form_item_username' => '用户名',
|
||||
'form_item_username_message' => '用户名2~30个字符',
|
||||
'form_item_nickname' => '昵称',
|
||||
@ -2186,26 +2183,6 @@ return [
|
||||
'form_item_mobile_message' => '手机号码格式错误',
|
||||
'form_item_email' => '电子邮箱',
|
||||
'form_item_email_message' => '电子邮箱格式错误',
|
||||
'form_item_alipay_openid' => '支付宝openid',
|
||||
'form_item_alipay_openid_message' => '请填写支付宝openid',
|
||||
'form_item_baidu_openid' => '百度openid',
|
||||
'form_item_baidu_openid_message' => '请填写百度openid',
|
||||
'form_item_toutiao_openid' => '头条openid',
|
||||
'form_item_toutiao_openid_message' => '请填写头条openid',
|
||||
'form_item_toutiao_unionid' => '头条unionid',
|
||||
'form_item_toutiao_unionid_message' => '请填写头条unionid',
|
||||
'form_item_qq_openid' => 'QQopenid',
|
||||
'form_item_qq_openid_message' => '请填写QQopenid',
|
||||
'form_item_qq_unionid' => 'QQunionid',
|
||||
'form_item_qq_unionid_message' => '请填写QQunionid',
|
||||
'form_item_weixin_openid' => '微信openid',
|
||||
'form_item_weixin_openid_message' => '请填写微信openid',
|
||||
'form_item_weixin_unionid' => '微信unionid',
|
||||
'form_item_weixin_unionid_message' => '请填写微信unionid',
|
||||
'form_item_web_weixin_openid' => '微信webopenid',
|
||||
'form_item_web_weixin_openid_message' => '请填写微信webopenid',
|
||||
'form_item_kuaishou_openid' => '快手openid',
|
||||
'form_item_kuaishou_openid_message' => '请填写快手openid',
|
||||
'form_item_province' => '所在省',
|
||||
'form_item_province_message' => '所在省最多60个字符',
|
||||
'form_item_city' => '所在市',
|
||||
@ -2225,6 +2202,20 @@ return [
|
||||
'form_item_pwd' => '登录密码',
|
||||
'form_item_pwd_tips' => '输入则修改密码',
|
||||
'form_item_pwd_message' => '登录密码格式6~18个字符之间',
|
||||
// 详情
|
||||
'detail_platform_title' => '用户平台信息',
|
||||
'detail_system_type' => '系统类型',
|
||||
'detail_platform' => '所属平台',
|
||||
'detail_alipay_openid' => '支付宝openid',
|
||||
'detail_baidu_openid' => '百度openid',
|
||||
'detail_toutiao_openid' => '头条openid',
|
||||
'detail_toutiao_unionid' => '头条unionid',
|
||||
'detail_qq_openid' => 'QQopenid',
|
||||
'detail_qq_unionid' => 'QQunionid',
|
||||
'detail_weixin_openid' => '微信openid',
|
||||
'detail_weixin_unionid' => '微信unionid',
|
||||
'detail_weixin_web_openid' => '微信webopenid',
|
||||
'detail_kuaishou_openid' => '快手openid',
|
||||
// 保存
|
||||
'save_admin_info_error_tips' => '当前操作管理员信息有误',
|
||||
'save_user_already_exist_tips' => '用户已存在[{$var}]',
|
||||
|
||||
@ -42,5 +42,29 @@ class ApiService
|
||||
|
||||
return json($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户token生成
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2021-02-26
|
||||
* @desc description
|
||||
* @param [int] $user_id [用户id]
|
||||
*/
|
||||
public static function CreatedUserToken($user_id)
|
||||
{
|
||||
$arr = ['USER', 'HTTP_USER_AGENT', 'HTTP_HOST', 'SERVER_SOFTWARE', 'GATEWAY_INTERFACE', 'REQUEST_SCHEME', 'SERVER_PROTOCOL'];
|
||||
$data = [GetClientIP(), APPLICATION_CLIENT_TYPE];
|
||||
foreach($arr as $v)
|
||||
{
|
||||
if(isset($_SERVER[$v]))
|
||||
{
|
||||
$data[] = $_SERVER[$v];
|
||||
}
|
||||
}
|
||||
sort($data);
|
||||
return md5(md5(implode('', $data)).md5($user_id));
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -73,7 +73,7 @@ class AppMiniUserService
|
||||
$ret = DataReturn(MyLang('common_service.appminiuser.auth_login_success_tips'), 0, ['is_user_exist'=>0, 'openid'=>$ret['data']['user_id']]);
|
||||
} else {
|
||||
// 用户状态
|
||||
$ret = UserService::UserStatusCheck('id', $user['id']);
|
||||
$ret = UserService::UserStatusCheck($user['id']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
// 标记用户存在
|
||||
@ -131,7 +131,7 @@ class AppMiniUserService
|
||||
$ret = UserService::AuthUserProgram($auth_data, 'alipay_openid');
|
||||
} else {
|
||||
// 用户状态
|
||||
$ret = UserService::UserStatusCheck('id', $user['id']);
|
||||
$ret = UserService::UserStatusCheck($user['id']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
$ret = DataReturn(MyLang('auth_success'), 0, $user);
|
||||
@ -207,7 +207,7 @@ class AppMiniUserService
|
||||
// 用户状态
|
||||
if(!empty($user))
|
||||
{
|
||||
$ret = UserService::UserStatusCheck('id', $user['id']);
|
||||
$ret = UserService::UserStatusCheck($user['id']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
// 标记用户存在
|
||||
@ -263,7 +263,7 @@ class AppMiniUserService
|
||||
$ret = UserService::AuthUserProgram($auth_data, 'weixin_openid');
|
||||
} else {
|
||||
// 用户状态
|
||||
$ret = UserService::UserStatusCheck('id', $user['id']);
|
||||
$ret = UserService::UserStatusCheck($user['id']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
$ret = DataReturn(MyLang('auth_success'), 0, $user);
|
||||
@ -299,7 +299,7 @@ class AppMiniUserService
|
||||
if(!empty($user))
|
||||
{
|
||||
// 用户状态
|
||||
$ret = UserService::UserStatusCheck('id', $user['id']);
|
||||
$ret = UserService::UserStatusCheck($user['id']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
// 标记用户存在
|
||||
@ -384,7 +384,7 @@ class AppMiniUserService
|
||||
}
|
||||
} else {
|
||||
// 用户状态
|
||||
$ret = UserService::UserStatusCheck('id', $user['id']);
|
||||
$ret = UserService::UserStatusCheck($user['id']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
$ret = DataReturn(MyLang('auth_success'), 0, $user);
|
||||
@ -454,7 +454,7 @@ class AppMiniUserService
|
||||
// 用户状态
|
||||
if(!empty($user))
|
||||
{
|
||||
$ret = UserService::UserStatusCheck('id', $user['id']);
|
||||
$ret = UserService::UserStatusCheck($user['id']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
// 标记用户存在
|
||||
@ -507,7 +507,7 @@ class AppMiniUserService
|
||||
$ret = UserService::AuthUserProgram($auth_data, 'toutiao_openid');
|
||||
} else {
|
||||
// 用户状态
|
||||
$ret = UserService::UserStatusCheck('id', $user['id']);
|
||||
$ret = UserService::UserStatusCheck($user['id']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
$ret = DataReturn(MyLang('auth_success'), 0, $user);
|
||||
@ -544,7 +544,7 @@ class AppMiniUserService
|
||||
$ret = DataReturn(MyLang('common_service.appminiuser.auth_login_success_tips'), 0, ['is_user_exist'=>0, 'openid'=>$ret['data']['openid']]);
|
||||
} else {
|
||||
// 用户状态
|
||||
$ret = UserService::UserStatusCheck('id', $user['id']);
|
||||
$ret = UserService::UserStatusCheck($user['id']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
// 标记用户存在
|
||||
@ -596,7 +596,7 @@ class AppMiniUserService
|
||||
$ret = UserService::AuthUserProgram($auth_data, 'kuaishou_openid');
|
||||
} else {
|
||||
// 用户状态
|
||||
$ret = UserService::UserStatusCheck('id', $user['id']);
|
||||
$ret = UserService::UserStatusCheck($user['id']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
$ret = DataReturn(MyLang('auth_success'), 0, $user);
|
||||
@ -666,7 +666,7 @@ class AppMiniUserService
|
||||
// 用户状态
|
||||
if(!empty($user))
|
||||
{
|
||||
$ret = UserService::UserStatusCheck('id', $user['id']);
|
||||
$ret = UserService::UserStatusCheck($user['id']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
// 标记用户存在
|
||||
@ -747,7 +747,7 @@ class AppMiniUserService
|
||||
}
|
||||
} else {
|
||||
// 用户状态
|
||||
$ret = UserService::UserStatusCheck('id', $user['id']);
|
||||
$ret = UserService::UserStatusCheck($user['id']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
$ret = DataReturn(MyLang('auth_success'), 0, $user);
|
||||
|
||||
@ -638,7 +638,7 @@ class BuyService
|
||||
$common_order_is_booking = MyC('common_order_is_booking', 0);
|
||||
|
||||
// 查询用户状态是否正常
|
||||
$ret = UserService::UserStatusCheck('id', $params['user']['id']);
|
||||
$ret = UserService::UserStatusCheck($params['user']['id']);
|
||||
if($ret['code'] != 0)
|
||||
{
|
||||
return $ret;
|
||||
|
||||
@ -243,7 +243,7 @@ class GoodsCartService
|
||||
}
|
||||
|
||||
// 查询用户状态是否正常
|
||||
$ret = UserService::UserStatusCheck('id', $params['user']['id']);
|
||||
$ret = UserService::UserStatusCheck($params['user']['id']);
|
||||
if($ret['code'] != 0)
|
||||
{
|
||||
return $ret;
|
||||
@ -391,7 +391,7 @@ class GoodsCartService
|
||||
}
|
||||
|
||||
// 查询用户状态是否正常
|
||||
$ret = UserService::UserStatusCheck('id', $params['user']['id']);
|
||||
$ret = UserService::UserStatusCheck($params['user']['id']);
|
||||
if($ret['code'] != 0)
|
||||
{
|
||||
return $ret;
|
||||
|
||||
@ -56,7 +56,7 @@ class GoodsFavorService
|
||||
}
|
||||
|
||||
// 查询用户状态是否正常
|
||||
$ret = UserService::UserStatusCheck('id', $params['user']['id']);
|
||||
$ret = UserService::UserStatusCheck($params['user']['id']);
|
||||
if($ret['code'] != 0)
|
||||
{
|
||||
return $ret;
|
||||
|
||||
@ -792,9 +792,23 @@ class ResourcesService
|
||||
*/
|
||||
public static function TableStructureData($table)
|
||||
{
|
||||
// 表名处理及sql
|
||||
$table_name = MyConfig('database.connections.mysql.prefix').strtolower(preg_replace('/\B([A-Z])/', '_$1', $table));
|
||||
$res = Db::query('SELECT COLUMN_NAME AS field,COLUMN_COMMENT AS name FROM INFORMATION_SCHEMA.Columns WHERE `table_name`="'.$table_name.'"');
|
||||
return empty($res) ? [] : array_column($res, 'name', 'field');
|
||||
$sql = 'SELECT COLUMN_NAME AS field,COLUMN_COMMENT AS name FROM INFORMATION_SCHEMA.Columns WHERE `table_name`="'.$table_name.'"';
|
||||
|
||||
// 从缓存获取
|
||||
$key = SystemService::CacheKey('shopxo.cache_table_structure_key').'_'.md5($sql);
|
||||
$data = MyCache($key);
|
||||
if($data === null || MyEnv('app_debug'))
|
||||
{
|
||||
// 查询表结构
|
||||
$res = Db::query($sql);
|
||||
$data = empty($res) ? [] : array_column($res, 'name', 'field');
|
||||
|
||||
// 存储缓存
|
||||
MyCache($key, $data, 180);
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
?>
|
||||
File diff suppressed because it is too large
Load Diff
@ -115,6 +115,9 @@ return [
|
||||
// 用户中心左侧菜单
|
||||
'cache_user_center_left_nav_key' => 'cache_user_center_left_nav_key_data',
|
||||
|
||||
// 表结构缓存
|
||||
'cache_table_structure_key' => 'cache_table_structure_key_data',
|
||||
|
||||
// 站点域名地址
|
||||
'domain_url' => $domain_url,
|
||||
|
||||
|
||||
Reference in New Issue
Block a user