Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ModStart
ModStartCMS
提交
70df4040
ModStartCMS
项目概览
ModStart
/
ModStartCMS
通知
2
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ModStartCMS
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
70df4040
编写于
12月 25, 2021
作者:
ModStart
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
develop
上级
7c094795
变更
36
展开全部
隐藏空白更改
内联
并排
Showing
36 changed file
with
324 addition
and
42 deletion
+324
-42
module/Cms/View/pc/cms/index.blade.php
module/Cms/View/pc/cms/index.blade.php
+0
-1
module/Cms/View/pc/cms/search/index.blade.php
module/Cms/View/pc/cms/search/index.blade.php
+77
-0
module/Cms/Web/Controller/SearchController.php
module/Cms/Web/Controller/SearchController.php
+40
-0
module/Cms/Web/routes.php
module/Cms/Web/routes.php
+2
-0
module/Member/Admin/Controller/MemberDashboardController.php
module/Member/Admin/Controller/MemberDashboardController.php
+23
-10
module/Member/Docs/release/2.2.0.md
module/Member/Docs/release/2.2.0.md
+3
-0
module/Vendor/Docs/release/2.3.0.md
module/Vendor/Docs/release/2.3.0.md
+5
-0
module/Vendor/Provider/IDManager/AbstractDbCacheIDManager.php
...le/Vendor/Provider/IDManager/AbstractDbCacheIDManager.php
+6
-0
module/Vendor/Provider/IDManager/AbstractIDManager.php
module/Vendor/Provider/IDManager/AbstractIDManager.php
+2
-0
module/Vendor/config.json
module/Vendor/config.json
+1
-1
public/asset/theme/default/style.css
public/asset/theme/default/style.css
+1
-1
public/asset/vendor/iconfont/iconfont.css
public/asset/vendor/iconfont/iconfont.css
+1
-1
public/asset/vendor/iconfont/iconfont.json
public/asset/vendor/iconfont/iconfont.json
+14
-0
public/asset/vendor/iconfont/iconfont.ttf
public/asset/vendor/iconfont/iconfont.ttf
+0
-0
public/asset/vendor/iconfont/iconfont.woff
public/asset/vendor/iconfont/iconfont.woff
+0
-0
public/asset/vendor/iconfont/iconfont.woff2
public/asset/vendor/iconfont/iconfont.woff2
+0
-0
resources/views/theme/default/pc/share/header.blade.php
resources/views/theme/default/pc/share/header.blade.php
+8
-0
vendor/modstart/modstart/asset/theme/default/style.css
vendor/modstart/modstart/asset/theme/default/style.css
+1
-1
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.css
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.css
+1
-1
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.json
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.json
+14
-0
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.ttf
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.ttf
+0
-0
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.woff
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.woff
+0
-0
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.woff2
...or/modstart/modstart/asset/vendor/iconfont/iconfont.woff2
+0
-0
vendor/modstart/modstart/resources/asset/src/sui/adapt/element-ui.less
...rt/modstart/resources/asset/src/sui/adapt/element-ui.less
+3
-0
vendor/modstart/modstart/resources/asset/src/svue/lib/api.js
vendor/modstart/modstart/resources/asset/src/svue/lib/api.js
+9
-1
vendor/modstart/modstart/resources/asset/src/vendor/iconfont/iconfont.css
...modstart/resources/asset/src/vendor/iconfont/iconfont.css
+11
-3
vendor/modstart/modstart/resources/asset/src/vendor/iconfont/iconfont.json
...odstart/resources/asset/src/vendor/iconfont/iconfont.json
+14
-0
vendor/modstart/modstart/resources/asset/src/vendor/iconfont/iconfont.ttf
...modstart/resources/asset/src/vendor/iconfont/iconfont.ttf
+0
-0
vendor/modstart/modstart/resources/asset/src/vendor/iconfont/iconfont.woff
...odstart/resources/asset/src/vendor/iconfont/iconfont.woff
+0
-0
vendor/modstart/modstart/resources/asset/src/vendor/iconfont/iconfont.woff2
...dstart/resources/asset/src/vendor/iconfont/iconfont.woff2
+0
-0
vendor/modstart/modstart/src/Core/View/ResponsiveViewTrait.php
...r/modstart/modstart/src/Core/View/ResponsiveViewTrait.php
+2
-0
vendor/modstart/modstart/src/Field/AbstractField.php
vendor/modstart/modstart/src/Field/AbstractField.php
+6
-0
vendor/modstart/modstart/src/Form/Form.php
vendor/modstart/modstart/src/Form/Form.php
+27
-9
vendor/modstart/modstart/src/Widget/ButtonLink.php
vendor/modstart/modstart/src/Widget/ButtonLink.php
+10
-9
vendor/modstart/modstart/views/core/field/switchField-grid.blade.php
...tart/modstart/views/core/field/switchField-grid.blade.php
+25
-3
vendor/modstart/modstart/views/core/grid/index.blade.php
vendor/modstart/modstart/views/core/grid/index.blade.php
+18
-1
未找到文件。
module/Cms/View/pc/cms/index.blade.php
浏览文件 @
70df4040
...
...
@@ -2,7 +2,6 @@
@
section
(
'pageTitle'
){{
modstart_config
(
'siteName'
)
.
' - '
.
modstart_config
(
'siteSlogan'
)}}
@
endsection
{
!!
\
ModStart\ModStart
::
js
(
'asset/common/scrollAnimate.js'
)
!!
}
@
section
(
'bodyContent'
)
...
...
module/Cms/View/pc/cms/search/index.blade.php
0 → 100644
浏览文件 @
70df4040
@
extends
(
$_viewFrame
)
@
section
(
'pageTitleMain'
)
搜索
:
{{
$keywords
}}
@
endsection
@
section
(
'pageKeywords'
)
搜索
:
{{
$keywords
}}
@
endsection
@
section
(
'pageDescription'
)
搜索
:
{{
$keywords
}}
@
endsection
{
!!
\
ModStart\ModStart
::
js
(
'asset/vendor/jqueryMark.js'
)
!!
}
{
!!
\
ModStart\ModStart
::
style
(
'[data-markjs]{color:red !important;background:transparent;}'
)
!!
}
{
!!
\
ModStart\ModStart
::
script
(
"$('.ub-list-items .title').mark("
.
json_encode
(
$keywords
)
.
",{});"
)
!!
}
@
section
(
'bodyContent'
)
<
div
class
=
"ub-search-block"
>
<
div
class
=
"title"
>
搜索
</
div
>
<
div
class
=
"form"
>
<
form
action
=
"
{
{modstart_web_url('search')}
}
"
method
=
"get"
>
<
div
class
=
"box"
>
<
input
type
=
"text"
name
=
"keywords"
value
=
"{{$keywords or ''}}"
class
=
"form form-lg"
placeholder
=
"输入关键词搜索"
/>
<
button
type
=
"submit"
class
=
"btn btn-lg"
><
i
class
=
"iconfont icon-search"
></
i
>
搜索
</
button
>
</
div
>
</
form
>
</
div
>
</
div
>
<
div
class
=
"ub-container margin-top"
>
<
div
class
=
"ub-search-result tw-rounded-lg"
>
搜索
<
span
class
=
"keyword"
>
{{
$keywords
}}
</
span
>
,
共找到
<
span
class
=
"count"
>
{{
$total
}}
</
span
>
条记录
</
div
>
</
div
>
<
div
class
=
"ub-container margin-top"
>
<
div
class
=
"ub-panel"
>
<
div
class
=
"head"
>
<
div
class
=
"title"
>
搜索结果
</
div
>
</
div
>
<
div
class
=
"body"
>
@
if
(
empty
(
$records
))
<
div
class
=
"ub-empty tw-my-20"
>
<
div
class
=
"icon"
>
<
div
class
=
"iconfont icon-empty-box"
></
div
>
</
div
>
<
div
class
=
"text"
>
暂无记录
</
div
>
</
div
>
@
else
<
div
class
=
"ub-list-items"
style
=
"padding:0.5rem;"
>
@
foreach
(
$records
as
$record
)
<
div
class
=
"item-d"
>
<
a
class
=
"title"
target
=
"_blank"
href
=
"
{
{$record['_url']}}">{{$record['title']}
}
</a>
<div class="
attr
">
<i class="
iconfont
icon
-
time
"></i>
{
{$record['_day']}
}
</div>
<div class="
summary
">
{
{$record['summary']}
}
</div>
</div>
@endforeach
</div>
<div class="
ub
-
page
">
{!!
$pageHtml
!!}
</div>
@endif
</div>
</div>
</div>
@endsection
module/Cms/Web/Controller/SearchController.php
0 → 100644
浏览文件 @
70df4040
<?php
namespace
Module\Cms\Web\Controller
;
use
ModStart\Core\Input\InputPackage
;
use
ModStart\Core\Util\PageHtmlUtil
;
use
ModStart\Module\ModuleBaseController
;
use
Module\Cms\Util\CmsContentUtil
;
class
SearchController
extends
ModuleBaseController
{
public
function
index
()
{
// $data = parent::setup($id);
// $view = $this->getView($data, 'listTemplate');
// $cat = $data['cat'];
$input
=
InputPackage
::
buildFromInput
();
$page
=
$input
->
getPage
();
$pageSize
=
$input
->
getPageSize
(
'pageSize'
);
$keywords
=
$input
->
getTrimString
(
'keywords'
);
$option
=
[];
if
(
!
empty
(
$keywords
))
{
$option
[
'whereOperate'
]
=
[
[
'title'
,
'like'
,
"%
$keywords
%"
]
];
}
$paginateData
=
CmsContentUtil
::
paginate
(
$page
,
$pageSize
,
$option
);
$viewData
=
[];
$viewData
[
'keywords'
]
=
$keywords
;
$viewData
[
'records'
]
=
$paginateData
[
'records'
];
$viewData
[
'total'
]
=
$paginateData
[
'total'
];
$viewData
[
'pageHtml'
]
=
PageHtmlUtil
::
render
(
$paginateData
[
'total'
],
$pageSize
,
$page
,
'?page={page}'
);
return
$this
->
view
(
'cms.search.index'
,
$viewData
);
}
}
\ No newline at end of file
module/Cms/Web/routes.php
浏览文件 @
70df4040
...
...
@@ -14,6 +14,8 @@ $router->group([
$router
->
match
([
'get'
,
'post'
],
'a/{alias_url}'
,
'DetailController@index'
);
$router
->
match
([
'get'
,
'post'
],
'c/{id}'
,
'ListController@index'
);
$router
->
match
([
'get'
,
'post'
],
'search'
,
'SearchController@index'
);
foreach
(
CmsCatUtil
::
allSafely
()
as
$item
)
{
if
(
empty
(
$item
[
'url'
])
||
empty
(
$item
[
'_model'
][
'mode'
]))
{
continue
;
...
...
module/Member/Admin/Controller/MemberDashboardController.php
浏览文件 @
70df4040
...
...
@@ -8,7 +8,6 @@ use Illuminate\Routing\Controller;
use
ModStart\Admin\Layout\AdminPage
;
use
ModStart\Admin\Widget\DashboardItemA
;
use
ModStart\Core\Dao\ModelUtil
;
use
ModStart\Core\Exception\BizException
;
use
ModStart\Core\Util\ColorUtil
;
use
ModStart\Core\Util\TimeUtil
;
use
ModStart\Layout\Row
;
...
...
@@ -20,18 +19,32 @@ class MemberDashboardController extends Controller
public
function
index
(
AdminPage
$page
)
{
$page
->
pageTitle
(
'用户统计'
);
$page
->
row
(
function
(
Row
$row
)
{
$row
->
column
(
6
,
DashboardItemA
::
makeIconNumberTitle
(
$report
=
[];
$report
[
'yesterdayCount'
]
=
ModelUtil
::
model
(
'member_user'
)
->
where
(
'created_at'
,
'>='
,
TimeUtil
::
yesterdayStart
())
->
where
(
'created_at'
,
'<='
,
TimeUtil
::
yesterdayEnd
())
->
count
();
$w
=
date
(
'w'
);
if
(
$w
==
0
)
{
$w
=
7
;
}
$lastWeek
=
time
()
-
TimeUtil
::
PERIOD_DAY
*
7
-
TimeUtil
::
PERIOD_DAY
*
(
$w
-
1
);
$report
[
'lastWeekCount'
]
=
ModelUtil
::
model
(
'member_user'
)
->
where
(
'created_at'
,
'>='
,
date
(
'Y-m-d 00:00:00'
,
$lastWeek
))
->
where
(
'created_at'
,
'<='
,
date
(
'Y-m-d 23:59:59'
,
$lastWeek
+
TimeUtil
::
PERIOD_DAY
*
7
))
->
count
();
$page
->
row
(
function
(
Row
$row
)
use
(
$report
)
{
$row
->
column
(
4
,
DashboardItemA
::
makeIconNumberTitle
(
'iconfont icon-user'
,
ModelUtil
::
count
(
'member_user'
),
'用户总数'
,
modstart_admin_url
(
'member'
),
ColorUtil
::
randomColor
()
));
$row
->
column
(
6
,
DashboardItemA
::
makeIconNumberTitle
(
'iconfont icon-user'
,
ModelUtil
::
model
(
'member_user'
)
->
where
(
'created_at'
,
'>='
,
TimeUtil
::
yesterdayStart
())
->
where
(
'created_at'
,
'<='
,
TimeUtil
::
yesterdayEnd
())
->
count
(),
'昨日增长'
,
$row
->
column
(
4
,
DashboardItemA
::
makeIconNumberTitle
(
'iconfont icon-user'
,
$report
[
'yesterdayCount'
],
'昨日增长'
,
modstart_admin_url
(
'member'
),
ColorUtil
::
randomColor
()
));
$row
->
column
(
4
,
DashboardItemA
::
makeIconNumberTitle
(
'iconfont icon-user'
,
$report
[
'lastWeekCount'
],
'上周增长'
,
modstart_admin_url
(
'member'
),
ColorUtil
::
randomColor
()
));
});
...
...
module/Member/Docs/release/2.2.0.md
0 → 100644
浏览文件 @
70df4040
-
新增:用户系统上周增长报表
module/Vendor/Docs/release/2.3.0.md
0 → 100644
浏览文件 @
70df4040
---
-
新增:IDManager新增清除随机Key功能
module/Vendor/Provider/IDManager/AbstractDbCacheIDManager.php
浏览文件 @
70df4040
...
...
@@ -70,4 +70,10 @@ abstract class AbstractDbCacheIDManager extends AbstractIDManager
return
$this
->
idsPaginate
(
$ids
,
$page
,
$pageSize
);
}
public
function
forgetRandom
(
$cacheKey
=
'all'
)
{
Cache
::
forget
(
$this
->
name
()
.
'_Random_'
.
$cacheKey
);
}
}
\ No newline at end of file
module/Vendor/Provider/IDManager/AbstractIDManager.php
浏览文件 @
70df4040
...
...
@@ -20,4 +20,6 @@ abstract class AbstractIDManager
abstract
public
function
paginateRandom
(
$page
,
$pageSize
,
$cacheKey
=
'all'
,
$cacheMinutes
=
60
);
abstract
public
function
forgetRandom
(
$cacheKey
=
'all'
);
}
\ No newline at end of file
module/Vendor/config.json
浏览文件 @
70df4040
{
"name"
:
"Vendor"
,
"title"
:
"通用功能包"
,
"version"
:
"2.
2
.0"
,
"version"
:
"2.
3
.0"
,
"author"
:
"官方"
,
"description"
:
"提供基础功能"
,
"modstartVersion"
:
">=1.9.0"
,
...
...
public/asset/theme/default/style.css
浏览文件 @
70df4040
此差异已折叠。
点击以展开。
public/asset/vendor/iconfont/iconfont.css
浏览文件 @
70df4040
@font-face
{
font-family
:
iconfont
;
src
:
url(iconfont.woff2?t=1632474203013)
format
(
'woff2'
),
url(iconfont.woff?t=1632474203013)
format
(
'woff'
),
url(iconfont.ttf?t=1632474203013)
format
(
'truetype'
)}
.iconfont
{
font-family
:
iconfont
!important
;
font-size
:
16px
;
font-style
:
normal
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
}
.icon-list
:before
{
content
:
"\e602"
}
.icon-eye
:before
{
content
:
"\e60d"
}
.icon-comment
:before
{
content
:
"\e6ad"
}
.icon-weibo
:before
{
content
:
"\e61c"
}
.icon-wechat
:before
{
content
:
"\e62f"
}
.icon-qq
:before
{
content
:
"\e603"
}
.icon-list-alt
:before
{
content
:
"\e601"
}
.icon-transport
:before
{
content
:
"\e64f"
}
.icon-pay
:before
{
content
:
"\e683"
}
.icon-check-alt
:before
{
content
:
"\e632"
}
.icon-cart
:before
{
content
:
"\e737"
}
.icon-category
:before
{
content
:
"\e650"
}
.icon-user-o
:before
{
content
:
"\e68c"
}
.icon-home
:before
{
content
:
"\e9bb"
}
.icon-confirm
:before
{
content
:
"\e666"
}
.icon-address
:before
{
content
:
"\e684"
}
.icon-password
:before
{
content
:
"\e60e"
}
.icon-log-out
:before
{
content
:
"\e70f"
}
.icon-email
:before
{
content
:
"\e604"
}
.icon-phone
:before
{
content
:
"\e600"
}
.icon-image
:before
{
content
:
"\e605"
}
.icon-zoom-out
:before
{
content
:
"\e76e"
}
.icon-zoom-in
:before
{
content
:
"\e638"
}
.icon-plus
:before
{
content
:
"\e616"
}
.icon-close-o
:before
{
content
:
"\e634"
}
.icon-checked
:before
{
content
:
"\e61f"
}
.icon-trash
:before
{
content
:
"\e67e"
}
.icon-angle-left
:before
{
content
:
"\e6c2"
}
.icon-angle-up
:before
{
content
:
"\e630"
}
.icon-angle-right
:before
{
content
:
"\e609"
}
.icon-angle-down
:before
{
content
:
"\e9f0"
}
.icon-time
:before
{
content
:
"\e61e"
}
.icon-tag
:before
{
content
:
"\e667"
}
.icon-filter
:before
{
content
:
"\e727"
}
.icon-close
:before
{
content
:
"\e60f"
}
.icon-flag
:before
{
content
:
"\e66b"
}
.icon-qr-code
:before
{
content
:
"\e608"
}
.icon-sign
:before
{
content
:
"\e644"
}
.icon-description
:before
{
content
:
"\e619"
}
.icon-credit
:before
{
content
:
"\e6c3"
}
.icon-card
:before
{
content
:
"\e626"
}
.icon-pc
:before
{
content
:
"\e60a"
}
.icon-scan
:before
{
content
:
"\e68e"
}
.icon-sad
:before
{
content
:
"\e606"
}
.icon-users
:before
{
content
:
"\e62e"
}
.icon-share
:before
{
content
:
"\e60c"
}
.icon-gift
:before
{
content
:
"\e607"
}
.icon-music
:before
{
content
:
"\e61a"
}
.icon-chart
:before
{
content
:
"\e622"
}
.icon-cog
:before
{
content
:
"\e610"
}
.icon-search
:before
{
content
:
"\e612"
}
.icon-copy
:before
{
content
:
"\e620"
}
.icon-star
:before
{
content
:
"\e613"
}
.icon-cny
:before
{
content
:
"\e7f7"
}
.icon-question
:before
{
content
:
"\e631"
}
.icon-select
:before
{
content
:
"\e61b"
}
.icon-select-check
:before
{
content
:
"\e7be"
}
.icon-down
:before
{
content
:
"\e651"
}
.icon-up
:before
{
content
:
"\e64b"
}
.icon-warning
:before
{
content
:
"\e633"
}
.icon-refresh
:before
{
content
:
"\e6d4"
}
.icon-download
:before
{
content
:
"\e62c"
}
.icon-play
:before
{
content
:
"\e636"
}
.icon-loading
:before
{
content
:
"\e63f"
}
.icon-tel
:before
{
content
:
"\e62d"
}
.icon-shield-check
:before
{
content
:
"\e640"
}
.icon-individual
:before
{
content
:
"\e61d"
}
.icon-corp
:before
{
content
:
"\e611"
}
.icon-vip-alt
:before
{
content
:
"\e614"
}
.icon-gift-alt
:before
{
content
:
"\e691"
}
.icon-thumb-down
:before
{
content
:
"\ec2b"
}
.icon-thumb-up
:before
{
content
:
"\ec42"
}
.icon-magic-wand
:before
{
content
:
"\e662"
}
.icon-lock
:before
{
content
:
"\e653"
}
.icon-user
:before
{
content
:
"\e615"
}
.icon-link-alt
:before
{
content
:
"\e66a"
}
.icon-tools
:before
{
content
:
"\e639"
}
.icon-empty-box
:before
{
content
:
"\e716"
}
.icon-save
:before
{
content
:
"\e7e6"
}
.icon-bell
:before
{
content
:
"\e62b"
}
.icon-code-alt
:before
{
content
:
"\e621"
}
.icon-book
:before
{
content
:
"\e617"
}
.icon-pause
:before
{
content
:
"\e6a3"
}
.icon-edit
:before
{
content
:
"\e618"
}
.icon-add-col-after
:before
{
content
:
"\e624"
}
.icon-add-col-before
:before
{
content
:
"\e625"
}
.icon-add-row-after
:before
{
content
:
"\e627"
}
.icon-bold
:before
{
content
:
"\e628"
}
.icon-add-row-before
:before
{
content
:
"\e629"
}
.icon-italic
:before
{
content
:
"\e62a"
}
.icon-delete-col
:before
{
content
:
"\e635"
}
.icon-combine-cells
:before
{
content
:
"\e637"
}
.icon-paragraph
:before
{
content
:
"\e63a"
}
.icon-quote
:before
{
content
:
"\e63b"
}
.icon-ol
:before
{
content
:
"\e63c"
}
.icon-delete-row
:before
{
content
:
"\e63d"
}
.icon-underline
:before
{
content
:
"\e63e"
}
.icon-images
:before
{
content
:
"\e641"
}
.icon-delete-table
:before
{
content
:
"\e642"
}
.icon-ul
:before
{
content
:
"\e643"
}
.icon-redo
:before
{
content
:
"\e645"
}
.icon-table
:before
{
content
:
"\e646"
}
.icon-undo
:before
{
content
:
"\e647"
}
.icon-link
:before
{
content
:
"\e648"
}
.icon-hr
:before
{
content
:
"\e649"
}
.icon-strike
:before
{
content
:
"\e64a"
}
.icon-code
:before
{
content
:
"\e64c"
}
.icon-merge-cells
:before
{
content
:
"\e901"
}
.icon-move
:before
{
content
:
"\e6bc"
}
.icon-bottom
:before
{
content
:
"\e623"
}
.icon-top
:before
{
content
:
"\e64d"
}
.icon-details
:before
{
content
:
"\e752"
}
.icon-customer
:before
{
content
:
"\e699"
}
.icon-clues
:before
{
content
:
"\e697"
}
.icon-folder
:before
{
content
:
"\e64e"
}
.icon-user-transfer
:before
{
content
:
"\e696"
}
.icon-file
:before
{
content
:
"\e652"
}
.icon-robot
:before
{
content
:
"\e74b"
}
.icon-markdown
:before
{
content
:
"\e8d4"
}
.icon-fly
:before
{
content
:
"\e655"
}
.icon-mind-map
:before
{
content
:
"\e664"
}
.icon-profile
:before
{
content
:
"\e6db"
}
.icon-smile
:before
{
content
:
"\e654"
}
.icon-ellipsis
:before
{
content
:
"\e84a"
}
.icon-left
:before
{
content
:
"\e60b"
}
.icon-right
:before
{
content
:
"\e656"
}
.icon-upload
:before
{
content
:
"\e657"
}
.icon-check
:before
{
content
:
"\e658"
}
.icon-folder-add
:before
{
content
:
"\e659"
}
.icon-folder-upload
:before
{
content
:
"\e80b"
}
.icon-call
:before
{
content
:
"\e65a"
}
.icon-vip
:before
{
content
:
"\e65b"
}
.icon-language
:before
{
content
:
"\e693"
}
.icon-desktop
:before
{
content
:
"\e8e2"
}
.icon-direction-down
:before
{
content
:
"\e66c"
}
.icon-direction-right
:before
{
content
:
"\e66d"
}
.icon-direction-up
:before
{
content
:
"\e66e"
}
.icon-direction-left
:before
{
content
:
"\e66f"
}
.icon-heart
:before
{
content
:
"\e660"
}
.icon-heart-alt
:before
{
content
:
"\f2b2"
}
.icon-male
:before
{
content
:
"\e776"
}
.icon-female
:before
{
content
:
"\e678"
}
\ No newline at end of file
@font-face
{
font-family
:
iconfont
;
src
:
url(iconfont.woff2?t=1640308417974)
format
(
'woff2'
),
url(iconfont.woff?t=1640308417974)
format
(
'woff'
),
url(iconfont.ttf?t=1640308417974)
format
(
'truetype'
)}
.iconfont
{
font-family
:
iconfont
!important
;
font-size
:
16px
;
font-style
:
normal
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
}
.icon-dot-sm
:before
{
content
:
"\e65c"
}
.icon-dot
:before
{
content
:
"\e65d"
}
.icon-list
:before
{
content
:
"\e602"
}
.icon-eye
:before
{
content
:
"\e60d"
}
.icon-comment
:before
{
content
:
"\e6ad"
}
.icon-weibo
:before
{
content
:
"\e61c"
}
.icon-wechat
:before
{
content
:
"\e62f"
}
.icon-qq
:before
{
content
:
"\e603"
}
.icon-list-alt
:before
{
content
:
"\e601"
}
.icon-transport
:before
{
content
:
"\e64f"
}
.icon-pay
:before
{
content
:
"\e683"
}
.icon-check-alt
:before
{
content
:
"\e632"
}
.icon-cart
:before
{
content
:
"\e737"
}
.icon-category
:before
{
content
:
"\e650"
}
.icon-user-o
:before
{
content
:
"\e68c"
}
.icon-home
:before
{
content
:
"\e9bb"
}
.icon-confirm
:before
{
content
:
"\e666"
}
.icon-address
:before
{
content
:
"\e684"
}
.icon-password
:before
{
content
:
"\e60e"
}
.icon-log-out
:before
{
content
:
"\e70f"
}
.icon-email
:before
{
content
:
"\e604"
}
.icon-phone
:before
{
content
:
"\e600"
}
.icon-image
:before
{
content
:
"\e605"
}
.icon-zoom-out
:before
{
content
:
"\e76e"
}
.icon-zoom-in
:before
{
content
:
"\e638"
}
.icon-plus
:before
{
content
:
"\e616"
}
.icon-close-o
:before
{
content
:
"\e634"
}
.icon-checked
:before
{
content
:
"\e61f"
}
.icon-trash
:before
{
content
:
"\e67e"
}
.icon-angle-left
:before
{
content
:
"\e6c2"
}
.icon-angle-up
:before
{
content
:
"\e630"
}
.icon-angle-right
:before
{
content
:
"\e609"
}
.icon-angle-down
:before
{
content
:
"\e9f0"
}
.icon-time
:before
{
content
:
"\e61e"
}
.icon-tag
:before
{
content
:
"\e667"
}
.icon-filter
:before
{
content
:
"\e727"
}
.icon-close
:before
{
content
:
"\e60f"
}
.icon-flag
:before
{
content
:
"\e66b"
}
.icon-qr-code
:before
{
content
:
"\e608"
}
.icon-sign
:before
{
content
:
"\e644"
}
.icon-description
:before
{
content
:
"\e619"
}
.icon-credit
:before
{
content
:
"\e6c3"
}
.icon-card
:before
{
content
:
"\e626"
}
.icon-pc
:before
{
content
:
"\e60a"
}
.icon-scan
:before
{
content
:
"\e68e"
}
.icon-sad
:before
{
content
:
"\e606"
}
.icon-users
:before
{
content
:
"\e62e"
}
.icon-share
:before
{
content
:
"\e60c"
}
.icon-gift
:before
{
content
:
"\e607"
}
.icon-music
:before
{
content
:
"\e61a"
}
.icon-chart
:before
{
content
:
"\e622"
}
.icon-cog
:before
{
content
:
"\e610"
}
.icon-search
:before
{
content
:
"\e612"
}
.icon-copy
:before
{
content
:
"\e620"
}
.icon-star
:before
{
content
:
"\e613"
}
.icon-cny
:before
{
content
:
"\e7f7"
}
.icon-question
:before
{
content
:
"\e631"
}
.icon-select
:before
{
content
:
"\e61b"
}
.icon-select-check
:before
{
content
:
"\e7be"
}
.icon-down
:before
{
content
:
"\e651"
}
.icon-up
:before
{
content
:
"\e64b"
}
.icon-warning
:before
{
content
:
"\e633"
}
.icon-refresh
:before
{
content
:
"\e6d4"
}
.icon-download
:before
{
content
:
"\e62c"
}
.icon-play
:before
{
content
:
"\e636"
}
.icon-loading
:before
{
content
:
"\e63f"
}
.icon-tel
:before
{
content
:
"\e62d"
}
.icon-shield-check
:before
{
content
:
"\e640"
}
.icon-individual
:before
{
content
:
"\e61d"
}
.icon-corp
:before
{
content
:
"\e611"
}
.icon-vip-alt
:before
{
content
:
"\e614"
}
.icon-gift-alt
:before
{
content
:
"\e691"
}
.icon-thumb-down
:before
{
content
:
"\ec2b"
}
.icon-thumb-up
:before
{
content
:
"\ec42"
}
.icon-magic-wand
:before
{
content
:
"\e662"
}
.icon-lock
:before
{
content
:
"\e653"
}
.icon-user
:before
{
content
:
"\e615"
}
.icon-link-alt
:before
{
content
:
"\e66a"
}
.icon-tools
:before
{
content
:
"\e639"
}
.icon-empty-box
:before
{
content
:
"\e716"
}
.icon-save
:before
{
content
:
"\e7e6"
}
.icon-bell
:before
{
content
:
"\e62b"
}
.icon-code-alt
:before
{
content
:
"\e621"
}
.icon-book
:before
{
content
:
"\e617"
}
.icon-pause
:before
{
content
:
"\e6a3"
}
.icon-edit
:before
{
content
:
"\e618"
}
.icon-add-col-after
:before
{
content
:
"\e624"
}
.icon-add-col-before
:before
{
content
:
"\e625"
}
.icon-add-row-after
:before
{
content
:
"\e627"
}
.icon-bold
:before
{
content
:
"\e628"
}
.icon-add-row-before
:before
{
content
:
"\e629"
}
.icon-italic
:before
{
content
:
"\e62a"
}
.icon-delete-col
:before
{
content
:
"\e635"
}
.icon-combine-cells
:before
{
content
:
"\e637"
}
.icon-paragraph
:before
{
content
:
"\e63a"
}
.icon-quote
:before
{
content
:
"\e63b"
}
.icon-ol
:before
{
content
:
"\e63c"
}
.icon-delete-row
:before
{
content
:
"\e63d"
}
.icon-underline
:before
{
content
:
"\e63e"
}
.icon-images
:before
{
content
:
"\e641"
}
.icon-delete-table
:before
{
content
:
"\e642"
}
.icon-ul
:before
{
content
:
"\e643"
}
.icon-redo
:before
{
content
:
"\e645"
}
.icon-table
:before
{
content
:
"\e646"
}
.icon-undo
:before
{
content
:
"\e647"
}
.icon-link
:before
{
content
:
"\e648"
}
.icon-hr
:before
{
content
:
"\e649"
}
.icon-strike
:before
{
content
:
"\e64a"
}
.icon-code
:before
{
content
:
"\e64c"
}
.icon-merge-cells
:before
{
content
:
"\e901"
}
.icon-move
:before
{
content
:
"\e6bc"
}
.icon-bottom
:before
{
content
:
"\e623"
}
.icon-top
:before
{
content
:
"\e64d"
}
.icon-details
:before
{
content
:
"\e752"
}
.icon-customer
:before
{
content
:
"\e699"
}
.icon-clues
:before
{
content
:
"\e697"
}
.icon-folder
:before
{
content
:
"\e64e"
}
.icon-user-transfer
:before
{
content
:
"\e696"
}
.icon-file
:before
{
content
:
"\e652"
}
.icon-robot
:before
{
content
:
"\e74b"
}
.icon-markdown
:before
{
content
:
"\e8d4"
}
.icon-fly
:before
{
content
:
"\e655"
}
.icon-mind-map
:before
{
content
:
"\e664"
}
.icon-profile
:before
{
content
:
"\e6db"
}
.icon-smile
:before
{
content
:
"\e654"
}
.icon-ellipsis
:before
{
content
:
"\e84a"
}
.icon-left
:before
{
content
:
"\e60b"
}
.icon-right
:before
{
content
:
"\e656"
}
.icon-upload
:before
{
content
:
"\e657"
}
.icon-check
:before
{
content
:
"\e658"
}
.icon-folder-add
:before
{
content
:
"\e659"
}
.icon-folder-upload
:before
{
content
:
"\e80b"
}
.icon-call
:before
{
content
:
"\e65a"
}
.icon-vip
:before
{
content
:
"\e65b"
}
.icon-language
:before
{
content
:
"\e693"
}
.icon-desktop
:before
{
content
:
"\e8e2"
}
.icon-direction-down
:before
{
content
:
"\e66c"
}
.icon-direction-right
:before
{
content
:
"\e66d"
}
.icon-direction-up
:before
{
content
:
"\e66e"
}
.icon-direction-left
:before
{
content
:
"\e66f"
}
.icon-heart
:before
{
content
:
"\e660"
}
.icon-heart-alt
:before
{
content
:
"\f2b2"
}
.icon-male
:before
{
content
:
"\e776"
}
.icon-female
:before
{
content
:
"\e678"
}
\ No newline at end of file
public/asset/vendor/iconfont/iconfont.json
浏览文件 @
70df4040
...
...
@@ -5,6 +5,20 @@
"css_prefix_text"
:
"icon-"
,
"description"
:
""
,
"glyphs"
:
[
{
"icon_id"
:
"380331"
,
"name"
:
"dot"
,
"font_class"
:
"dot-sm"
,
"unicode"
:
"e65c"
,
"unicode_decimal"
:
58972
},
{
"icon_id"
:
"1003028"
,
"name"
:
"dot_1"
,
"font_class"
:
"dot"
,
"unicode"
:
"e65d"
,
"unicode_decimal"
:
58973
},
{
"icon_id"
:
"885533"
,
"name"
:
"list"
,
...
...
public/asset/vendor/iconfont/iconfont.ttf
浏览文件 @
70df4040
无法预览此类型文件
public/asset/vendor/iconfont/iconfont.woff
浏览文件 @
70df4040
无法预览此类型文件
public/asset/vendor/iconfont/iconfont.woff2
浏览文件 @
70df4040
无法预览此类型文件
resources/views/theme/default/pc/share/header.blade.php
浏览文件 @
70df4040
...
...
@@ -25,6 +25,14 @@
</div>
<div
class=
"nav-mask"
onclick=
"$(this).closest('.ub-header-b').removeClass('show')"
></div>
<div
class=
"nav"
>
<div
class=
"search"
>
<div
class=
"box"
>
<form
action=
"{{modstart_web_url('search')}}"
method=
"get"
>
<input
type=
"text"
name=
"keywords"
placeholder=
"搜索内容"
/>
<button
type=
"submit"
><i
class=
"iconfont icon-search"
></i></button>
</form>
</div>
</div>
@foreach(\Module\Nav\Util\NavUtil::listByPositionWithCache('head') as $nav)
<a
class=
"{{modstart_baseurl_active($nav['link'])}}"
href=
"{{$nav['link']}}"
{{\
Module
\
Nav
\
Type
\
NavOpenType::getBlankAttributeFromValue
(
empty
($
nav
['
openType
'])?
null:
$
nav
['
openType
'])}}
>
{{$nav['name']}}
</a>
@endforeach
...
...
vendor/modstart/modstart/asset/theme/default/style.css
浏览文件 @
70df4040
此差异已折叠。
点击以展开。
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.css
浏览文件 @
70df4040
@font-face
{
font-family
:
iconfont
;
src
:
url(iconfont.woff2?t=1632474203013)
format
(
'woff2'
),
url(iconfont.woff?t=1632474203013)
format
(
'woff'
),
url(iconfont.ttf?t=1632474203013)
format
(
'truetype'
)}
.iconfont
{
font-family
:
iconfont
!important
;
font-size
:
16px
;
font-style
:
normal
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
}
.icon-list
:before
{
content
:
"\e602"
}
.icon-eye
:before
{
content
:
"\e60d"
}
.icon-comment
:before
{
content
:
"\e6ad"
}
.icon-weibo
:before
{
content
:
"\e61c"
}
.icon-wechat
:before
{
content
:
"\e62f"
}
.icon-qq
:before
{
content
:
"\e603"
}
.icon-list-alt
:before
{
content
:
"\e601"
}
.icon-transport
:before
{
content
:
"\e64f"
}
.icon-pay
:before
{
content
:
"\e683"
}
.icon-check-alt
:before
{
content
:
"\e632"
}
.icon-cart
:before
{
content
:
"\e737"
}
.icon-category
:before
{
content
:
"\e650"
}
.icon-user-o
:before
{
content
:
"\e68c"
}
.icon-home
:before
{
content
:
"\e9bb"
}
.icon-confirm
:before
{
content
:
"\e666"
}
.icon-address
:before
{
content
:
"\e684"
}
.icon-password
:before
{
content
:
"\e60e"
}
.icon-log-out
:before
{
content
:
"\e70f"
}
.icon-email
:before
{
content
:
"\e604"
}
.icon-phone
:before
{
content
:
"\e600"
}
.icon-image
:before
{
content
:
"\e605"
}
.icon-zoom-out
:before
{
content
:
"\e76e"
}
.icon-zoom-in
:before
{
content
:
"\e638"
}
.icon-plus
:before
{
content
:
"\e616"
}
.icon-close-o
:before
{
content
:
"\e634"
}
.icon-checked
:before
{
content
:
"\e61f"
}
.icon-trash
:before
{
content
:
"\e67e"
}
.icon-angle-left
:before
{
content
:
"\e6c2"
}
.icon-angle-up
:before
{
content
:
"\e630"
}
.icon-angle-right
:before
{
content
:
"\e609"
}
.icon-angle-down
:before
{
content
:
"\e9f0"
}
.icon-time
:before
{
content
:
"\e61e"
}
.icon-tag
:before
{
content
:
"\e667"
}
.icon-filter
:before
{
content
:
"\e727"
}
.icon-close
:before
{
content
:
"\e60f"
}
.icon-flag
:before
{
content
:
"\e66b"
}
.icon-qr-code
:before
{
content
:
"\e608"
}
.icon-sign
:before
{
content
:
"\e644"
}
.icon-description
:before
{
content
:
"\e619"
}
.icon-credit
:before
{
content
:
"\e6c3"
}
.icon-card
:before
{
content
:
"\e626"
}
.icon-pc
:before
{
content
:
"\e60a"
}
.icon-scan
:before
{
content
:
"\e68e"
}
.icon-sad
:before
{
content
:
"\e606"
}
.icon-users
:before
{
content
:
"\e62e"
}
.icon-share
:before
{
content
:
"\e60c"
}
.icon-gift
:before
{
content
:
"\e607"
}
.icon-music
:before
{
content
:
"\e61a"
}
.icon-chart
:before
{
content
:
"\e622"
}
.icon-cog
:before
{
content
:
"\e610"
}
.icon-search
:before
{
content
:
"\e612"
}
.icon-copy
:before
{
content
:
"\e620"
}
.icon-star
:before
{
content
:
"\e613"
}
.icon-cny
:before
{
content
:
"\e7f7"
}
.icon-question
:before
{
content
:
"\e631"
}
.icon-select
:before
{
content
:
"\e61b"
}
.icon-select-check
:before
{
content
:
"\e7be"
}
.icon-down
:before
{
content
:
"\e651"
}
.icon-up
:before
{
content
:
"\e64b"
}
.icon-warning
:before
{
content
:
"\e633"
}
.icon-refresh
:before
{
content
:
"\e6d4"
}
.icon-download
:before
{
content
:
"\e62c"
}
.icon-play
:before
{
content
:
"\e636"
}
.icon-loading
:before
{
content
:
"\e63f"
}
.icon-tel
:before
{
content
:
"\e62d"
}
.icon-shield-check
:before
{
content
:
"\e640"
}
.icon-individual
:before
{
content
:
"\e61d"
}
.icon-corp
:before
{
content
:
"\e611"
}
.icon-vip-alt
:before
{
content
:
"\e614"
}
.icon-gift-alt
:before
{
content
:
"\e691"
}
.icon-thumb-down
:before
{
content
:
"\ec2b"
}
.icon-thumb-up
:before
{
content
:
"\ec42"
}
.icon-magic-wand
:before
{
content
:
"\e662"
}
.icon-lock
:before
{
content
:
"\e653"
}
.icon-user
:before
{
content
:
"\e615"
}
.icon-link-alt
:before
{
content
:
"\e66a"
}
.icon-tools
:before
{
content
:
"\e639"
}
.icon-empty-box
:before
{
content
:
"\e716"
}
.icon-save
:before
{
content
:
"\e7e6"
}
.icon-bell
:before
{
content
:
"\e62b"
}
.icon-code-alt
:before
{
content
:
"\e621"
}
.icon-book
:before
{
content
:
"\e617"
}
.icon-pause
:before
{
content
:
"\e6a3"
}
.icon-edit
:before
{
content
:
"\e618"
}
.icon-add-col-after
:before
{
content
:
"\e624"
}
.icon-add-col-before
:before
{
content
:
"\e625"
}
.icon-add-row-after
:before
{
content
:
"\e627"
}
.icon-bold
:before
{
content
:
"\e628"
}
.icon-add-row-before
:before
{
content
:
"\e629"
}
.icon-italic
:before
{
content
:
"\e62a"
}
.icon-delete-col
:before
{
content
:
"\e635"
}
.icon-combine-cells
:before
{
content
:
"\e637"
}
.icon-paragraph
:before
{
content
:
"\e63a"
}
.icon-quote
:before
{
content
:
"\e63b"
}
.icon-ol
:before
{
content
:
"\e63c"
}
.icon-delete-row
:before
{
content
:
"\e63d"
}
.icon-underline
:before
{
content
:
"\e63e"
}
.icon-images
:before
{
content
:
"\e641"
}
.icon-delete-table
:before
{
content
:
"\e642"
}
.icon-ul
:before
{
content
:
"\e643"
}
.icon-redo
:before
{
content
:
"\e645"
}
.icon-table
:before
{
content
:
"\e646"
}
.icon-undo
:before
{
content
:
"\e647"
}
.icon-link
:before
{
content
:
"\e648"
}
.icon-hr
:before
{
content
:
"\e649"
}
.icon-strike
:before
{
content
:
"\e64a"
}
.icon-code
:before
{
content
:
"\e64c"
}
.icon-merge-cells
:before
{
content
:
"\e901"
}
.icon-move
:before
{
content
:
"\e6bc"
}
.icon-bottom
:before
{
content
:
"\e623"
}
.icon-top
:before
{
content
:
"\e64d"
}
.icon-details
:before
{
content
:
"\e752"
}
.icon-customer
:before
{
content
:
"\e699"
}
.icon-clues
:before
{
content
:
"\e697"
}
.icon-folder
:before
{
content
:
"\e64e"
}
.icon-user-transfer
:before
{
content
:
"\e696"
}
.icon-file
:before
{
content
:
"\e652"
}
.icon-robot
:before
{
content
:
"\e74b"
}
.icon-markdown
:before
{
content
:
"\e8d4"
}
.icon-fly
:before
{
content
:
"\e655"
}
.icon-mind-map
:before
{
content
:
"\e664"
}
.icon-profile
:before
{
content
:
"\e6db"
}
.icon-smile
:before
{
content
:
"\e654"
}
.icon-ellipsis
:before
{
content
:
"\e84a"
}
.icon-left
:before
{
content
:
"\e60b"
}
.icon-right
:before
{
content
:
"\e656"
}
.icon-upload
:before
{
content
:
"\e657"
}
.icon-check
:before
{
content
:
"\e658"
}
.icon-folder-add
:before
{
content
:
"\e659"
}
.icon-folder-upload
:before
{
content
:
"\e80b"
}
.icon-call
:before
{
content
:
"\e65a"
}
.icon-vip
:before
{
content
:
"\e65b"
}
.icon-language
:before
{
content
:
"\e693"
}
.icon-desktop
:before
{
content
:
"\e8e2"
}
.icon-direction-down
:before
{
content
:
"\e66c"
}
.icon-direction-right
:before
{
content
:
"\e66d"
}
.icon-direction-up
:before
{
content
:
"\e66e"
}
.icon-direction-left
:before
{
content
:
"\e66f"
}
.icon-heart
:before
{
content
:
"\e660"
}
.icon-heart-alt
:before
{
content
:
"\f2b2"
}
.icon-male
:before
{
content
:
"\e776"
}
.icon-female
:before
{
content
:
"\e678"
}
\ No newline at end of file
@font-face
{
font-family
:
iconfont
;
src
:
url(iconfont.woff2?t=1640308417974)
format
(
'woff2'
),
url(iconfont.woff?t=1640308417974)
format
(
'woff'
),
url(iconfont.ttf?t=1640308417974)
format
(
'truetype'
)}
.iconfont
{
font-family
:
iconfont
!important
;
font-size
:
16px
;
font-style
:
normal
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
}
.icon-dot-sm
:before
{
content
:
"\e65c"
}
.icon-dot
:before
{
content
:
"\e65d"
}
.icon-list
:before
{
content
:
"\e602"
}
.icon-eye
:before
{
content
:
"\e60d"
}
.icon-comment
:before
{
content
:
"\e6ad"
}
.icon-weibo
:before
{
content
:
"\e61c"
}
.icon-wechat
:before
{
content
:
"\e62f"
}
.icon-qq
:before
{
content
:
"\e603"
}
.icon-list-alt
:before
{
content
:
"\e601"
}
.icon-transport
:before
{
content
:
"\e64f"
}
.icon-pay
:before
{
content
:
"\e683"
}
.icon-check-alt
:before
{
content
:
"\e632"
}
.icon-cart
:before
{
content
:
"\e737"
}
.icon-category
:before
{
content
:
"\e650"
}
.icon-user-o
:before
{
content
:
"\e68c"
}
.icon-home
:before
{
content
:
"\e9bb"
}
.icon-confirm
:before
{
content
:
"\e666"
}
.icon-address
:before
{
content
:
"\e684"
}
.icon-password
:before
{
content
:
"\e60e"
}
.icon-log-out
:before
{
content
:
"\e70f"
}
.icon-email
:before
{
content
:
"\e604"
}
.icon-phone
:before
{
content
:
"\e600"
}
.icon-image
:before
{
content
:
"\e605"
}
.icon-zoom-out
:before
{
content
:
"\e76e"
}
.icon-zoom-in
:before
{
content
:
"\e638"
}
.icon-plus
:before
{
content
:
"\e616"
}
.icon-close-o
:before
{
content
:
"\e634"
}
.icon-checked
:before
{
content
:
"\e61f"
}
.icon-trash
:before
{
content
:
"\e67e"
}
.icon-angle-left
:before
{
content
:
"\e6c2"
}
.icon-angle-up
:before
{
content
:
"\e630"
}
.icon-angle-right
:before
{
content
:
"\e609"
}
.icon-angle-down
:before
{
content
:
"\e9f0"
}
.icon-time
:before
{
content
:
"\e61e"
}
.icon-tag
:before
{
content
:
"\e667"
}
.icon-filter
:before
{
content
:
"\e727"
}
.icon-close
:before
{
content
:
"\e60f"
}
.icon-flag
:before
{
content
:
"\e66b"
}
.icon-qr-code
:before
{
content
:
"\e608"
}
.icon-sign
:before
{
content
:
"\e644"
}
.icon-description
:before
{
content
:
"\e619"
}
.icon-credit
:before
{
content
:
"\e6c3"
}
.icon-card
:before
{
content
:
"\e626"
}
.icon-pc
:before
{
content
:
"\e60a"
}
.icon-scan
:before
{
content
:
"\e68e"
}
.icon-sad
:before
{
content
:
"\e606"
}
.icon-users
:before
{
content
:
"\e62e"
}
.icon-share
:before
{
content
:
"\e60c"
}
.icon-gift
:before
{
content
:
"\e607"
}
.icon-music
:before
{
content
:
"\e61a"
}
.icon-chart
:before
{
content
:
"\e622"
}
.icon-cog
:before
{
content
:
"\e610"
}
.icon-search
:before
{
content
:
"\e612"
}
.icon-copy
:before
{
content
:
"\e620"
}
.icon-star
:before
{
content
:
"\e613"
}
.icon-cny
:before
{
content
:
"\e7f7"
}
.icon-question
:before
{
content
:
"\e631"
}
.icon-select
:before
{
content
:
"\e61b"
}
.icon-select-check
:before
{
content
:
"\e7be"
}
.icon-down
:before
{
content
:
"\e651"
}
.icon-up
:before
{
content
:
"\e64b"
}
.icon-warning
:before
{
content
:
"\e633"
}
.icon-refresh
:before
{
content
:
"\e6d4"
}
.icon-download
:before
{
content
:
"\e62c"
}
.icon-play
:before
{
content
:
"\e636"
}
.icon-loading
:before
{
content
:
"\e63f"
}
.icon-tel
:before
{
content
:
"\e62d"
}
.icon-shield-check
:before
{
content
:
"\e640"
}
.icon-individual
:before
{
content
:
"\e61d"
}
.icon-corp
:before
{
content
:
"\e611"
}
.icon-vip-alt
:before
{
content
:
"\e614"
}
.icon-gift-alt
:before
{
content
:
"\e691"
}
.icon-thumb-down
:before
{
content
:
"\ec2b"
}
.icon-thumb-up
:before
{
content
:
"\ec42"
}
.icon-magic-wand
:before
{
content
:
"\e662"
}
.icon-lock
:before
{
content
:
"\e653"
}
.icon-user
:before
{
content
:
"\e615"
}
.icon-link-alt
:before
{
content
:
"\e66a"
}
.icon-tools
:before
{
content
:
"\e639"
}
.icon-empty-box
:before
{
content
:
"\e716"
}
.icon-save
:before
{
content
:
"\e7e6"
}
.icon-bell
:before
{
content
:
"\e62b"
}
.icon-code-alt
:before
{
content
:
"\e621"
}
.icon-book
:before
{
content
:
"\e617"
}
.icon-pause
:before
{
content
:
"\e6a3"
}
.icon-edit
:before
{
content
:
"\e618"
}
.icon-add-col-after
:before
{
content
:
"\e624"
}
.icon-add-col-before
:before
{
content
:
"\e625"
}
.icon-add-row-after
:before
{
content
:
"\e627"
}
.icon-bold
:before
{
content
:
"\e628"
}
.icon-add-row-before
:before
{
content
:
"\e629"
}
.icon-italic
:before
{
content
:
"\e62a"
}
.icon-delete-col
:before
{
content
:
"\e635"
}
.icon-combine-cells
:before
{
content
:
"\e637"
}
.icon-paragraph
:before
{
content
:
"\e63a"
}
.icon-quote
:before
{
content
:
"\e63b"
}
.icon-ol
:before
{
content
:
"\e63c"
}
.icon-delete-row
:before
{
content
:
"\e63d"
}
.icon-underline
:before
{
content
:
"\e63e"
}
.icon-images
:before
{
content
:
"\e641"
}
.icon-delete-table
:before
{
content
:
"\e642"
}
.icon-ul
:before
{
content
:
"\e643"
}
.icon-redo
:before
{
content
:
"\e645"
}
.icon-table
:before
{
content
:
"\e646"
}
.icon-undo
:before
{
content
:
"\e647"
}
.icon-link
:before
{
content
:
"\e648"
}
.icon-hr
:before
{
content
:
"\e649"
}
.icon-strike
:before
{
content
:
"\e64a"
}
.icon-code
:before
{
content
:
"\e64c"
}
.icon-merge-cells
:before
{
content
:
"\e901"
}
.icon-move
:before
{
content
:
"\e6bc"
}
.icon-bottom
:before
{
content
:
"\e623"
}
.icon-top
:before
{
content
:
"\e64d"
}
.icon-details
:before
{
content
:
"\e752"
}
.icon-customer
:before
{
content
:
"\e699"
}
.icon-clues
:before
{
content
:
"\e697"
}
.icon-folder
:before
{
content
:
"\e64e"
}
.icon-user-transfer
:before
{
content
:
"\e696"
}
.icon-file
:before
{
content
:
"\e652"
}
.icon-robot
:before
{
content
:
"\e74b"
}
.icon-markdown
:before
{
content
:
"\e8d4"
}
.icon-fly
:before
{
content
:
"\e655"
}
.icon-mind-map
:before
{
content
:
"\e664"
}
.icon-profile
:before
{
content
:
"\e6db"
}
.icon-smile
:before
{
content
:
"\e654"
}
.icon-ellipsis
:before
{
content
:
"\e84a"
}
.icon-left
:before
{
content
:
"\e60b"
}
.icon-right
:before
{
content
:
"\e656"
}
.icon-upload
:before
{
content
:
"\e657"
}
.icon-check
:before
{
content
:
"\e658"
}
.icon-folder-add
:before
{
content
:
"\e659"
}
.icon-folder-upload
:before
{
content
:
"\e80b"
}
.icon-call
:before
{
content
:
"\e65a"
}
.icon-vip
:before
{
content
:
"\e65b"
}
.icon-language
:before
{
content
:
"\e693"
}
.icon-desktop
:before
{
content
:
"\e8e2"
}
.icon-direction-down
:before
{
content
:
"\e66c"
}
.icon-direction-right
:before
{
content
:
"\e66d"
}
.icon-direction-up
:before
{
content
:
"\e66e"
}
.icon-direction-left
:before
{
content
:
"\e66f"
}
.icon-heart
:before
{
content
:
"\e660"
}
.icon-heart-alt
:before
{
content
:
"\f2b2"
}
.icon-male
:before
{
content
:
"\e776"
}
.icon-female
:before
{
content
:
"\e678"
}
\ No newline at end of file
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.json
浏览文件 @
70df4040
...
...
@@ -5,6 +5,20 @@
"css_prefix_text"
:
"icon-"
,
"description"
:
""
,
"glyphs"
:
[
{
"icon_id"
:
"380331"
,
"name"
:
"dot"
,
"font_class"
:
"dot-sm"
,
"unicode"
:
"e65c"
,
"unicode_decimal"
:
58972
},
{
"icon_id"
:
"1003028"
,
"name"
:
"dot_1"
,
"font_class"
:
"dot"
,
"unicode"
:
"e65d"
,
"unicode_decimal"
:
58973
},
{
"icon_id"
:
"885533"
,
"name"
:
"list"
,
...
...
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.ttf
浏览文件 @
70df4040
无法预览此类型文件
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.woff
浏览文件 @
70df4040
无法预览此类型文件
vendor/modstart/modstart/asset/vendor/iconfont/iconfont.woff2
浏览文件 @
70df4040
无法预览此类型文件
vendor/modstart/modstart/resources/asset/src/sui/adapt/element-ui.less
浏览文件 @
70df4040
...
...
@@ -467,3 +467,6 @@ input:-webkit-autofill {
box-shadow: -1px 0 0 0 var(--color-primary);
}
.el-avatar{
vertical-align: middle;
}
vendor/modstart/modstart/resources/asset/src/svue/lib/api.js
浏览文件 @
70df4040
...
...
@@ -121,7 +121,15 @@ const defaultSuccessCallback = function (res) {
}
const
defaultErrorCatcher
=
function
(
err
,
failCB
)
{
failCB
({
code
:
-
1
,
msg
:
'
请求失败(1):
'
+
err
})
const
errString
=
err
.
toString
()
const
res
=
{
code
:
-
1
,
msg
:
'
请求失败(1):
'
+
err
}
if
(
errString
.
includes
(
'
failed with status code 404
'
))
{
res
.
msg
=
'
请求失败:地址不存在
'
}
const
ret
=
failCB
(
res
)
if
(
undefined
===
ret
)
{
defaultFailCallback
(
res
)
}
console
.
error
(
'
api ->
'
,
err
)
}
...
...
vendor/modstart/modstart/resources/asset/src/vendor/iconfont/iconfont.css
浏览文件 @
70df4040
@font-face
{
font-family
:
"iconfont"
;
/* Project id 2778046 */
src
:
url('iconfont.woff2?t=16
32474203013
')
format
(
'woff2'
),
url('iconfont.woff?t=16
32474203013
')
format
(
'woff'
),
url('iconfont.ttf?t=16
32474203013
')
format
(
'truetype'
);
src
:
url('iconfont.woff2?t=16
40308417974
')
format
(
'woff2'
),
url('iconfont.woff?t=16
40308417974
')
format
(
'woff'
),
url('iconfont.ttf?t=16
40308417974
')
format
(
'truetype'
);
}
.iconfont
{
...
...
@@ -13,6 +13,14 @@
-moz-osx-font-smoothing
:
grayscale
;
}
.icon-dot-sm
:before
{
content
:
"\e65c"
;
}
.icon-dot
:before
{
content
:
"\e65d"
;
}
.icon-list
:before
{
content
:
"\e602"
;
}
...
...
vendor/modstart/modstart/resources/asset/src/vendor/iconfont/iconfont.json
浏览文件 @
70df4040
...
...
@@ -5,6 +5,20 @@
"css_prefix_text"
:
"icon-"
,
"description"
:
""
,
"glyphs"
:
[
{
"icon_id"
:
"380331"
,
"name"
:
"dot"
,
"font_class"
:
"dot-sm"
,
"unicode"
:
"e65c"
,
"unicode_decimal"
:
58972
},
{
"icon_id"
:
"1003028"
,
"name"
:
"dot_1"
,
"font_class"
:
"dot"
,
"unicode"
:
"e65d"
,
"unicode_decimal"
:
58973
},
{
"icon_id"
:
"885533"
,
"name"
:
"list"
,
...
...
vendor/modstart/modstart/resources/asset/src/vendor/iconfont/iconfont.ttf
浏览文件 @
70df4040
无法预览此类型文件
vendor/modstart/modstart/resources/asset/src/vendor/iconfont/iconfont.woff
浏览文件 @
70df4040
无法预览此类型文件
vendor/modstart/modstart/resources/asset/src/vendor/iconfont/iconfont.woff2
浏览文件 @
70df4040
无法预览此类型文件
vendor/modstart/modstart/src/Core/View/ResponsiveViewTrait.php
浏览文件 @
70df4040
...
...
@@ -6,6 +6,7 @@ namespace ModStart\Core\View;
use
Illuminate\Support\Facades\Input
;
use
Illuminate\Support\Facades\Session
;
use
Illuminate\Support\Facades\View
;
use
ModStart\Core\Exception\BizException
;
use
ModStart\Core\Util\AgentUtil
;
use
Module\Vendor\Provider\SiteTemplate\SiteTemplateProvider
;
...
...
@@ -103,6 +104,7 @@ trait ResponsiveViewTrait
}
// print_r([$view, $useView, $useFrameView]); exit();
View
::
share
(
'_viewFrame'
,
$useFrameView
);
BizException
::
throwsIfEmpty
(
'View Not Exists : '
.
$view
,
$useView
);
return
[
$useView
,
$useFrameView
];
}
...
...
vendor/modstart/modstart/src/Field/AbstractField.php
浏览文件 @
70df4040
...
...
@@ -62,6 +62,7 @@ use ModStart\Support\Concern\HasFluentAttribute;
* @method AbstractField|mixed isLayoutField($vlaue = null)
* @method AbstractField|mixed isCustomField($vlaue = null)
* @method AbstractField|mixed gridFixed($vlaue = null)
* @method AbstractField|mixed gridEditable($vlaue = null)
*
* >>>>>> 数据流转换流程 >>>>>>
*
...
...
@@ -161,6 +162,7 @@ class AbstractField implements Renderable
'isLayoutField'
,
'isCustomField'
,
'gridFixed'
,
'gridEditable'
,
];
/**
* 字段渲染模式,默认为 add,请查看 @see FieldRenderMode
...
...
@@ -209,6 +211,10 @@ class AbstractField implements Renderable
* @var null|left|right
*/
private
$gridFixed
=
null
;
/**
* @var bool 行内编辑
*/
private
$gridEditable
=
false
;
public
static
function
getAssets
()
{
...
...
vendor/modstart/modstart/src/Form/Form.php
浏览文件 @
70df4040
...
...
@@ -557,17 +557,35 @@ class Form implements Renderable
ResultException
::
throwsIfFail
(
$this
->
hookCall
(
$this
->
hookSubmitted
));
$this
->
dataEditing
=
[];
$this
->
removeReservedFields
();
foreach
(
$this
->
editableFields
()
as
$field
)
{
if
(
$field
->
isLayoutField
()
||
$field
->
isCustomField
())
{
continue
;
$action
=
isset
(
$this
->
dataSubmitted
[
'_action'
])
?
$this
->
dataSubmitted
[
'_action'
]
:
null
;
if
(
'itemCellEdit'
==
$action
)
{
$column
=
isset
(
$this
->
dataSubmitted
[
'column'
])
?
$this
->
dataSubmitted
[
'column'
]
:
null
;
$value
=
isset
(
$this
->
dataSubmitted
[
'value'
])
?
$this
->
dataSubmitted
[
'value'
]
:
null
;
if
(
$column
)
{
foreach
(
$this
->
editableFields
()
as
$field
)
{
if
(
$field
->
isLayoutField
()
||
$field
->
isCustomField
())
{
continue
;
}
if
(
$field
->
column
()
==
$column
)
{
$this
->
dataEditing
[
$field
->
column
()]
=
$value
;
break
;
}
}
}
$value
=
isset
(
$this
->
dataSubmitted
[
$field
->
column
()])
?
$this
->
dataSubmitted
[
$field
->
column
()]
:
null
;
$value
=
$field
->
prepareInput
(
$value
,
$this
->
dataSubmitted
);
$value
=
$field
->
serializeValue
(
$value
,
$field
);
if
(
$field
->
hookValueSerialize
())
{
$value
=
call_user_func
(
$field
->
hookValueSerialize
(),
$value
,
$field
);
BizException
::
throwsIfEmpty
(
'Data Error'
,
$this
->
dataEditing
);
}
else
{
foreach
(
$this
->
editableFields
()
as
$field
)
{
if
(
$field
->
isLayoutField
()
||
$field
->
isCustomField
())
{
continue
;
}
$value
=
isset
(
$this
->
dataSubmitted
[
$field
->
column
()])
?
$this
->
dataSubmitted
[
$field
->
column
()]
:
null
;
$value
=
$field
->
prepareInput
(
$value
,
$this
->
dataSubmitted
);
$value
=
$field
->
serializeValue
(
$value
,
$field
);
if
(
$field
->
hookValueSerialize
())
{
$value
=
call_user_func
(
$field
->
hookValueSerialize
(),
$value
,
$field
);
}
$this
->
dataEditing
[
$field
->
column
()]
=
$value
;
}
$this
->
dataEditing
[
$field
->
column
()]
=
$value
;
}
$this
->
repository
()
->
edit
(
$this
);
if
(
!
empty
(
$this
->
dataSubmitted
[
'_redirect'
]))
{
...
...
vendor/modstart/modstart/src/Widget/ButtonLink.php
浏览文件 @
70df4040
...
...
@@ -8,16 +8,17 @@ namespace ModStart\Widget;
* Class Label
* @package ModStart\Widget
*
* @method static string muted($text, $url, $disabled = false)
* @method static string warning($text, $url, $disabled = false)
* @method static string danger($text, $url, $disabled = false)
* @method static string success($text, $url, $disabled = false)
* @method static ButtonLink muted($text, $url, $disabled = false)
* @method static ButtonLink primary($text, $url, $disabled = false)
* @method static ButtonLink warning($text, $url, $disabled = false)
* @method static ButtonLink danger($text, $url, $disabled = false)
* @method static ButtonLink success($text, $url, $disabled = false)
*
* @method
void
text($text)
* @method
void
type($type)
* @method
void
url($url)
* @method
void
disabled($boolean)
* @method
void
blank($boolean)
* @method
ButtonLink
text($text)
* @method
ButtonLink
type($type)
* @method
ButtonLink
url($url)
* @method
ButtonLink
disabled($boolean)
* @method
ButtonLink
blank($boolean)
*
* @since 2.1.0
*/
...
...
vendor/modstart/modstart/views/core/field/switchField-grid.blade.php
浏览文件 @
70df4040
@
if
(
!
empty
(
$value
))
<
span
class
=
"ub-text-success"
>
{{
$options
[
1
]}}
</
span
>
@
if
(
$gridEditable
)
<
div
>
<
input
type
=
"checkbox"
value
=
"1"
name
=
"
{
{$name}}_{{$_index}
}
"
lay
-
skin
=
"switch"
lay
-
filter
=
"
{
{$name}}_{{$_index}
}
"
lay
-
text
=
"{!! join('|',array_values(
$options
)) !!}"
@
if
(
!
empty
(
$value
))
checked
@
endif
/>
</
div
>
<
script
>
layui
.
use
(
'form'
,
function
()
{
var
form
=
layui
.
form
;
form
.
on
(
'switch({{$name}}_{{$_index}})'
,
function
(
data
)
{
var
index
=
parseInt
(
$
(
data
.
elem
)
.
closest
(
'tr'
)
.
attr
(
'data-index'
));
$
(
data
.
elem
)
.
closest
(
'[data-grid]'
)
.
trigger
(
'grid-item-cell-change'
,
{
ele
:
data
.
elem
,
index
:
index
,
column
:
'{{$column}}'
,
value
:
data
.
elem
.
checked
?
1
:
0
});
});
});
</
script
>
@
else
<
span
class
=
"ub-text-muted"
>
{{
$options
[
0
]}}
</
span
>
@
if
(
!
empty
(
$value
))
<
span
class
=
"ub-text-success"
>
{{
$options
[
1
]}}
</
span
>
@
else
<
span
class
=
"ub-text-muted"
>
{{
$options
[
0
]}}
</
span
>
@
endif
@
endif
\ No newline at end of file
vendor/modstart/modstart/views/core/grid/index.blade.php
浏览文件 @
70df4040
<div
id=
"{{$id}}"
data-basic-lister
class=
"ub-lister-table-container"
>
<div
id=
"{{$id}}"
data-
grid
data-
basic-lister
class=
"ub-lister-table-container"
>
<div
class=
"toolbox-container"
>
@if($canAdd)
@if($addBlankPage)
...
...
@@ -225,6 +225,23 @@
}
});
});
$grid
.
on
(
'
grid-item-cell-change
'
,
function
(
e
,
data
)
{
var
post
=
{
_id
:
getId
(
data
.
ele
),
_action
:
'
itemCellEdit
'
,
column
:
data
.
column
,
value
:
data
.
value
};
window
.
api
.
dialog
.
loadingOn
();
window
.
api
.
base
.
post
(
lister
.
realtime
.
url
.
edit
,
post
,
function
(
res
)
{
window
.
api
.
dialog
.
loadingOff
();
window
.
api
.
base
.
defaultFormCallback
(
res
,
{
success
:
function
(
res
)
{
}
});
lister
.
refresh
();
});
});
@
endif
@
if
(
$canDelete
)
$lister
.
find
(
'
[data-table]
'
).
on
(
'
click
'
,
'
[data-delete]
'
,
function
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录