Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
纵之格
ShopXO
提交
d1a9ce1f
ShopXO
项目概览
纵之格
/
ShopXO
通知
394
Star
16
Fork
11
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d1a9ce1f
编写于
11月 26, 2020
作者:
D
Devil
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
首页分类自定义配置,管理员登录优化
上级
9c35f1c4
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
147 addition
and
58 deletion
+147
-58
application/admin/controller/Admin.php
application/admin/controller/Admin.php
+2
-2
application/admin/controller/Common.php
application/admin/controller/Common.php
+6
-3
application/admin/controller/Site.php
application/admin/controller/Site.php
+25
-10
application/admin/view/default/site/siteset/extends.html
application/admin/view/default/site/siteset/extends.html
+2
-1
application/admin/view/default/site/siteset/goods.html
application/admin/view/default/site/siteset/goods.html
+2
-1
application/admin/view/default/site/siteset/index.html
application/admin/view/default/site/siteset/index.html
+31
-16
application/admin/view/default/site/siteset/order.html
application/admin/view/default/site/siteset/order.html
+2
-1
application/admin/view/default/site/siteset/search.html
application/admin/view/default/site/siteset/search.html
+2
-1
application/common.php
application/common.php
+1
-1
application/service/AdminPowerService.php
application/service/AdminPowerService.php
+4
-3
application/service/AdminService.php
application/service/AdminService.php
+46
-3
application/service/AnswerService.php
application/service/AnswerService.php
+2
-1
application/service/ConfigService.php
application/service/ConfigService.php
+1
-0
application/service/FormTableService.php
application/service/FormTableService.php
+2
-1
application/service/GoodsService.php
application/service/GoodsService.php
+18
-14
changelog.txt
changelog.txt
+1
-0
未找到文件。
application/admin/controller/Admin.php
浏览文件 @
d1a9ce1f
...
...
@@ -246,7 +246,7 @@ class Admin extends Common
public
function
LoginInfo
()
{
// 是否已登录
if
(
session
(
'admin'
)
!==
null
)
if
(
AdminService
::
LoginInfo
(
)
!==
null
)
{
return
redirect
(
MyUrl
(
'admin/index/index'
));
}
...
...
@@ -312,7 +312,7 @@ class Admin extends Common
*/
public
function
Logout
()
{
session
(
'admin'
,
null
);
AdminService
::
LoginLogout
(
);
return
redirect
(
MyUrl
(
'admin/admin/logininfo'
));
}
}
...
...
application/admin/controller/Common.php
浏览文件 @
d1a9ce1f
...
...
@@ -13,6 +13,7 @@ namespace app\admin\controller;
use
think\facade\Hook
;
use
think\Controller
;
use
app\module\FormHandleModule
;
use
app\service\AdminService
;
use
app\service\AdminPowerService
;
use
app\service\ConfigService
;
use
app\service\ResourcesService
;
...
...
@@ -76,7 +77,7 @@ class Common extends Controller
$this
->
SystemInit
();
// 管理员信息
$this
->
admin
=
session
(
'admin'
);
$this
->
admin
=
AdminService
::
LoginInfo
(
);
// 权限菜单
AdminPowerService
::
PowerMenuInit
();
...
...
@@ -184,7 +185,7 @@ class Common extends Controller
*/
protected
function
IsLogin
()
{
if
(
session
(
'admin'
)
===
null
)
if
(
$this
->
admin
===
null
)
{
if
(
IS_AJAX
)
{
...
...
@@ -192,7 +193,9 @@ class Common extends Controller
}
else
{
die
(
'<script type="text/javascript">if(self.frameElement && self.frameElement.tagName == "IFRAME"){parent.location.reload();}else{window.location.href="'
.
MyUrl
(
'admin/admin/logininfo'
)
.
'";}</script>'
);
}
}
}
else
{
AdminService
::
LoginRefresh
(
$this
->
admin
);
}
}
/**
...
...
application/admin/controller/Site.php
浏览文件 @
d1a9ce1f
...
...
@@ -95,10 +95,20 @@ class Site extends Common
$category
=
GoodsService
::
GoodsCategoryList
([
'where'
=>
$where
]);
if
(
!
empty
(
$category
))
{
// 关键字
$floor_keywords
=
(
empty
(
$data
[
'home_index_floor_top_right_keywords'
])
||
empty
(
$data
[
'home_index_floor_top_right_keywords'
][
'value'
]))
?
[]
:
json_decode
(
$data
[
'home_index_floor_top_right_keywords'
][
'value'
],
true
);
// 分类
$floor_category
=
(
empty
(
$data
[
'home_index_floor_left_top_category'
])
||
empty
(
$data
[
'home_index_floor_left_top_category'
][
'value'
]))
?
[]
:
json_decode
(
$data
[
'home_index_floor_left_top_category'
][
'value'
],
true
);
foreach
(
$category
as
&
$c
)
{
$c
[
'config_keywords'
]
=
isset
(
$floor_keywords
[
$c
[
'id'
]])
?
$floor_keywords
[
$c
[
'id'
]]
:
''
;
// 获取二级分类
$c
[
'items'
]
=
GoodsService
::
GoodsCategoryList
([
'where'
=>
[
'pid'
=>
$c
[
'id'
],
'is_enable'
=>
1
]]);
// 配置的关键字
$c
[
'config_keywords'
]
=
array_key_exists
(
$c
[
'id'
],
$floor_keywords
)
?
$floor_keywords
[
$c
[
'id'
]]
:
''
;
// 配置左侧分类
$c
[
'config_category_ids'
]
=
array_key_exists
(
$c
[
'id'
],
$floor_category
)
?
explode
(
','
,
$floor_category
[
$c
[
'id'
]])
:
[];
}
}
$this
->
assign
(
'goods_category_list'
,
$category
);
...
...
@@ -257,14 +267,11 @@ class Site extends Common
// 参数
$params
=
$_POST
;
// 导航
$nav_type
=
input
(
'nav_type'
,
'base'
);
// 字段不存在赋空值
$field_list
=
[];
// 导航类型
switch
(
$nav_type
)
switch
(
$
this
->
nav_type
)
{
// 用户注册
case
'register'
:
...
...
@@ -312,10 +319,18 @@ class Site extends Common
// 网站设置
case
'siteset'
:
// 楼层关键字
$params
[
'home_index_floor_top_right_keywords'
]
=
empty
(
$params
[
'home_index_floor_top_right_keywords'
])
?
''
:
json_encode
(
$params
[
'home_index_floor_top_right_keywords'
],
JSON_UNESCAPED_UNICODE
);
// 楼层自定义商品
$params
[
'home_index_floor_manual_mode_goods'
]
=
empty
(
$params
[
'home_index_floor_manual_mode_goods'
])
?
''
:
json_encode
(
$params
[
'home_index_floor_manual_mode_goods'
],
JSON_UNESCAPED_UNICODE
);
switch
(
$this
->
view_type
)
{
// 首页
case
'index'
:
// 楼层关键字
$params
[
'home_index_floor_top_right_keywords'
]
=
empty
(
$params
[
'home_index_floor_top_right_keywords'
])
?
''
:
json_encode
(
$params
[
'home_index_floor_top_right_keywords'
],
JSON_UNESCAPED_UNICODE
);
// 楼层自定义商品
$params
[
'home_index_floor_manual_mode_goods'
]
=
empty
(
$params
[
'home_index_floor_manual_mode_goods'
])
?
''
:
json_encode
(
$params
[
'home_index_floor_manual_mode_goods'
],
JSON_UNESCAPED_UNICODE
);
// 楼层左侧分类
$params
[
'home_index_floor_left_top_category'
]
=
empty
(
$params
[
'home_index_floor_left_top_category'
])
?
''
:
json_encode
(
$params
[
'home_index_floor_left_top_category'
],
JSON_UNESCAPED_UNICODE
);
break
;
}
break
;
// 缓存
...
...
@@ -362,7 +377,7 @@ class Site extends Common
// 清除缓存
if
(
$ret
[
'code'
]
==
0
)
{
switch
(
$nav_type
)
switch
(
$
this
->
nav_type
)
{
// 登录
case
'login'
:
...
...
application/admin/view/default/site/siteset/extends.html
浏览文件 @
d1a9ce1f
...
...
@@ -12,7 +12,7 @@
<!-- 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'=>
'siteset'
])}}"
enctype=
"multipart/form-data"
>
<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'=>
$nav_type, 'view_type'=>$view_type
])}}"
enctype=
"multipart/form-data"
>
<!-- 快捷导航 -->
<div
class=
"am-panel am-panel-default am-margin-top-sm"
>
<div
class=
"am-panel-hd"
>
...
...
@@ -28,6 +28,7 @@
<div
class=
"am-form-group am-form-group-refreshing am-margin-top-lg am-padding-left-0"
>
<input
type=
"hidden"
name=
"nav_type"
value=
"{{$nav_type}}"
/>
<input
type=
"hidden"
name=
"view_type"
value=
"{{$view_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/siteset/goods.html
浏览文件 @
d1a9ce1f
...
...
@@ -12,7 +12,7 @@
<!-- 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'=>
'siteset'
])}}"
enctype=
"multipart/form-data"
>
<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'=>
$nav_type, 'view_type'=>$view_type
])}}"
enctype=
"multipart/form-data"
>
<div
class=
"am-form-group"
>
<label>
{{$data.common_is_goods_detail_show_photo.name}}
<span
class=
"am-form-group-label-tips"
>
{{$data.common_is_goods_detail_show_photo.describe}}
</span></label>
<select
name=
"{{$data.common_is_goods_detail_show_photo.only_tag}}"
class=
"am-radius chosen-select"
data-validation-message=
"{{$data.common_is_goods_detail_show_photo.error_tips}}"
required
>
...
...
@@ -39,6 +39,7 @@
<div
class=
"am-form-group am-form-group-refreshing am-margin-top-lg am-padding-left-0"
>
<input
type=
"hidden"
name=
"nav_type"
value=
"{{$nav_type}}"
/>
<input
type=
"hidden"
name=
"view_type"
value=
"{{$view_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/siteset/index.html
浏览文件 @
d1a9ce1f
...
...
@@ -12,7 +12,7 @@
<!-- 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'=>
'siteset'
])}}"
enctype=
"multipart/form-data"
>
<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'=>
$nav_type, 'view_type'=>$view_type
])}}"
enctype=
"multipart/form-data"
>
<!-- 基础 -->
<div
class=
"am-panel am-panel-default am-margin-top-sm"
>
<div
class=
"am-panel-hd"
>
...
...
@@ -27,21 +27,35 @@
{{/foreach}}
</select>
</div>
<div
class=
"am-form-group"
>
<label>
{{$data.home_index_floor_left_goods_category_max_count.name}}
<span
class=
"am-form-group-label-tips"
>
{{$data.home_index_floor_left_goods_category_max_count.describe}}
</span></label>
<div
class=
"am-input-group am-input-group-sm"
>
<input
type=
"number"
min=
"0"
name=
"{{$data.home_index_floor_left_goods_category_max_count.only_tag}}"
placeholder=
"{{$data.home_index_floor_left_goods_category_max_count.name}}"
data-validation-message=
"{{$data.home_index_floor_left_goods_category_max_count.error_tips}}"
class=
"am-radius"
{{
if
!
empty
($
data
)}}
value=
"{{$data.home_index_floor_left_goods_category_max_count.value}}"
{{/
if
}}
/>
<span
class=
"am-input-group-btn"
>
<button
class=
"am-btn am-btn-default"
type=
"button"
>
个
</button>
</span>
</div>
<div
class=
"am-alert am-alert-warning"
data-am-alert
>
<button
type=
"button"
class=
"am-close"
>
×
</button>
<p>
1. 配置每个楼层左侧最多展示多少个二级商品分类
</p>
<p>
2. 不建议将数量修改的太大、如高度超出楼层容器会比较拥挤
</p>
<p>
3. 商品分类显示层级配置不能小于2、否则二级分类不展示
</p>
</div>
<label>
{{$data.home_index_floor_left_top_category.name}}
<span
class=
"am-form-group-label-tips"
>
{{$data.home_index_floor_left_top_category.describe}}
</span></label>
{{if !empty($goods_category_list)}}
<ul
class=
"am-list am-list-static am-list-border am-margin-bottom-0"
>
{{foreach $goods_category_list as $category}}
<li>
<p
class=
"am-text-truncate am-margin-bottom-xs"
>
<span>
{{$category.name}}
</span>
<span
class=
"am-margin-left-sm form.am-form am-form-group-label-tips"
>
{{$category.vice_name}}
</span>
</p>
<select
name=
"{{$data.home_index_floor_left_top_category.only_tag}}[{{$category.id}}]"
class=
"am-radius chosen-select"
multiple=
"multiple"
data-placeholder=
"请选择..."
data-validation-message=
"{{$data.home_index_floor_left_top_category.error_tips}}"
>
{{if !empty($category['items'])}}
{{foreach $category.items as $v}}
<option
value=
"{{$v.id}}"
{{
if
!
empty
($
category
['
config_category_ids
'])
and
in_array
($
v
['
id
'],
$
category
['
config_category_ids
'])}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
{{/if}}
</select>
</li>
{{/foreach}}
</ul>
{{else /}}
<div
class=
"am-text-center am-margin-top-lg"
>
<i
class=
"am-icon-warning"
></i>
<span>
暂无数据,请先到 / 商品管理->商品分类、一级分类设置首页推荐
</span>
</div>
{{/if}}
</div>
<div
class=
"am-form-group"
>
<label>
{{$data.home_index_floor_top_right_keywords.name}}
<span
class=
"am-form-group-label-tips"
>
{{$data.home_index_floor_top_right_keywords.describe}}
</span></label>
{{if !empty($goods_category_list)}}
...
...
@@ -135,7 +149,7 @@
{{if !empty($floor_manual_mode_goods_list)
&&
!empty($floor_manual_mode_goods_list[$category['id']])}}
{{foreach $floor_manual_mode_goods_list[$category['id']] as $g}}
<li
class=
"manual-mode-goods-item-{{$g.id}}"
>
<input
type=
"hidden"
name=
"
home_index_floor_manual_mode_goods
[{{$category.id}}][]"
value=
"{{$g.id}}"
/>
<input
type=
"hidden"
name=
"
{{$data.home_index_floor_manual_mode_goods.only_tag}}
[{{$category.id}}][]"
value=
"{{$g.id}}"
/>
<a
href=
"{{$g.goods_url}}"
target=
"_blank"
class=
"am-text-truncate"
>
<img
src=
"{{$g.images}}"
alt=
"{{$g.title}}"
class=
"am-fl am-margin-right-xs"
width=
"20"
height=
"20"
/>
<span>
{{$g.title}}
</span>
...
...
@@ -145,7 +159,7 @@
{{/foreach}}
{{/if}}
</ul>
<span
class=
"business-operations-submit goods-popup-add"
data-tag=
".manual-mode-goods-container-{{$category.id}}"
data-form-name=
"
home_index_floor_manual_mode_goods
[{{$category.id}}][]"
>
+添加商品
</span>
<span
class=
"business-operations-submit goods-popup-add"
data-tag=
".manual-mode-goods-container-{{$category.id}}"
data-form-name=
"
{{$data.home_index_floor_manual_mode_goods.only_tag}}
[{{$category.id}}][]"
>
+添加商品
</span>
</li>
{{/foreach}}
</ul>
...
...
@@ -161,6 +175,7 @@
<div
class=
"am-form-group am-form-group-refreshing am-margin-top-lg am-padding-left-0"
>
<input
type=
"hidden"
name=
"nav_type"
value=
"{{$nav_type}}"
/>
<input
type=
"hidden"
name=
"view_type"
value=
"{{$view_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/siteset/order.html
浏览文件 @
d1a9ce1f
...
...
@@ -12,7 +12,7 @@
<!-- 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'=>
'siteset'
])}}"
enctype=
"multipart/form-data"
>
<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'=>
$nav_type, 'view_type'=>$view_type
])}}"
enctype=
"multipart/form-data"
>
<div
class=
"am-form-group"
>
<label>
{{$data.home_is_enable_order_bulk_pay.name}}
<span
class=
"am-form-group-label-tips"
>
{{$data.home_is_enable_order_bulk_pay.describe}}
</span></label>
<select
name=
"{{$data.home_is_enable_order_bulk_pay.only_tag}}"
class=
"am-radius chosen-select"
data-validation-message=
"{{$data.home_is_enable_order_bulk_pay.error_tips}}"
required
>
...
...
@@ -24,6 +24,7 @@
<div
class=
"am-form-group am-form-group-refreshing am-margin-top-lg am-padding-left-0"
>
<input
type=
"hidden"
name=
"nav_type"
value=
"{{$nav_type}}"
/>
<input
type=
"hidden"
name=
"view_type"
value=
"{{$view_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/siteset/search.html
浏览文件 @
d1a9ce1f
...
...
@@ -12,7 +12,7 @@
<!-- 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'=>
'siteset'
])}}"
enctype=
"multipart/form-data"
>
<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'=>
$nav_type, 'view_type'=>$view_type
])}}"
enctype=
"multipart/form-data"
>
<div
class=
"am-form-group"
>
<label>
{{$data.home_search_keywords_type.name}}
</label>
<select
name=
"{{$data.home_search_keywords_type.only_tag}}"
class=
"am-radius chosen-select"
data-validation-message=
"{{$data.home_search_keywords_type.error_tips}}"
>
...
...
@@ -28,6 +28,7 @@
<div
class=
"am-form-group am-form-group-refreshing am-margin-top-lg am-padding-left-0"
>
<input
type=
"hidden"
name=
"nav_type"
value=
"{{$nav_type}}"
/>
<input
type=
"hidden"
name=
"view_type"
value=
"{{$view_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/common.php
浏览文件 @
d1a9ce1f
...
...
@@ -205,7 +205,7 @@ function AdminIsPower($controller = null, $action = null, $unwanted_power = [])
$action
=
strtolower
(
empty
(
$action
)
?
request
()
->
action
()
:
$action
);
// 管理员
$admin
=
session
(
'admin'
);
$admin
=
\
app\service\AdminService
::
LoginInfo
(
);
if
(
!
empty
(
$admin
))
{
// 不需要校验权限的方法
...
...
application/service/AdminPowerService.php
浏览文件 @
d1a9ce1f
...
...
@@ -12,6 +12,7 @@ namespace app\service;
use
think\Db
;
use
think\facade\Hook
;
use
app\service\AdminService
;
/**
* 权限菜单服务层
...
...
@@ -205,7 +206,7 @@ class AdminPowerService
public
static
function
PowerMenuInit
()
{
// 基础参数
$admin
=
session
(
'admin'
);
$admin
=
AdminService
::
LoginInfo
(
);
$admin_id
=
isset
(
$admin
[
'id'
])
?
intval
(
$admin
[
'id'
])
:
0
;
$role_id
=
isset
(
$admin
[
'role_id'
])
?
intval
(
$admin
[
'role_id'
])
:
0
;
...
...
@@ -311,7 +312,7 @@ class AdminPowerService
*/
public
static
function
MenuData
()
{
$admin
=
session
(
'admin'
);
$admin
=
AdminService
::
LoginInfo
(
);
if
(
!
empty
(
$admin
[
'id'
]))
{
$data
=
cache
(
config
(
'cache_admin_left_menu_key'
)
.
$admin
[
'id'
]);
...
...
@@ -339,7 +340,7 @@ class AdminPowerService
*/
public
static
function
PowerData
()
{
$admin
=
session
(
'admin'
);
$admin
=
AdminService
::
LoginInfo
(
);
if
(
!
empty
(
$admin
[
'id'
]))
{
$data
=
cache
(
config
(
'cache_admin_power_key'
)
.
$admin
[
'id'
]);
...
...
application/service/AdminService.php
浏览文件 @
d1a9ce1f
...
...
@@ -21,6 +21,9 @@ use think\Db;
*/
class
AdminService
{
// admin登录session key
public
static
$admin_login_key
=
'admin_login'
;
/**
* 管理员列表
* @author Devil
...
...
@@ -381,10 +384,10 @@ class AdminService
// 校验成功
// session存储
session
(
'admin'
,
$admin
);
session
(
self
::
$admin_login_key
,
$admin
);
// 返回数据,更新数据库
if
(
session
(
'admin'
)
!=
null
)
if
(
session
(
self
::
$admin_login_key
)
!=
null
)
{
$login_salt
=
GetNumberCode
(
6
);
$data
=
array
(
...
...
@@ -404,8 +407,48 @@ class AdminService
}
// 失败
session
(
'admin'
,
null
);
session
(
self
::
$admin_login_key
,
null
);
return
DataReturn
(
'登录失败,请稍后再试!'
,
-
100
);
}
/**
* 登录信息
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-11-26
* @desc description
*/
public
static
function
LoginInfo
()
{
return
session
(
self
::
$admin_login_key
);
}
/**
* 登录刷新
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-11-26
* @desc description
* @param [array] $admin [管理员登录信息]
*/
public
static
function
LoginRefresh
(
$admin
)
{
return
session
(
self
::
$admin_login_key
,
$admin
);
}
/**
* 登录退出
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-11-26
* @desc description
*/
public
static
function
LoginLogout
()
{
return
session
(
self
::
$admin_login_key
,
null
);
}
}
?>
\ No newline at end of file
application/service/AnswerService.php
浏览文件 @
d1a9ce1f
...
...
@@ -12,6 +12,7 @@ namespace app\service;
use
think\Db
;
use
app\service\UserService
;
use
app\service\AdminService
;
/**
* 问答/留言服务层
...
...
@@ -180,7 +181,7 @@ class AnswerService
public
static
function
AnswerSave
(
$params
=
[])
{
// 是否开启登录留言,管理员登录状态可继续操作
if
(
MyC
(
'common_is_login_answer'
)
==
1
&&
session
(
'admin'
)
===
null
)
if
(
MyC
(
'common_is_login_answer'
)
==
1
&&
AdminService
::
LoginInfo
(
)
===
null
)
{
$user
=
UserService
::
LoginUserInfo
();
if
(
empty
(
$user
))
...
...
application/service/ConfigService.php
浏览文件 @
d1a9ce1f
...
...
@@ -35,6 +35,7 @@ class ConfigService
'common_self_extraction_address'
,
'home_index_floor_top_right_keywords'
,
'home_index_floor_manual_mode_goods'
,
'home_index_floor_left_top_category'
,
];
// 附件字段列表
...
...
application/service/FormTableService.php
浏览文件 @
d1a9ce1f
...
...
@@ -12,6 +12,7 @@ namespace app\service;
use
think\Db
;
use
app\service\UserService
;
use
app\service\AdminService
;
/**
* 动态表格服务层
...
...
@@ -145,7 +146,7 @@ class FormTableService
// 当前用户
if
(
$module_name
==
'admin'
)
{
$admin
=
session
(
'admin'
);
$admin
=
AdminService
::
LoginInfo
(
);
$user_id
=
empty
(
$admin
[
'id'
])
?
0
:
$admin
[
'id'
];
$user_type
=
0
;
}
else
{
...
...
application/service/GoodsService.php
浏览文件 @
d1a9ce1f
...
...
@@ -138,8 +138,11 @@ class GoodsService
$m
=
isset
(
$params
[
'm'
])
?
intval
(
$params
[
'm'
])
:
0
;
$n
=
isset
(
$params
[
'n'
])
?
intval
(
$params
[
'n'
])
:
0
;
// 排序
$order_by
=
empty
(
$params
[
'order_by'
])
?
'sort asc'
:
trim
(
$params
[
'order_by'
]);
$field
=
'id,pid,icon,name,vice_name,describe,bg_color,big_images,sort,is_home_recommended,seo_title,seo_keywords,seo_desc'
;
$data
=
Db
::
name
(
'GoodsCategory'
)
->
field
(
$field
)
->
where
(
$where
)
->
order
(
'sort asc'
)
->
limit
(
$m
,
$n
)
->
select
();
$data
=
Db
::
name
(
'GoodsCategory'
)
->
field
(
$field
)
->
where
(
$where
)
->
order
(
$order_by
)
->
limit
(
$m
,
$n
)
->
select
();
return
self
::
GoodsCategoryDataDealWith
(
$data
);
}
...
...
@@ -196,18 +199,11 @@ class GoodsService
$data
=
self
::
GoodsCategoryList
([
'where'
=>
$where
]);
if
(
!
empty
(
$data
))
{
//
分类层级
$
level
=
MyC
(
'common_show_goods_category_level'
,
3
,
true
);
if
(
$level
>
1
)
//
楼层左侧商品分类从配置中读取
$
floor_left_top_category
=
MyC
(
'home_index_floor_left_top_category'
);
if
(
!
empty
(
$floor_left_top_category
)
)
{
// 二级分类数量
$goods_category_count
=
MyC
(
'home_index_floor_left_goods_category_max_count'
,
6
,
true
);
foreach
(
$data
as
&
$c
)
{
// 获取二级分类
$where
[
'pid'
]
=
$c
[
'id'
];
$c
[
'items'
]
=
self
::
GoodsCategoryList
([
'where'
=>
$where
,
'n'
=>
$goods_category_count
]);
}
$floor_left_top_category
=
json_decode
(
$floor_left_top_category
,
true
);
}
// 楼层关键字从配置中读取
...
...
@@ -287,8 +283,16 @@ class GoodsService
// 商品数据、后面实时读取这里赋空值
$v
[
'goods'
]
=
[];
// 楼层左侧分类
if
(
!
empty
(
$floor_left_top_category
)
&&
!
empty
(
$floor_left_top_category
[
$v
[
'id'
]]))
{
$v
[
'items'
]
=
self
::
GoodsCategoryList
([
'where'
=>
[
'id'
=>
explode
(
','
,
$floor_left_top_category
[
$v
[
'id'
]])],
'm'
=>
0
,
'n'
=>
0
]);
}
else
{
$v
[
'items'
]
=
[];
}
// 楼层关键字
$v
[
'config_keywords'
]
=
empty
(
$floor_keywords
[
$v
[
'id'
]]
)
?
[]
:
explode
(
','
,
$floor_keywords
[
$v
[
'id'
]]);
$v
[
'config_keywords'
]
=
(
empty
(
$floor_keywords
)
||
empty
(
$floor_keywords
[
$v
[
'id'
]])
)
?
[]
:
explode
(
','
,
$floor_keywords
[
$v
[
'id'
]]);
}
}
...
...
@@ -303,7 +307,7 @@ class GoodsService
$goods_ids
=
[];
foreach
(
$data
as
$cg
)
{
if
(
!
empty
(
$cg
[
'goods_ids'
])
&
is_array
(
$cg
[
'goods_ids'
]))
if
(
!
empty
(
$cg
[
'goods_ids'
])
&
&
is_array
(
$cg
[
'goods_ids'
]))
{
$goods_ids
=
array_merge
(
$goods_ids
,
$cg
[
'goods_ids'
]);
}
...
...
changelog.txt
浏览文件 @
d1a9ce1f
...
...
@@ -3,6 +3,7 @@
+=========================================================+
全局
1. 首页商品支持自定义配置
2. 首页左侧二级商品分类支持自定义配置
web端
1. 后台管理小程序列表新增主题管理
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录