提交 0425a3c2 编写于 作者: D devil_gong

登录注册优化

上级 3b338416
......@@ -56,7 +56,7 @@ class Site extends Common
$this->assign('site_site_state_list', lang('site_site_state_list'));
// 用户注册类型列表
$this->assign('site_user_reg_state_list', lang('site_user_reg_state_list'));
$this->assign('common_user_reg_state_list', lang('common_user_reg_state_list'));
// 是否开启用户登录
$this->assign('site_user_login_state_list', lang('site_user_login_state_list'));
......@@ -64,6 +64,9 @@ class Site extends Common
// 获取验证码-开启图片验证码
$this->assign('site_img_verify_state_list', lang('site_img_verify_state_list'));
// 图片验证码规则
$this->assign('site_images_verify_rules_list', lang('site_images_verify_rules_list'));
// 配置信息
$this->assign('data', ConfigService::ConfigList());
......@@ -85,20 +88,71 @@ class Site extends Common
*/
public function Save()
{
// 站点状态值处理
if(!isset($_POST['home_user_reg_state']))
// 导航
$nav_type = input('nav_type', 'base');
// 字段不存在赋空值
$field_list = [];
// 用户注册
if($nav_type == 'register')
{
$field_list[] = 'home_user_reg_state';
$field_list[] = 'home_site_user_register_bg_images';
}
// 用户登录
if($nav_type == 'login')
{
$field_list[] = 'home_site_user_login_ad1_images';
$field_list[] = 'home_site_user_login_ad2_images';
$field_list[] = 'home_site_user_login_ad3_images';
}
// 密码找回
if($nav_type == 'forgetpwd')
{
$_POST['home_user_reg_state'] = '';
$field_list[] = 'home_site_user_forgetpwd_ad1_images';
$field_list[] = 'home_site_user_forgetpwd_ad2_images';
$field_list[] = 'home_site_user_forgetpwd_ad3_images';
}
// 用户注册背景图片
if(!isset($_POST['home_site_user_register_bg_images']))
// 图片验证码
if($nav_type == 'imagesverify')
{
$_POST['home_site_user_register_bg_images'] = '';
$field_list[] = 'common_images_verify_rules';
}
// 开始处理空值
if(!empty($field_list))
{
foreach($field_list as $field)
{
if(!isset($_POST[$field]))
{
$_POST[$field] = '';
}
}
}
// 基础配置
return ConfigService::ConfigSave($_POST);
$ret = ConfigService::ConfigSave($_POST);
// 清除缓存
if($ret['code'] == 0)
{
switch($nav_type)
{
case 'login' :
cache(config('shopxo.cache_user_login_left_key'), null);
case 'forgetpwd' :
cache(config('shopxo.cache_user_forgetpwd_left_key'), null);
break;
}
}
return $ret;
}
}
?>
\ No newline at end of file
......@@ -35,6 +35,14 @@ return array(
1 => array('value' => 1, 'name' => '开启', 'checked' => true),
),
// 图片验证码
'site_images_verify_rules_list' => array(
0 => array('value' => 'bgcolor', 'name' => '彩色背景'),
1 => array('value' => 'textcolor', 'name' => '彩色文本'),
2 => array('value' => 'point', 'name' => '干扰点'),
3 => array('value' => 'line', 'name' => '干扰线'),
),
// 时区
'site_timezone_list' => array(
'Pacific/Pago_Pago' => '(标准时-11:00) 中途岛、萨摩亚群岛',
......
{{include file="public/header" /}}
<!-- right content start -->
<div class="content-right">
<div class="content">
<!-- table nav start -->
{{include file="site/nav" /}}
<!-- table nav end -->
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/site/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/site/index', ['nav_type'=>'attachment'])}}" enctype="multipart/form-data">
<div class="am-form-group">
<label>{{$data.home_max_limit_image.name}}<span class="am-form-group-label-tips">{{$data.home_max_limit_image.describe}}</span></label>
<input type="number" name="{{$data.home_max_limit_image.only_tag}}" placeholder="{{$data.home_max_limit_image.name}}" data-validation-message="{{$data.home_max_limit_image.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.home_max_limit_image.value}}"{{/if}} required />
</div>
<div class="am-form-group">
<label>{{$data.home_max_limit_file.name}}<span class="am-form-group-label-tips">{{$data.home_max_limit_file.describe}}</span></label>
<input type="number" name="{{$data.home_max_limit_file.only_tag}}" placeholder="{{$data.home_max_limit_file.name}}" data-validation-message="{{$data.home_max_limit_file.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.home_max_limit_file.value}}"{{/if}} required />
</div>
<div class="am-form-group">
<label>{{$data.home_max_limit_video.name}}<span class="am-form-group-label-tips">{{$data.home_max_limit_video.describe}}</span></label>
<input type="number" name="{{$data.home_max_limit_video.only_tag}}" placeholder="{{$data.home_max_limit_video.name}}" data-validation-message="{{$data.home_max_limit_video.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.home_max_limit_video.value}}"{{/if}} required />
</div>
<div class="am-form-group am-form-group-refreshing">
<input type="hidden" name="nav_type" value="{{$nav_type}}" />
<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
......@@ -60,18 +60,6 @@
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>{{$data.home_max_limit_image.name}}<span class="am-form-group-label-tips">{{$data.home_max_limit_image.describe}}</span></label>
<input type="number" name="{{$data.home_max_limit_image.only_tag}}" placeholder="{{$data.home_max_limit_image.name}}" data-validation-message="{{$data.home_max_limit_image.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.home_max_limit_image.value}}"{{/if}} required />
</div>
<div class="am-form-group">
<label>{{$data.home_max_limit_file.name}}<span class="am-form-group-label-tips">{{$data.home_max_limit_file.describe}}</span></label>
<input type="number" name="{{$data.home_max_limit_file.only_tag}}" placeholder="{{$data.home_max_limit_file.name}}" data-validation-message="{{$data.home_max_limit_file.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.home_max_limit_file.value}}"{{/if}} required />
</div>
<div class="am-form-group">
<label>{{$data.home_max_limit_video.name}}<span class="am-form-group-label-tips">{{$data.home_max_limit_video.describe}}</span></label>
<input type="number" name="{{$data.home_max_limit_video.only_tag}}" placeholder="{{$data.home_max_limit_video.name}}" data-validation-message="{{$data.home_max_limit_video.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.home_max_limit_video.value}}"{{/if}} required />
</div>
<div class="am-form-group">
<label>{{$data.home_site_state.name}}<span class="am-form-group-label-tips">{{$data.home_site_state.describe}}</span></label>
......@@ -86,40 +74,6 @@
<textarea rows="3" name="{{$data.home_site_close_reason.only_tag}}" class="am-radius" placeholder="{{$data.home_site_close_reason.name}}" data-validation-message="{{$data.home_site_close_reason.error_tips}}">{{if !empty($data)}}{{$data.home_site_close_reason.value}}{{/if}}</textarea>
</div>
<div class="am-form-group">
<label>{{$data.home_user_reg_state.name}}<span class="am-form-group-label-tips">{{$data.home_user_reg_state.describe}}</span></label>
<select name="{{$data.home_user_reg_state.only_tag}}" multiple="multiple" class="am-radius chosen-select c-p" data-placeholder="{{$data.home_user_reg_state.name}}" >
{{foreach $site_user_reg_state_list as $v}}
<option value="{{$v.value}}" {{if isset($data['home_user_reg_state']['value']) and in_array($v['value'], explode(',', $data['home_user_reg_state']['value']))}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>{{$data.home_user_login_state.name}}<span class="am-form-group-label-tips">{{$data.home_user_login_state.describe}}</span></label>
<select name="{{$data.home_user_login_state.only_tag}}" class="am-radius chosen-select c-p" data-validation-message="{{$data.home_user_login_state.error_tips}}" required>
{{foreach $site_user_login_state_list as $v}}
<option value="{{$v.value}}" {{if isset($data['home_user_login_state']['value']) and $data['home_user_login_state']['value'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>{{$data.common_verify_expire_time.name}}<span class="am-form-group-label-tips">{{$data.common_verify_expire_time.describe}}</span></label>
<input type="number" name="{{$data.common_verify_expire_time.only_tag}}" placeholder="{{$data.common_verify_expire_time.name}}" data-validation-message="{{$data.common_verify_expire_time.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_verify_expire_time.value}}"{{/if}} required />
</div>
<div class="am-form-group">
<label>{{$data.common_verify_time_interval.name}}<span class="am-form-group-label-tips">{{$data.common_verify_time_interval.describe}}</span></label>
<input type="number" name="{{$data.common_verify_time_interval.only_tag}}" placeholder="{{$data.common_verify_time_interval.name}}" data-validation-message="{{$data.common_verify_time_interval.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_verify_time_interval.value}}"{{/if}} required />
</div>
<div class="am-form-group">
<label>{{$data.home_img_verify_state.name}}<span class="am-form-group-label-tips">{{$data.home_img_verify_state.describe}}</span></label>
<select name="{{$data.home_img_verify_state.only_tag}}" class="am-radius chosen-select c-p" data-validation-message="{{$data.home_img_verify_state.error_tips}}" required>
{{foreach $site_img_verify_state_list as $v}}
<option value="{{$v.value}}" {{if isset($data['home_img_verify_state']['value']) and $data['home_img_verify_state']['value'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>{{$data.home_content_max_width.name}}<span class="am-form-group-label-tips">{{$data.home_content_max_width.describe}}</span></label>
<input type="number" name="{{$data.home_content_max_width.only_tag}}" placeholder="{{$data.home_content_max_width.name}}" data-validation-message="{{$data.home_content_max_width.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.home_content_max_width.value}}"{{/if}} required />
......@@ -137,6 +91,7 @@
<textarea rows="6" name="{{$data.home_footer_info.only_tag}}" class="am-radius" placeholder="{{$data.home_footer_info.name}}" data-validation-message="{{$data.home_footer_info.error_tips}}">{{if !empty($data)}}{{$data.home_footer_info.value}}{{/if}}</textarea>
</div>
<div class="am-form-group am-form-group-refreshing">
<input type="hidden" name="nav_type" value="{{$nav_type}}" />
<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>
......
......@@ -8,21 +8,114 @@
<!-- table nav end -->
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/site/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/site/index')}}" enctype="multipart/form-data">
<div class="am-form-group">
<label class="block">{{$data.home_site_desktop_icon.name}}<span class="am-form-group-label-tips">{{$data.home_site_desktop_icon.describe}}</span></label>
<ul class="plug-file-upload-view home_site_desktop_icon-images-view" data-form-name="home_site_desktop_icon" data-max-number="1" data-delete="0" data-dialog-type="images">
{{if !empty($data['home_site_desktop_icon']['value'])}}
<li>
<input type="text" name="home_site_desktop_icon" value="{{$data.home_site_desktop_icon.value}}" />
<img src="{{$Think.__MY_PUBLIC_URL__}}{{$data.home_site_desktop_icon.value}}" />
</li>
{{/if}}
</ul>
<div class="plug-file-upload-submit" data-view-tag="ul.home_site_desktop_icon-images-view">+选择logo</div>
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/site/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/site/index', ['nav_type'=>'forgetpwd'])}}" enctype="multipart/form-data">
<!-- 图片1 -->
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span class="am-panel-title">图片1</span>
</div>
<div class="am-panel-bd">
<div class="am-form-group">
<label class="block">{{$data.home_site_user_forgetpwd_ad1_images.name}}<span class="am-form-group-label-tips">{{$data.home_site_user_forgetpwd_ad1_images.describe}}</span></label>
<ul class="plug-file-upload-view home_site_user_forgetpwd_ad1_images-images-view" data-form-name="home_site_user_forgetpwd_ad1_images" data-max-number="1" data-dialog-type="images">
{{if !empty($data['home_site_user_forgetpwd_ad1_images']['value'])}}
<li>
<input type="text" name="home_site_user_forgetpwd_ad1_images" value="{{$data.home_site_user_forgetpwd_ad1_images.value}}" />
<img src="{{$Think.__MY_PUBLIC_URL__}}{{$data.home_site_user_forgetpwd_ad1_images.value}}" />
<i>×</i>
</li>
{{/if}}
</ul>
<div class="plug-file-upload-submit" data-view-tag="ul.home_site_user_forgetpwd_ad1_images-images-view">+选择图片</div>
</div>
<div class="am-form-group">
<label>{{$data.home_site_user_forgetpwd_ad1_url.name}}<span class="am-form-group-label-tips">{{$data.home_site_user_forgetpwd_ad1_url.describe}}</span></label>
<input type="url" placeholder="{{$data.home_site_user_forgetpwd_ad1_url.name}}" name="{{$data.home_site_user_forgetpwd_ad1_url.only_tag}}" value="{{$data.home_site_user_forgetpwd_ad1_url.value}}" class="am-radius" />
</div>
<div class="am-form-group">
<label>背景色</label>
<input type="hidden" name="{{$data.home_site_user_forgetpwd_ad1_bg_color.only_tag}}" value="{{$data.home_site_user_forgetpwd_ad1_bg_color.value}}" />
<button class="am-btn am-btn-default am-btn-xs colorpicker-submit am-btn-block bk-cr-white t-r bg-color-tag-{{$data.home_site_user_forgetpwd_ad1_bg_color.only_tag}}" type="button" data-input-tag="button.bg-color-tag-{{$data.home_site_user_forgetpwd_ad1_bg_color.only_tag}}" data-color-tag="input[name='{{$data.home_site_user_forgetpwd_ad1_bg_color.only_tag}}']" data-color-style="background-color" {{if !empty($data['home_site_user_forgetpwd_ad1_bg_color']['value'])}} style="background-color:{{$data.home_site_user_forgetpwd_ad1_bg_color.value}};"{{/if}}>
<img src="{{$attachment_host}}/static/common/images/colorpicker.png" />
</button>
</div>
</div>
</div>
<!-- 图片2 -->
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span class="am-panel-title">图片2</span>
</div>
<div class="am-panel-bd">
<div class="am-form-group">
<label class="block">{{$data.home_site_user_forgetpwd_ad2_images.name}}<span class="am-form-group-label-tips">{{$data.home_site_user_forgetpwd_ad2_images.describe}}</span></label>
<ul class="plug-file-upload-view home_site_user_forgetpwd_ad2_images-images-view" data-form-name="home_site_user_forgetpwd_ad2_images" data-max-number="1" data-dialog-type="images">
{{if !empty($data['home_site_user_forgetpwd_ad2_images']['value'])}}
<li>
<input type="text" name="home_site_user_forgetpwd_ad2_images" value="{{$data.home_site_user_forgetpwd_ad2_images.value}}" />
<img src="{{$Think.__MY_PUBLIC_URL__}}{{$data.home_site_user_forgetpwd_ad2_images.value}}" />
<i>×</i>
</li>
{{/if}}
</ul>
<div class="plug-file-upload-submit" data-view-tag="ul.home_site_user_forgetpwd_ad2_images-images-view">+选择图片</div>
</div>
<div class="am-form-group">
<label>{{$data.home_site_user_forgetpwd_ad2_url.name}}<span class="am-form-group-label-tips">{{$data.home_site_user_forgetpwd_ad2_url.describe}}</span></label>
<input type="url" placeholder="{{$data.home_site_user_forgetpwd_ad2_url.name}}" name="{{$data.home_site_user_forgetpwd_ad2_url.only_tag}}" value="{{$data.home_site_user_forgetpwd_ad2_url.value}}" class="am-radius" />
</div>
<div class="am-form-group">
<label>背景色</label>
<input type="hidden" name="{{$data.home_site_user_forgetpwd_ad2_bg_color.only_tag}}" value="{{$data.home_site_user_forgetpwd_ad2_bg_color.value}}" />
<button class="am-btn am-btn-default am-btn-xs colorpicker-submit am-btn-block bk-cr-white t-r bg-color-tag-{{$data.home_site_user_forgetpwd_ad2_bg_color.only_tag}}" type="button" data-input-tag="button.bg-color-tag-{{$data.home_site_user_forgetpwd_ad2_bg_color.only_tag}}" data-color-tag="input[name='{{$data.home_site_user_forgetpwd_ad2_bg_color.only_tag}}']" data-color-style="background-color" {{if !empty($data['home_site_user_forgetpwd_ad2_bg_color']['value'])}} style="background-color:{{$data.home_site_user_forgetpwd_ad2_bg_color.value}};"{{/if}}>
<img src="{{$attachment_host}}/static/common/images/colorpicker.png" />
</button>
</div>
</div>
</div>
<!-- 图片3 -->
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span class="am-panel-title">图片3</span>
</div>
<div class="am-panel-bd">
<div class="am-form-group">
<label class="block">{{$data.home_site_user_forgetpwd_ad3_images.name}}<span class="am-form-group-label-tips">{{$data.home_site_user_forgetpwd_ad3_images.describe}}</span></label>
<ul class="plug-file-upload-view home_site_user_forgetpwd_ad3_images-images-view" data-form-name="home_site_user_forgetpwd_ad3_images" data-max-number="1" data-dialog-type="images">
{{if !empty($data['home_site_user_forgetpwd_ad3_images']['value'])}}
<li>
<input type="text" name="home_site_user_forgetpwd_ad3_images" value="{{$data.home_site_user_forgetpwd_ad3_images.value}}" />
<img src="{{$Think.__MY_PUBLIC_URL__}}{{$data.home_site_user_forgetpwd_ad3_images.value}}" />
<i>×</i>
</li>
{{/if}}
</ul>
<div class="plug-file-upload-submit" data-view-tag="ul.home_site_user_forgetpwd_ad3_images-images-view">+选择图片</div>
</div>
<div class="am-form-group">
<label>{{$data.home_site_user_forgetpwd_ad3_url.name}}<span class="am-form-group-label-tips">{{$data.home_site_user_forgetpwd_ad3_url.describe}}</span></label>
<input type="url" placeholder="{{$data.home_site_user_forgetpwd_ad3_url.name}}" name="{{$data.home_site_user_forgetpwd_ad3_url.only_tag}}" value="{{$data.home_site_user_forgetpwd_ad3_url.value}}" class="am-radius" />
</div>
<div class="am-form-group">
<label>背景色</label>
<input type="hidden" name="{{$data.home_site_user_forgetpwd_ad3_bg_color.only_tag}}" value="{{$data.home_site_user_forgetpwd_ad3_bg_color.value}}" />
<button class="am-btn am-btn-default am-btn-xs colorpicker-submit am-btn-block bk-cr-white t-r bg-color-tag-{{$data.home_site_user_forgetpwd_ad3_bg_color.only_tag}}" type="button" data-input-tag="button.bg-color-tag-{{$data.home_site_user_forgetpwd_ad3_bg_color.only_tag}}" data-color-tag="input[name='{{$data.home_site_user_forgetpwd_ad3_bg_color.only_tag}}']" data-color-style="background-color" {{if !empty($data['home_site_user_forgetpwd_ad3_bg_color']['value'])}} style="background-color:{{$data.home_site_user_forgetpwd_ad3_bg_color.value}};"{{/if}}>
<img src="{{$attachment_host}}/static/common/images/colorpicker.png" />
</button>
</div>
</div>
</div>
<div class="am-form-group am-form-group-refreshing">
<input type="hidden" name="nav_type" value="{{$nav_type}}" />
<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>
......
{{include file="public/header" /}}
<!-- right content start -->
<div class="content-right">
<div class="content">
<!-- table nav start -->
{{include file="site/nav" /}}
<!-- table nav end -->
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/site/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/site/index', ['nav_type'=>'imagesverify'])}}" enctype="multipart/form-data">
<div class="am-form-group">
<label>{{$data.common_verify_expire_time.name}}<span class="am-form-group-label-tips">{{$data.common_verify_expire_time.describe}}</span></label>
<input type="number" name="{{$data.common_verify_expire_time.only_tag}}" placeholder="{{$data.common_verify_expire_time.name}}" data-validation-message="{{$data.common_verify_expire_time.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_verify_expire_time.value}}"{{/if}} required />
</div>
<div class="am-form-group">
<label>{{$data.common_verify_time_interval.name}}<span class="am-form-group-label-tips">{{$data.common_verify_time_interval.describe}}</span></label>
<input type="number" name="{{$data.common_verify_time_interval.only_tag}}" placeholder="{{$data.common_verify_time_interval.name}}" data-validation-message="{{$data.common_verify_time_interval.error_tips}}" class="am-radius" {{if !empty($data)}}value="{{$data.common_verify_time_interval.value}}"{{/if}} required />
</div>
<div class="am-form-group">
<label>{{$data.home_img_verify_state.name}}<span class="am-form-group-label-tips">{{$data.home_img_verify_state.describe}}</span></label>
<select name="{{$data.home_img_verify_state.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.home_img_verify_state.error_tips}}" required>
{{foreach $site_img_verify_state_list as $v}}
<option value="{{$v.value}}" {{if isset($data['home_img_verify_state']['value']) and $data['home_img_verify_state']['value'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>{{$data.common_images_verify_rules.name}}<span class="am-form-group-label-tips">{{$data.common_images_verify_rules.describe}}</span></label>
<select name="{{$data.common_images_verify_rules.only_tag}}" multiple="multiple" class="am-radius chosen-select" data-placeholder="{{$data.common_images_verify_rules.name}}" >
{{foreach $site_images_verify_rules_list as $v}}
<option value="{{$v.value}}" {{if isset($data['common_images_verify_rules']['value']) and in_array($v['value'], explode(',', $data['common_images_verify_rules']['value']))}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group am-form-group-refreshing">
<input type="hidden" name="nav_type" value="{{$nav_type}}" />
<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
......@@ -8,8 +8,9 @@
<!-- table nav end -->
<!-- form start -->
<form class="am-form form-validation view-save site-panel" action="{{:MyUrl('admin/site/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/site/index')}}" enctype="multipart/form-data">
<div class="am-panel am-panel-secondary">
<form class="am-form form-validation view-save site-panel" action="{{:MyUrl('admin/site/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/site/index', ['nav_type'=>'login'])}}" enctype="multipart/form-data">
<!-- 图片1 -->
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span class="am-panel-title">图片1</span>
</div>
......@@ -30,20 +31,21 @@
<div class="am-form-group">
<label>{{$data.home_site_user_login_ad1_url.name}}<span class="am-form-group-label-tips">{{$data.home_site_user_login_ad1_url.describe}}</span></label>
<input type="url" placeholder="{{$data.home_site_user_login_ad1_url.name}}" name="{{$data.home_site_user_login_ad1_url.only_tag}}" class="am-radius" />
<input type="url" placeholder="{{$data.home_site_user_login_ad1_url.name}}" name="{{$data.home_site_user_login_ad1_url.only_tag}}" value="{{$data.home_site_user_login_ad1_url.value}}" class="am-radius" />
</div>
<div class="am-form-group">
<label>背景色</label>
<input type="hidden" name="bg_color" value="{{if !empty($data['bg_color'])}}{{$data.bg_color}}{{/if}}" />
<button class="am-btn am-btn-default am-btn-xs colorpicker-submit bg-color-tag am-btn-block bk-cr-white t-r" type="button" data-input-tag="button.bg-color-tag" data-color-tag="input[name='bg_color']" data-color-style="background-color" {{if !empty($data['bg_color'])}} style="background-color:{{$data.bg_color}};"{{/if}}>
<input type="hidden" name="{{$data.home_site_user_login_ad1_bg_color.only_tag}}" value="{{$data.home_site_user_login_ad1_bg_color.value}}" />
<button class="am-btn am-btn-default am-btn-xs colorpicker-submit am-btn-block bk-cr-white t-r bg-color-tag-{{$data.home_site_user_login_ad1_bg_color.only_tag}}" type="button" data-input-tag="button.bg-color-tag-{{$data.home_site_user_login_ad1_bg_color.only_tag}}" data-color-tag="input[name='{{$data.home_site_user_login_ad1_bg_color.only_tag}}']" data-color-style="background-color" {{if !empty($data['home_site_user_login_ad1_bg_color']['value'])}} style="background-color:{{$data.home_site_user_login_ad1_bg_color.value}};"{{/if}}>
<img src="{{$attachment_host}}/static/common/images/colorpicker.png" />
</button>
</div>
</div>
</div>
<div class="am-panel am-panel-secondary">
<!-- 图片2 -->
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span class="am-panel-title">图片2</span>
</div>
......@@ -64,20 +66,21 @@
<div class="am-form-group">
<label>{{$data.home_site_user_login_ad2_url.name}}<span class="am-form-group-label-tips">{{$data.home_site_user_login_ad2_url.describe}}</span></label>
<input type="url" placeholder="{{$data.home_site_user_login_ad2_url.name}}" name="{{$data.home_site_user_login_ad2_url.only_tag}}" class="am-radius" />
<input type="url" placeholder="{{$data.home_site_user_login_ad2_url.name}}" name="{{$data.home_site_user_login_ad2_url.only_tag}}" value="{{$data.home_site_user_login_ad2_url.value}}" class="am-radius" />
</div>
<div class="am-form-group">
<label>背景色</label>
<input type="hidden" name="bg_color" value="{{if !empty($data['bg_color'])}}{{$data.bg_color}}{{/if}}" />
<button class="am-btn am-btn-default am-btn-xs colorpicker-submit bg-color-tag am-btn-block bk-cr-white t-r" type="button" data-input-tag="button.bg-color-tag" data-color-tag="input[name='bg_color']" data-color-style="background-color" {{if !empty($data['bg_color'])}} style="background-color:{{$data.bg_color}};"{{/if}}>
<input type="hidden" name="{{$data.home_site_user_login_ad2_bg_color.only_tag}}" value="{{$data.home_site_user_login_ad2_bg_color.value}}" />
<button class="am-btn am-btn-default am-btn-xs colorpicker-submit am-btn-block bk-cr-white t-r bg-color-tag-{{$data.home_site_user_login_ad2_bg_color.only_tag}}" type="button" data-input-tag="button.bg-color-tag-{{$data.home_site_user_login_ad2_bg_color.only_tag}}" data-color-tag="input[name='{{$data.home_site_user_login_ad2_bg_color.only_tag}}']" data-color-style="background-color" {{if !empty($data['home_site_user_login_ad2_bg_color']['value'])}} style="background-color:{{$data.home_site_user_login_ad2_bg_color.value}};"{{/if}}>
<img src="{{$attachment_host}}/static/common/images/colorpicker.png" />
</button>
</div>
</div>
</div>
<div class="am-panel am-panel-secondary">
<!-- 图片3 -->
<div class="am-panel am-panel-default">
<div class="am-panel-hd">
<span class="am-panel-title">图片3</span>
</div>
......@@ -98,13 +101,13 @@
<div class="am-form-group">
<label>{{$data.home_site_user_login_ad3_url.name}}<span class="am-form-group-label-tips">{{$data.home_site_user_login_ad3_url.describe}}</span></label>
<input type="url" placeholder="{{$data.home_site_user_login_ad3_url.name}}" name="{{$data.home_site_user_login_ad3_url.only_tag}}" class="am-radius" />
<input type="url" placeholder="{{$data.home_site_user_login_ad3_url.name}}" name="{{$data.home_site_user_login_ad3_url.only_tag}}" value="{{$data.home_site_user_login_ad3_url.value}}" class="am-radius" />
</div>
<div class="am-form-group">
<label>背景色</label>
<input type="hidden" name="bg_color" value="{{if !empty($data['bg_color'])}}{{$data.bg_color}}{{/if}}" />
<button class="am-btn am-btn-default am-btn-xs colorpicker-submit bg-color-tag am-btn-block bk-cr-white t-r" type="button" data-input-tag="button.bg-color-tag" data-color-tag="input[name='bg_color']" data-color-style="background-color" {{if !empty($data['bg_color'])}} style="background-color:{{$data.bg_color}};"{{/if}}>
<input type="hidden" name="{{$data.home_site_user_login_ad3_bg_color.only_tag}}" value="{{$data.home_site_user_login_ad3_bg_color.value}}" />
<button class="am-btn am-btn-default am-btn-xs colorpicker-submit am-btn-block bk-cr-white t-r bg-color-tag-{{$data.home_site_user_login_ad3_bg_color.only_tag}}" type="button" data-input-tag="button.bg-color-tag-{{$data.home_site_user_login_ad3_bg_color.only_tag}}" data-color-tag="input[name='{{$data.home_site_user_login_ad3_bg_color.only_tag}}']" data-color-style="background-color" {{if !empty($data['home_site_user_login_ad3_bg_color']['value'])}} style="background-color:{{$data.home_site_user_login_ad3_bg_color.value}};"{{/if}}>
<img src="{{$attachment_host}}/static/common/images/colorpicker.png" />
</button>
</div>
......@@ -120,7 +123,17 @@
</select>
</div>
<div class="am-form-group">
<label>{{$data.home_user_login_img_verify_state.name}}<span class="am-form-group-label-tips">{{$data.home_user_login_img_verify_state.describe}}</span></label>
<select name="{{$data.home_user_login_img_verify_state.only_tag}}" class="am-radius chosen-select c-p" data-validation-message="{{$data.home_user_login_img_verify_state.error_tips}}" required>
{{foreach $site_img_verify_state_list as $v}}
<option value="{{$v.value}}" {{if isset($data['home_user_login_img_verify_state']['value']) and $data['home_user_login_img_verify_state']['value'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group am-form-group-refreshing">
<input type="hidden" name="nav_type" value="{{$nav_type}}" />
<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>
......
......@@ -2,13 +2,19 @@
<li {{if $nav_type eq 'base'}}class="am-active"{{/if}} data-type="base">
<a href="{{:MyUrl('admin/site/index', ['nav_type'=>'base'])}}">基础配置</a>
</li>
<li {{if $nav_type eq 'login'}}class="am-active"{{/if}} data-type="login">
<a href="{{:MyUrl('admin/site/index', ['nav_type'=>'login'])}}">用户登录</a>
</li>
<li {{if $nav_type eq 'register'}}class="am-active"{{/if}} data-type="register">
<a href="{{:MyUrl('admin/site/index', ['nav_type'=>'register'])}}">用户注册</a>
</li>
<li {{if $nav_type eq 'login'}}class="am-active"{{/if}} data-type="login">
<a href="{{:MyUrl('admin/site/index', ['nav_type'=>'login'])}}">用户登录</a>
</li>
<li {{if $nav_type eq 'forgetpwd'}}class="am-active"{{/if}} data-type="forgetpwd">
<a href="{{:MyUrl('admin/site/index', ['nav_type'=>'forgetpwd'])}}">密码找回</a>
</li>
<li {{if $nav_type eq 'attachment'}}class="am-active"{{/if}} data-type="attachment">
<a href="{{:MyUrl('admin/site/index', ['nav_type'=>'attachment'])}}">附件</a>
</li>
<li {{if $nav_type eq 'imagesverify'}}class="am-active"{{/if}} data-type="imagesverify">
<a href="{{:MyUrl('admin/site/index', ['nav_type'=>'imagesverify'])}}">图片验证码</a>
</li>
</ul>
\ No newline at end of file
......@@ -26,13 +26,23 @@
<div class="am-form-group">
<label>{{$data.home_user_reg_state.name}}<span class="am-form-group-label-tips">{{$data.home_user_reg_state.describe}}</span></label>
<select name="{{$data.home_user_reg_state.only_tag}}" multiple="multiple" class="am-radius chosen-select c-p" data-placeholder="{{$data.home_user_reg_state.name}}" >
{{foreach $site_user_reg_state_list as $v}}
{{foreach $common_user_reg_state_list as $v}}
<option value="{{$v.value}}" {{if isset($data['home_user_reg_state']['value']) and in_array($v['value'], explode(',', $data['home_user_reg_state']['value']))}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>{{$data.home_user_register_img_verify_state.name}}<span class="am-form-group-label-tips">{{$data.home_user_register_img_verify_state.describe}}</span></label>
<select name="{{$data.home_user_register_img_verify_state.only_tag}}" class="am-radius chosen-select c-p" data-validation-message="{{$data.home_user_register_img_verify_state.error_tips}}" required>
{{foreach $site_img_verify_state_list as $v}}
<option value="{{$v.value}}" {{if isset($data['home_user_register_img_verify_state']['value']) and $data['home_user_register_img_verify_state']['value'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group am-form-group-refreshing">
<input type="hidden" name="nav_type" value="{{$nav_type}}" />
<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>
......
......@@ -166,6 +166,10 @@ class User extends Common
// 浏览器名称
$this->assign('home_seo_site_title', SeoService::BrowserSeoTitle('密码找回', 1));
// 左侧图片,随机其中一个
$left_data = UserService::UserEntranceLeftData(['left_key'=>'forgetpwd', 'cache_key'=>config('shopxo.cache_user_forgetpwd_left_key')]);
$this->assign('user_forgetpwd_left_data', empty($left_data['data']) ? [] : $left_data['data'][array_rand($left_data['data'], 1)]);
return $this->fetch();
} else {
$this->assign('msg', '已经登录了,如要重置密码,请先退出当前账户');
......@@ -223,7 +227,13 @@ class User extends Common
// 浏览器名称
$this->assign('home_seo_site_title', SeoService::BrowserSeoTitle('用户登录', 1));
// 返回地址
$this->assign('referer_url', $this->GetrefererUrl());
// 左侧图片,随机其中一个
$left_data = UserService::UserEntranceLeftData(['left_key'=>'login', 'cache_key'=>config('shopxo.cache_user_login_left_key')]);
$this->assign('user_login_left_data', empty($left_data['data']) ? [] : $left_data['data'][array_rand($left_data['data'], 1)]);
return $this->fetch();
} else {
$this->assign('msg', '已经登录了,请勿重复登录');
......@@ -316,10 +326,8 @@ class User extends Common
{
$params = array(
'width' => 100,
'height' => 32,
'height' => 26,
'key_prefix' => input('type', 'reg'),
'use_point_back' => false,
'use_color_back' => false,
);
$verify = new \base\Verify($params);
$verify->Entry();
......
<header class="am-topbar shop-navigation">
<div class="am-container">
<button class="am-topbar-btn am-topbar-toggle am-btn am-btn-sm am-btn-default am-show-sm-only" data-am-collapse="{target: '#doc-topbar-collapse'}"><span class="am-sr-only">导航切换</span> <span class="am-icon-bars"></span></button>
<button class="am-topbar-btn am-topbar-toggle am-btn am-btn-sm am-btn-default am-show-sm-only switch-submit" data-am-collapse="{target: '#doc-topbar-collapse'}"><span class="am-sr-only">导航切换</span> <span class="am-icon-bars"></span></button>
<h1 class="am-topbar-brand wap-logo am-show-sm-only">
<a href="{{$Think.__MY_URL__}}">
......@@ -26,13 +26,26 @@
</form>
<div class="am-collapse am-topbar-collapse" id="doc-topbar-collapse">
{{if empty($user)}}
<!-- 未登录 -->
<div class="navigation-button am-show-sm-only">
{{if MyC('home_user_login_state') eq 1}}
<a href="{{:MyUrl('index/user/logininfo')}}" class="am-btn am-btn-primary am-topbar-btn am-btn-sm">登录</a>
{{/if}}
{{if in_array('sms', MyC('home_user_reg_state')) or in_array('email', MyC('home_user_reg_state')) or in_array('username', MyC('home_user_reg_state'))}}
<a href="{{:MyUrl('index/user/regInfo')}}" class="am-btn am-btn-success am-topbar-btn am-btn-sm">注册</a>
{{/if}}
</div>
{{/if}}
<!-- 主导航 -->
<ul class="am-nav am-nav-pills am-topbar-nav">
<li><a href="{{$Think.__MY_URL__}}">首页</a></li>
{{if !empty($nav_header)}}
{{foreach $nav_header as $nav}}
{{if empty($nav['items'])}}
<li>
<a href="{{$nav.url}}" {{if $nav['is_new_window_open'] eq 1}}target="_blank"{{/if}}>{{$nav.name}}</a>
<a href="{{$nav.url}}" {{if $nav['is_new_window_open'] eq 1}}target="_blank"{{/if}} title="{{$nav.name}}">{{$nav.name}}</a>
</li>
{{else /}}
<li class="am-dropdown" data-am-dropdown>
......@@ -42,7 +55,7 @@
<ul class="am-dropdown-content">
{{foreach $nav.items as $navs}}
<li>
<a href="{{$navs.url}}">{{$navs.name}}</a>
<a href="{{$navs.url}}" title="{{$navs.name}}">{{$navs.name}}</a>
</li>
{{/foreach}}
</ul>
......
......@@ -12,10 +12,14 @@
<!-- goods category -->
{{include file="public/goods_category" /}}
<!-- conntent start -->
<div class="am-g my-content">
<div class="am-g my-content" {{if !empty($user_forgetpwd_left_data['bg_color'])}}style="background-color:{{$user_forgetpwd_left_data.bg_color}};"{{/if}}>
<div class="am-container user-forgetpwd-container">
<div class="am-hide-sm-only am-u-md-6 am-u-lg-8 am-vertical-align am-text-center container-left">
<img src="http://b2b2c.shopnctest.com/dema/data/upload/shop/login/4.jpg" class="am-vertical-align-middle" />
{{if !empty($user_forgetpwd_left_data['images'])}}
<a href="{{if empty($user_forgetpwd_left_data['url'])}}javascript:;{{else /}}{{$user_forgetpwd_left_data.url}}{{/if}}" target="_blank">
<img src="{{$user_forgetpwd_left_data.images}}" class="am-vertical-align-middle" alt="密码找回" />
</a>
{{/if}}
</div>
<div class="am-u-sm-12 am-u-md-6 am-u-lg-4 container-right">
<div class="forgetpwd-top">
......@@ -67,7 +71,7 @@
</div>
<div class="am-modal-bd">
<div class="base">
<input type="text" placeholder="图形验证码" maxlength="6" id="verify-img-value" data-validation-message="请输入有效的图形验证码" class="am-form-field am-radius" />
<input type="text" placeholder="图形验证码" minlength="6" maxlength="6" id="verify-img-value" data-validation-message="请输入有效的图形验证码" class="am-form-field am-radius" />
<div class="am-fl">
<img src="{{:MyUrl('index/user/userverifyentry', ['type'=>'forget'])}}" class="am-radius c-p" id="verify-img" onClick="this.src=this.src+'#'+Math.random();" />
<a href="javascript:;" class="verify-tips" onClick="document.getElementById('verify-img').src='{{:MyUrl('index/user/userverifyentry', ['type'=>'forget'])}}#'+Math.random();">看不清换一张</a>
......
......@@ -13,10 +13,14 @@
{{include file="public/goods_category" /}}
<!-- conntent start -->
<div class="am-g my-content">
<div class="am-g my-content" {{if !empty($user_login_left_data['bg_color'])}}style="background-color:{{$user_login_left_data.bg_color}};"{{/if}}>
<div class="am-container user-login-container">
<div class="am-hide-sm-only am-u-md-6 am-u-lg-8 am-vertical-align am-text-center container-left">
<img src="http://b2b2c.shopnctest.com/dema/data/upload/shop/login/2.jpg" class="am-vertical-align-middle" />
{{if !empty($user_login_left_data['images'])}}
<a href="{{if empty($user_login_left_data['url'])}}javascript:;{{else /}}{{$user_login_left_data.url}}{{/if}}" target="_blank">
<img src="{{$user_login_left_data.images}}" class="am-vertical-align-middle" alt="用户登录" />
</a>
{{/if}}
</div>
<div class="am-u-sm-12 am-u-md-6 am-u-lg-4 container-right">
<div class="forgetpwd-top">
......@@ -51,6 +55,21 @@
<label>登录密码</label>
<input type="password" name="pwd" class="am-radius" placeholder="登录密码" pattern="{{:lang('common_regex_pwd')}}" data-validation-message="密码格式 6~18 个字符之间" required />
</div>
{{if MyC('home_user_login_img_verify_state') eq 1}}
<div class="am-form-group am-form-group-refreshing business-form-block">
<label>验证码</label>
<div class="am-input-group am-input-group-sm">
<input type="text" name="verify" class="am-radius" placeholder="验证码" minlength="6" maxlength="6" data-validation-message="请输入图片验证码" required />
<span class="am-input-group-btn">
<span class="am-btn am-btn-default am-radius form-verify">
<img src="{{:MyUrl('index/user/userverifyentry', ['type'=>'login'])}}" class="am-radius c-p" id="form-verify-img" onClick="this.src=this.src+'#'+Math.random();" />
<a href="javascript:;" class="form-verify-tips" onClick="document.getElementById('form-verify-img').src='{{:MyUrl('index/user/userverifyentry', ['type'=>'login'])}}#'+Math.random();">更换一张</a>
</span>
</span>
</div>
</div>
{{/if}}
<div class="am-form-group am-form-group-refreshing">
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-sm btn-loading-example" data-am-loading="{loadingText: '登录中...'}">登录</button>
......
{{include file="public/header" /}}
<!-- conntent start -->
<div class="am-g my-content">
<div class="am-u-md-6 am-u-sm-centered">
<!-- form start -->
<form class="am-form form-validation" method="post" action="{{:MyUrl('index/user/login')}}" request-type="ajax-fun" request-value="ViewModalBack">
<fieldset>
{{if in_array('sms', MyC('home_user_reg_state')) or in_array('email', MyC('home_user_reg_state'))}}
<span class="">还没有帐号?</span>
<a href="{{:MyUrl('index/user/reginfo')}}" target="_blank" class="am-btn am-btn-secondary am-btn-xs am-radius">立即注册</a>
{{/if}}
<div class="am-g my-content login-modal-container">
<!-- form start -->
<form class="am-form form-validation" method="post" action="{{:MyUrl('index/user/login')}}" request-type="ajax-fun" request-value="ViewModalBack">
<div class="xo-padding-horizontal-md-sm login-modal-container-top">
{{if in_array('sms', MyC('home_user_reg_state')) or in_array('email', MyC('home_user_reg_state'))}}
<span class="">还没有帐号?</span>
<a href="{{:MyUrl('index/user/reginfo')}}" target="_blank" class="am-btn am-btn-secondary am-btn-xs am-radius">立即注册</a>
{{/if}}
<!-- 用户登录页面顶部钩子 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_user_login_info_top</span>
</div>
{{/if}}
{{if !empty($plugins_view_user_login_info_top_data) and is_array($plugins_view_user_login_info_top_data)}}
{{foreach $plugins_view_user_login_info_top_data as $hook}}
{{if is_string($hook) or is_int($hook)}}
{{$hook|raw}}
{{/if}}
{{/foreach}}
{{/if}}
<hr />
<div class="am-form-group am-form-group-refreshing">
<label>登录账号</label>
<input type="text" name="accounts" class="am-radius" minlength="1" placeholder="用户名/手机/邮箱" data-validation-message="请填写登录账号" required />
<!-- 用户登录页面顶部钩子 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
<div class="plugins-tag">
<span>plugins_view_user_login_info_top</span>
</div>
{{/if}}
{{if !empty($plugins_view_user_login_info_top_data) and is_array($plugins_view_user_login_info_top_data)}}
{{foreach $plugins_view_user_login_info_top_data as $hook}}
{{if is_string($hook) or is_int($hook)}}
{{$hook|raw}}
{{/if}}
{{/foreach}}
{{/if}}
</div>
<div class="am-form-group am-form-group-refreshing">
<label>登录密码</label>
<input type="password" name="pwd" class="am-radius" placeholder="登录密码" pattern="{{:lang('common_regex_pwd')}}" data-validation-message="密码格式 6~18 个字符之间" required />
</div>
<div class="am-form-group am-form-group-refreshing">
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-sm btn-loading-example" data-am-loading="{loadingText: '登录中...'}">登录</button>
<a href="{{:MyUrl('index/user/forgetpwdinfo')}}" target="_blank" class="am-fr">忘记密码?</a>
<div class="am-form-group am-form-group-refreshing">
<label>登录账号</label>
<input type="text" name="accounts" class="am-radius" minlength="1" placeholder="用户名/手机/邮箱" data-validation-message="请填写登录账号" required />
</div>
<div class="am-form-group am-form-group-refreshing">
<label>登录密码</label>
<input type="password" name="pwd" class="am-radius" placeholder="登录密码" pattern="{{:lang('common_regex_pwd')}}" data-validation-message="密码格式 6~18 个字符之间" required />
</div>
{{if MyC('home_user_login_img_verify_state') eq 1}}
<div class="am-form-group am-form-group-refreshing business-form-block">
<label>验证码</label>
<div class="am-input-group am-input-group-sm">
<input type="text" name="verify" class="am-radius" placeholder="验证码" minlength="6" maxlength="6" data-validation-message="请输入图片验证码" required />
<span class="am-input-group-btn">
<span class="am-btn am-btn-default am-radius form-verify">
<img src="{{:MyUrl('index/user/userverifyentry', ['type'=>'login'])}}" class="am-radius c-p" id="form-verify-img" onClick="this.src=this.src+'#'+Math.random();" />
<a href="javascript:;" class="form-verify-tips" onClick="document.getElementById('form-verify-img').src='{{:MyUrl('index/user/userverifyentry', ['type'=>'login'])}}#'+Math.random();">更换一张</a>
</span>
</span>
</div>
</fieldset>
</form>
<!-- form end -->
</div>
</div>
{{/if}}
<div class="am-form-group am-form-group-refreshing">
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-sm btn-loading-example" data-am-loading="{loadingText: '登录中...'}">登录</button>
<a href="{{:MyUrl('index/user/forgetpwdinfo')}}" target="_blank" class="am-fr">忘记密码?</a>
</div>
</form>
<!-- form end -->
</div>
<!-- conntent end -->
......
......@@ -88,7 +88,7 @@
</div>
</div>
{{if MyC('home_img_verify_state') eq 1}}
{{if MyC('home_user_register_img_verify_state') eq 1}}
<div class="am-form-group am-form-group-refreshing business-form-block">
<label>验证码</label>
<div class="am-input-group am-input-group-sm">
......@@ -218,7 +218,7 @@
</div>
<div class="am-modal-bd">
<div class="base">
<input type="text" placeholder="图形验证码" maxlength="6" id="verify-img-value" data-validation-message="请输入有效的图形验证码" class="am-form-field am-radius" />
<input type="text" placeholder="图形验证码" minlength="6" maxlength="6" id="verify-img-value" data-validation-message="请输入有效的图形验证码" class="am-form-field am-radius" />
<div class="am-fl">
<img src="{{:MyUrl('index/user/userverifyentry', ['type'=>'reg'])}}" class="am-radius c-p" id="verify-img" onClick="this.src=this.src+'#'+Math.random();" />
<a href="javascript:;" class="verify-tips" onClick="document.getElementById('verify-img').src='{{:MyUrl('index/user/userverifyentry', ['type'=>'reg'])}}#'+Math.random();">看不清换一张</a>
......
......@@ -27,7 +27,7 @@ return array(
),
// 用户注册类型列表
'site_user_reg_state_list' => array(
'common_user_reg_state_list' => array(
0 => array('value' => 'sms', 'name' => '短信'),
1 => array('value' => 'email', 'name' => '邮箱'),
2 => array('value' => 'username', 'name' => '用户名'),
......
......@@ -40,6 +40,18 @@ class ConfigService
'home_site_desktop_icon',
'common_customer_store_qrcode',
'home_site_user_register_bg_images',
'home_site_user_login_ad1_images',
'home_site_user_login_ad2_images',
'home_site_user_login_ad3_images',
'home_site_user_forgetpwd_ad1_images',
'home_site_user_forgetpwd_ad2_images',
'home_site_user_forgetpwd_ad3_images',
];
// 字符串转数组字段列表, 默认使用英文逗号处理 [ , ]
public static $string_to_array_field_list = [
'home_user_reg_state',
'common_images_verify_rules',
];
/**
......@@ -143,9 +155,12 @@ class ConfigService
// 数据处理
// 开启用户注册列表
if(isset($data['home_user_reg_state']))
foreach(self::$string_to_array_field_list as $field)
{
$data['home_user_reg_state'] = explode(',', $data['home_user_reg_state']);
if(isset($data[$field]))
{
$data[$field] = empty($data[$field]) ? [] : explode(',', $data[$field]);
}
}
// 富文本字段处理
......
......@@ -14,6 +14,7 @@ use think\Db;
use think\facade\Hook;
use app\service\RegionService;
use app\service\SafetyService;
use app\service\ResourcesService;
/**
* 用户服务层
......@@ -895,6 +896,17 @@ class UserService
return DataReturn('密码格式 6~18 个字符之间', -2);
}
// 是否开启图片验证码
$verify_params = array(
'key_prefix' => 'login',
'expire_time' => MyC('common_verify_expire_time'),
);
$verify = self::IsImaVerify($params, $verify_params, MyC('home_user_login_img_verify_state'));
if($verify['code'] != 0)
{
return $verify;
}
// 获取用户账户信息
$where = array('username|mobile|email' => $params['accounts'], 'is_delete_time'=>0);
$user = Db::name('User')->field('id,pwd,salt,status')->where($where)->find();
......@@ -994,7 +1006,7 @@ class UserService
[
'checked_type' => 'in',
'key_name' => 'type',
'checked_data' => array_column(lang('site_user_reg_state_list'), 'value'),
'checked_data' => array_column(lang('common_user_reg_state_list'), 'value'),
'error_msg' => '注册类型有误',
],
[
......@@ -1024,15 +1036,23 @@ class UserService
}
// 验证码校验
$verify_param = array(
$verify_params = array(
'key_prefix' => 'reg',
'expire_time' => MyC('common_verify_expire_time')
'expire_time' => MyC('common_verify_expire_time'),
);
if($params['type'] == 'sms')
{
$obj = new \base\Sms($verify_param);
$obj = new \base\Sms($verify_params);
} else if($params['type'] == 'email') {
$obj = new \base\Email($verify_param);
$obj = new \base\Email($verify_params);
} else if($params['type'] == 'username')
{
// 是否开启图片验证码
$verify = self::IsImaVerify($params, $verify_params, MyC('home_user_register_img_verify_state'));
if($verify['code'] != 0)
{
return $verify;
}
}
// 验证码校验
......@@ -1178,15 +1198,16 @@ class UserService
* @datetime 2017-03-22T15:48:31+0800
* @param [array] $params [输入参数]
* @param [array] $verify_params [配置参数]
* @param [int] $status [状态 0未开启, 1已开启]
* @return [object] [图片验证码类对象]
*/
private static function IsImaVerify($params, $verify_params)
private static function IsImaVerify($params, $verify_params, $status = 0)
{
if(MyC('home_img_verify_state') == 1)
if($status == 1)
{
if(empty($params['verify']))
{
return DataReturn('参数错误', -10);
return DataReturn('图片验证码为空', -10);
}
$verify = new \base\Verify($verify_params);
if(!$verify->CheckExpire())
......@@ -1222,7 +1243,7 @@ class UserService
[
'checked_type' => 'in',
'key_name' => 'type',
'checked_data' => array_column(lang('site_user_reg_state_list'), 'value'),
'checked_data' => array_column(lang('common_user_reg_state_list'), 'value'),
'error_msg' => '注册类型有误',
],
];
......@@ -1246,7 +1267,7 @@ class UserService
);
// 是否开启图片验证码
$verify = self::IsImaVerify($params, $verify_params);
$verify = self::IsImaVerify($params, $verify_params, MyC('home_img_verify_state'));
if($verify['code'] != 0)
{
return $verify;
......@@ -1317,7 +1338,7 @@ class UserService
);
// 是否开启图片验证码
$verify = self::IsImaVerify($params, $verify_params);
$verify = self::IsImaVerify($params, $verify_params, MyC('home_img_verify_state'));
if($verify['code'] != 0)
{
return $verify;
......@@ -1691,11 +1712,11 @@ class UserService
}
// 验证码校验
$verify_param = array(
$verify_params = array(
'key_prefix' => 'bind',
'expire_time' => MyC('common_verify_expire_time')
);
$obj = new \base\Sms($verify_param);
$obj = new \base\Sms($verify_params);
// 是否已过期
if(!$obj->CheckExpire())
......@@ -1814,14 +1835,14 @@ class UserService
}
// 验证码公共基础参数
$verify_param = array(
$verify_params = array(
'key_prefix' => 'bind',
'expire_time' => MyC('common_verify_expire_time'),
'time_interval' => MyC('common_verify_time_interval'),
);
// 发送验证码
$obj = new \base\Sms($verify_param);
$obj = new \base\Sms($verify_params);
$code = GetNumberCode(6);
$status = $obj->SendCode($params['mobile'], $code, MyC('home_sms_user_mobile_binding'));
......@@ -1912,5 +1933,49 @@ class UserService
return $user;
}
/**
* 用户登录,密码找回左侧数据
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-05-17
* @desc description
* @param [array] $params [输入参数]
*/
public static function UserEntranceLeftData($params = [])
{
// 从缓存获取
$data = empty($params['cache_key']) ? [] : cache($params['cache_key']);
// 获取数据
if(empty($data))
{
$data = [];
if(!empty($params['left_key']))
{
for($i=1; $i<=3; $i++)
{
$images_value = MyC('home_site_user_'.$params['left_key'].'_ad'.$i.'_images');
$url_value = MyC('home_site_user_'.$params['left_key'].'_ad'.$i.'_url');
$bg_color_value = MyC('home_site_user_'.$params['left_key'].'_ad'.$i.'_bg_color');
if(!empty($images_value))
{
$data[] = [
'images' => ResourcesService::AttachmentPathViewHandle($images_value),
'url' => empty($url_value) ? null : $url_value,
'bg_color' => empty($bg_color_value) ? null : $bg_color_value,
];
}
}
// 存储缓存
if(!empty($params['cache_key']))
{
cache($params['cache_key'], $data);
}
}
}
return DataReturn('操作成功', 0, $data);
}
}
?>
\ No newline at end of file
......@@ -36,6 +36,12 @@ return [
// 应用数据缓存
'cache_plugins_data_key' => 'cache_plugins_data_key_data_',
// 用户登录左侧数据
'cache_user_login_left_key' => 'cache_user_login_left_data',
// 用户密码找回左侧数据
'cache_user_forgetpwd_left_key' => 'cache_user_forgetpwd_left_data',
// 附件host, 数据库图片地址以/static/...开头
'attachment_host' => defined('__MY_PUBLIC_URL__') ? substr(__MY_PUBLIC_URL__, 0, -1) : '',
......
此差异已折叠。
......@@ -26,7 +26,8 @@ class Verify
private $length;
private $use_point_back;
private $use_line_back;
private $use_color_back;
private $use_bg_color_back;
private $use_text_color_back;
private $key_verify;
private $expire_time;
......@@ -36,24 +37,29 @@ class Verify
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-03-05T16:42:49+0800
* @param [int] $param['width'] [宽度(默认65)]
* @param [int] $param['height'] [高度(默认30)]
* @param [int] $param['length'] [验证码位数(默认6)]
* @param [boolean] $param['use_point_back'] [是否添加干扰点(默认 true)]
* @param [boolean] $param['use_line_back'] [是否添加干扰线(默认 true)]
* @param [boolean] $param['use_color_back'] [是否使用彩色背景(默认 true)]
* @param [string] $param['key_prefix'] [验证码种存储前缀key(默认 空)]
* @param [int] $param['expire_time'] [到期时间(默认30)单位(秒)]
* @param [int] $param['width'] [宽度(默认65)]
* @param [int] $param['height'] [高度(默认30)]
* @param [int] $param['length'] [验证码位数(默认6)]
* @param [boolean] $param['use_point_back'] [是否添加干扰点(默认 true)]
* @param [boolean] $param['use_line_back'] [是否添加干扰线(默认 true)]
* @param [boolean] $param['use_bg_color_back'] [是否使用彩色背景(默认 true)]
* @param [boolean] $param['use_text_color_back'] [是否使用彩色文本(默认 true)]
* @param [string] $param['key_prefix'] [验证码种存储前缀key(默认 空)]
* @param [int] $param['expire_time'] [到期时间(默认30)单位(秒)]
*/
public function __construct($param = array())
{
// 验证码规则
$rules = MyC('common_images_verify_rules', [], true);
// 参数处理
$this->width = isset($param['width']) ? intval($param['width']) : 65;
$this->height = isset($param['height']) ? intval($param['height']) : 30;
$this->length = isset($param['length']) ? intval($param['length']) : 6;
$this->use_point_back = isset($param['use_point_back']) ? $param['use_point_back'] : true;
$this->use_line_back = isset($param['use_line_back']) ? $param['use_line_back'] : true;
$this->use_color_back = isset($param['use_color_back']) ? $param['use_color_back'] : true;
$this->use_point_back = isset($param['use_point_back']) ? $param['use_point_back'] : in_array('point', $rules);
$this->use_line_back = isset($param['use_line_back']) ? $param['use_line_back'] : in_array('line', $rules);
$this->use_bg_color_back = isset($param['use_bg_color_back']) ? $param['use_bg_color_back'] : in_array('bgcolor', $rules);
$this->use_text_color_back = isset($param['use_text_color_back']) ? $param['use_text_color_back'] : in_array('textcolor', $rules);
$this->key_verify = isset($param['key_prefix']) ? trim($param['key_prefix']).'_verify_code' : '_verify_code';
$this->expire_time = isset($param['expire_time']) ? intval($param['expire_time']) : 30;
}
......@@ -74,7 +80,7 @@ class Verify
$this->img = imagecreatetruecolor($this->width, $this->height);
// 画背景
if($this->use_color_back == true)
if($this->use_bg_color_back == true)
{
$back_color = imagecolorallocate($this->img, rand(200,255), rand(200,255), rand(200,255));
} else {
......@@ -99,7 +105,14 @@ class Verify
$first = 40/100*$each_width;
foreach(str_split($this->rand_string) as $k=>$v)
{
$fgcolor = imagecolorallocate($this->img, rand(0,200), rand(0,255), rand(0,255));
// 是否使用彩色文本
if($this->use_text_color_back == true)
{
$fgcolor = imagecolorallocate($this->img, rand(0,200), rand(0,255), rand(0,255));
} else {
$fgcolor = imagecolorallocate($this->img, 0, 0, 0);
}
$temp_height = 95/100*$this->height;
if($this->height-$temp_height < 15)
{
......
......@@ -21,7 +21,7 @@ ul.home_site_user_register_bg_images-images-view li {
.site-panel .am-panel .am-panel-bd .am-form-group {
margin-bottom: 10px;
}
.site-panel .am-panel .am-panel-bd .am-form-group:last-child {
.site-panel .am-panel .am-panel-bd .am-form-group {
border-bottom: 0;
margin-bottom: 0;
}
\ No newline at end of file
......@@ -471,7 +471,7 @@ ul.am-dropdown-content > .am-active > a:focus,
/**
* 公共登录窗口
*/
.common-login-modal { max-width: 400px; height: 378px; left: calc(50% - 200px); top: calc(50% - 189px); margin-left: 0; margin-top: 0; }
.common-login-modal { max-width: 400px; height: 408px; left: calc(50% - 200px); top: calc(50% - 204px); margin-left: 0; margin-top: 0; }
}
/**
......@@ -486,7 +486,7 @@ ul.am-dropdown-content > .am-active > a:focus,
/**
* 公共登录窗口
*/
.common-login-modal { height: 380px; top: calc(100% - 380px);}
.common-login-modal { height: 410px; top: calc(100% - 410px);}
}
......@@ -496,14 +496,14 @@ ul.am-dropdown-content > .am-active > a:focus,
.am-btn-default {
color: #666 !important;
background-color: #e6e6e6;
border-color: #e6e6e6;
border-color: #d5d5d5;
}
.am-btn-default:hover, .am-btn-default:focus {
background-color: #D4D3D3;
background-color: #666;
}
.am-btn-default:hover, .am-btn-default:focus, .am-btn-default:active, .am-btn-default.am-active, .am-dropdown.am-active .am-btn-default.am-dropdown-toggle {
color: #666 !important;
border-color: #D4D3D3;
color: #fff !important;
border-color: #666;
}
.am-btn-default.am-disabled, .am-btn-default[disabled], fieldset[disabled] .am-btn-default, .am-btn-default.am-disabled:hover, .am-btn-default[disabled]:hover, fieldset[disabled] .am-btn-default:hover, .am-btn-default.am-disabled:focus, .am-btn-default[disabled]:focus, fieldset[disabled] .am-btn-default:focus, .am-btn-default.am-disabled:active, .am-btn-default[disabled]:active, fieldset[disabled] .am-btn-default:active, .am-btn-default.am-disabled.am-active, .am-btn-default[disabled].am-active, fieldset[disabled] .am-btn-default.am-active {
background-color: #e6e6e6;
......@@ -511,20 +511,20 @@ ul.am-dropdown-content > .am-active > a:focus,
}
.am-btn-default:active, .am-btn-default.am-active, .am-dropdown.am-active .am-btn-default.am-dropdown-toggle {
background-image: none;
background-color: #D4D3D3;
background-color: #666;
}
.am-btn-secondary {
color: #f77076 !important;
background-color: #ffe2e5;
border-color: #ffe2e5;
border-color: #facbd0;
}
.am-btn-secondary:hover, .am-btn-secondary:focus {
background-color: #fd9ba5;
background-color: #f77076;
}
.am-btn-secondary:hover, .am-btn-secondary:focus, .am-btn-secondary:active, .am-btn-secondary.am-active, .am-dropdown.am-active .am-btn-secondary.am-dropdown-toggle {
color: #fff !important;
border-color: #fd9ba5;
border-color: #f77076;
}
.am-btn-secondary.am-disabled, .am-btn-secondary[disabled], fieldset[disabled] .am-btn-secondary, .am-btn-secondary.am-disabled:hover, .am-btn-secondary[disabled]:hover, fieldset[disabled] .am-btn-secondary:hover, .am-btn-secondary.am-disabled:focus, .am-btn-secondary[disabled]:focus, fieldset[disabled] .am-btn-secondary:focus, .am-btn-secondary.am-disabled:active, .am-btn-secondary[disabled]:active, fieldset[disabled] .am-btn-secondary:active, .am-btn-secondary.am-disabled.am-active, .am-btn-secondary[disabled].am-active, fieldset[disabled] .am-btn-secondary.am-active {
background-color: #ffe2e5;
......@@ -532,20 +532,20 @@ ul.am-dropdown-content > .am-active > a:focus,
}
.am-btn-secondary:active, .am-btn-secondary.am-active, .am-dropdown.am-active .am-btn-secondary.am-dropdown-toggle {
background-image: none;
background-color: #fd9ba5;
background-color: #f77076;
}
.am-btn-primary {
color: #d13b49 !important;
background-color: #ffcbd0;
border-color: #ffcbd0;
border-color: #ffb5bc;
}
.am-btn-primary:hover, .am-btn-primary:focus {
background-color: #f77682;
background-color: #d13b49;
}
.am-btn-primary:hover, .am-btn-primary:focus, .am-btn-primary:active, .am-btn-primary.am-active, .am-dropdown.am-active .am-btn-primary.am-dropdown-toggle {
color: #fff !important;
border-color: #f77682;
border-color: #d13b49;
}
.am-btn-primary.am-disabled, .am-btn-primary[disabled], fieldset[disabled] .am-btn-primary, .am-btn-primary.am-disabled:hover, .am-btn-primary[disabled]:hover, fieldset[disabled] .am-btn-primary:hover, .am-btn-primary.am-disabled:focus, .am-btn-primary[disabled]:focus, fieldset[disabled] .am-btn-primary:focus, .am-btn-primary.am-disabled:active, .am-btn-primary[disabled]:active, fieldset[disabled] .am-btn-primary:active, .am-btn-primary.am-disabled.am-active, .am-btn-primary[disabled].am-active, fieldset[disabled] .am-btn-primary.am-active {
background-color: #ffcbd0;
......@@ -553,41 +553,41 @@ ul.am-dropdown-content > .am-active > a:focus,
}
.am-btn-primary:active, .am-btn-primary.am-active, .am-dropdown.am-active .am-btn-primary.am-dropdown-toggle {
background-image: none;
background-color: #f77682;
background-color: #d13b49;
}
.am-btn-danger {
color: #DC9A9A !important;
background-color: #F8F2F2;
border-color: #F8F2F2;
color: #f7274d !important;
background-color: #ffcdd6;
border-color: #f8adbb;
}
.am-btn-danger:hover, .am-btn-danger:focus {
background-color: #F5D2D2;
background-color: #f7274d;
}
.am-btn-danger:hover, .am-btn-danger:focus, .am-btn-danger:active, .am-btn-danger.am-active, .am-dropdown.am-active .am-btn-danger.am-dropdown-toggle {
color: #fff !important;
border-color: #F5D2D2;
border-color: #f7274d;
}
.am-btn-danger.am-disabled, .am-btn-danger[disabled], fieldset[disabled] .am-btn-danger, .am-btn-danger.am-disabled:hover, .am-btn-danger[disabled]:hover, fieldset[disabled] .am-btn-danger:hover, .am-btn-danger.am-disabled:focus, .am-btn-danger[disabled]:focus, fieldset[disabled] .am-btn-danger:focus, .am-btn-danger.am-disabled:active, .am-btn-danger[disabled]:active, fieldset[disabled] .am-btn-danger:active, .am-btn-danger.am-disabled.am-active, .am-btn-danger[disabled].am-active, fieldset[disabled] .am-btn-danger.am-active {
background-color: #F8F2F2;
border-color: #F8F2F2;
background-color: #ffcdd6;
border-color: #ffcdd6;
}
.am-btn-danger:active, .am-btn-danger.am-active, .am-dropdown.am-active .am-btn-danger.am-dropdown-toggle {
background-image: none;
background-color: #F5D2D2;
background-color: #f7274d;
}
.am-btn-success {
color: #82BE82 !important;
color: #5eb95e !important;
background-color: #E4F3E4;
border-color: #E4F3E4;
border-color: #d2e8d2;
}
.am-btn-success:hover, .am-btn-success:focus {
background-color: #A5DEA5;
background-color: #5eb95e;
}
.am-btn-success:hover, .am-btn-success:focus, .am-btn-success:active, .am-btn-success.am-active, .am-dropdown.am-active .am-btn-success.am-dropdown-toggle {
color: #fff !important;
border-color: #A5DEA5;
border-color: #5eb95e;
}
.am-btn-success.am-disabled, .am-btn-success[disabled], fieldset[disabled] .am-btn-success, .am-btn-success.am-disabled:hover, .am-btn-success[disabled]:hover, fieldset[disabled] .am-btn-success:hover, .am-btn-success.am-disabled:focus, .am-btn-success[disabled]:focus, fieldset[disabled] .am-btn-success:focus, .am-btn-success.am-disabled:active, .am-btn-success[disabled]:active, fieldset[disabled] .am-btn-success:active, .am-btn-success.am-disabled.am-active, .am-btn-success[disabled].am-active, fieldset[disabled] .am-btn-success.am-active {
background-color: #E4F3E4;
......@@ -595,20 +595,20 @@ ul.am-dropdown-content > .am-active > a:focus,
}
.am-btn-success:active, .am-btn-success.am-active, .am-dropdown.am-active .am-btn-success.am-dropdown-toggle {
background-image: none;
background-color: #A5DEA5;
background-color: #5eb95e;
}
.am-btn-warning {
color: #FF9800 !important;
color: #F37B1D !important;
background-color: #ffe5be;
border-color: #ffe5be;
border-color: #f8d093;
}
.am-btn-warning:hover, .am-btn-warning:focus {
background-color: #ffc165;
background-color: #F37B1D;
}
.am-btn-warning:hover, .am-btn-warning:focus, .am-btn-warning:active, .am-btn-warning.am-active, .am-dropdown.am-active .am-btn-warning.am-dropdown-toggle {
color: #fff !important;
border-color: #ffc165;
border-color: #F37B1D;
}
.am-btn-warning.am-disabled, .am-btn-warning[disabled], fieldset[disabled] .am-btn-warning, .am-btn-warning.am-disabled:hover, .am-btn-warning[disabled]:hover, fieldset[disabled] .am-btn-warning:hover, .am-btn-warning.am-disabled:focus, .am-btn-warning[disabled]:focus, fieldset[disabled] .am-btn-warning:focus, .am-btn-warning.am-disabled:active, .am-btn-warning[disabled]:active, fieldset[disabled] .am-btn-warning:active, .am-btn-warning.am-disabled.am-active, .am-btn-warning[disabled].am-active, fieldset[disabled] .am-btn-warning.am-active {
background-color: #ffe5be;
......@@ -616,7 +616,7 @@ ul.am-dropdown-content > .am-active > a:focus,
}
.am-btn-warning:active, .am-btn-warning.am-active, .am-dropdown.am-active .am-btn-warning.am-dropdown-toggle {
background-image: none;
background-color: #ffc165;
background-color: #F37B1D;
}
.am-pagination > .am-active > a, .am-pagination > .am-active > a:hover { background-color: #d13b49; border-color: #d13b49; }
......@@ -725,7 +725,7 @@ ul.am-dropdown-content > .am-active > a:focus,
.shop-navigation .navigation-search input {
border-color: #d2354c;
}
.shop-navigation .am-btn {
.shop-navigation .navigation-search .am-btn, .shop-navigation .switch-submit {
color: #fff !important;
background-color: #d2354c;
border-color: #d2354c;
......
......@@ -18,11 +18,9 @@
.my-content .container-right {
padding-right: 5px;
}
.user-forgetpwd-container .container-left {
height: 375px;
}
.user-login-container .container-left {
height: 295px;
.user-forgetpwd-container .container-left, .user-login-container .container-left {
min-height: 295px;
max-height: 375px;
}
}
@media only screen and (min-width:1025px) {
......@@ -90,13 +88,10 @@
/**
* 表单验证码
*/
.register-container form.form-validation-username .form-verify {
.my-content form.am-form .form-verify {
padding: 0;
}
.register-container form.form-validation-username .form-verify img {
height: 26px;
}
.register-container form.form-validation-username .form-verify a.form-verify-tips {
.my-content form.am-form .form-verify a.form-verify-tips {
font-size: 12px;
text-decoration: none;
line-height: 28px;
......@@ -105,14 +100,14 @@
background: rgba(0,0,0,0.5);
text-align: center;
display: none;
width: 83px;
width: 102px;
height: 28px;
position: absolute;
z-index: 1;
top: -1px;
left: -1px;
}
.register-container form.form-validation-username .form-verify:hover a.form-verify-tips {
.my-content form.am-form .form-verify:hover a.form-verify-tips {
display: block;
}
......@@ -138,4 +133,15 @@
.my-content #verify-win .am-modal-bd { margin-top: 10px; }
.my-content #verify-win .am-modal-bd .base { overflow: hidden; }
.my-content #verify-win .am-modal-bd .base .verify-tips { font-size: 12px; }
.my-content #verify-img { vertical-align: middle; }
\ No newline at end of file
.my-content #verify-img { vertical-align: middle; border: 1px solid #ccc; }
/**
* 弹层登录
*/
.login-modal-container {
padding: 0;
}
.login-modal-container-top {
margin: 10px 0;
}
\ No newline at end of file
......@@ -10,7 +10,7 @@
padding: 0;
}
@media only screen and (min-width:640px) {
@media only screen and (min-width:1025px) {
.commonrightnavigation-right-nav {
width: 35px;
height: 100vh;
......@@ -195,7 +195,7 @@
}
}
@media only screen and (max-width:640px) {
@media only screen and (max-width:1025px) {
.commonrightnavigation-right-nav .user-content,
.commonrightnavigation-right-nav .browse-content,
.commonrightnavigation-right-nav .favor-content,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册