diff --git a/app/admin/controller/v1/BannerItem.php b/app/admin/controller/v1/BannerItem.php
index 7844309e..7c4c3625 100644
--- a/app/admin/controller/v1/BannerItem.php
+++ b/app/admin/controller/v1/BannerItem.php
@@ -187,10 +187,7 @@ class BannerItem
// 更新关联的产品分类
if (!empty($put['rel_prod_cate_id'])) {
- $ok = SysBannerProdCateMappingModel::where('banner_item_id', '=', $id)->delete();
- if (!$ok) {
- throw new InvalidOperateException('更新横幅与产品分类关联失败');
- }
+ SysBannerProdCateMappingModel::where('banner_item_id', '=', $id)->delete();
$mapping = SysBannerProdCateMappingModel::create([
'banner_item_id' => $id,
'product_category_id' => $put['rel_prod_cate_id']
diff --git a/app/index/controller/Faq.php b/app/index/controller/Faq.php
index c9b3a6eb..b6c380ff 100644
--- a/app/index/controller/Faq.php
+++ b/app/index/controller/Faq.php
@@ -29,6 +29,7 @@ class Faq extends Common
'at_platform' => request()->from
])
->type('image')
+ ->enabled()
->visible(['id', 'title', 'image', 'link'])
->find();
View::assign('banner', $banner);
diff --git a/app/index/controller/Product.php b/app/index/controller/Product.php
index 609e5d33..a8291e2e 100644
--- a/app/index/controller/Product.php
+++ b/app/index/controller/Product.php
@@ -479,6 +479,7 @@ class Product extends Common
->where('status', '=', 1)
->order(['sort' => 'asc', 'id' => 'desc']);
}])
+ ->atPlatform(request()->from)
->uniqueLabel(['BANNER_680dd7ceaa529'])
->language($this->lang_id)
->enabled(true)
diff --git a/app/index/controller/TopicNas.php b/app/index/controller/TopicNas.php
index a96d0649..e5bccc4d 100644
--- a/app/index/controller/TopicNas.php
+++ b/app/index/controller/TopicNas.php
@@ -66,7 +66,8 @@ class TopicNas extends Common
// 获取banner数据
$banners = SysBannerModel::with(['items' => function($query) {
$query->withoutField(['sort', 'created_at', 'updated_at', 'deleted_at'])
- ->order(['sort' => 'asc', 'id' => 'desc']);
+ ->order(['sort' => 'asc', 'id' => 'desc'])
+ ->enabled(true);
}])
->atPlatform(request()->from)
->uniqueLabel([
@@ -110,8 +111,9 @@ class TopicNas extends Common
$trial_instructions = [];
// 获取banner数据
$banners = SysBannerModel::with(['items' => function($query) {
- $query->withoutField(['sort', 'created_at', 'updated_at', 'deleted_at']);
+ $query->withoutField(['sort', 'created_at', 'updated_at', 'deleted_at'])->enabled(true);
}])
+ ->atPlatform(request()->from)
->uniqueLabel([
'BANNER_68103aaebe4c4',
'BANNER_68103acd1a8b9',
@@ -148,8 +150,9 @@ class TopicNas extends Common
$cooperation_cotacts = [];
// 获取banner数据
$banners = SysBannerModel::with(['items' => function($query) {
- $query->withoutField(['sort', 'created_at', 'updated_at', 'deleted_at']);
+ $query->withoutField(['sort', 'created_at', 'updated_at', 'deleted_at'])->enabled(true);
}])
+ ->atPlatform(request()->from)
->uniqueLabel([
'BANNER_6810670b8ef17',
'BANNER_681067451b78f',
@@ -202,8 +205,9 @@ class TopicNas extends Common
$contacts = [];
// 获取banner数据
$banners = SysBannerModel::with(['items' => function ($query) {
- $query->withoutField(['sort', 'created_at', 'updated_at', 'deleted_at']);
+ $query->withoutField(['sort', 'created_at', 'updated_at', 'deleted_at'])->enabled(true);
}])
+ ->atPlatform(request()->from)
->uniqueLabel(['BANNER_6819754be2dc6'])
->language($this->lang_id)
->enabled(true)
@@ -278,8 +282,9 @@ class TopicNas extends Common
$data = [];
// 获取banner数据
$banners = SysBannerModel::with(['items' => function($query) {
- $query->withoutField(['sort', 'created_at', 'updated_at', 'deleted_at']);
+ $query->withoutField(['sort', 'created_at', 'updated_at', 'deleted_at'])->enabled(true);
}])
+ ->atPlatform(request()->from)
->uniqueLabel([
'BANNER_6810798e6e828',
'BANNER_68107a0a63910',
diff --git a/app/index/lang/en-us/mobile.php b/app/index/lang/en-us/mobile.php
index 6bc8a5f1..5594b6b1 100644
--- a/app/index/lang/en-us/mobile.php
+++ b/app/index/lang/en-us/mobile.php
@@ -178,4 +178,25 @@ return [
'网络存储解决方案' => 'Network Storage Solutions',
'配套软件' => 'Software',
],
+
+ // nas主题 - 帮助页
+ 'topicnas/help' => [
+ '帮助中心' => 'Quick Start Guide',
+ '请输入搜索关键字,如安装赛博云空间,影视库' => 'What are you looking for?',
+ '取消' => 'Cancel',
+ '使用教程' => 'User\' s Guide',
+ '查看更多' => 'Click to view more',
+ '联系我们' => 'Contact US',
+ '目录' => 'Content'
+ ],
+
+ // nas主题 - 帮助详情页
+ 'topicnas/helpdetail' => [
+ '帮助中心' => 'Quick Start Guide',
+ '请输入搜索关键字,如安装赛博云空间,影视库' => 'What are you looking for?',
+ '取消' => 'Cancel',
+ '使用教程' => 'User\' s Guide',
+ '联系我们' => 'Contact US',
+ '目录' => 'Content'
+ ],
];
\ No newline at end of file
diff --git a/app/index/view/mobile/topic_nas/help.html b/app/index/view/mobile/topic_nas/help.html
new file mode 100644
index 00000000..11be7fc6
--- /dev/null
+++ b/app/index/view/mobile/topic_nas/help.html
@@ -0,0 +1,132 @@
+{extend name="public/base" /}
+{block name="style"}
+
+{/block}
+{block name="header"}
+
+{/block}
+{block name="main"}
+
+
+
+
+

+
+ {notempty name="article_categorys"}
+
{:lang_i18n('使用教程')}
+ {volist name="article_categorys" id="vo" key="idx"}
+
+
+

{$vo.name}
+
+
+
+ {/volist}
+ {/notempty}
+
+ {notempty name="contacts"}
+
{:lang_i18n('联系我们')}
+
+ {/notempty}
+
+
+
+
+
+

+
+
{:lang_i18n('取消')}
+
+
+
+
+
+
+
+{/block}
+{block name="script"}
+
+{/block}
\ No newline at end of file
diff --git a/app/index/view/mobile/topic_nas/help_detail.html b/app/index/view/mobile/topic_nas/help_detail.html
new file mode 100644
index 00000000..8359e7c5
--- /dev/null
+++ b/app/index/view/mobile/topic_nas/help_detail.html
@@ -0,0 +1,143 @@
+{extend name="public/base" /}
+{block name="title"}
+{notempty name="article.seo_title"}{$article.seo_title}{else /}{__BLOCK__}{/notempty}
+{/block}
+{block name="seo"}
+{notempty name="article.seo_keywords"}
+
+
+{else /}
+{__BLOCK__}
+{/notempty}
+{/block}
+{block name="style"}
+
+{/block}
+{block name="header"}
+
+{/block}
+{block name="main"}
+
+
+
+
+
+ {$article.content|raw|default=''}
+
+
+
+
+
+
+

+
+
{:lang_i18n('取消')}
+
+
+
+
+
+
+
+
+ {notempty name="article_categorys"}
+
+ {volist name="article_categorys" id="ac" key="idx"}
+
+
+
+

+
+
{$ac.name}
+
+
+
+ {/volist}
+
+ {/notempty}
+
+
+
+
+{/block}
+{block name="script"}
+
+{/block}
\ No newline at end of file
diff --git a/public/static/index/mobile/css/topic_nas_help-detail.css b/public/static/index/mobile/css/topic_nas_help-detail.css
new file mode 100644
index 00000000..2206a374
--- /dev/null
+++ b/public/static/index/mobile/css/topic_nas_help-detail.css
@@ -0,0 +1,216 @@
+.icon-menu-svg,
+.icon-search-svg,
+.icon-lag-svg {
+ color: #000 !important;
+}
+
+.narshelpCenterdetail-app {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+}
+
+.narshelpCenterdetail-app .headtop {
+ width: 100%;
+ left: 0;
+ right: 0;
+ margin: 0 auto;
+ display: flex;
+ position: fixed;
+ top: 0;
+ display: flex;
+ padding: 1.25rem 0;
+ align-items: center;
+ flex-direction: row;
+ justify-content: space-between;
+ background: #fff;
+}
+
+.narshelpCenterdetail-app .headtop .logoicoimg {
+ width: auto;
+ margin-left: 1.875rem;
+}
+
+.narshelpCenterdetail-app .headtop .ssicoimg {
+ width: 1.875rem;
+ height: 1.875rem;
+ margin-right: 15px;
+}
+
+.narshelpCenterdetail-app .nhlp-app-content {
+ margin: 1.25rem;
+ height: 100%;
+ margin-top: 9.2vh;
+}
+
+.narshelpCenterdetail-app #rendered-content img {
+ max-width: 100%;
+}
+
+.narshelpCenterdetail-app .nhlpapp-search {
+ position: fixed;
+ z-index: 2;
+ top: 0;
+ height: 100vh;
+ display: flex;
+ width: 100%;
+ background: #fff;
+ flex-direction: column;
+ display: none;
+}
+
+.narshelpCenterdetail-app .nhlpapp-search .nhlpappshtop {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+}
+
+.narshelpCenterdetail-app .nhlpapp-search .nhlpappshtop .closetx {
+ font-size: 16px;
+ margin-right: 8%;
+}
+
+.narshelpCenterdetail-app .nhlpapp-search .nhlpapp-shdiv {
+ margin: 1rem 20px;
+ height: 2.5rem;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ border: 1px solid #cdcedb;
+ border-radius: 1.5625rem;
+ flex: 1;
+}
+
+.narshelpCenterdetail-app .nhlpapp-search .nhlpapp-shdiv input {
+ font-size: 16px;
+ padding: 0 20px;
+ flex: 1;
+ border: none;
+ margin-left: 2px;
+ outline: none;
+}
+
+.narshelpCenterdetail-app .nhlpapp-search .nhlpapp-shdiv input::placeholder {
+ color: #8f9099;
+ font-size: 14px;
+}
+
+.narshelpCenterdetail-app .nhlpapp-search .nhlpapp-shdiv .searchimg {
+ width: 1.25rem;
+ height: 1.25rem;
+ margin-left: 1%;
+ margin-right: 5%;
+}
+
+.narshelpCenterdetail-app .nhlpapp-search .dropdown {
+ height: 90vh;
+ overflow-y: auto;
+ margin: 1.25rem;
+}
+
+.narshelpCenterdetail-app .nhlpapp-search .dropdown li {
+ margin-bottom: 0.75rem;
+ font-size: 0.9rem;
+ font-weight: 400;
+ width: 100%;
+ white-space: nowrap;
+ /* 禁止文本换行 */
+ overflow: hidden;
+ /* 隐藏超出容器的内容 */
+ text-overflow: ellipsis;
+ /* 超出部分用省略号表示 */
+}
+
+.narshelpCenterdetail-app .nhlpapp-search .dropdown .search-item {
+ color: #202734;
+}
+
+.narshelpCenterdetail-app .nhlpapp-search .nhlpappline {
+ width: 100%;
+ height: 1px;
+ background: #cdcedb;
+}
+
+.narshelpCenterdetail-app .nhlpapp-pagescate {
+ position: absolute;
+ margin-top: 8.7vh;
+ height: 92.3vh;
+ display: flex;
+ width: 100%;
+ flex-direction: column;
+ display: none;
+ background: #fff;
+ overflow-y: auto;
+}
+
+.narshelpCenterdetail-app .nhlpapp-pagescate .nars-hlpdt-ml {
+ overflow-y: auto;
+ margin: 0 0.625rem;
+}
+
+.narshelpCenterdetail-app .nhlpapp-pagescate .nars-hlpdt-ml .nav-tree {
+ overflow-y: auto;
+}
+
+.narshelpCenterdetail-app .nhlpapp-pagescate .nars-hlpdt-ml .categoryhelp {
+ margin-bottom: 5px;
+}
+
+.narshelpCenterdetail-app .nhlpapp-pagescate .nars-hlpdt-ml .categoryhelp-title {
+ display: block;
+ padding: 10px;
+ cursor: pointer;
+ position: relative;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ font-size: 1rem;
+ font-weight: bold;
+ margin-left: 10px;
+ color: #1f2635;
+}
+
+.narshelpCenterdetail-app .nhlpapp-pagescate .nars-hlpdt-ml .arrow {
+ margin-right: 0.125rem;
+ transform: rotate(0deg);
+ display: flex;
+ justify-content: center;
+}
+
+.narshelpCenterdetail-app .nhlpapp-pagescate .nars-hlpdt-ml .arrow .nars-jt {
+ width: 16px;
+ height: 16px;
+}
+
+.narshelpCenterdetail-app .nhlpapp-pagescate .nars-hlpdt-ml .rotate {
+ transform: rotate(90deg);
+}
+
+.narshelpCenterdetail-app .nhlpapp-pagescate .nars-hlpdt-ml .sub-list {
+ display: none;
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+
+.narshelpCenterdetail-app .nhlpapp-pagescate .nars-hlpdt-ml .sub-list li a {
+ width: fit-content;
+ display: block;
+ margin: 0 10px;
+ padding-top: 22px;
+ text-decoration: none;
+ color: #333;
+ margin-left: 41px;
+ font-size: 0.875rem;
+ color: #8f9099;
+}
+
+.narshelpCenterdetail-app .nhlpapp-pagescate .nars-hlpdt-ml .sub-list li:first a {
+ padding-top: 0;
+}
+
+.narshelpCenterdetail-app .nhlpapp-pagescate .nars-hlpdt-ml .sub-list li a:hover {
+ color: #1f2635;
+ border-bottom: 1px solid #1f2635;
+}
\ No newline at end of file
diff --git a/public/static/index/mobile/css/topic_nas_help.css b/public/static/index/mobile/css/topic_nas_help.css
new file mode 100644
index 00000000..523e1d1f
--- /dev/null
+++ b/public/static/index/mobile/css/topic_nas_help.css
@@ -0,0 +1,265 @@
+.icon-menu-svg,
+.icon-search-svg,
+.icon-lag-svg {
+ color: #000 !important;
+}
+
+.narshelpCenterPc-app {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+}
+
+.narshelpCenterPc-app .nhlpapp-search {
+ position: fixed;
+ z-index: 2;
+ top: 0;
+ height: 100vh;
+ display: flex;
+ width: 100%;
+ background: #fff;
+ flex-direction: column;
+ display: none;
+}
+
+.narshelpCenterPc-app .nhlpapp-search .nhlpappshtop {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+}
+
+.narshelpCenterPc-app .nhlpapp-search .nhlpappshtop .closetx {
+ font-size: 14px;
+ margin-right: 8%;
+}
+
+.narshelpCenterPc-app .nhlpapp-search .nhlpapp-shdiv {
+ margin: 1rem 20px;
+ height: 2.5rem;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ border: 1px solid #cdcedb;
+ border-radius: 1.5625rem;
+ flex: 1;
+}
+
+.narshelpCenterPc-app .nhlpapp-search .nhlpapp-shdiv input {
+ font-size: 0.8125rem;
+ padding: 0 20px;
+ flex: 1;
+ border: none;
+ margin-left: 2px;
+ outline: none;
+}
+
+.narshelpCenterPc-app .nhlpapp-search .nhlpapp-shdiv input::placeholder {
+ color: #8f9099;
+ font-size: 14px;
+}
+
+.narshelpCenterPc-app .nhlpapp-search .nhlpapp-shdiv .searchimg {
+ width: 1.25rem;
+ height: 1.25rem;
+ margin-left: 1%;
+ margin-right: 5%;
+}
+
+.narshelpCenterPc-app .nhlpapp-search .dropdown {
+ height: 90vh;
+ overflow-y: auto;
+ margin: 1.25rem;
+}
+
+.narshelpCenterPc-app .nhlpapp-search .dropdown li {
+ margin-bottom: 0.75rem;
+ font-size: 0.9rem;
+ font-weight: 400;
+ width: 100%;
+ white-space: nowrap;
+ /* 禁止文本换行 */
+ overflow: hidden;
+ /* 隐藏超出容器的内容 */
+ text-overflow: ellipsis;
+ /* 超出部分用省略号表示 */
+}
+
+.narshelpCenterPc-app .nhlpapp-search .dropdown .search-item {
+ color: #202734;
+}
+
+.narshelpCenterPc-app .nhlpapp-search .nhlpappline {
+ width: 100%;
+ height: 1px;
+ background: #cdcedb;
+}
+
+.narshelpCenterPc-app .headtop {
+ width: 100%;
+ left: 0;
+ right: 0;
+ margin: 0 auto;
+ display: flex;
+ position: fixed;
+ top: 0;
+ display: flex;
+ padding: 1.25rem 0;
+ align-items: center;
+ flex-direction: row;
+ justify-content: space-between;
+ background: #fff;
+}
+
+.narshelpCenterPc-app .headtop .logoicoimg {
+ width: auto;
+ margin-left: 1.875rem;
+}
+
+.narshelpCenterPc-app .headtop .ssicoimg {
+ width: 1.875rem;
+ height: 1.875rem;
+ margin-right: 1.875rem;
+}
+
+.narshelpCenterPc-app .nhlpbner {
+ width: 100%;
+ margin-top: 4.75rem;
+}
+
+.narshelpCenterPc-app .nhlpapp-title {
+ margin: 0 auto;
+ text-align: center;
+ font-size: 1.5rem;
+ margin: 2rem 0;
+}
+
+.narshelpCenterPc-app .nhlpappit {
+ margin: 0 auto;
+ padding: 1.875rem;
+ background: #fafafa;
+ border-radius: 1rem;
+ color: #202734;
+ font-size: 1rem;
+ margin-bottom: 1.25rem;
+ width: 74%;
+}
+
+.narshelpCenterPc-app .nhlpappit .nhlptl {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ font-size: 1.5rem;
+ font-weight: bold;
+ padding-bottom: 1.25rem;
+}
+
+.narshelpCenterPc-app .nhlpappit .nhlptl .bhlpicoimg {
+ width: 36px;
+ height: 36px;
+ margin-right: 10px;
+}
+
+.narshelpCenterPc-app .nhlpappit .nhlp-tx-list {
+ display: flex;
+ flex-direction: column;
+}
+
+.narshelpCenterPc-app .nhlpappit .nhlp-tx-list .txrow {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ margin-bottom: 1rem;
+ cursor: pointer;
+}
+
+.narshelpCenterPc-app .nhlpappit .nhlp-tx-list .txrow .nhlp-point {
+ width: 0.3125rem;
+ height: 0.3125rem;
+ background: #202734;
+ border-radius: 0.1875rem;
+ margin: 0 0.625rem;
+ margin-left: 0.25rem;
+}
+
+.narshelpCenterPc-app .nhlpappit .nhlp-tx-list .txrow .nhlpsp {
+ flex: 1;
+ color: #1f2635;
+ font-size: 1rem;
+}
+
+.narshelpCenterPc-app .nhlpappit .nhlp-tx-list .ckgdbt {
+ background: #fff;
+ width: fit-content;
+ color: #bfbfc4;
+ font-size: 0.9375rem;
+ border: 0.0625rem solid #bfbfc4;
+ padding: 0.4375rem 1.125rem;
+ margin-top: 1rem;
+ cursor: pointer;
+ border-radius: 1.5rem;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+
+.narshelpCenterPc-app .nhlpapp-row {
+ margin-bottom: 80px;
+}
+
+.narshelpCenterPc-app .nhlpapp-row > div {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ width: 90%;
+ margin: 0 auto;
+ flex-wrap: wrap;
+}
+
+.narshelpCenterPc-app .nhlpapp-row .nhlplxwmit {
+ width: 48.3%;
+ padding: 1.5rem 0;
+ background: #f9f9f9;
+ margin-bottom: 0.75rem;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ border-radius: 1rem;
+ cursor: pointer;
+ margin-right: 0.75rem;
+}
+
+.narshelpCenterPc-app .nhlpapp-row .sec-1 .nhlplxwmit:nth-child(even),
+.narshelpCenterPc-app .nhlpapp-row .sec-2 .nhlplxwmit:last-child {
+ margin-right: 0;
+}
+
+.narshelpCenterPc-app .nhlpapp-row .nhlplxwmit .lximg {
+ width: 2.5rem;
+ height: 2.5rem;
+ margin-bottom: 0.75rem;
+}
+
+.narshelpCenterPc-app .nhlpapp-row .nhlplxwmit .lxewmimg {
+ width: 4rem;
+ width: 4rem;
+ margin-bottom: 1.25rem;
+ display: none;
+}
+
+.narshelpCenterPc-app .nhlpapp-row .nhlplxwmit .t1 {
+ text-align: center;
+ font-size: 0.875rem;
+ padding-bottom: 0.375rem;
+ color: #1f2635;
+}
+
+.narshelpCenterPc-app .nhlpapp-row .nhlplxwmit .t2 {
+ font-size: 0.75rem;
+ color: #1f2635;
+}
+
+.narshelpCenterPc-app .nhlpapp-row .nhlplxwmit-w1 {
+ width: 31%;
+}
\ No newline at end of file
diff --git a/public/static/index/mobile/images/fenlei.png b/public/static/index/mobile/images/fenlei.png
new file mode 100755
index 00000000..8af36ce2
Binary files /dev/null and b/public/static/index/mobile/images/fenlei.png differ
diff --git a/public/static/index/mobile/images/nars-jt.png b/public/static/index/mobile/images/nars-jt.png
new file mode 100644
index 00000000..3f780f21
Binary files /dev/null and b/public/static/index/mobile/images/nars-jt.png differ
diff --git a/public/static/index/mobile/images/nhlpapp-banner.webp b/public/static/index/mobile/images/nhlpapp-banner.webp
new file mode 100644
index 00000000..c4fc2b35
Binary files /dev/null and b/public/static/index/mobile/images/nhlpapp-banner.webp differ
diff --git a/public/static/index/mobile/images/sousuo.png b/public/static/index/mobile/images/sousuo.png
new file mode 100755
index 00000000..5922d0fa
Binary files /dev/null and b/public/static/index/mobile/images/sousuo.png differ