feat: 英文移动端nas

This commit is contained in:
2025-04-14 14:46:50 +08:00
parent 40fa4b70f2
commit 192424e81f
7 changed files with 1386 additions and 245 deletions

View File

@@ -406,7 +406,7 @@
</a> </a>
{/volist} {/volist}
{if condition="count($vo.articles) >= 3"} {if condition="count($vo.articles) >= 3"}
<a class="ckgdbt" href="{:url('tops_nas/helper_detail', ['cid'=>$vo.id, 'id'=>isset($vo.articles[0])?$vo.articles[0]['id']:0])}">查看更多 <a class="ckgdbt" href="{:url('tops_nas/helper_detail', ['cid'=>$vo.id, 'id'=>isset($vo.articles[0])?$vo.articles[0]['id']:0])}">Click to view more
<span class="narhelpgoimg"> <span class="narhelpgoimg">
<img src="__PUBLIC__/m_web/images/nas/help/nars-jt.png" /> <img src="__PUBLIC__/m_web/images/nas/help/nars-jt.png" />
</span> </span>

View File

@@ -15,6 +15,9 @@ class BaseController extends Controller {
//当前用户 //当前用户
protected $customer_id = 0; protected $customer_id = 0;
// 当前国家编码
protected $country_code = 'US';
public function __construct() { public function __construct() {
parent::__construct(); parent::__construct();
} }
@@ -71,6 +74,47 @@ class BaseController extends Controller {
$this->view->assign('allCategoryList', $this->categoryList); $this->view->assign('allCategoryList', $this->categoryList);
} }
protected function buildTree($data, $pid = 0)
{
$tree = [];
foreach ($data as $val) {
if ($val['pid'] == $pid) {
$children = $this->buildTree($data, $val['id']);
if (!empty($children)) {
$val['items'] = $children;
}
$tree[] = $val;
}
}
return $tree;
}
/**
* nasNavigation 获取并组装nas专题页的top导航和footer
*/
protected function nasNavigation()
{
$navs = Loader::model('Navigation')->field([
'id',
'pid',
'name',
'url',
'value',
'data_type',
'is_new_window_open',
])
->where('stat', '=', 0)
->where('nav_type', '=', 'tops_nas_header')
->where('country_code', '=', $this->country_code)
->order('sort')
->select();
$navs_array = collection($navs)->toArray();
$header = $this->NavDataDealWith($navs_array);
$this->assign('nav_header', $this->buildTree($header));
}
//导航初始化 //导航初始化
private function navInit(){ private function navInit(){
// 读取缓存数据 // 读取缓存数据

View File

@@ -1,12 +1,252 @@
<?php <?php
namespace app\usmobile\controller; namespace app\usmobile\controller;
use think\Loader;
class TopsNas extends BaseController class TopsNas extends BaseController
{ {
public function _initialize() public function _initialize()
{ {
parent::_initialize(); parent::_initialize();
parent::nasNavigation();
}
// 获取指定banner
private function getBanners($typeids)
{
$banners = Loader::model("Banner")->alias('b')->field([
'b.id',
'b.typeid',
'bt.name' => 'typename',
'bt.description' => 'typedesc',
'b.name',
'b.categoryid',
'b.url',
'b.picture',
'b.alt',
'b.style',
'b.description' => 'desc',
'b.descolor',
'b.btncolor',
'b.videourl',
])
->join('banner_type bt', 'bt.stat= 0 and bt.id=b.typeid')
->where('b.stat', '=', 0)
->where('b.typeid', 'in', $typeids)
->order(['sort' => 'asc', 'id' => 'asc'])
->select();
$chucks = [];
foreach ($banners as $val) {
if (empty($chucks['typeid_' . $val['typeid']])) {
$chucks['typeid_' . $val['typeid']]['id'] = $val['typeid'];
$chucks['typeid_' . $val['typeid']]['name'] = $val['typename'];
$chucks['typeid_' . $val['typeid']]['desc'] = $val['typedesc'];
$chucks['typeid_' . $val['typeid']]['banners'] = [];
}
$link = $val['url'];
if (empty($val['url']) && !empty($val['categoryid'])) {
$link = url_rewrite('productsub', ['id' => $val['categoryid']]);
}
$chucks['typeid_' . $val['typeid']]['banners'][] = [
'id' => $val['id'],
'name' => $val['name'],
'link' => $link,
'picture' => $val['picture'],
'alt' => $val['alt'],
'style' => $val['style'],
'desc' => $val['desc'],
'desc_color' => $val['descolor'],
'btn_color' => $val['btncolor'],
'video_url' => $val['videourl'],
];
}
return $chucks;
}
public function helper()
{
// 获取分类
$categorys = $this->getCategoryTree(77);
// 获取文章
$articles = $this->getArticleByCategory($categorys, 3);
// 组装数据
foreach ($categorys as $key => &$val) {
if (!isset($val['articles'])) {
$val['articles'] = [];
}
if (isset($articles['cid_' . $val['id']])) {
$items = $articles['cid_' . $val['id']];
foreach ($items as $k => $v) {
$val['articles'][] = [
'id' => $v['id'],
'name' => $v['name']
];
}
}
}
unset($val);
$this->assign('categorys', $categorys);
$banners = $this->getBanners(128);
if (!empty($banners)) {
$banners = $banners['typeid_128']['banners'];
}
$this->assign('banners', $banners);
$this->assign('banners_size', count($banners));
return $this->fetch();
}
public function helper_search()
{
$base_category = 77;
$keywords = request()->param('keywords');
$articles = Loader::model('Article')
->field([
'id',
'name',
'sort',
])
->where('stat', '=', 0)
->where('country_code', '=', $this->country_code)
->where('cid', 'in', function ($query) use ($base_category) {
$query->name('article_category')
->field(['id'])
->where('id', '=', $base_category)
->whereOr('pid', '=', $base_category);
})
->where(function ($query) use ($keywords) {
if (!empty($keywords)) {
$query->where('name', 'like', '%' . $keywords . '%');
}
})
->order(['sort' => 'asc', 'id' => 'desc'])
->select();
return json([
'code' => 0,
'message' => '获取成功',
'data' => $articles
]);
}
/**
* getCategoryTree 获取特定文章分类树
*/
private function getCategoryTree($cid = 36)
{
// 设备
$category = Loader::model('ArticleCategory')
->field([
'id',
'pid',
'name',
'picture'
])
->where('isshow', '=', 1)
->where('country_code', '=', $this->country_code)
->order(['sort' => 'asc'])
->select();
$category_array = collection($category)->toArray();
$category_tree = $this->buildTree($category_array, $cid);
return $category_tree;
}
// 根据分类获取文章
private function getArticleByCategory($categorys, $limit = null)
{
if (!is_array($categorys)) {
throw new \Exception('请确认分类正确');
}
if (empty($categorys)) {
return [];
}
$sub_query = Loader::model('Article')
->field([
'id',
'cid',
'name',
'sort'
])
->where('stat', '=', 0)
->where('cid', '=', $categorys[0]['id'])
->where('country_code', '=', $this->country_code)
->order(['sort' => 'asc', 'id' => 'desc']);
if (!empty($limit)) {
$sub_query = $sub_query->limit($limit);
}
$sub_query = $sub_query->buildSql();
$model = \think\Db::table($sub_query . ' a');
foreach ($categorys as $key => $val) {
if ($key == 0) continue;
$model->union(function ($query) use ($val, $limit) {
$query->name('article')->field([
'id',
'cid',
'name',
'sort'
])
->where('stat', '=', 0)
->where('cid', '=', $val['id'])
->where('country_code', '=', $this->country_code)
->order(['sort' => 'asc', 'id' => 'desc']);
if (!empty($limit)) {
$query->limit($limit);
}
});
}
$map = [];
$data = $data = $model->select();
foreach ($data as $key => $val) {
$map['cid_' . $val['cid']][] = $val;
}
return $map;
}
public function helper_detail()
{
$id = request()->param('id');
$article = Loader::model('Article')->where('id', '=', $id)->find();
if (request()->isAjax()) {
return json([
'code' => 0,
'message' => '获取成功',
'data' => $article
]);
} else {
// 获取分类
$categorys = $this->getCategoryTree(77);
// 获取文章
$articles = $this->getArticleByCategory($categorys,);
// 组装数据
foreach ($categorys as $key => &$val) {
if (!isset($val['articles'])) {
$val['articles'] = [];
}
if (isset($articles['cid_' . $val['id']])) {
$items = $articles['cid_' . $val['id']];
foreach ($items as $k => $v) {
$val['articles'][] = [
'id' => $v['id'],
'name' => $v['name']
];
}
}
}
unset($val);
$this->assign('categorys', $categorys);
$this->assign('article', $article);
$this->assign('cid', request()->param('cid'));
}
return $this->fetch();
} }
public function download() public function download()

View File

@@ -0,0 +1,174 @@
<div class="header">
<div class="m_Container clearfix">
<div class="left">
<span class="icon-logo cursor_p">
<a href="__ORICOROOT__/index">
<img src="__PUBLIC__/m_weben/images/logo.png" />
</a>
</span>
</div>
<div class="right img-responsive cursor_p">
<span class="cursor_p spn1">
<i class="icon-menu-svg"></i>
</span>
<span class="icon-keyword cursor_p del-button del-btn">
<i class="icon-search-svg"></i>
</span>
<span class="cursor_p mask-up">
<i class="icon-lag-svg"></i>
</span>
</div>
</div>
<div class="menu" style="display: none;">
{volist name="nav_header" id="vo"}
<dl>
<dt class="cursor_p">
{if condition="empty($vo.items)"}
<a href="{$vo.url}">{$vo.name}</a>
{else /}
<p>{$vo.name}</p><i class="rotate icon-arrow"></i>
{/if}
</dt>
{if condition="!empty($vo.items)"}
{volist name="vo.items" id="it"}
<dd>
<a class="cursor_p" href="{$it.url}">{$it.name}</a>
</dd>
{/volist}
{/if}
</dl>
{/volist}
</div>
</div>
<!--搜索弹框-->
<div class="marsk-container" style="display: none;">
<div class="popup-quick">
<div class="ac-close float_r "><img src="__PUBLIC__/m_weben/images/close.png"></div>
<div class="search-in">
<input type="text" placeholder="产品 USB 2.0..." id="search-input1">
<button id="search-btnput" class="search-button">搜索</button>
<div class="title-text">
<p><a href="#">搜索历史</a></p>
<?php $history_list = getBannerList(90, 5);?>
{volist name="history_list" id="vo"}
<p><a href="{$vo.url}">{$vo.name}</a></p>
{/volist}
</div>
</div>
</div>
</div>
<!--弹出框-->
<script>
$(function(){
navHeader();
$(window).scroll(function () {
navHeader();
})
function navHeader() {
if ($(window).scrollTop() > 0) {
$(".header").addClass("m_nav");
} else {
$(".header").removeClass("m_nav");
}
}
});
/*menu菜单*/
$(function() {
$(".spn1").click(function() {
$(this).toggleClass("icon-close");
$(".menu").slideToggle(800);
$(".m-Country").hide();
});
});
/*字体大小变化*/
/* 长宽占位 rem算法, 根据root的rem来计算各元素相对rem, 默认html 320/20 = 16px */
/* 长宽占位 rem算法, 根据root的rem来计算各元素相对rem, 默认html 320/20 = 16px */
function placeholderPic() {
var w = document.documentElement.offsetWidth;
if (w > 750) {
document.documentElement.style.fontSize = 750 / 20 + 'px';
} else {
document.documentElement.style.fontSize = w / 20 + 'px';
}
}
placeholderPic();
window.onresize = function() {
placeholderPic();
}
/*头部*/
$(function() {
$(".menu dl dt").click(function() {
$(this).nextAll().slideToggle(500);
$(this).children("i").toggleClass("rotate");
})
})
/*搜索弹框*/
$(function() {
$('.del-button').click(function() {
$(".marsk-container").show();
});
});
/*弹出框关闭*/
$(function() {
$('.ac-close').click(function() {
$(".marsk-container").hide();
});
});
/************搜索****************/
$(function() {
var search_input = $("#search-input1");
$(search_input).on("keyup", function(e) {
$("#search-input1").keyup(function(event) {
if (event && event.keyCode === 13) {
var keywords = $("#search-input1").val();
var href = "/mobile<?php echo url('/search'); ?>?skeyword=" +
encodeURIComponent(keywords);
location.href = href;
$("#modal").hide();
}
});
});
$("#search-btnput").bind("click", function(event) {
var skeyword = $("#search-input1").val();
if (skeyword) {
var href = "<?php echo url('/mobile/search'); ?>?skeyword=" + encodeURIComponent(skeyword);
location.href = href;
} else {
var href = "<?php echo url('/mobile/search'); ?>";
location.href = href;
}
});
});
</script>
<style>
.search-in input {
width: 72% !important;
height: 2.8rem;
background: #ffffff;
border: 1px solid #d6d6d6;
opacity: 1;
border-radius: 20px;
padding: 0 1rem;
}
.search-button {
border: none;
font-size: 0.9rem;
color: #fff;
position: absolute;
right: 15px;
top: 12.2rem;
cursor: pointer;
background: #0060ff;
height: 2.5rem;
border-radius: 20px;
padding: 0 1rem;
}
</style>

View File

@@ -1,270 +1,201 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>元创官网</title>
<style type="text/css">
.header {
color: #fff;
}
</style>
{include file='include/head-nas'/}
<style type="text/css">
.narsMBpage {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
position: relative;
overflow-x: hidden;
}
.narsMBpage .narsMB-banner { <head>
width: 100%; <meta charset="utf-8" />
} <meta name="viewport" content="width=device-width, initial-scale=1">
<title>元创官网</title>
{include file='include/head-nas'/}
<style type="text/css">
.icon-menu-svg,
.icon-search-svg,
.icon-lag-svg {
color: #000 !important;
}
.narsMBpage .narsmb-img { .header {
max-width: 100%; color: #fff;
height: auto; }
display: block;
}
.narsMBpage .narsmb-cate { .narsDowloadPc {
margin-top: 2.8125rem; /*height: 100vh;*/
margin: 0 0.4375rem; background: #F5F5F5;
display: flex; /*position: relative;*/
flex-direction: column; display: flex;
} flex-direction: column;
overflow-y: auto;
}
.narsMBpage .narsmb-cate .narsmbcatetop, .narsDowloadPc .narsDtabs {
.narsMBpage .narsmb-cate .narsmbcate-it { margin: 0 1.25rem;
background: #e0e2e6; margin-top: 1rem;
color: #000; display: flex;
border-radius: 0.3125rem; flex-direction: row;
height: 5.8125rem; justify-content: center;
width: 100%; height: 2.625rem;
line-height: 1rem; }
font-size: 0.75rem;
font-weight: bold;
margin-top: 2.8125rem;
display: flex;
align-items: center;
}
.narsMBpage .narsmb-cate .narsmbcateits { .narsDowloadPc .narsDtabs .narsDtabIt {
height: 5.8125rem; color: #001717;
display: flex; font-size: 1rem;
flex-direction: row; height: 2.625rem;
justify-content: space-between; line-height: 2.625rem;
margin-bottom: 0.4375rem; width: 25rem;
} background: #fff;
text-align: center;
border-radius: 28px;
cursor: pointer;
}
.narsMBpage .narsmb-cate .narsmbcateits .narsmbcate-it { .narsDowloadPc .narsDtabs .narsDtabIt:first-child {
width: 49%; margin-right: 0.9375rem;
margin-top: 0.4375rem; }
}
.narsMBpage .narsmb-cate .narsmbcate-sp { .narsDowloadPc .narsDtabs .narsDtabIt_active {
margin: 0 1.25rem; color: #fff;
} background: #004CFA;
}
.narsMBpage .narsmbvd { .narsDowloadPc .narsDmainConten {
width: 100%; margin: 0 1.25rem;
height: 14.5625rem; background: #fff;
margin-top: 2.5rem; margin-bottom: 10px;
} position: relative;
}
.narsMBpage .narsmbvd .narsmbvideo { .narsDowloadPc .nDtopCtMian {
height: 100%; padding-top: 1.25rem;
width: 100%; position: relative;
object-fit: fill; overflow: hideen;
} margin: 0 1.25rem;
height: auto;
}
.narsMBpage .narsmb-jjfa { .narsDowloadPc .nDtopCtMian .nDtopIt {
width: 100%; width: 100%;
display: flex; background: #fff;
flex-direction: column; margin-bottom: 10px;
} box-sizing: border-box;
}
.narsMBpage .narsmb-jjfa .narsmbjjfa-title { .narsDowloadPc .nDtopCtMian .nDtopIt .tpimg {
text-align: center; width: 100%;
font-size: 1.6875rem; height: 100%;
font-weight: bold; }
padding-top: 2.0625rem;
padding-bottom: 1.3125rem;
}
.narsMBpage .narsmb-jjfa .narsmbjjfaSwiper { .narsDowloadPc .nDtopCtMian .nDtopIt .tpimg {
margin-left: 0.4375rem; width: 100%;
} height: 100%;
}
.narsMBpage .narsmb-jjfa .narsmbjjfa-slide { .narsDowloadPc .nDtopCtMian .nDtopIt2 {
width: 10rem; display: flex;
height: 18.375rem; flex-direction: row;
border-radius: 0.125rem; flex-wrap: wrap;
position: relative; justify-content: space-between;
} }
.narsMBpage .narsmb-jjfa .narsmbjjfa-slide .narsmb-jjfa-ct { .narsDowloadPc .nDtopCtMian .nDtopIt2 .nDitImg {
color: #000; width: 48.5%;
margin: 0 1.25rem; background: #fff;
font-size: 1rem; display: flex;
font-weight: bold; justify-content: center;
margin-top: 1.875rem; align-items: center;
line-height: 1.5625rem; cursor: pointer;
} margin-bottom: 0.625rem;
}
.narsMBpage .narsmb-jjfa .narsmbjjfa-slide .narsmb-jjfa-info { .narsDowloadPc .nDtopCtMian .nDtopIt2 .nDitImg img {
background: #131b28; width: 6.25rem;
position: absolute; height: 6.25rem;
top: 0; padding: 1.25rem;
height: 18.375rem; }
padding: 0 1.3rem;
display: none;
flex-direction: column;
justify-content: center;
border-radius: 0.125rem;
z-index: 11;
overflow-y: hidden;
color: #fff;
}
.narsMBpage .narsmb-jjfa .narsmbjjfa-slide .narsmb-jjfa-info .narsmbjjfatt { .narswljshow {
width: 100%; display: none;
font-weight: bold; }
text-align: center;
font-size: 0.875rem;
margin-bottom: 1.6875rem;
}
.narsMBpage .narsmb-jjfa .narsmbjjfa-slide .narsmb-jjfa-info .narsmbjjfa-txt { .narswljshow .nDtopIt2 .nDitImg {
font-size: 0.75rem; /* width: 291px !important; */
line-height: 1rem; }
text-indent: 2em;
}
.narsMBpage .narsmb-jjfa .narsmb-jjfabgimg { .narssbshow .nrowimg {
width: 9.9375rem; width: 100%;
height: 18.375rem; background: #fff;
position: absolute; display: flex;
top: 0; justify-content: center;
z-index: -1;
}
.narsmb-wlj { }
width: 100%;
display: flex;
flex-direction: column;
}
.narsmb-wlj .narsmbwlj-title { .narssbshow .nrowimg img {
text-align: center; width: 50%;
font-size: 1.6875rem; height: 50%;
font-weight: bold; }
padding-top: 2.0625rem; </style>
padding-bottom: 1.3125rem; </head>
}
.narsmb-wlj .narsmbwltitem { <body>
margin: 0 0.4375rem; {include file='include/top_nas'/}
height: 9.0625rem; <div class="narsDowloadPc">
background: #131b28; <div class="narsDtabs"></div>
display: flex; <!-- 赛博云-->
flex-direction: row; <div class="nDtopCtMian narssbshow">
justify-content: space-between; <div class="nDtopIt">
margin-bottom: 0.5rem; <img src="__PUBLIC__/m_web/images/nas/narsdlapp-sbimg.jpg" class="tpimg" />
}
.narsmb-wlj .narsmbwltitem .narsmbwljcp {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
height: inherit;
}
.narsmb-wlj .narsmbwltitem .narsmbwljcp .narsmbtt {
font-size: 1.0625rem;
font-weight: bold;
color: #fff;
width: 35.5rem;
text-align: center;
margin-left: 35%;
}
.narsmb-wlj .narsmbwltitem .narsmbwljcp .narsmbwljimg {
height: inherit;
}
.narsmb-wlj .narsmbwltitem .narsmbwljcpinfo {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
color: #fff;
flex: 1;
margin: 0 1.25rem;
}
.narsmb-wlj .narsmbwltitem .narsmbwljcpinfo .narsmbif-title {
font-weight: bold;
font-size: 1.0625rem;
padding-bottom: 1rem;
}
.narsmb-wlj .narsmbwltitem .narsmbwljcpinfo .narsmbif-info {
font-size: 0.625rem;
line-height: 1rem;
text-align: center;
}
.narsmb-wlj .narsmbwltitem .narsmbwljcpinfo .narsmbwlj-xzbt {
width: 7.25rem;
height: 2.1875rem;
border-radius: 3.25rem;
line-height: 2.1875rem;
border: 1px solid #ffffff;
font-size: 0.875rem;
text-align: center;
cursor: pointer;
margin: 0 1.25rem;
}
.narsmb-wlj .narsmbwltitem .narsmbwljcpinfo .narsmbtt {
font-size: 1.0625rem;
font-weight: bold;
color: #fff;
text-align: center;
}
.narsMBbannerSwiper {
padding-top: 0px;
}
</style>
</head>
<body>
<!--{#include file='include/top_nas'/}-->
<!--nars 手机 -->
<div class="narsMBpage">
<!--轮播 banner-->
<div class="narsMB-banner">
<div class="swiper-container narsMBbannerSwiper">
<div class="swiper-wrapper">
<div class="swiper-slide">
<img src="/uploads/nas/mobile-beta.png" alt="" class="narsmb-img" />
</div>
</div>
</div>
</div> </div>
<div class="nDtopIt2">
<a class="nDitImg" href="https://appversion.oriconas.com/api/latest/url?appcode=cyberdata&platform=android">
{include file='include/bottom'/} <div class="nDitImg"><img src="__PUBLIC__/m_web/images/nas/narsdlapp_d1.png" /></div>
</a>
<a class="nDitImg" href="https://apps.apple.com/app/6695746746">
<div class="nDitImg"><img src="__PUBLIC__/m_web/images/nas/narsdlapp-d2.png" /></div>
</a>
<a class="nDitImg" href="https://appversion.oriconas.com/api/latest/url?appcode=cyberdata&platform=windows">
<div class="nDitImg"><img src="__PUBLIC__/m_web/images/nas/narsdlapp_d3.png" /></div>
</a>
<a class="nDitImg" href="https://apps.apple.com/app/6695746746">
<div class="nDitImg"><img src="__PUBLIC__/m_web/images/nas/narsdlapp_d4.png" /></div>
</a>
</div>
<div class="nDitImg nrowimg" style="margin-bottom: 25px;"><img src="__PUBLIC__/m_web/images/nas/narsdlapp_d5.png" /></div>
</div> </div>
</body> <!-- 微链接-->
<div class="nDtopCtMian narswljshow">
<div class="nDtopIt">
<img src="__PUBLIC__/m_web/images/nas/narsdlapp-wljimg.jpg" class="tpimg" />
</div>
<div class="nDtopIt2" style="margin-bottom: 25px;">
<a class="nDitImg" href="http://orico.com.cn/static/download/WeLineApp.apk" download="WeLineApp.apk">
<div class="nDitImg"><img src="__PUBLIC__/m_web/images/nas/narsdlapp_d1.png" /></div>
</a>
<a class="nDitImg" href="https://apps.apple.com/us/app/weline-io/id1495146123" target="_blank">
<div class="nDitImg"><img src="__PUBLIC__/m_web/images/nas/narsdlapp-d2.png" /></div>
</a>
<a class="nDitImg" href="http://orico.com.cn/static/download/WelinePC.exe" download="WelinePC.exe">
<div class="nDitImg"><img src="__PUBLIC__/m_web/images/nas/narsdlapp_d3.png" /></div>
</a>
<a class="nDitImg" href="http://orico.com.cn/static/download/WelineMac.dmg" download="WelineMac.dmg">
<div class="nDitImg"><img src="__PUBLIC__/m_web/images/nas/narsdlapp_d4.png" /></div>
</a>
</div>
</div>
{include file='include/bottom'/}
</div>
</body>
<script>
$(document).ready(function() {
$('.narsDtabIt').click(function() {
$('.narsDtabIt').removeClass('narsDtabIt_active');
$(this).addClass('narsDtabIt_active');
if ($(this).index() === 0) {
$('.narssbshow').show();
$('.narswljshow').hide();
} else {
$('.narssbshow').hide();
$('.narswljshow').show();
}
});
});
</script>
</html> </html>

View File

@@ -0,0 +1,408 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>帮助中心</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
{include file='include/head-nas' /}
<style>
.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 li a {
display: block;
}
.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 {
display: flex;
flex-direction: row;
justify-content: space-between;
width: 90%;
margin: 0 auto;
flex-wrap: wrap;
margin-bottom: 80px;
}
.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 .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%;
}
</style>
</head>
<body>
<div class="narshelpCenterPc-app">
<div class="headtop">
<a href="https://www.orico.com.cn/mobile/tops_nas/index.html"><img src="__PUBLIC__/m_web/images/nas/help/logo.png" class="logoicoimg" /></a>
<img src="__PUBLIC__/m_web/images/nas/help/sousuo.png" class="ssicoimg" />
</div>
<img src="__PUBLIC__/m_web/images/nas/help/nhlpapp-banner.png" class="nhlpbner" />
<h1 class="nhlpapp-title">User's Guide</h1>
{volist name="categorys" id="vo"}
<div class="nhlpappit">
<div class="nhlptl">
<img src="{$vo.picture}" class="bhlpicoimg" />{$vo.name}
</div>
<div class="nhlp-tx-list">
{volist name="vo.articles" id="va"}
<a class="txrow" href="{:url('tops_nas/helper_detail', ['id'=>$va.id])}">
<div class="nhlp-point"></div>
<span class="nhlpsp">{$va.name}</span>
<span class="narhelpgoimg"><img src="__PUBLIC__/m_web/images/nas/help/nhlp-jt.png" /></span>
</a>
{/volist}
{if condition="count($vo.articles) >= 3"}
<a href="{:url('tops_nas/helper_detail', ['cid'=>$vo.id, 'id'=>isset($vo.articles[0])?$vo.articles[0]['id']:0])}">
<div class="ckgdbt">Click to view more <img src="__PUBLIC__/m_web/images/nas/help/nhlp-jt.png" /></div>
</a>
{/if}
</div>
</div>
{/volist}
<h1 class="nhlpapp-title">Contact US</h1>
<div class="nhlpapp-row">
{if condition="$banners_size > 0"}
<a {if $banners[0]['link']}href="{$banners[0]['link']}" {/if} class="nhlplxwmit">
<img src="__PUBLIC__/m_web/images/nas/help/nhlp-lx1.png" class="lximg" />
<span class="t1">{$banners[0]['name']}</span>
<span class="t2">{$banners[0]['desc']}</span>
</a>
{/if}
{if condition="$banners_size > 1"}
<a {if $banners[1]['link']}href="{$banners[1]['link']}" {/if} class="nhlplxwmit" style="margin-right: 0;">
<img src="__PUBLIC__/m_web/images/nas/help/nhlp-lx2.png" class="lximg" />
<span class="t1">{$banners[1]['name']}</span>
<span class="t2">{$banners[1]['desc']}</span>
</a>
{/if}
{if condition="$banners_size > 2"}
<a {if $banners[2]['link']}href="{$banners[2]['link']}" {/if} class="nhlplxwmit">
<img src="__PUBLIC__/m_web/images/nas/help/nhlp-lx3.png" class="lximg" />
<span class="t1">{$banners[2]['name']}<br />{$banners[2]['desc']}</span>
</a>
{/if}
{if condition="$banners_size > 3"}
<a {if $banners[3]['link']}href="{$banners[3]['link']}" {/if} class="nhlplxwmit" style="margin-right: 0;">
<img src="__PUBLIC__/m_web/images/nas/help/nhlp-lx4.png" class="lximg" />
<span class="t1">{$banners[3]['name']}<br />{$banners[3]['desc']}</span>
</a>
{/if}
{if condition="$banners_size > 4"}
<a {if $banners[4]['link']}href="{$banners[4]['link']}" {/if} class="nhlplxwmit nhlplxwmit-w1">
<img src="__PUBLIC__/m_web/images/nas/help/nhlp-lx5.png" class="lximg" />
<span class="t1">{$banners[4]['name']}<br />{$banners[4]['desc']}</span>
</a>
{/if}
{if condition="$banners_size > 5"}
<a {if $banners[5]['link']}href="{$banners[5]['link']}" {/if} class="nhlplxwmit nhlplxwmit-w1">
<img src="__PUBLIC__/m_web/images/nas/help/nhlp-lx6.png" class="lximg" />
<span class="t1">{$banners[5]['name']}<br />{$banners[5]['desc']}</span>
</a>
{/if}
</div>
<!--搜索-->
<div class="nhlpapp-search">
<div class="nhlpappshtop">
<div class='nhlpapp-shdiv'>
<input class="nhlp-ipt" id="search-input" placeholder="What are you looking for?" />
<img src="__PUBLIC__/m_web/images/nas/help/ssapp.png" class="searchimg" />
</div>
<span class="closetx">Cancel</span>
</div>
<div class="nhlpappline"></div>
<!-- 下拉搜索框 -->
<div class="dropdown" id="dropdown"></div>
</div>
{include file="include/bottom" /}
</div>
</body>
<script>
$(document).ready(function() {
$('.closetx').click(function() {
$('.nhlpapp-search').hide();
});
$('.ssicoimg').click(function() {
$('.nhlpapp-search').show();
});
// 搜索
var timeout = null;
$('#search-input').on('focus input', function() {
clearTimeout(timeout);
var _this = this;
timeout = setTimeout(function() {
var keywords = $(_this).val();
if (keywords == '') {
$('#dropdown').hide().html('');
return;
}
$.ajax({
url: "{:url('tops_nas/helper_search')}",
type: 'POST',
data: {
keywords: keywords
},
dataType: 'JSON',
success: function(r) {
var html = '';
if (r.code == 0) {
html = '<ul>'
$.each(r.data, function(k, v) {
html += '<li><a class="search-item" href="{:url(\'tops_nas/helper_detail\')}?id=' + v.id + '">' + v.name + '</a></li>'
})
html += '</ul>'
}
$('#dropdown').show().html(html);
}
})
}, 300);
});
$('.nhlplxwmit:not(:first)').hover(function() {
$(this).find('.lximg').show();
}, function() {
$(this).find('.lximg').show();
});
});
</script>
</html>

View File

@@ -0,0 +1,344 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>帮助中心</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
{include file='include/head-nas' /}
<style>
.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: 90.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(45deg);
}
.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;
}
</style>
</head>
<body>
<div class="narshelpCenterdetail-app">
<div class="headtop">
<a href="https://www.orico.com.cn/mobile/tops_nas/index.html"><img src="__PUBLIC__/m_web/images/nas/help/logo.png" class="logoicoimg" /></a>
<div>
<img src="__PUBLIC__/m_web/images/nas/help/fenlei.png" class="ssicoimg" id="flico" />
<img src="__PUBLIC__/m_web/images/nas/help/sousuo.png" class="ssicoimg" id="ssico" style="margin-right:32px" />
</div>
</div>
<div id="rendered-content" class="nhlp-app-content">{$article.content|default=''}</div>
<!--搜索-->
<div class="nhlpapp-search">
<div class="nhlpappshtop">
<div class='nhlpapp-shdiv'>
<input class="nhlp-ipt" id="search-input" placeholder="请输入搜索关键字,如安装赛博云空间、影视库" />
<img src="__PUBLIC__/m_web/images/nas/help/ssapp.png" class="searchimg" />
</div>
<span class="closetx">取消</span>
</div>
<div class="nhlpappline"></div>
<!-- 下拉搜索框 -->
<div class="dropdown" id="dropdown"></div>
</div>
<!-- 分类文章目录 -->
<div class="nhlpapp-pagescate" {if condition="!empty($cid)" }style="display:block;" {/if}>
<div class="nars-hlpdt-ml">
<div class="nav-tree">
{volist name="categorys" id="vo"}
<div class="categoryhelp">
<div class="categoryhelp-title">
<div class="arrow"><img src="__PUBLIC__/m_web/images/nas/help/nars-jt.png" class="arrow" /></div>
<span>{$vo.name}</span>
</div>
<ul class="sub-list" {if condition="$cid == $vo.id" }style="display:block;" {/if}>
{volist name="vo.articles" id="va"}
<li>
{if condition="$key == 0"}
<a href="{:url('tops_nas/helper_detail', ['id'=>$va.id])}" style="padding-top: 6px;">{$va.name}</a>
{else/}
<a href="{:url('tops_nas/helper_detail', ['id'=>$va.id])}">{$va.name}</a>
{/if}
</li>
{/volist}
</ul>
</div>
{/volist}
</div>
</div>
</div>
{include file="include/bottom" /}
</div>
</body>
<script>
$(document).ready(function() {
// 点击顶部分类图标
$('#flico').click(function() {
$('.nhlpapp-pagescate').toggle();
// 检查分类菜单是否显示
if ($('.nhlpapp-pagescate').is(':visible')) {
// 如果分类菜单显示,则隐藏文章内容
$('#rendered-content').hide();
$('.footer').hide()
} else {
// 如果分类菜单隐藏,则显示文章内容
$('#rendered-content').show();
$('.footer').show()
}
});
// 点击分类的交互
$('.categoryhelp-title').click(function() {
$(this).next('.sub-list').slideToggle();
$(this).find('.arrow').toggleClass('rotate');
});
// 点击顶部搜索图标-点击取消关闭
$('#ssico').click(function() {
$('.nhlpapp-pagescate').hide();
$('.nhlpapp-search').show();
});
$('.closetx').click(function() {
$('.nhlpapp-search').hide();
});
// 搜索
var timeout = null;
$('#search-input').on('focus input', function() {
clearTimeout(timeout);
var _this = this;
timeout = setTimeout(function() {
var keywords = $(_this).val();
if (keywords == '') {
$('#dropdown').hide().html('');
return;
}
$.ajax({
url: "{:url('tops_nas/helper_search')}",
type: 'POST',
data: {
keywords: keywords
},
dataType: 'JSON',
success: function(r) {
var html = '';
if (r.code == 0) {
html = '<ul>'
$.each(r.data, function(k, v) {
html += '<li><a class="search-item" href="{:url(\'tops_nas/helper_detail\')}?id=' + v.id + '">' + v.name + '</a></li>'
})
html += '</ul>'
}
$('#dropdown').show().html(html);
}
})
}, 300);
});
});
</script>
</html>