Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
飞鱼0526
ShopXO
提交
0425a3c2
ShopXO
项目概览
飞鱼0526
/
ShopXO
与 Fork 源项目一致
Fork自
纵之格 / ShopXO
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0425a3c2
编写于
5月 17, 2019
作者:
D
devil_gong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
登录注册优化
上级
3b338416
变更
31
展开全部
隐藏空白更改
内联
并排
Showing
31 changed file
with
627 addition
and
238 deletion
+627
-238
application/admin/controller/Site.php
application/admin/controller/Site.php
+62
-8
application/admin/lang/zh-cn.php
application/admin/lang/zh-cn.php
+8
-0
application/admin/view/default/site/attachment.html
application/admin/view/default/site/attachment.html
+37
-0
application/admin/view/default/site/base.html
application/admin/view/default/site/base.html
+1
-46
application/admin/view/default/site/forgetpwd.html
application/admin/view/default/site/forgetpwd.html
+105
-12
application/admin/view/default/site/imagesverify.html
application/admin/view/default/site/imagesverify.html
+50
-0
application/admin/view/default/site/login.html
application/admin/view/default/site/login.html
+26
-13
application/admin/view/default/site/nav.html
application/admin/view/default/site/nav.html
+9
-3
application/admin/view/default/site/register.html
application/admin/view/default/site/register.html
+11
-1
application/index/controller/User.php
application/index/controller/User.php
+11
-3
application/index/view/default/public/header_nav.html
application/index/view/default/public/header_nav.html
+16
-3
application/index/view/default/user/forget_pwd_info.html
application/index/view/default/user/forget_pwd_info.html
+7
-3
application/index/view/default/user/login_info.html
application/index/view/default/user/login_info.html
+21
-2
application/index/view/default/user/modal_login_info.html
application/index/view/default/user/modal_login_info.html
+51
-39
application/index/view/default/user/reg_info.html
application/index/view/default/user/reg_info.html
+2
-2
application/lang/zh-cn.php
application/lang/zh-cn.php
+1
-1
application/service/ConfigService.php
application/service/ConfigService.php
+17
-2
application/service/UserService.php
application/service/UserService.php
+80
-15
config/shopxo.php
config/shopxo.php
+6
-0
config/shopxo.sql
config/shopxo.sql
+23
-21
extend/base/Verify.php
extend/base/Verify.php
+27
-14
public/static/admin/default/css/site.css
public/static/admin/default/css/site.css
+1
-1
public/static/index/default/css/common.css
public/static/index/default/css/common.css
+34
-34
public/static/index/default/css/user.css
public/static/index/default/css/user.css
+19
-13
public/static/plugins/css/commonrightnavigation/index/style.css
.../static/plugins/css/commonrightnavigation/index/style.css
+2
-2
public/static/upload/images/common/2019/04/09/1554805439263794.jpeg
...tic/upload/images/common/2019/04/09/1554805439263794.jpeg
+0
-0
public/static/upload/images/common/2019/05/17/1558025141249118.png
...atic/upload/images/common/2019/05/17/1558025141249118.png
+0
-0
public/static/upload/images/common/2019/05/17/1558062481107570.jpg
...atic/upload/images/common/2019/05/17/1558062481107570.jpg
+0
-0
public/static/upload/images/common/2019/05/17/1558072588843696.jpg
...atic/upload/images/common/2019/05/17/1558072588843696.jpg
+0
-0
public/static/upload/images/common/2019/05/17/1558073623385520.jpg
...atic/upload/images/common/2019/05/17/1558073623385520.jpg
+0
-0
public/static/upload/images/common/2019/05/17/1558073623641199.jpg
...atic/upload/images/common/2019/05/17/1558073623641199.jpg
+0
-0
未找到文件。
application/admin/controller/Site.php
浏览文件 @
0425a3c2
...
...
@@ -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
application/admin/lang/zh-cn.php
浏览文件 @
0425a3c2
...
...
@@ -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) 中途岛、萨摩亚群岛'
,
...
...
application/admin/view/default/site/attachment.html
0 → 100644
浏览文件 @
0425a3c2
{{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
application/admin/view/default/site/base.html
浏览文件 @
0425a3c2
...
...
@@ -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>
...
...
application/admin/view/default/site/forgetpwd.html
浏览文件 @
0425a3c2
...
...
@@ -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>
...
...
application/admin/view/default/site/imagesverify.html
0 → 100644
浏览文件 @
0425a3c2
{{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
application/admin/view/default/site/login.html
浏览文件 @
0425a3c2
...
...
@@ -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>
...
...
application/admin/view/default/site/nav.html
浏览文件 @
0425a3c2
...
...
@@ -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
application/admin/view/default/site/register.html
浏览文件 @
0425a3c2
...
...
@@ -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>
...
...
application/index/controller/User.php
浏览文件 @
0425a3c2
...
...
@@ -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
();
...
...
application/index/view/default/public/header_nav.html
浏览文件 @
0425a3c2
<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>
...
...
application/index/view/default/user/forget_pwd_info.html
浏览文件 @
0425a3c2
...
...
@@ -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=
"图形验证码"
m
inlength=
"6"
m
axlength=
"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>
...
...
application/index/view/default/user/login_info.html
浏览文件 @
0425a3c2
...
...
@@ -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>
...
...
application/index/view/default/user/modal_login_info.html
浏览文件 @
0425a3c2
{{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 -->
...
...
application/index/view/default/user/reg_info.html
浏览文件 @
0425a3c2
...
...
@@ -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=
"图形验证码"
m
inlength=
"6"
m
axlength=
"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>
...
...
application/lang/zh-cn.php
浏览文件 @
0425a3c2
...
...
@@ -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'
=>
'用户名'
),
...
...
application/service/ConfigService.php
浏览文件 @
0425a3c2
...
...
@@ -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
]);
}
}
// 富文本字段处理
...
...
application/service/UserService.php
浏览文件 @
0425a3c2
...
...
@@ -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_param
s
=
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_param
s
);
}
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_param
s
=
array
(
'key_prefix'
=>
'bind'
,
'expire_time'
=>
MyC
(
'common_verify_expire_time'
)
);
$obj
=
new
\
base\Sms
(
$verify_param
);
$obj
=
new
\
base\Sms
(
$verify_param
s
);
// 是否已过期
if
(
!
$obj
->
CheckExpire
())
...
...
@@ -1814,14 +1835,14 @@ class UserService
}
// 验证码公共基础参数
$verify_param
=
array
(
$verify_param
s
=
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_param
s
);
$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
config/shopxo.php
浏览文件 @
0425a3c2
...
...
@@ -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
)
:
''
,
...
...
config/shopxo.sql
浏览文件 @
0425a3c2
此差异已折叠。
点击以展开。
extend/base/Verify.php
浏览文件 @
0425a3c2
...
...
@@ -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
)
{
...
...
public/static/admin/default/css/site.css
浏览文件 @
0425a3c2
...
...
@@ -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
public/static/index/default/css/common.css
浏览文件 @
0425a3c2
...
...
@@ -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%
-
189
px
);
margin-left
:
0
;
margin-top
:
0
;
}
.common-login-modal
{
max-width
:
400px
;
height
:
408px
;
left
:
calc
(
50%
-
200px
);
top
:
calc
(
50%
-
204
px
);
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%
-
38
0px
);}
.common-login-modal
{
height
:
410px
;
top
:
calc
(
100%
-
41
0px
);}
}
...
...
@@ -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
:
#f
fe2e5
;
border-color
:
#f
acbd0
;
}
.am-btn-secondary
:hover
,
.am-btn-secondary
:focus
{
background-color
:
#f
d9ba5
;
background-color
:
#f
77076
;
}
.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
:
#f
d9ba5
;
border-color
:
#f
77076
;
}
.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
:
#f
d9ba5
;
background-color
:
#f
77076
;
}
.am-btn-primary
{
color
:
#d13b49
!important
;
background-color
:
#ffcbd0
;
border-color
:
#ff
cbd0
;
border-color
:
#ff
b5bc
;
}
.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
:
#F
F9800
!important
;
color
:
#F
37B1D
!important
;
background-color
:
#ffe5be
;
border-color
:
#f
fe5be
;
border-color
:
#f
8d093
;
}
.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
;
...
...
public/static/index/default/css/user.css
浏览文件 @
0425a3c2
...
...
@@ -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
:
83
px
;
width
:
102
px
;
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
public/static/plugins/css/commonrightnavigation/index/style.css
浏览文件 @
0425a3c2
...
...
@@ -10,7 +10,7 @@
padding
:
0
;
}
@media
only
screen
and
(
min-width
:
640
px
)
{
@media
only
screen
and
(
min-width
:
1025
px
)
{
.commonrightnavigation-right-nav
{
width
:
35px
;
height
:
100vh
;
...
...
@@ -195,7 +195,7 @@
}
}
@media
only
screen
and
(
max-width
:
640
px
)
{
@media
only
screen
and
(
max-width
:
1025
px
)
{
.commonrightnavigation-right-nav
.user-content
,
.commonrightnavigation-right-nav
.browse-content
,
.commonrightnavigation-right-nav
.favor-content
,
...
...
public/static/upload/images/common/2019/04/09/1554805439263794.jpeg
100644 → 100755
浏览文件 @
0425a3c2
文件模式从 100644 更改为 100755
public/static/upload/images/common/2019/05/17/1558025141249118.png
100644 → 100755
浏览文件 @
0425a3c2
文件模式从 100644 更改为 100755
public/static/upload/images/common/2019/05/17/1558062481107570.jpg
0 → 100644
浏览文件 @
0425a3c2
66.1 KB
public/static/upload/images/common/2019/05/17/1558072588843696.jpg
0 → 100644
浏览文件 @
0425a3c2
60.2 KB
public/static/upload/images/common/2019/05/17/1558073623385520.jpg
0 → 100644
浏览文件 @
0425a3c2
81.3 KB
public/static/upload/images/common/2019/05/17/1558073623641199.jpg
0 → 100644
浏览文件 @
0425a3c2
74.8 KB
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录