Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
纵之格
ShopXO
提交
c1445a49
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,体验更适合开发者的 AI 搜索 >>
提交
c1445a49
编写于
10月 21, 2022
作者:
G
gongfuxiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
后台菜单优化、搜索记录新增开关
上级
13eb1ddd
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
119 addition
and
80 deletion
+119
-80
app/admin/controller/Common.php
app/admin/controller/Common.php
+2
-2
app/admin/view/default/site/siteset/search.html
app/admin/view/default/site/siteset/search.html
+8
-0
app/service/AdminPowerService.php
app/service/AdminPowerService.php
+12
-23
app/service/SearchService.php
app/service/SearchService.php
+54
-51
public/static/common/css/color/black.css
public/static/common/css/color/black.css
+43
-4
未找到文件。
app/admin/controller/Common.php
浏览文件 @
c1445a49
...
...
@@ -109,8 +109,8 @@ class Common extends BaseController
$this
->
admin
=
AdminService
::
LoginInfo
();
// 权限菜单
AdminPowerService
::
PowerMenuInit
(
$this
->
admin
);
$this
->
left_menu
=
AdminPowerService
::
MenuData
(
$this
->
admin
)
;
$menu
=
AdminPowerService
::
PowerMenuInit
(
$this
->
admin
);
$this
->
left_menu
=
$menu
[
'admin_left_menu'
]
;
// 视图初始化
$this
->
ViewInit
();
...
...
app/admin/view/default/site/siteset/search.html
浏览文件 @
c1445a49
...
...
@@ -13,6 +13,14 @@
<!-- form start -->
<form
class=
"am-form form-validation"
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_history_record.name}}
<span
class=
"am-form-group-label-tips"
>
{{$data.home_search_history_record.describe}}
</span></label>
<select
name=
"{{$data.home_search_history_record.only_tag}}"
class=
"am-radius chosen-select"
data-validation-message=
"{{$data.home_search_history_record.error_tips}}"
required
>
{{foreach $common_is_text_list as $v}}
<option
value=
"{{$v.id}}"
{{
if
isset
($
data
['
home_search_history_record
']['
value
'])
and
$
data
['
home_search_history_record
']['
value
']
eq
$
v
['
id
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
</div>
<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}}"
>
...
...
app/service/AdminPowerService.php
浏览文件 @
c1445a49
...
...
@@ -314,35 +314,24 @@ class AdminPowerService
MyCache
(
SystemService
::
CacheKey
(
'shopxo.cache_admin_power_key'
)
.
$admin_id
,
$admin_power
);
MyCache
(
SystemService
::
CacheKey
(
'shopxo.cache_admin_power_plugins_key'
)
.
$admin_id
,
$admin_plugins
);
}
return
true
;
}
/**
* 获取菜单数据
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2022-05-16
* @desc description
* @param [array] $admin [管理员信息]
*/
public
static
function
MenuData
(
$admin
)
{
if
(
!
empty
(
$admin
[
'id'
]))
{
$data
=
MyCache
(
SystemService
::
CacheKey
(
'shopxo.cache_admin_left_menu_key'
)
.
$admin
[
'id'
]);
}
// 后台左侧菜单钩子
$hook_name
=
'plugins_service_admin_menu_data'
;
MyEventTrigger
(
$hook_name
,
[
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'admin'
=>
$admin
,
'data'
=>
&
$data
,
'hook_name'
=>
$hook_name
,
'is_backend'
=>
true
,
'admin'
=>
$admin
,
'admin_left_menu'
=>
&
$admin_left_menu
,
'admin_power'
=>
&
$admin_power
,
'admin_plugins'
=>
&
$admin_plugins
,
]);
return
empty
(
$data
)
?
[]
:
$data
;
// 返回菜单和权限数据
return
[
'admin_left_menu'
=>
$admin_left_menu
,
'admin_power'
=>
$admin_power
,
'admin_plugins'
=>
$admin_plugins
,
];
}
/**
...
...
app/service/SearchService.php
浏览文件 @
c1445a49
...
...
@@ -508,70 +508,73 @@ class SearchService
*/
public
static
function
SearchAdd
(
$params
=
[])
{
// 排序
$ov_arr
=
empty
(
$params
[
'ov'
])
?
''
:
explode
(
'-'
,
$params
[
'ov'
]);
if
(
empty
(
$ov_arr
)
&&
!
empty
(
$params
[
'order_by_type'
])
&&
!
empty
(
$params
[
'order_by_field'
]))
// 是否增加搜索记录
if
(
MyC
(
'home_search_history_record'
,
0
)
==
1
)
{
$ov_arr
=
[
$params
[
'order_by_field'
],
$params
[
'order_by_type'
]];
}
// 排序
$ov_arr
=
empty
(
$params
[
'ov'
])
?
''
:
explode
(
'-'
,
$params
[
'ov'
]);
if
(
empty
(
$ov_arr
)
&&
!
empty
(
$params
[
'order_by_type'
])
&&
!
empty
(
$params
[
'order_by_field'
]))
{
$ov_arr
=
[
$params
[
'order_by_field'
],
$params
[
'order_by_type'
]];
}
// 结果仅保留商品id
if
(
!
empty
(
$params
[
'search_result_data'
])
&&
is_array
(
$params
[
'search_result_data'
])
&&
!
empty
(
$params
[
'search_result_data'
][
'data'
]))
{
$params
[
'search_result_data'
][
'data'
]
=
array_column
(
$params
[
'search_result_data'
][
'data'
],
'id'
);
}
// 结果仅保留商品id
if
(
!
empty
(
$params
[
'search_result_data'
])
&&
is_array
(
$params
[
'search_result_data'
])
&&
!
empty
(
$params
[
'search_result_data'
][
'data'
]))
{
$params
[
'search_result_data'
][
'data'
]
=
array_column
(
$params
[
'search_result_data'
][
'data'
],
'id'
);
}
// 日志数据
$data
=
[
'user_id'
=>
isset
(
$params
[
'user_id'
])
?
intval
(
$params
[
'user_id'
])
:
0
,
'keywords'
=>
empty
(
$params
[
'wd'
])
?
''
:
$params
[
'wd'
],
'order_by_field'
=>
empty
(
$ov_arr
)
?
''
:
$ov_arr
[
0
],
'order_by_type'
=>
empty
(
$ov_arr
)
?
''
:
$ov_arr
[
1
],
'search_result'
=>
empty
(
$params
[
'search_result_data'
])
?
''
:
json_encode
(
$params
[
'search_result_data'
],
JSON_UNESCAPED_UNICODE
),
'ymd'
=>
date
(
'Ymd'
),
'add_time'
=>
time
(),
];
// 日志数据
$data
=
[
'user_id'
=>
isset
(
$params
[
'user_id'
])
?
intval
(
$params
[
'user_id'
])
:
0
,
'keywords'
=>
empty
(
$params
[
'wd'
])
?
''
:
$params
[
'wd'
],
'order_by_field'
=>
empty
(
$ov_arr
)
?
''
:
$ov_arr
[
0
],
'order_by_type'
=>
empty
(
$ov_arr
)
?
''
:
$ov_arr
[
1
],
'search_result'
=>
empty
(
$params
[
'search_result_data'
])
?
''
:
json_encode
(
$params
[
'search_result_data'
],
JSON_UNESCAPED_UNICODE
),
'ymd'
=>
date
(
'Ymd'
),
'add_time'
=>
time
(),
];
// 参数处理
$field_arr
=
[
'brand_ids'
=>
[
'brand_ids'
,
'brand'
,
'bid'
],
'category_ids'
=>
[
'category_ids'
,
'category_id'
,
'cid'
],
'screening_price_values'
=>
[
'screening_price_values'
,
'peid'
],
'goods_params_values'
=>
[
'goods_params_values'
,
'psid'
],
'goods_spec_values'
=>
[
'goods_spec_values'
,
'scid'
],
];
foreach
(
$field_arr
as
$k
=>
$v
)
{
$item
=
[];
foreach
(
$v
as
$vs
)
// 参数处理
$field_arr
=
[
'brand_ids'
=>
[
'brand_ids'
,
'brand'
,
'bid'
],
'category_ids'
=>
[
'category_ids'
,
'category_id'
,
'cid'
],
'screening_price_values'
=>
[
'screening_price_values'
,
'peid'
],
'goods_params_values'
=>
[
'goods_params_values'
,
'psid'
],
'goods_spec_values'
=>
[
'goods_spec_values'
,
'scid'
],
];
foreach
(
$field_arr
as
$k
=>
$v
)
{
if
(
!
empty
(
$params
[
$vs
]))
$item
=
[];
foreach
(
$v
as
$vs
)
{
// 价格区间
if
(
$vs
==
'peid'
)
if
(
!
empty
(
$params
[
$vs
]))
{
$temp_price
=
Db
::
name
(
'ScreeningPrice'
)
->
where
([
'is_enable'
=>
1
,
'id'
=>
intval
(
$params
[
$vs
])])
->
field
(
'min_price,max_price'
)
->
find
();
$params
[
$vs
]
=
empty
(
$temp_price
)
?
''
:
implode
(
'-'
,
$temp_price
);
}
// 价格区间
if
(
$vs
==
'peid'
)
{
$temp_price
=
Db
::
name
(
'ScreeningPrice'
)
->
where
([
'is_enable'
=>
1
,
'id'
=>
intval
(
$params
[
$vs
])])
->
field
(
'min_price,max_price'
)
->
find
();
$params
[
$vs
]
=
empty
(
$temp_price
)
?
''
:
implode
(
'-'
,
$temp_price
);
}
// Ascii处理
if
(
in_array
(
$vs
,
[
'psid'
,
'scid'
]))
{
$params
[
$vs
]
=
AsciiToStr
(
$params
[
$vs
]);
}
// Ascii处理
if
(
in_array
(
$vs
,
[
'psid'
,
'scid'
]))
{
$params
[
$vs
]
=
AsciiToStr
(
$params
[
$vs
]);
}
// 合并参数
$tv
=
(
substr
(
$params
[
$vs
],
0
,
1
)
==
'{'
)
?
json_decode
(
htmlspecialchars_decode
(
$params
[
$vs
]),
true
)
:
$params
[
$vs
];
if
(
$tv
!==
''
&&
$tv
!==
null
)
{
$item
=
array_merge
(
$item
,
is_array
(
$tv
)
?
$tv
:
[
$tv
]);
// 合并参数
$tv
=
(
substr
(
$params
[
$vs
],
0
,
1
)
==
'{'
)
?
json_decode
(
htmlspecialchars_decode
(
$params
[
$vs
]),
true
)
:
$params
[
$vs
];
if
(
$tv
!==
''
&&
$tv
!==
null
)
{
$item
=
array_merge
(
$item
,
is_array
(
$tv
)
?
$tv
:
[
$tv
]);
}
}
}
$data
[
$k
]
=
empty
(
$item
)
?
''
:
(
is_array
(
$item
)
?
json_encode
(
$item
,
JSON_UNESCAPED_UNICODE
)
:
$item
);
}
$data
[
$k
]
=
empty
(
$item
)
?
''
:
(
is_array
(
$item
)
?
json_encode
(
$item
,
JSON_UNESCAPED_UNICODE
)
:
$item
);
Db
::
name
(
'SearchHistory'
)
->
insert
(
$data
);
}
Db
::
name
(
'SearchHistory'
)
->
insert
(
$data
);
}
/**
...
...
public/static/common/css/color/black.css
浏览文件 @
c1445a49
...
...
@@ -9,9 +9,10 @@ html,body {
.am-table-striped
>
tbody
>
tr
:nth-child
(
odd
)
>
th
{
background-color
:
#1d1d1d
;
}
pre
,
.am-table-hover
>
tbody
>
tr
:hover
>
td
,
.am-table-hover
>
tbody
>
tr
:hover
>
th
{
background-color
:
#
181818
;
background-color
:
#
202020
;
}
.am-table-bordered
>
thead
>
tr
>
th
,
.am-table-bordered
>
tbody
>
tr
>
th
,
...
...
@@ -77,7 +78,7 @@ html,body {
background
:
transparent
;
}
.dl-content
dt
:hover
,
.dl-content
dd
:hover
,
.data-avg-text-list
li
:hover
{
background
:
#
202020
;
background
:
#
1a1a1a
;
}
.data-avg-text-list
li
:hover
.data-avg-text-list-content
{
color
:
#e9e9e9
;
...
...
@@ -410,7 +411,7 @@ iframe,
.am-list-bordered
>
li
>
a
:hover
,
.am-list-border
>
li
>
a
:focus
,
.am-list-bordered
>
li
>
a
:focus
{
background-color
:
#
262727
;
background-color
:
#
181818
;
}
.am-table
>
thead
>
tr
>
td
.am-primary
,
.am-table
>
tbody
>
tr
>
td
.am-primary
,
...
...
@@ -590,6 +591,9 @@ fieldset[disabled] .am-form-field {
.plugins-data-list
ul
li
.submit-state.am-success
{
color
:
#fff
!important
;
}
.am-ucheck-checkbox
:disabled
+
.am-ucheck-icons
,
.am-ucheck-radio
:disabled
+
.am-ucheck-icons
{
color
:
#252525
;
}
header
{
background-color
:
#19222c
!important
;
border-color
:
#151d26
!important
;
...
...
@@ -664,6 +668,9 @@ ul.plug-file-upload-view li {
#modal-plugins-multilingual-select-container
.am-modal-bd
ul
{
border
:
1px
solid
#2b2b2b
;
}
.data-avg-text-list
,
.data-avg-text-list
li
{
border-color
:
#232323
;
}
/**
* 编辑器还是使用白底色
...
...
@@ -672,6 +679,35 @@ ul.plug-file-upload-view li {
background
:
transparent
!important
;
}
/**
* 打印模板
*/
.hiprint-printPaper.design
{
background
:
-webkit-linear-gradient
(
top
,
transparent
15px
,
#181818
15px
,
#181818
16px
,
transparent
16px
,
transparent
31px
,
#181818
31px
,
#181818
32px
,
transparent
32px
,
transparent
47px
,
#181818
47px
,
#181818
48px
,
transparent
48px
,
transparent
63px
,
#1c1c1c
63px
,
#1c1c1c
63px
),
-webkit-linear-gradient
(
left
,
transparent
15px
,
#181818
15px
,
#181818
16px
,
transparent
16px
,
transparent
31px
,
#181818
31px
,
#181818
32px
,
transparent
32px
,
transparent
47px
,
#181818
47px
,
#181818
48px
,
transparent
48px
,
transparent
63px
,
#1c1c1c
63px
,
#1c1c1c
63px
);
background-size
:
64px
64px
;
background-repeat
:
repeat
;
}
.right-option-setting
{
background
:
rgb
(
28
28
28
/
70%
);
}
.hiprint-option-items
.hiprint-option-item-field
input
,
.hiprint-option-items
.hiprint-option-item-field
select
,
.hiprint-option-items
.hiprint-option-item-field
textarea
{
border-color
:
rgb
(
47
47
47
);
}
.hiprint-printElement-table
thead
{
background
:
#2d2d2d
;
}
.hiprint-printElement-table
td
{
color
:
#666
;
border-color
:
#242424
;
}
.hitable
.selected
{
background
:
#3d3d3d
;
}
.drag-list
li
.item
a
{
color
:
#999
;
}
/**
* 进销存
*/
...
...
@@ -746,6 +782,9 @@ ul.plug-file-upload-view li {
.header-menu-open-pages-list
ul
li
a
:hover
{
color
:
#802c12
;
}
.list-find
li
.item-content
:hover
{
border-color
:
#454545
;
}
.product-unit-table
thead
tr
>
th
:last-child
,
.product-unit-table
tbody
tr
>
td
:last-child
{
background
:
rgb
(
30
30
30
);
box-shadow
:
rgb
(
136
136
136
/
10%
)
-5px
0px
8px
;
...
...
@@ -801,7 +840,7 @@ ul.plug-file-upload-view li {
}
::-webkit-scrollbar-corner
,
::-webkit-scrollbar-corner:vertical
{
background-color
:
#
f9f9f9
;
background-color
:
#
353535
;
}
::-webkit-scrollbar-resizer
,
::-webkit-scrollbar-resizer:vertical
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录