28 Commits

Author SHA1 Message Date
迷和油
e6d851395f Merge branch 'dev' of https://gitea.f2b211.com/jsasg/orico-official-website into dev 2025-06-07 14:34:11 +08:00
迷和油
79d4c4976b style:bug样式修改 2025-06-07 14:32:56 +08:00
20431def5a fix: 产品分类bug修复 2025-06-07 14:27:32 +08:00
2c00fb46ad fix: 文章模块bug修复 2025-06-07 14:24:10 +08:00
3f3d68c275 refactor: 修改array_flatten函数相关 2025-06-07 14:03:47 +08:00
3ba64348f5 feat: mobile nas主题首页 2025-06-07 13:54:34 +08:00
7c5342a42b feat: mobile问答中心页 2025-06-06 16:28:01 +08:00
433734fe5e feat: mobile文章详情页 2025-06-06 16:10:51 +08:00
7833052186 refactor: 修改接口记录表迁移文件及更新其数据 2025-06-06 15:10:27 +08:00
9c149e7373 refactor: 修改几在模块支持多分类筛选 2025-06-06 11:55:33 +08:00
be359bcb85 refactor: 优化横幅分页列表查询 2025-06-06 11:05:55 +08:00
7bbb0cd60e refactor: 优化日志分页查询性能 2025-06-06 10:29:53 +08:00
93e3ac5d70 refactor: 后台问答分页图片改缩略图输出 2025-06-05 17:01:48 +08:00
8815809b68 refactor: 后台产品分页图片改缩略图输出 2025-06-05 16:59:47 +08:00
a89b64d62b refactor: 后台文章回收站分页图片改为缩略图输出 2025-06-05 16:57:50 +08:00
978367fd2e refactor: 后台附件分页列表图片改缩略图输出 2025-06-05 16:53:49 +08:00
4c6643797d refactor: 后台文章列表图片改为缩略图输出 2025-06-05 16:50:19 +08:00
9d1f60b998 feat: mobile文章首页 2025-06-05 16:34:23 +08:00
9fbada3be5 feat: mobile联系我们 - 售后政策页 2025-06-05 15:54:09 +08:00
d824e694a4 fix: pc产品详情页面“首页”文本多语言处理 2025-06-05 15:34:51 +08:00
dc7db65139 feat: mobile联系我们 - 品牌故事页 2025-06-05 15:28:32 +08:00
c5d450907c feat: mobile联系我们 - 品牌里程页 2025-06-05 15:01:24 +08:00
d2fb349766 feat: mobile联系我们 - 文化介绍页 2025-06-05 12:01:15 +08:00
c238bbc588 refactor: pc联系我们 - 文化介绍页修改 2025-06-05 12:01:06 +08:00
28e586b57f feat: mobile联系我们 - 品牌介绍 2025-06-05 10:35:21 +08:00
1bf60294f0 chore: 配置配置环境变量文件 2025-06-05 10:34:48 +08:00
ba0904069c refactor: 后面横幅分页接口图片输出修改为缩略图 2025-06-05 09:51:23 +08:00
迷和油
c40b4ea632 style:样式修改 2025-06-04 18:01:01 +08:00
64 changed files with 3351 additions and 989 deletions

View File

@@ -11,6 +11,9 @@ DB_PREFIX = ow_
DEFAULT_LANG = zh-cn
# 前端代理服务器ip影响使用代理访问情况下的客户端ip获取
PROXY_SERVER_IP[] = 120.79.27.160
[JWT]
TTL=3600
REFRESH_TTL=20160
@@ -24,3 +27,11 @@ WHITE_LIST[] = v1/user/captcha
# 不需记录日志的接口
[ADMIN_API]
IGNORE_LOGGING_LIST[] = v1/OperateLog/index
MAX_IMAGE_SIZE = 5mb; # 图片上传最大限制
MAX_VIDEO_SIZE = 150mb; # 视频上传最大限制
MAX_ATTACHMENT_SIZE = 100mb; # 附件上传最大限制
# 开放API
[OPENAPI]
RESOURCE_IMAGES_DOMAIN = http://local.orico.com; # 图片资源服务器地址
RESOURCE_VIDEOS_DOMAIN = http://local.orico.com; # 视频资源服务器地址

View File

@@ -39,8 +39,12 @@ class Article
->language(request()->lang_id)
->where(function($query) use($param) {
if (isset($param['category_id'])) {
if (str_contains($param['category_id'], ',') || is_array($param['category_id'])) {
$query->whereIn('category_id', $param['category_id']);
} else {
$query->where('category_id', '=', $param['category_id']);
}
}
})
->withSearch(['title', 'release_time'], [
'title' => $param['title']??null,
@@ -55,7 +59,8 @@ class Article
'category',
'category_id'
])
->bindAttr('category', ['category_name' => 'name']);
->bindAttr('category', ['category_name' => 'name'])
->each(fn($item) => $item->image = thumb($item->image));
return success('获取成功', $article);
}

View File

@@ -39,7 +39,8 @@ class ArticleTrash
'list_rows' => $param['size']
])
->hidden(['category_id', 'category'])
->bindAttr('category', ['category_name' => 'name']);
->bindAttr('category', ['category_name' => 'name'])
?->each(fn($item) => $item->image = thumb($item->image));
return success('获取成功', $data);
}

View File

@@ -48,7 +48,8 @@ class Attachment
'page' => $params['page']
])
->bindAttr('category', ['category_name'])
->hidden(['category_id', 'category']);
->hidden(['category_id', 'category'])
?->each(fn($item) => $item->image = thumb($item->image));
return success('获取成功', $attachments);
}

View File

@@ -46,7 +46,8 @@ class AttachmentTrash
'page' => $params['page']
])
->bindAttr('category', ['category_name'])
->hidden(['category_id', 'category']);
->hidden(['category_id', 'category'])
?->each(fn($item) => $item->image = thumb($item->image));
return success('获取成功', $attachments);
}

View File

@@ -33,14 +33,18 @@ class BannerItem
'item.sort',
'item.status',
'item.created_at',
'banner.name' => 'banner_name'
'bnr.name' => 'banner_name'
])
->join('sys_banner banner', 'banner.id = item.banner_id')
->where('banner.language_id', '=', request()->lang_id)
->join('sys_banner bnr', 'bnr.id = item.banner_id')
->where('bnr.language_id', '=', request()->lang_id)
->where(function($query) use($param){
if (!empty($param['banner_id'])) {
if (is_array($param['banner_id']) || str_contains($param['banner_id'], ',')) {
$query->whereIn('item.banner_id', $param['banner_id']);
} else {
$query->where('item.banner_id', '=', $param['banner_id']);
}
}
if (!empty($param['title'])) {
$query->where('item.title', 'like', "%{$param['title']}%");
}
@@ -60,7 +64,8 @@ class BannerItem
->paginate([
'list_rows' => $param['size'],
'page' => $param['page']
]);
])
->each(fn($item) => $item->image = thumb($item->image));
return success('获取成功', $banner_items);
}
@@ -76,6 +81,7 @@ class BannerItem
'updated_at',
'deleted_at'
])
->append(['rel_prod_cate_id', 'rel_prod_cate_name']) // 绑定产品分类关联模型中字段到父模型中
->find($id);
if (empty($banner_item)) {
return error('横幅不存在');
@@ -282,8 +288,12 @@ class BannerItem
->where('banner.language_id', '=', request()->lang_id)
->where(function($query) use($param){
if (!empty($param['banner_id'])) {
if (is_array($param['banner_id']) || str_contains($param['banner_id'], ',')) {
$query->whereIn('item.banner_id', $param['banner_id']);
} else {
$query->where('item.banner_id', '=', $param['banner_id']);
}
}
if (!empty($param['title'])) {
$query->where('item.title', 'like', "%{$param['title']}%");
}

View File

@@ -38,7 +38,8 @@ class Faq
->paginate([
'list_rows' => $param['size'],
'page' => $param['page'],
]);
])
?->each(fn($item) => $item->image = thumb($item->image));
return success('获取成功', $faqs);
}

View File

@@ -4,6 +4,7 @@ declare (strict_types = 1);
namespace app\admin\controller\v1;
use app\admin\model\v1\SysOperateLog;
use app\admin\model\v1\SysUserModel;
/**
* 操作日志控制器
@@ -21,11 +22,15 @@ class OperateLog
'size/d'
]);
$logs = SysOperateLog::hasWhere('user', function($query) use($param) {
$logs = SysOperateLog::field([
'SysOperateLog.*',
'SysUserModel.username'
])
->hasWhere('user', function($query) use($param) {
if (!empty($param['operator'])) {
$query->where('username', 'like', "{$param['operator']}");
$query->where('username', 'like', "%{$param['operator']}%");
}
$query->field(['id', 'username']);
$query->withTrashed()->field(['id', 'username']);
})
->withSearch(['title', 'created_at'], [
'title' => $param['title'] ?? null,
@@ -36,7 +41,6 @@ class OperateLog
'list_rows' => $param['size'] ?? 10,
'page' => $param['page'] ?? 1,
])
->bindAttr('user', ['username'])
->hidden(['user_id', 'user']);
return success('获取成功', $logs);

View File

@@ -63,7 +63,8 @@ class Product
'page' => $param['page'],
])
->bindAttr('category', ['category_name' => 'name'])
->hidden(['category_id', 'category']);
->hidden(['category_id', 'category'])
?->each(fn($item) => $item->cover_image = thumb($item->cover_image));
return success('获取成功', $products);
}

View File

@@ -55,7 +55,8 @@ class ProductTrash
'page' => $param['page'],
])
->bindAttr('category', ['category_name' => 'name'])
->hidden(['category_id', 'category']);
->hidden(['category_id', 'category'])
?->each(fn($item) => $item->cover_image = thumb($item->cover_image));
return success('获取成功', $products);
}

View File

@@ -85,6 +85,10 @@ class ArticleModel extends ArticleBaseModel
// 分类查询
public function scopeCategory($query, $value)
{
if (is_array($value) || str_contains($value, ',')) {
$query->whereIn('category_id', $value);
return;
}
$query->where('category_id', '=', $value);
}
public function scopeCategoryNullable($query, $value)
@@ -92,6 +96,10 @@ class ArticleModel extends ArticleBaseModel
if (is_null($value)) {
return;
}
if (is_array($value) || str_contains($value, ',')) {
$query->whereIn('category_id', $value);
return;
}
$query->where('category_id', '=', $value);
}
}

View File

@@ -58,6 +58,10 @@ class AttachmentModel extends AttachmentBaseModel
public function scopeCategoryId($query, $value)
{
if (empty($value)) return;
if (is_array($value) || str_contains($value, ',')) {
$query->whereIn('category_id', $value);
return;
}
$query->where('category_id', '=', $value);
}
}

View File

@@ -65,10 +65,18 @@ class ProductModel extends ProductBaseModel
if (is_null($value)) {
return;
}
if (is_array($value) || str_contains($value, ',')) {
$query->whereIn('category_id', $value);
return;
}
$query->where('category_id', '=', $value);
}
public function scopeCategory($query, $value)
{
if (is_array($value) || str_contains($value, ',')) {
$query->whereIn('category_id', $value);
return;
}
$query->where('category_id', '=', $value);
}

View File

@@ -17,8 +17,6 @@ class SysBannerItemModel extends SysBannerItemBaseModel
// 软删除字段
protected $deleteTime = 'deleted_at';
// 绑定产品分类关联模型中字段到父模型
protected $append = ['rel_prod_cate_id', 'rel_prod_cate_name'];
// 要隐藏的字段或关联模型数据字段
protected $hidden = ['prodMapping'];
@@ -73,6 +71,10 @@ class SysBannerItemModel extends SysBannerItemBaseModel
public function scopeBannerId($query, $value)
{
if (is_null($value)) return;
if (is_array($value) || str_contains($value, ',')) {
$query->whereIn('banner_id', $value);
return;
}
$query->where('banner_id', '=', $value);
}
}

View File

@@ -62,6 +62,10 @@ class VideoModel extends VideoBaseModel
if (empty($value)) {
return;
}
if (is_array($value) || str_contains($value, ',')) {
$query->whereIn('category_id', $value);
return;
}
$query->where('category_id', '=', $value);
}
}

View File

@@ -103,3 +103,45 @@ if (!function_exists('array_to_tree')) {
return $ret;
}
}
if (!function_exists('array_flatten')) {
/**
* 将多维数组转换为一维数组
* @param array $array
* @return array
*/
function array_flatten(array $array, int $depth = 1): array
{
return \think\helper\Arr::flatten($array, $depth);
}
}
if (!function_exists('thumb')) {
/**
* 获取缩略图
* @param string $url 图片地址
* @return string
*/
function thumb(?string $url): string
{
if (empty($url)) {
return '';
}
if (
str_contains($url, '_thumb') ||
\think\helper\Str::startsWith($url, ['http://', 'https://']) ||
!\think\helper\Str::endsWith($url, ['.png', '.jpg', '.jpeg', '.gif', '.tif', '.svg', '.webp', '.bmp'])
) {
return $url;
}
$idx = mb_strripos($url, '.', 0, 'utf-8');
if ($idx === false) {
return $url;
}
$len = mb_strlen($url, 'utf-8');
return mb_substr($url, 0, $idx, 'utf-8') . '_thumb' . mb_substr($url, $idx, $len - $idx, 'utf-8');
}
}

View File

@@ -71,36 +71,6 @@ if (!function_exists('style')) {
}
}
if (!function_exists('thumb')) {
/**
* 获取缩略图
* @param string $url 图片地址
* @return string
*/
function thumb(string $url): string
{
if (empty($url)) {
return '';
}
if (
str_contains($url, '_thumb') ||
\think\helper\Str::startsWith($url, ['http://', 'https://']) ||
!\think\helper\Str::endsWith($url, ['.png', '.jpg', '.jpeg', '.gif', '.tif', '.svg', '.webp', '.bmp'])
) {
return $url;
}
$idx = mb_strripos($url, '.', 0, 'utf-8');
if ($idx === false) {
return $url;
}
$len = mb_strlen($url, 'utf-8');
return mb_substr($url, 0, $idx, 'utf-8') . '_thumb' . mb_substr($url, $idx, $len - $idx, 'utf-8');
}
}
if (!function_exists('get_path_from_img_tag')) {
/**
* 从img标签中获取图片路径
@@ -128,7 +98,8 @@ if (!function_exists('lang_i18n')) {
* @param string $lang 语言标识
* @return string
*/
function lang_i18n(string $name, array $vars = [], string $lang = '') {
function lang_i18n(string $name, array $vars = [], string $lang = ''): string
{
if (is_null($name)) {
return '';
}

View File

@@ -27,6 +27,7 @@ class AboutUs extends Common
->where('status', '=', 1)
->order(['sort' => 'asc', 'id' => 'desc']);
}])
->atPlatform(request()->from)
->uniqueLabel([
"BANNER_680744b1d0000",
"BANNER_680744e7cacb3",
@@ -62,7 +63,8 @@ class AboutUs extends Common
// 获取品牌故事banner
$banners = SysBannerItemModel::hasWhere('banner', [
'language_id' => $this->lang_id,
'unique_label' => 'BANNER_67ff632a5f7aa'
'unique_label' => 'BANNER_67ff632a5f7aa',
'at_platform' => request()->from,
])
->type('image')
->enabled(true)
@@ -87,6 +89,7 @@ class AboutUs extends Common
$banner = SysBannerModel::with(['items' => function($query) {
$query->where('status', '=', 1)->order(['sort' => 'asc', 'id' => 'desc']);
}])
->atPlatform(request()->from)
->uniqueLabel([
'BANNER_67ff786dc9c8d',
'BANNER_67ff7ef1354cf',
@@ -124,6 +127,7 @@ class AboutUs extends Common
->where('status', '=', 1)
->order(['sort' => 'asc', 'id' => 'desc']);
}])
->atPlatform(request()->from)
->uniqueLabel([
"BANNER_68075a636e648",
"BANNER_68075bf4dd0f5",
@@ -157,6 +161,7 @@ class AboutUs extends Common
->where('status', '=', 1)
->order(['sort' => 'asc', 'id' => 'desc']);
}])
->atPlatform(request()->from)
->uniqueLabel([
"BANNER_6806f5f19c3d6",
"BANNER_6806f609b9fe9",

View File

@@ -32,10 +32,12 @@ class Article extends Common
// 获取banner焦点图
$banner = SysBannerItemModel::hasWhere('banner', [
'language_id' => $this->lang_id,
'unique_label' => 'BANNER_67f9fc71e27db'
'unique_label' => 'BANNER_67f9fc71e27db',
'at_platform' => request()->from
])
->type('image')
->visible(['id', 'title', 'image', 'link'])
->enabled()
->find();
View::assign('banner', $banner);
@@ -58,15 +60,19 @@ class Article extends Common
'id',
'title',
'desc',
'image'
'image',
'release_time'
])
->withSearch(['title'], ['title' => $param['keywords']??null])
->category($param['cid']??$categorys[0]['id'])
->where('release_time', '<=', date('Y-m-d H:i:s'))
->order(['sort' => 'asc', 'release_time' => 'desc', 'id' => 'desc'])
->paginate([
'list_rows' => $param['size'],
'page' => $param['page'],
'query' => request()->param([
'cid',
'keywords',
]) // 保留查询参数,防止分页丢失
]);
}
View::assign('articles', $articles??[]);
@@ -123,12 +129,14 @@ class Article extends Common
// 验证字段
$validate = Validate::rule([
'name' => 'max:64',
'email' => 'email'
'name' => 'require|max:64',
'email' => 'require|email'
])
->message([
'name.max' => '姓名不能超过64个字符',
'email' => '请输入正确的邮箱'
'name.require' => '姓名不能为空',
'name.max' => '姓名不能超过:rule个字符',
'email.require' => '邮箱不能为空',
'email.email' => '邮箱格式不正确'
]);
if (!$validate->check($post)) {
return error($validate->getError());
@@ -142,9 +150,9 @@ class Article extends Common
]);
$ret = ArticleLeaveMessageModel::create($data);
if ($ret->isEmpty()) {
return error('留言提交失败');
return error(lang('留言提交失败'));
}
return success('留言提交成功');
return success(lang('留言提交成功'));
}
}

View File

@@ -25,7 +25,8 @@ class Faq extends Common
// 获取banner焦点图
$banner = SysBannerItemModel::hasWhere('banner', [
'language_id' => $this->lang_id,
'unique_label' => 'BANNER_67fa37f30e151'
'unique_label' => 'BANNER_67fa37f30e151',
'at_platform' => request()->from
])
->type('image')
->visible(['id', 'title', 'image', 'link'])

View File

@@ -253,7 +253,11 @@ class Product extends Common
];
}
foreach ($categorys_data as $k => $v) {
$categorys_data[$k]['products'] = $products_map[$v['id']] ?? [];
if (!isset($products_map[$v['id']])) {
unset($categorys_data[$k]);
continue;
}
$categorys_data[$k]['products'] = $products_map[$v['id']];
}
}
}

View File

@@ -20,6 +20,10 @@ class TopicNas extends Common
{
// 获取国家/语言列表
$languages = $this->getLanguages();
// 输出国家/语言列表
if (request()->isMobile()) {
View::assign('header_languages', $languages);
}
// 获取当前语言
$current_language = $this->getCurrentLanguage($languages);
@@ -61,8 +65,10 @@ class TopicNas extends Common
$nas_software = [];
// 获取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'])
->order(['sort' => 'asc', 'id' => 'desc']);
}])
->atPlatform(request()->from)
->uniqueLabel([
'BANNER_680f156a805a8',
'BANNER_680f15ca5482f',

View File

@@ -15,6 +15,8 @@ return [
'提交失败' => 'fail',
'信息已成功提交!' => 'Add Success',
'信息提交失败!' => 'Add Fail',
'留言提交失败' => 'Message submit failed',
'留言提交成功' => 'Message submit success',
'当前选定语言的采购可选品类配置出错' => 'Current language configuration of purchase optional categories is incorrect',
// 首页
@@ -29,6 +31,19 @@ return [
'客服团队的工作时间周一到周五早9点到晚6点 平均应答时间24小时内' => 'Our customer support is available Monday to Friday: 9am-6:00pm. Average answer time: 24h',
],
// 文章详情页
'article/detail' => [
'分享' => 'SHARE',
'留言' => 'Leave a Reply',
'名称' => 'Name',
'电子邮箱' => 'Email',
'您的电子邮件地址不会被公开' => 'Your email address will not be pulished.',
'留言内容' => 'Comment',
'提交留言' => 'POST COMMENT',
'你可能还喜欢' => 'Recommended for you',
'链接复制成功' => 'Link copied successfully',
],
// 产品分类
'product/category' => [
'查看全部' => 'View All',
@@ -58,6 +73,12 @@ return [
'提交' => 'SUBMIT',
],
// 常见问题
'faq/index' => [
'常见FQ_下载与服务_中文官网帮助信息_ORICO/奥睿科官网' => 'FAQ',
'常见问题解答' => 'Frequently asked questions',
],
// 附件下载
'attachment/index' => [
'软件下载' => 'Software download',
@@ -121,4 +142,40 @@ return [
'发送' => 'SEND',
'成为经销商' => 'Become a Distributor',
],
// 关于我们 - 品牌介绍
'aboutus/introduction' => [
'品牌介绍' => 'Introduction of the Brand',
'选择我们的理由' => 'Why Choose Us',
'为您提供专属定制服务' => 'How We Can Help with Customization',
'对于不同的情况' => 'For Different Situation',
],
// 关于我们 - 文化介绍
'aboutus/culture' => [
'文化介绍' => 'Culture Introduction',
],
// 关于我们 - 品牌历程
'aboutus/mileage' => [
'ORICO荣耀' => 'Our Achievement',
'品牌里程' => 'Brand Events',
'品牌活动' => 'Tech Development',
],
// 关于我们 - 售后政策
'aboutus/policy' => [
'售后政策_注意事项' => 'After-Sales Policy',
'售后政策' => 'After-sale Policy',
'ORICO/奥睿科商城为您提供七天包退、15天换新、1年保修、终身维护的服务承诺' => 'ORICO commits to provide 7-day Refund, 15-day Exchange, 1-year Quality Warranty. ',
'为了保障您的合法权益,敬请关注以下信息' => 'For your own benefits, please mind the following information',
'为了得到深圳市元创时代科技有限公司给予您的“包修、包换、包退”的权益,请您:' => 'For a smooth return and refund, quality warranty, please follow these steps:',
'特别说明' => 'ORICO is not liable for:'
],
// nas主题 - 首页
'topicnas/index' => [
'网络存储解决方案' => 'Network Storage Solutions',
'配套软件' => 'Software',
],
];

View File

@@ -40,6 +40,11 @@ return [
'链接复制成功' => 'Link copied successfully',
],
// 常见问题
'faq/index' => [
'常见FQ_下载与服务_中文官网帮助信息_ORICO/奥睿科官网' => 'FAQ',
],
// 附件页 - 软件下载
'attachment/index' => [
'软件和驱动程序' => 'Software and Drivers',
@@ -153,6 +158,7 @@ return [
// 产品 - 产品详情页
'product/detail' => [
'首页' => 'Home',
'产品详情' => 'Product Description',
'相关产品' => 'Related Products',
'发送查询' => 'Send Inquiry',

View File

@@ -0,0 +1,38 @@
{extend name="public/base" /}
{block name="title"}
{notempty name=":lang_i18n('文化介绍')"}<title>{:lang_i18n('文化介绍')}</title>{else/}{__BLOCK__}{/notempty}
{/block}
{block name="style"}
<link rel="stylesheet" type="text/css" href="__CSS__/aboutus_culture.css" />
{/block}
{block name="main"}
<div class="oricoEGapp">
<!-- 内容 -->
<div class="oricoEGapp-product">
{notempty name="focus_image"}
<div class="img-responsive">
<a {notempty name="focus_image.link"}href="{$focus_image.link}"{/notempty}>
<img src="{$focus_image.image}">
</a>
</div>
{/notempty}
<!-- 产品介绍 -->
{notempty name="culture"}
{volist name="culture" id="cul" offset="0" length="3"}
<div class="m_vision">
<div class="img-responsive "><img src="{$cul.image}"></div>
<div class="vision-title text_left margin-top-50">{$cul.title}</div>
<div class="vision-con text_gray text_left line-height-40 margin-top-40">{$cul.desc|raw}</div>
</div>
{/volist}
<div class="m_vision">
{volist name="culture" id="cul" offset="3"}
<div class="img-responsive"><img src="{$cul.image}"></div>
<div class="vision-title text_left margin-top-50">{$cul.title}</div>
<div class="vision-con text_gray text_left line-height-40 margin-top-40">{$cul.desc|raw}</div>
{/volist}
</div>
{/notempty}
</div>
</div>
{/block}

View File

@@ -1,7 +1,58 @@
{extend name="public/base" /}
{block name="title"}
{notempty name=":lang_i18n('品牌介绍')"}<title>{:lang_i18n('品牌介绍')}</title>{else/}{__BLOCK__}{/notempty}
{/block}
{block name="style"}
<link rel="stylesheet" type="text/css" href="css/introduction.css" />
<link rel="stylesheet" type="text/css" href="__CSS__/aboutus_introduction.css" />
{/block}
{block name="main"}
<div class="oricoEGapp">
<div class="iotbpage">
{notempty name="focus_image"}
<img src="{$focus_image.image}" alt="" class="bdimg1">
{/notempty}
{notempty name="why"}
<div class="iotb_bgw">
<h1 class="iotbt1">{:lang_i18n('选择我们的理由')}</h1>
<div class="iotb_part1">
{volist name="why" id="wh"}
<div class="iotb_p1_item" style="margin-bottom: 30px;">
<img src="{$wh.image}" alt="" class="iotbic1">
<p class="iotbtp1">{$wh.title}</p>
<span class="iotbts1">{$wh.desc|raw}</span>
</div>
{/volist}
</div>
</div>
{/notempty}
{notempty name="service"}
<div class="iotb_part2 iotb_part22">
<h1 class="iotbt1">{:lang_i18n('为您提供专属定制服务')}</h1>
<div class="fdimgs wcu_list">
{assign name="flat_service" value=":array_flatten($service)" /}
{volist name="flat_service" id="fs"}
<div class="wcu_ltem">
<img src="{$fs.image}" alt="" class="fbit">
<span class="wcu_s1">{$fs.title}</span>
</div>
{/volist}
</div>
</div>
{/notempty}
{notempty name="difference"}
<div class="iotb_part2">
<h1 class="iotbt1">{:lang_i18n('对于不同的情况')}</h1>
<div class="fdimgs wcu_list">
{assign name="flat_difference" value=":array_flatten($difference)" /}
{volist name="flat_difference" id="di"}
<div class="wcu_ltem">
<img src="{$di.image}" alt="" class="fbit">
<span class="wcu_s1">{$di.title}</span>
</div>
{/volist}
</div>
</div>
{/notempty}
</div>
</div>
{/block}

View File

@@ -0,0 +1,106 @@
{extend name="public/base"/}
{block name="style"}
<link rel="stylesheet" href="__CSS__/aboutus_mileage.css">
{/block}
{block name="main"}
<div class="oricoEGapp">
<!--公司里程 -->
<div class="oricoCnLc">
<div class="margin-top-60"></div>
<div class="m_ach">
<div class="img-responsive ">
<img src="__IMAGES__/achievement.jpg">
</div>
<div class="title">{:lang_i18n('ORICO荣耀')}</div>
<div class="list-num clearfix">
{notempty name="achievement"}
<ul>
{volist name="achievement" id="ac"}
<li>
<h4 {:style(['color' => $ac['desc_txt_color']])}>{$ac.desc|raw}</h4>
<p {:style(['color' => $ac['title_txt_color']])}>{$ac.title}</p>
</li>
{/volist}
</ul>
{/notempty}
</div>
</div>
{notempty name="events"}
<div class="m_ach-b">
<div class="title">{:lang_i18n('品牌里程')}</div>
</div>
<div class="contain">
<!-- 导航 -->
<div class="nav">
<div class="swiper-container gallery-thumbs">
<div class="swiper-wrapper">
{volist name="events" id="ev"}
<div class="swiper-slide" {:style(['color' => $ev['title_txt_color']])}>{$ev.title}</div>
{/volist}
</div>
<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>
</div>
<!-- 切换按钮 -->
<div class="swiper-button-next swiper-button-white" tabindex="0" role="button" aria-label="Next slide" aria-disabled="false">
<img src="__IMAGES__/ach-right.webp">
</div>
<div class="swiper-button-prev swiper-button-white swiper-button-disabled" tabindex="0" role="button" aria-label="Previous slide" aria-disabled="true">
<img src="__IMAGES__/ach-left.webp">
</div>
</div>
<!-- 内容 -->
<div class="swiper-container gallery-top">
<div class="swiper-wrapper">
{volist name="events" id="ev" key="k"}
<div class="swiper-slide info">
<h5 {:style(['color' => $ev['title_txt_color']])}>{$ev.title}</h5>
<p {:style(['color' => $ev['desc_txt_color']])}>{$ev.desc|raw}</p>
</div>
{/volist}
</div>
<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>
</div>
</div>
{/notempty}
{notempty name="development"}
<div class="m_ch">
<div class="m_ach-b">
<div class="chtitle">{:lang_i18n('品牌活动')}</div>
</div>
{volist name="development" id="de"}
<div class="ach-bg">
<div class="img-responsive ">
<img src="{$de.image}">
</div>
<div class="m_ch-title text_left margin-top-50">
<img src="__IMAGES__/ach-icon.png">{$de.title}
</div>
<div class="m_ch-con text_gray text_left line-height-40 margin-top-40">{$de.desc|raw}</div>
</div>
{/volist}
</div>
{/notempty}
</div>
</div>
{/block}
{block name="script"}
<script type="text/javascript">
var galleryThumbs = new Swiper('.gallery-thumbs', {
spaceBetween: 10,
slidesPerView: 5,
freeMode: true,
watchSlidesVisibility: true,
watchSlidesProgress: true
})
var galleryTop = new Swiper('.gallery-top', {
spaceBetween: 10,
thumbs: {
swiper: galleryThumbs
},
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev'
}
})
</script>
{/block}

View File

@@ -0,0 +1,84 @@
{extend name="public/base"/}
{block name="title"}
<title>{:lang_i18n('售后政策_注意事项')}</title>
{/block}
{block name="style"}
<link rel="stylesheet" href="__CSS__/aboutus_policy.css">
{/block}
{block name="main"}
<div class="oricoEGapp">
<!-- 内容 -->
<div class="oricoEGapp-policy">
{notempty name="policy.focus_image"}
<a {notempty name="policy.focus_image.link"}href="{$policy.focus_image.link}"{/notempty}>
<img src="{$policy.focus_image.image}" class="pl-img" />
</a>
{/notempty}
<div class="m_Container">
<strong class="textpoint">{:lang_i18n('售后政策')}</strong>
<p class="decs">{:lang_i18n('ORICO/奥睿科商城为您提供七天包退、15天换新、1年保修、终身维护的服务承诺')}</p>
</div>
{notempty name="policy.banner_1"}
{volist name="policy.banner_1" id="b1"}
<div class="m_Container">
<strong class="textpoint">{$b1.title}</strong>
<div class="decs">{$b1.desc|raw}</div>
</div>
{/volist}
{/notempty}
{notempty name="policy.banner_2"}
{volist name="policy.banner_2" id="b2"}
<img src="{$b2.image}" class="pl-img m-t" />
<div class="m_Container">
<strong class="textpoint">{$b2.title}</strong>
<div class="decs decs-left">{$b2.desc|raw}</div>
</div>
{/volist}
{/notempty}
{notempty name="policy.banner_3"}
<div class="m_Container">
<strong class="textpoint">{:lang_i18n('为了保障您的合法权益,敬请关注以下信息')}</strong>
<p class="decs">{:lang_i18n('为了得到深圳市元创时代科技有限公司给予您的“包修、包换、包退”的权益,请您:')}</p>
<div class="decs decs-left">
{volist name="policy.banner_3" id="b3"}
{$b3.title}<br/>
{/volist}
</div>
</div>
{/notempty}
{notempty name="policy.banner_4"}
{volist name="policy.banner_4" id="b4"}
<img src="{$b4.image}" class="pl-img m-t" />
<div class="m_Container">
<strong class="textpoint">{$b4.title}</strong>
<div class="decs decs-left">{$b4.desc|raw}</div>
</div>
{/volist}
{/notempty}
{notempty name="policy.banner_5"}
<div class="m_Container">
<strong class="textpoint">{:lang_i18n('特别说明')}</strong>
<p class="decs decs-left">
{volist name="policy.banner_5" id="b5" key="k"}
{$k+1}、{$b5.title}<br/>
{/volist}
</p>
</div>
{/notempty}
{notempty name="policy.banner_6"}
{volist name="policy.banner_6" id="b6"}
<img src="{$b6.image}" class="pl-img m-t" />
<div class="m_Container">
<strong class="textpoint">{$b6.title}</strong>
<div class="decs decs-left">{$b6.desc|raw}</div>
</div>
{/volist}
{/notempty}
</div>
</div>
{/block}

View File

@@ -0,0 +1,32 @@
{extend name="public/base" /}
{block name="style"}
<link rel="stylesheet" href="__CSS__/aboutus_story.css" />
{/block}
{block name="main"}
<div class="oricoEGapp">
<!-- 内容-->
<div class="oricoEGapp-brand">
<div class="video-right img-responsive">
<img src="__IMAGES__/brand-banner.webp">
</div>
{notempty name="banners"}
<div class="m_brand">
{volist name="banners" id="ba" offset="0" length="2"}
<div class="brand_title text_left">{$ba.title}</div>
<div class="brand-con text_gray text_left line-height-40 margin-top-40">{$ba.desc|raw}</div>
<div class="img-responsive">
<img src="{$ba.image}">
</div>
{/volist}
{volist name="banners" id="ba" offset="2" length="3"}
<div class="img-responsive text-center margin-4">
<img src="{$ba.image}">
</div>
<div class="vision-title text_center margin-top-50">{$ba.title}</div>
<div class="brand-con text_gray text_center line-height-40 margin-top-40">{$ba.desc|raw}</div>
{/volist}
</div>
{/notempty}
</div>
</div>
{/block}

View File

@@ -0,0 +1,149 @@
{extend name="public/base" /}
{block name="title"}
{notempty name="detail.seo_title"}<title>{$detail.seo_title}</title>{else /}{__BLOCK__}{/notempty}
{/block}
{block name="seo"}
{notempty name="detail.seo_keywords"}
<meta name="keywords" content="{$detail.seo_keywords}" />
<meta name="description" content="{$detail.seo_desc}" />
{else /}
{__BLOCK__}
{/notempty}
{/block}
{block name="style"}
<link rel="stylesheet" href="__CSS__/article_detail.css">
{/block}
{block name="main"}
<div class="oricoEGapp">
<!-- 内容 -->
<div class="oricoEGapp-articledetail">
<div class="content">
<div class="blog_detail">
<div class="blog_title">
<h2>{$detail.title}</h2>
<p>{$detail.release_time}</p>
</div>
<div class="blog_content">{$detail.content|raw}</div>
</div>
<div class="share_box">
{notempty name="share_config"}
<div class="blog_share">
<h3>{:lang_i18n('分享')}</h3>
<ul class="share_list">
{volist name="share_config" id="sc"}
<li>
<a
{if condition="!empty($sc.is_blank) && $sc.is_blank.value == 1"}target="_blank"{/if}
{notempty name="sc.url.value"}href="{$sc.url.value}"{/notempty}>
{eq name=":array_key_exists('triggered_qrcode', $sc)" value="true"}
<img class="toggle_qrcode" src="{$sc.image.value}" />
<div class="triggered_qrcode">
<img src="{$sc.triggered_qrcode.value}" />
</div>
{else /}
<img src="{$sc.image.value}" />
{/eq}
</a>
</li>
{/volist}
</ul>
</div>
{/notempty}
<div class="comment">
<h3>{:lang_i18n('留言')}</h3>
<form action="{:url('article/comment', ['id' => $detail.id])}" method="POST" class="comment_form clearfix" autocomplete="off">
<div style="margin-right: 0.625rem; margin-bottom: 0.5rem;">{:lang_i18n('名称')}:<br>
<input class="form-control itinp new_name" type="text" name="name">
</div>
<div>{:lang_i18n('电子邮箱')}:<br>
<input class="form-control itinp new_email" type="email" name="email">
<p style="color: #C6C7C9; font-size: 0.75rem; margin-bottom: 0.5rem; ">
{:lang_i18n('您的电子邮件地址不会被公开')}
</p>
</div>
<div class="comment_area">{:lang_i18n('留言内容')}:<br>
<textarea class="form-control itinp new_comment" style="height: 3rem;border: 1px solid #DBDBDB;" name="content"></textarea>
</div>
</form>
<div class="comment_btn" style="color:#ffffff;">{:lang_i18n('提交留言')}</div>
</div>
{notempty name="$recommends"}
<div class="mblove">
<div class="mianct">
<p class="thtitle">{:lang_i18n('你可能还喜欢')}</p>
<p><img src="__IMAGES__/1line.webp"></p>
</div>
<div class="swiper-container loveswiper">
<div class="swiper-wrapper">
{volist name="recommends" id="vo"}
<div class="swiper-slide">
<a href="{:url('article/detail', ['id' => $vo.id])}">
<img src="{$vo.image}" alt="{$vo.title}">
<p class="lvtit">{$vo.title}</p>
</a>
</div>
{/volist}
</div>
<!-- 如果需要分页器 -->
<div class="swiper-pagination"></div>
</div>
</div>
{/notempty}
</div>
</div>
</div>
</div>
{/block}
{block name="script"}
<script type="text/javascript">
$(function() {
$('.comment_btn').click(function() {
var form = $('.comment_form');
var form_data = form.serialize();
$.ajax({
url: form.attr('action'),
type: 'POST',
data: form_data,
dataType: 'json',
success: function(data) {
alert(data.msg);
if (data.code == 0) {
window.location.reload();
}
}
})
})
$('.toggle_qrcode').click(function() {
$(this).siblings('.triggered_qrcode').toggle();
})
})
//banner轮播
var loveswiper = new Swiper('.loveswiper', {
// 配置选项
slidesPerView: 2,
spaceBetween: 30,
loop: true,
autoplay: {
delay: 3000,
},
pagination: {
el: '.swiper-pagination',
}
});
function shareCustomers(){
// 复制到粘贴板
const input = document.createElement('input')
input.setAttribute('readonly', 'readonly')
let url=window.location.href
input.setAttribute('value', url)
document.body.appendChild(input)
input.select()
if (document.execCommand('copy')) {
document.execCommand('copy')
alert("{:lang_i18n('链接复制成功')}")
}
document.body.removeChild(input)
}
</script>
{/block}

View File

@@ -0,0 +1,62 @@
{extend name="public/base" /}
{block name="style"}
<link rel="stylesheet" type="text/css" href="__CSS__/article_index.css" />
{/block}
{block name="main"}
<div class="oricoEGapp">
<!-- 内容 -->
<div class="oricoEGapp-article">
<!-- banner -->
{notempty name="banner.image"}
<div class="banner img-responsive">
<img src="{$banner.image}">
</div>
{/notempty}
<!-- 新闻列表 -->
<div class="swt-Container">
<div class="news-vertu">
<div class="tab">
{volist name="categorys" id="ca"}
{if condition="$Request.get.cid == $ca.id || (!$Request.has.cid && $key == 0)"}
<a class="on" href="{:url('article/index', ['pid' => $ca.pid, 'cid' => $ca.id])}">
{else/}
<a class="" href="{:url('article/index', ['pid' => $ca.pid, 'cid' => $ca.id])}">
{/if}
{$ca.name}
</a>
{/volist}
</div>
<div class="m_Container">
<!-- Blog列表 s -->
<div class="search_box">
<form action="{:url('article/index', ['pid' => $Request.param.pid])}" method="get" autocomplete="off">
<input type="text" class="search" id="article-blog-in" name="keywords" value="">
<input type="hidden" class="search" id="article-blog-in" name="cid" value="{$Request.get.cid}">
<button id="blog-btnput" class="search-button-blog" style="padding:5px 12px;">{:lang_i18n('搜索')}</button>
</form>
</div>
{notempty name="articles"}
<div class="blog_list">
<ul class="clearfix">
{volist name="articles" id="ar"}
<li>
<a href="{:url('article/detail', ['id' => $ar.id])}">
<img src="{$ar.image}">
<h3>{$ar.title}</h3>
<p>{$ar.desc|raw}</p>
</a>
<span class="blue">{$ar.release_time|default=''|date='Y-m-d'}</span>
</li>
{/volist}
</ul>
</div>
<!-- 分页 s -->
<div>{$articles|raw}</div>
<!-- 分页 e -->
{/notempty}
</div>
</div>
</div>
</div>
</div>
{/block}

View File

@@ -20,7 +20,7 @@
</div>
<div class="infolist">
{notempty name="videos"}
{assign name="flat_videos" value=":\think\helper\Arr::flatMap(fn($item) => $item->toArray(), $videos->items())" /}
{assign name="flat_videos" value=":array_flatten($videos->items())" /}
{volist name="flat_videos" id="vo"}
<div class="vd-item">
<video controls="" poster="{$vo.image|default=''}">

View File

@@ -0,0 +1,34 @@
{extend name="public/base" /}
{block name="title"}
<title>{:lang_i18n('常见FQ_下载与服务_中文官网帮助信息_ORICO/奥睿科官网')}</title>
{/block}
{block name="style"}
<link rel="stylesheet" href="__CSS__/faq.css">
{/block}
{block name="main"}
<div class="oricoEGapp">
<!-- 内容-->
<div class="oricoEGapp-fq">
<!--banner-->
{notempty name="banner.image"}
<div class="banner">
<img src="{$banner.image}">
</div>
{/notempty}
<!--常见问题解答-->
{notempty name="faq"}
<div class="m_Container">
<div class="title text_center margin-top-50 text_black"><strong>{:lang_i18n('常见问题解答')}</strong>
</div>
{volist name="faq" id="vo"}
<div class="img-responsives margin-top-40"><img src="{$vo.image}"></div>
<div class="subtitle text_black text_center margin-top-30">{$vo.question}</div>
<div class="des text_gray line-height-40 margin-top-40">{$vo.answer|raw}</div>
{/volist}
</div>
<!-- 分页-->
<div >{$faq|raw}</div>
{/notempty}
</div>
</div>
{/block}

View File

@@ -0,0 +1,150 @@
{extend name="public/base"/}
{block name="style"}
<link rel="stylesheet" href="__CSS__/topic_nas_index.css">
{/block}
{block name="main"}
<div class="oricoEGapp">
<!-- 首页 -->
<div class="oricoCN-nasindex">
<div class="narsMBpage">
<!-- 轮播 banner -->
{notempty name="focus_image"}
<div class="narsMB-banner">
<div class="swiper-container narsMBbannerSwiper">
<div class="swiper-wrapper">
{volist name="focus_image" id="fo"}
<div class="swiper-slide">
<div class="narsMB-banner-st">
<h2></h2>
<span class="narsMB-bannersm"></span>
</div>
<a href="{$fo.link}"><img src="{$fo.image}" class="narsmb-img" /></a>
</div>
{/volist}
</div>
<!-- Add Pagination -->
<div class="swiper-pagination"></div>
</div>
</div>
{/notempty}
<!-- 九大模块分类 -->
{notempty name="nas_category"}
{assign name="categories" value=":array_flatten($nas_category)"/}
<div class="narsmb-cate">
{assign name="categories_idx1" value=":array_shift($categories)"/}
{notempty name="categories_idx1"}
<a class="{$categories_idx1.link}">
<img src="{$categories_idx1.image}" style="width:100%" />
</a>
{/notempty}
{assign name="categories_chunk" value=":array_chunk($categories, 2)"/}
{volist name="categories_chunk" id="chunk"}
<div class="narsmbcateits">
{volist name="chunk" id="cc"}
<a class="narsmbcate-it" href="{$cc.link}">
<img src="{$cc.image}" style="width:100%" />
</a>
{/volist}
</div>
{/volist}
</div>
{/notempty}
<!-- 视频 -->
{notempty name="nas_video"}
<div class="narsmbvd">
<video class="narsmbvideo" poster="{$nas_video.image}" controls autoplay loop muted>
<source type="video/mp4" src="{$nas_video.video}">
</video>
</div>
{/notempty}
<!-- 解决方案 -->
{notempty name="nas_solution"}
<div class="narsmb-jjfa">
<span class="narsmbjjfa-title"><span style="color:#084BFA">ORICO</span>{:lang_i18n('网络存储解决方案')}</span>
<div class="swiper narsmbjjfaSwiper">
<div class="swiper-wrapper">
{volist name="nas_solution" id="so"}
<div class="swiper-slide narsmbjjfa-slide">
<div class="narsmb-jjfa-ct" {:style(['color' => $so.title_txt_color])}>{$so.title}</div>
<img src="{$so.image}" class="narsmb-jjfabgimg" />
<!-- 点击移入效果-->
<div class="narsmb-jjfa-info" style="text-align:left;white-space:pre-line;">
<div class="box">
<p {:style(['color' => $so.title_txt_color])}>{$so.title}</p>
<div {:style(['color' => $so.desc_txt_color])}>{$so.desc|raw}</div>
</div>
</div>
</div>
{/volist}
</div>
</div>
</div>
{/notempty}
<!-- 微链接 -->
{notempty name="nas_software"}
<div class="narsmb-wlj">
<span class="narsmbwlj-title"><span style="color:#084BFA">NAS</span> {:lang_i18n('配套软件')}</span>
{volist name="nas_software" id="soft" offset="0" length="3"}
<div class="narsmbwltitem">
<div class="narsmbwljcp">
<img src="{$soft.image}" class="narsmbwljimg" />
</div>
<div class="narsmbwljcpinfo">
<span class="narsmbif-title" {:style(['color' => $soft.title_txt_color])}>{$soft.title}</span>
<span class="narsmbif-info" {:style(['color' => $soft.desc_txt_color])}>{$soft.desc|raw}</span>
</div>
</div>
{/volist}
{volist name="nas_software" id="soft" offset="3"}
<div class="narsmbwltitem">
<a style="height:100%;width:100%" {notempty name="soft.link"}href="{$soft.link}"{/notempty}>
<img src="{$soft.image}" style="height:100%;width:100%" />
</a>
</div>
{/volist}
</div>
{/notempty}
</div>
</div>
</div>
{/block}
{block name="script"}
<script type="text/javascript">
$(document).ready(function () {
// banner轮播
var bannerswiper = new Swiper('.narsMBbannerSwiper', {
// 配置选项
loop: true,
autoplay: {
delay: 3000,
},
pagination: {
el: '.swiper-pagination',
}
});
// 解决方案轮播
var swiper1 = new Swiper(".narsmbjjfaSwiper", {
slidesPerView: "auto",
spaceBetween: 6,
freeMode: true,
autoplay: 5000,
loop: true
});
// 解决方案轮播点击显示文案
var swiperSlides = document.querySelectorAll('.narsmbjjfa-slide');
// 为每个 swiper-slide 添加点击事件
swiperSlides.forEach(function (slide) {
slide.addEventListener('click', function () {
var infoElement = this.querySelector('.narsmb-jjfa-info');
if (window.getComputedStyle(infoElement).display === 'none') {
infoElement.style.display = 'flex';
swiper1.stopAutoplay()
} else {
infoElement.style.display = 'none';
swiper1.startAutoplay()
}
});
});
});
</script>
{/block}

View File

@@ -8,20 +8,20 @@
<link rel="stylesheet" type="text/css" href="__CSS__/animate.min.css" />
{/block}
{block name="main"}
<div class="orico_Page_productxc">
<!--内容 -->
<div class="productxcMain">
<div class="culture_top">
{notempty name="focus_image"}
{notempty name="focus_image.link"}
<a href="{$focus_image.link}">
<img src="{$focus_image.image}" />
<a {notempty name="focus_image.link"}href="{$focus_image.link}"{/notempty}>
<img src="{$focus_image.image}">
</a>
{else/}
<img src="{$focus_image.image}" />
{/notempty}
{notempty name="culture"}
<div class="culture_bril_con swt-Container">
<div class="culture_bril_con">
{volist name="culture" id="cul" offset="0" length="3"}
<div class="culture_bril_div">
<div class="iconimg"><img src="{$cul.image}" /></div>
<div class="culture_bril_div animated fadeInUp">
<div class="iconimg"><img src="{$cul.image}"></div>
<div class="title">
<p>{$cul.title}</p>
</div>
@@ -39,25 +39,25 @@
</div>
{volist name="culture" id="cul" key="k" offset="3" mod="2"}
{eq name="mod" value="1"}
<div class="swt-Table img-responsive">
<div class="swt-Table img-responsive culture_vision_02">
<div id="tab{$k}" class="Table-Row">
<div class="Table-Cell left"><img src="{$cul.image}" /></div>
<div class="Table-Cell center"></div>
<div class="Table-Cell right">
<div class="Table-Cell left animated fadeInLeft">
<p class="subtitle">{$cul.title}</p>
<p class="des">{$cul.desc|raw}</p>
<div class="des">{$cul.desc|raw}</div>
</div>
<div class="Table-Cell center"></div>
<div class="Table-Cell right animated fadeInRight"><img src="{$cul.image}"></div>
</div>
</div>
{else /}
<div class="swt-Table img-responsive culture_vision_02">
<div class="swt-Table img-responsive">
<div id="tab{$k}" class="Table-Row">
<div class="Table-Cell left">
<p class="subtitle">{$cul.title}</p>
<p class="des">{$cul.desc|raw}</p>
</div>
<div class="Table-Cell left animated fadeInLeft"><img src="{$cul.image}"></div>
<div class="Table-Cell center"></div>
<div class="Table-Cell right"><img src="{$cul.image}" /></div>
<div class="Table-Cell right animated fadeInRight">
<p class="subtitle">{$cul.title}</p>
<div class="des">{$cul.desc|raw}</div>
</div>
</div>
</div>
{/eq}
@@ -65,35 +65,6 @@
</div>
</div>
{/notempty}
{/block}
{block name="script"}
<script type="text/javascript">
$(document).ready(function() {
$('.culture_bril_div').addClass('animated fadeInUp');
var myelement = $('#tab1'); // the element to act on if viewable
goScroll(myelement);
var myelement2 = $('#tab2'); // the element to act on if viewable
goScroll(myelement2);
var myelement3 = $('#tab3'); // the element to act on if viewable
goScroll(myelement3);
function goScroll(obj){
$(window).scroll(function() {
if(isScrolledIntoView(obj)) {
$(obj).find('.left').addClass('animated fadeInLeft');
$(obj).find('.right').addClass('animated fadeInRight');
}
});
}
function isScrolledIntoView(elem) {
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();
return (elemTop <= docViewBottom);
}
});
</script>
</div>
</div>
{/block}

View File

@@ -20,19 +20,42 @@
<div class="atmleft">
<div class="blog_title">
<h2>{$detail.title}</h2>
<p>{$detail.desc}</p>
<p>{$detail.release_time}</p>
</div>
<!-- 文本渲染-->
<div class="blog_content">{$detail.content|raw}</div>
</div>
<!-- 文本渲染-->
<div class="blog_content">{$detail.content|raw}</div>
</div>
<!-- 评论只显示前面五条--->
<div class="plmain">
<div class="pl">
<span class="titlepp">评论</span>
<div class="plit">
<span class="name">张三:</span>
<p>12sdfksdljfksdljdksf是看大家分厘卡聖誕節分厘卡聖誕節付款了</p>
</div>
<div class="plit">
<span class="name">张三:</span>
<p>12sdfksdljfksdljdksf是看大家分厘卡聖誕節分厘卡聖誕節付款了</p>
</div>
<div class="plit">
<span class="name">张三:</span>
<p>12sdfksdljfksdljdksf是看大家分厘卡聖誕節分厘卡聖誕節付款了</p>
</div>
</div>
</div>
</div>
<div class="atmright">
{notempty name="share_config"}
<div class="blog_share">
<h3>{:lang_i18n('分享')}</h3>
<div class="share_list">
{volist name="share_config" id="sc"}
<a class="atdit" {if condition="!empty($sc.is_blank) && $sc.is_blank.value == 1"}target="_blank"{/if} {notempty name="sc.url.value"}href="{$sc.url.value}"{/notempty}>
<img src="{$sc.image.value}" />
<a class="atdit" {if condition="!empty($sc.is_blank) && $sc.is_blank.value == 1" }target="_blank" {/if}
{notempty name="sc.url.value" }href="{$sc.url.value}" {/notempty}> <img src="{$sc.image.value}" />
{eq name=":array_key_exists('triggered_qrcode', $sc)" value="true"}
<div class="triggered_qrcode">
<img src="{$sc.triggered_qrcode.value}" />
@@ -49,10 +72,12 @@
<span>{:lang_i18n('名称')}</span>
<input class="form-control itinp new_name" type="text" name="name" style="text-indent: 10px;">
<span>{:lang_i18n('电子邮箱')}</span>
<input class="form-control itinp new_email" type="email" name="email" style="text-indent: 10px; margin-bottom:0;">
<input class="form-control itinp new_email" type="email" name="email"
style="text-indent: 10px; margin-bottom:0;">
<p style="color: #C6C7C9; font-size: 0.75rem; margin-bottom: 0.625rem;">{:lang_i18n('您的电子邮件地址不会被公开')}</p>
<span>{:lang_i18n('留言内容')}</span>
<textarea class="form-control itinp new_comment" name="content" rows="3" style="text-indent: 10px;width: 98%; margin-top: 0.625rem;margin-bottom: 0.625rem;border: 1px solid #DBDBDB;"></textarea>
<textarea class="form-control itinp new_comment" name="content" rows="3"
style="text-indent: 10px;width: 98%; margin-top: 0.625rem;margin-bottom: 0.625rem;border: 1px solid #DBDBDB;"></textarea>
<div class="comment_btn" style="color:#ffffff;">{:lang_i18n('提交留言')}</div>
</form>
</div>
@@ -102,25 +127,33 @@
})
})
// 滚动到猜你喜欢部分,右边提交信息不固定
$(window).scroll(function() {
// 获取元素引用
const blogContent = $('.blog_content');
const rightSidebar = $('.orico_Page_articleDetail .articleDetailMain .atmright');
// 获取视口高度
// 计算 blog_content 底部位置
const contentBottom = blogContent.offset().top + blogContent.outerHeight();
// 计算视口底部位置
const windowBottom = $(window).scrollTop() + $(window).height();
// 当视口底部超过 blog_content 底部时
if (windowBottom >= contentBottom) {
rightSidebar.css('position', 'static'); // 移除固定定位
// 保存原始样式
const originalAlign = $(".orico_Page_articleDetail .articleDetailMain").css("align-items");
$(document).on("scroll", function () {
const viewportHeight = $(this).height();
// 获取当前滚动距离
const scrollTop = $(this).scrollTop();
$(".xq").each(function () {
const $el = $(this);
const elTop = $el.offset().top;
const elHeight = $el.outerHeight();
// 元素底部距离视口顶部还有 50px 时触发动画
const triggerPosition = scrollTop + viewportHeight;
if (scrollTop > $('.orico_Page_articleDetail').height()-350-900) {
$(".atmright").css("position", "static");
$(".orico_Page_articleDetail .articleDetailMain").css("align-items","flex-end");
} else {
rightSidebar.css('position', 'fixed'); // 恢复固定定位
// 还原原始样式
$(".atmright").removeAttr("style"); // 清除自定义样式
$(".orico_Page_articleDetail .articleDetailMain").css("align-items",
originalAlign);
}
});
});
})
function shareCustomers() {
// 复制到粘贴板
const input = document.createElement('input')

View File

@@ -36,6 +36,7 @@
<img src="{$ar.image}" />
<h3>{$ar.title}</h3>
<p>{$ar.desc}</p>
<p>{$ar.release_time}</p>
</a>
</div>
{/volist}

View File

@@ -29,7 +29,9 @@
</a>
{/volist}
{/notempty}
<a>
<div class="tabit on">{:lang_i18n('视频')}</div>
</a>
</div>
<!-- VIDEO 切换 -->
<div class="vidotabs">

View File

@@ -50,7 +50,7 @@
</div>
<div class="theit">
<div class="bditem bditem1">
<label class="itlable">{:lang_i18n('您对哪个产品品类感兴趣?')}</label>
<label class="itlable">{:lang_i18n('您对哪个产品品类感兴趣?')}<span class="redtag">*</span></label>
<div class="sfbchecks">
<div class="sfbcheckboxlist">
{notempty name="interested"}

View File

@@ -19,7 +19,7 @@
<div class="oriprdetail">
<!--产品路径-->
<div class="product_address">
<a class="pathname" href="/">首页</a>
<a class="pathname" href="/">{:lang_i18n('首页')}</a>
{volist name="product_categorys" id="ca"}
<div class="arrow"></div>
<a class="pathname" href="{:url('product/category', ['id' => $ca.id])}">{$ca.name}</a>

View File

@@ -56,7 +56,7 @@
{notempty name="nas_video"}
<div class="narsVideo" style="height:auto">
<div class="videoview">
<video class="video" poster="{$nas_video.image}" controls="" autoplay="" loop="" muted="">
<video class="video" poster="{$nas_video.image}" controls="" autoplay="" loop="" muted="" style="max-height:50rem;z-index:9999;width: 100%;object-fit: cover;">
<source type="video/mp4" src="{$nas_video.video}">
</video>
</div>
@@ -140,11 +140,11 @@
loop: true,
grabCursor: true, //鼠标光标
})
$('.jjfaSwiper').mouseenter(function () {
swiper1.stopAutoplay()
}).mouseleave(function () {
swiper1.startAutoplay()
});
// $('.jjfaSwiper').mouseenter(function () {
// swiper1.stopAutoplay()
// }).mouseleave(function () {
// swiper1.startAutoplay()
// });
})
</script>
{/block}

View File

@@ -40,5 +40,176 @@ class CreateSysRestfulApi extends Migrator
->addColumn('created_at', 'timestamp', ['null' => false,'default' => 'CURRENT_TIMESTAMP', 'comment' => '创建时间'])
->addColumn('updated_at', 'timestamp', ['null' => true,'default' => 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP', 'comment' => '更新时间'])
->create();
// 初始化数据
$table->insert([
['name' => '登录接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'UserCenter', 'action' => 'login', 'rule' => 'v1/user/login', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:16', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '获取验证码', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Captcha', 'action' => 'index', 'rule' => 'v1/user/captcha', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:16', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '获取用户菜单权限', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'User', 'action' => 'menu', 'rule' => 'v1/user/:id/menu', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:16', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '退出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'UserCenter', 'action' => 'logout', 'rule' => 'v1/user/logout', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:16', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '语言列表接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Language', 'action' => 'list', 'rule' => 'v1/language/list', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:16', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '语言切换接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Language', 'action' => 'cutover', 'rule' => 'v1/language/cutover/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:16', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '国家列表接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Country', 'action' => 'list', 'rule' => 'v1/country/list', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '获取系统信息接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'System', 'action' => 'info', 'rule' => 'v1/system/info', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '获取系统前台各模块url', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'System', 'action' => 'urls', 'rule' => 'v1/system/urls', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '文章分类分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'index', 'rule' => 'v1/article/category/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章分类列表数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'list', 'rule' => 'v1/article/categorys', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章分类数据新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'save', 'rule' => 'v1/article/category/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章分类数据更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'update', 'rule' => 'v1/article/category/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章分类数据删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'delete', 'rule' => 'v1/article/category/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章分类数据详细接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'read', 'rule' => 'v1/article/category/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'sort', 'rule' => 'v1/article/category/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '评论分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleLeaveMessage', 'action' => 'index', 'rule' => 'v1/article/message/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '评论审核/反审核接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleLeaveMessage', 'action' => 'audit', 'rule' => 'v1/article/message/audit/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '评论删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleLeaveMessage', 'action' => 'delete', 'rule' => 'v1/article/message/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '评论导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleLeaveMessage', 'action' => 'export', 'rule' => 'v1/article/message/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章回收站分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleTrash', 'action' => 'index', 'rule' => 'v1/article/trash/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章恢复接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleTrash', 'action' => 'restore', 'rule' => 'v1/article/trash/restore/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleTrash', 'action' => 'delete', 'rule' => 'v1/article/trash/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'index', 'rule' => 'v1/article/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '文章详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'read', 'rule' => 'v1/article/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '文章新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'save', 'rule' => 'v1/article/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '文章更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'update', 'rule' => 'v1/article/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'delete', 'rule' => 'v1/article/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'export', 'rule' => 'v1/article/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'sort', 'rule' => 'v1/article/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅(分类)列表接口(下拉框场景)', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Banner', 'action' => 'list', 'rule' => 'v1/banner/list', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅(分类)分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Banner', 'action' => 'index', 'rule' => 'v1/banner/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅(分类)详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Banner', 'action' => 'read', 'rule' => 'v1/banner/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅(分类)新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Banner', 'action' => 'save', 'rule' => 'v1/banner/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅(分类)更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Banner', 'action' => 'update', 'rule' => 'v1/banner/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅(分类)删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Banner', 'action' => 'delete', 'rule' => 'v1/banner/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅项分页列表', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'index', 'rule' => 'v1/banner/items/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '横幅项详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'read', 'rule' => 'v1/banner/items/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '横幅新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'save', 'rule' => 'v1/banner/items/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '横幅更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'update', 'rule' => 'v1/banner/items/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '横幅删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'delete', 'rule' => 'v1/banner/items/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'sort', 'rule' => 'v1/banner/items/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '横幅导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'export', 'rule' => 'v1/banner/items/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '图片上传接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Upload', 'action' => 'image', 'rule' => 'v1/images/:module/upload', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'index', 'rule' => 'v1/video/category/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类列表接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'list', 'rule' => 'v1/video/categorys', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'read', 'rule' => 'v1/video/category/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'save', 'rule' => 'v1/video/category/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'update', 'rule' => 'v1/video/category/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'sort', 'rule' => 'v1/video/category/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'delete', 'rule' => 'v1/video/category/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频回收站分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoTrash', 'action' => 'index', 'rule' => 'v1/video/trash/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频回收站恢复操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoTrash', 'action' => 'restore', 'rule' => 'v1/video/trash/restore/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频回收站删除操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoTrash', 'action' => 'delete', 'rule' => 'v1/video/trash/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频上传接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Upload', 'action' => 'video', 'rule' => 'v1/video/:module/upload', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Video', 'action' => 'index', 'rule' => 'v1/video/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频信息详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Video', 'action' => 'read', 'rule' => 'v1/video/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频信息新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Video', 'action' => 'save', 'rule' => 'v1/video/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频信息更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Video', 'action' => 'update', 'rule' => 'v1/video/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频信息删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Video', 'action' => 'delete', 'rule' => 'v1/video/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频信息导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Video', 'action' => 'export', 'rule' => 'v1/video/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '产品分类树接口(下拉框场景)', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'categorys', 'rule' => 'v1/product/categorys', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品分类树接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'index', 'rule' => 'v1/product/category/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品分类详细接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'read', 'rule' => 'v1/product/category/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '产品分类更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'update', 'rule' => 'v1/product/category/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '产品分类新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'save', 'rule' => 'v1/product/category/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '产品分类删除操作', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'delete', 'rule' => 'v1/product/category/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'sort', 'rule' => 'v1/product/category/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '设置是否显示接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'show', 'rule' => 'v1/product/category/show/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '成本系统分类树接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductTcoCategory', 'action' => 'tree', 'rule' => 'v1/product/category/tco/tree', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品属性分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductAttr', 'action' => 'index', 'rule' => 'v1/product/attr/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品属性详细接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductAttr', 'action' => 'read', 'rule' => 'v1/product/attr/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品属性新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductAttr', 'action' => 'save', 'rule' => 'v1/product/attr/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品属性更新操作', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductAttr', 'action' => 'update', 'rule' => 'v1/product/attr/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品属性删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductAttr', 'action' => 'delete', 'rule' => 'v1/product/attr/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品回收站分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductTrash', 'action' => 'index', 'rule' => 'v1/product/trash/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '产品回收站复恢操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductTrash', 'action' => 'restore', 'rule' => 'v1/product/trash/restore/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '产品回收站删除操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductTrash', 'action' => 'delete', 'rule' => 'v1/product/trash/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '购买平台列表接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductPurchaseLink', 'action' => 'platforms', 'rule' => 'v1/product/buypass/platforms', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '购买链接分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductPurchaseLink', 'action' => 'index', 'rule' => 'v1/product/buypass/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '添加产品购买链接接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductPurchaseLink', 'action' => 'save', 'rule' => 'v1/product/buypass/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '更新产品购买链接接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductPurchaseLink', 'action' => 'update', 'rule' => 'v1/product/buypass/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '购买链接导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductPurchaseLink', 'action' => 'export', 'rule' => 'v1/product/buypass/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '购买链接导入接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductPurchaseLink', 'action' => 'import', 'rule' => 'v1/product/buypass/import', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '产品分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'index', 'rule' => 'v1/product/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品数据详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'read', 'rule' => 'v1/product/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '删除产品数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'delete', 'rule' => 'v1/product/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '上/下架操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'updownShelves', 'rule' => 'v1/product/updown_shelves/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '更新产品数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'update', 'rule' => 'v1/product/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品属性特征列表', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductAttr', 'action' => 'index', 'rule' => 'v1/product/attrs', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品数据导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'export', 'rule' => 'v1/product/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'sort', 'rule' => 'v1/product/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '附件(下载管理)分类树接口(下拉框场景)', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'tree', 'rule' => 'v1/attachment/tree', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)分类树接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'index', 'rule' => 'v1/attachment/category/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)分类详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'read', 'rule' => 'v1/attachment/category/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)分类新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'save', 'rule' => 'v1/attachment/category/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)分类更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'update', 'rule' => 'v1/attachment/category/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)分类设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'sort', 'rule' => 'v1/attachment/category/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)分类删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'delete', 'rule' => 'v1/attachment/category/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)回收站分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentTrash', 'action' => 'index', 'rule' => 'v1/attachment/trash/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)回收站恢复操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentTrash', 'action' => 'restore', 'rule' => 'v1/attachment/trash/restore/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)回收站删除操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentTrash', 'action' => 'delete', 'rule' => 'v1/attachment/trash/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'index', 'rule' => 'v1/attachment/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件上传接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Upload', 'action' => 'attachment', 'rule' => 'v1/attachment/upload', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'read', 'rule' => 'v1/attachment/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'save', 'rule' => 'v1/attachment/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'update', 'rule' => 'v1/attachment/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'sort', 'rule' => 'v1/attachment/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'delete', 'rule' => 'v1/attachment/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)禁/启用操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'enable', 'rule' => 'v1/attachment/enable/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '角色分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Role', 'action' => 'index', 'rule' => 'v1/role/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '角色新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Role', 'action' => 'save', 'rule' => 'v1/role/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '角色详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Role', 'action' => 'read', 'rule' => 'v1/role/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '角色更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Role', 'action' => 'update', 'rule' => 'v1/role/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '角色删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Role', 'action' => 'delete', 'rule' => 'v1/role/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '角色列表接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Role', 'action' => 'index', 'rule' => 'v1/roles', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '用户分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'User', 'action' => 'index', 'rule' => 'v1/user/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '用户详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'User', 'action' => 'read', 'rule' => 'v1/user/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '用户新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'User', 'action' => 'save', 'rule' => 'v1/user/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '用户更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'User', 'action' => 'update', 'rule' => 'v1/user/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '用户删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'User', 'action' => 'delete', 'rule' => 'v1/user/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '问答分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Faq', 'action' => 'index', 'rule' => 'v1/faq/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '问答详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Faq', 'action' => 'read', 'rule' => 'v1/faq/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '问答新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Faq', 'action' => 'save', 'rule' => 'v1/faq/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '问答更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Faq', 'action' => 'update', 'rule' => 'v1/faq/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '问答设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Faq', 'action' => 'sort', 'rule' => 'v1/faq/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '问答删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Faq', 'action' => 'delete', 'rule' => 'v1/faq/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '留言记录(联系我们)分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'LeaveMessage', 'action' => 'index', 'rule' => 'v1/leavemsg/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '留言记录(联系我们)导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'LeaveMessage', 'action' => 'export', 'rule' => 'v1/leavemsg/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '批量采购询盘分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BulkPurchaseInquiry', 'action' => 'index', 'rule' => 'v1/bp/inquiry/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '批量采购询盘导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BulkPurchaseInquiry', 'action' => 'export', 'rule' => 'v1/bp/inquiry/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '批量采购询盘可选品类列表接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BulkPurchaseInquiry', 'action' => 'interested', 'rule' => 'v1/bp/inquiry/interested', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '代理商企业规模类型接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Agent', 'action' => 'enterpriseSizeTypes', 'rule' => 'v1/agent/enterprise_size_types', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '代理商分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Agent', 'action' => 'index', 'rule' => 'v1/agent/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '代理商导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Agent', 'action' => 'export', 'rule' => 'v1/agent/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '产品询盘分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductInquiry', 'action' => 'index', 'rule' => 'v1/product/inquiry/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '菜单树形结构接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'index', 'rule' => 'v1/menu/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '菜单树形结构(选项框/权限分配场景)接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'list', 'rule' => 'v1/menus', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '菜单详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'read', 'rule' => 'v1/menu/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '菜单新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'save', 'rule' => 'v1/menu/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '菜单更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'update', 'rule' => 'v1/menu/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '菜单删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'delete', 'rule' => 'v1/menu/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '菜单导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'export', 'rule' => 'v1/menu/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '菜单导入接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'import', 'rule' => 'v1/menu/import', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '菜单设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'sort', 'rule' => 'v1/menu/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航分类分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Navigation', 'action' => 'index', 'rule' => 'v1/navigation/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航分类详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Navigation', 'action' => 'read', 'rule' => 'v1/navigation/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航分类新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Navigation', 'action' => 'save', 'rule' => 'v1/navigation/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航分类更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Navigation', 'action' => 'update', 'rule' => 'v1/navigation/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航分类删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Navigation', 'action' => 'delete', 'rule' => 'v1/navigation/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航分类列表(选项框场景使用)接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Navigation', 'action' => 'list', 'rule' => 'v1/navigation/list', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航列表树接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'NavigationItem', 'action' => 'index', 'rule' => 'v1/navigation/items/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'NavigationItem', 'action' => 'read', 'rule' => 'v1/navigation/items/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'NavigationItem', 'action' => 'save', 'rule' => 'v1/navigation/items/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'NavigationItem', 'action' => 'update', 'rule' => 'v1/navigation/items/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'NavigationItem', 'action' => 'sort', 'rule' => 'v1/navigation/items/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'NavigationItem', 'action' => 'delete', 'rule' => 'v1/navigation/items/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '获取配置内容接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SiteConfig', 'action' => 'index', 'rule' => 'v1/site/config/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '站点配置更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SiteConfig', 'action' => 'update', 'rule' => 'v1/site/config/update', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'index', 'rule' => 'v1/config/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项分组接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'groups', 'rule' => 'v1/config/groups', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项类型接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'types', 'rule' => 'v1/config/types', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'read', 'rule' => 'v1/config/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'save', 'rule' => 'v1/config/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'update', 'rule' => 'v1/config/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'delete', 'rule' => 'v1/config/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项导入接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'import', 'rule' => 'v1/config/import', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09']
]);
}
}

View File

@@ -0,0 +1,195 @@
<?php
use think\migration\Seeder;
class SysRestfulApiDataInit extends Seeder
{
/**
* Run Method.
*
* Write your database seeder using this method.
*
* More information on writing seeders is available here:
* http://docs.phinx.org/en/latest/seeding.html
*/
public function run(): void
{
$data = [
['name' => '登录接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'UserCenter', 'action' => 'login', 'rule' => 'v1/user/login', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:16', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '获取验证码', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Captcha', 'action' => 'index', 'rule' => 'v1/user/captcha', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:16', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '获取用户菜单权限', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'User', 'action' => 'menu', 'rule' => 'v1/user/:id/menu', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:16', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '退出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'UserCenter', 'action' => 'logout', 'rule' => 'v1/user/logout', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:16', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '语言列表接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Language', 'action' => 'list', 'rule' => 'v1/language/list', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:16', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '语言切换接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Language', 'action' => 'cutover', 'rule' => 'v1/language/cutover/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:16', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '国家列表接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Country', 'action' => 'list', 'rule' => 'v1/country/list', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '获取系统信息接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'System', 'action' => 'info', 'rule' => 'v1/system/info', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '获取系统前台各模块url', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'System', 'action' => 'urls', 'rule' => 'v1/system/urls', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:02'],
['name' => '文章分类分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'index', 'rule' => 'v1/article/category/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章分类列表数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'list', 'rule' => 'v1/article/categorys', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章分类数据新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'save', 'rule' => 'v1/article/category/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章分类数据更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'update', 'rule' => 'v1/article/category/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章分类数据删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'delete', 'rule' => 'v1/article/category/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章分类数据详细接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'read', 'rule' => 'v1/article/category/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleCategory', 'action' => 'sort', 'rule' => 'v1/article/category/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '评论分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleLeaveMessage', 'action' => 'index', 'rule' => 'v1/article/message/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '评论审核/反审核接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleLeaveMessage', 'action' => 'audit', 'rule' => 'v1/article/message/audit/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '评论删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleLeaveMessage', 'action' => 'delete', 'rule' => 'v1/article/message/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '评论导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleLeaveMessage', 'action' => 'export', 'rule' => 'v1/article/message/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章回收站分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleTrash', 'action' => 'index', 'rule' => 'v1/article/trash/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:17', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章恢复接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleTrash', 'action' => 'restore', 'rule' => 'v1/article/trash/restore/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ArticleTrash', 'action' => 'delete', 'rule' => 'v1/article/trash/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'index', 'rule' => 'v1/article/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '文章详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'read', 'rule' => 'v1/article/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '文章新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'save', 'rule' => 'v1/article/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '文章更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'update', 'rule' => 'v1/article/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'delete', 'rule' => 'v1/article/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '文章导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'export', 'rule' => 'v1/article/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Article', 'action' => 'sort', 'rule' => 'v1/article/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅(分类)列表接口(下拉框场景)', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Banner', 'action' => 'list', 'rule' => 'v1/banner/list', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅(分类)分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Banner', 'action' => 'index', 'rule' => 'v1/banner/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅(分类)详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Banner', 'action' => 'read', 'rule' => 'v1/banner/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅(分类)新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Banner', 'action' => 'save', 'rule' => 'v1/banner/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅(分类)更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Banner', 'action' => 'update', 'rule' => 'v1/banner/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅(分类)删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Banner', 'action' => 'delete', 'rule' => 'v1/banner/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:18', 'updated_at' => '2025-03-18 14:24:04'],
['name' => '横幅项分页列表', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'index', 'rule' => 'v1/banner/items/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '横幅项详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'read', 'rule' => 'v1/banner/items/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '横幅新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'save', 'rule' => 'v1/banner/items/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '横幅更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'update', 'rule' => 'v1/banner/items/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '横幅删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'delete', 'rule' => 'v1/banner/items/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'sort', 'rule' => 'v1/banner/items/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '横幅导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BannerItem', 'action' => 'export', 'rule' => 'v1/banner/items/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '图片上传接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Upload', 'action' => 'image', 'rule' => 'v1/images/:module/upload', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'index', 'rule' => 'v1/video/category/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类列表接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'list', 'rule' => 'v1/video/categorys', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'read', 'rule' => 'v1/video/category/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'save', 'rule' => 'v1/video/category/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'update', 'rule' => 'v1/video/category/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'sort', 'rule' => 'v1/video/category/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分类删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoCategory', 'action' => 'delete', 'rule' => 'v1/video/category/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:19', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频回收站分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoTrash', 'action' => 'index', 'rule' => 'v1/video/trash/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频回收站恢复操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoTrash', 'action' => 'restore', 'rule' => 'v1/video/trash/restore/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频回收站删除操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'VideoTrash', 'action' => 'delete', 'rule' => 'v1/video/trash/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频上传接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Upload', 'action' => 'video', 'rule' => 'v1/video/:module/upload', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Video', 'action' => 'index', 'rule' => 'v1/video/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频信息详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Video', 'action' => 'read', 'rule' => 'v1/video/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频信息新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Video', 'action' => 'save', 'rule' => 'v1/video/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频信息更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Video', 'action' => 'update', 'rule' => 'v1/video/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频信息删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Video', 'action' => 'delete', 'rule' => 'v1/video/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '视频信息导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Video', 'action' => 'export', 'rule' => 'v1/video/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:03'],
['name' => '产品分类树接口(下拉框场景)', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'categorys', 'rule' => 'v1/product/categorys', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品分类树接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'index', 'rule' => 'v1/product/category/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品分类详细接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'read', 'rule' => 'v1/product/category/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '产品分类更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'update', 'rule' => 'v1/product/category/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '产品分类新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'save', 'rule' => 'v1/product/category/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:20', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '产品分类删除操作', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'delete', 'rule' => 'v1/product/category/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'sort', 'rule' => 'v1/product/category/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '设置是否显示接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductCategory', 'action' => 'show', 'rule' => 'v1/product/category/show/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '成本系统分类树接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductTcoCategory', 'action' => 'tree', 'rule' => 'v1/product/category/tco/tree', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品属性分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductAttr', 'action' => 'index', 'rule' => 'v1/product/attr/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品属性详细接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductAttr', 'action' => 'read', 'rule' => 'v1/product/attr/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品属性新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductAttr', 'action' => 'save', 'rule' => 'v1/product/attr/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品属性更新操作', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductAttr', 'action' => 'update', 'rule' => 'v1/product/attr/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品属性删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductAttr', 'action' => 'delete', 'rule' => 'v1/product/attr/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品回收站分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductTrash', 'action' => 'index', 'rule' => 'v1/product/trash/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '产品回收站复恢操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductTrash', 'action' => 'restore', 'rule' => 'v1/product/trash/restore/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '产品回收站删除操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductTrash', 'action' => 'delete', 'rule' => 'v1/product/trash/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '购买平台列表接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductPurchaseLink', 'action' => 'platforms', 'rule' => 'v1/product/buypass/platforms', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '购买链接分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductPurchaseLink', 'action' => 'index', 'rule' => 'v1/product/buypass/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '添加产品购买链接接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductPurchaseLink', 'action' => 'save', 'rule' => 'v1/product/buypass/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '更新产品购买链接接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductPurchaseLink', 'action' => 'update', 'rule' => 'v1/product/buypass/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:21', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '购买链接导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductPurchaseLink', 'action' => 'export', 'rule' => 'v1/product/buypass/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '购买链接导入接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductPurchaseLink', 'action' => 'import', 'rule' => 'v1/product/buypass/import', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '产品分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'index', 'rule' => 'v1/product/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品数据详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'read', 'rule' => 'v1/product/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '删除产品数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'delete', 'rule' => 'v1/product/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '上/下架操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'updownShelves', 'rule' => 'v1/product/updown_shelves/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '更新产品数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'update', 'rule' => 'v1/product/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品属性特征列表', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductAttr', 'action' => 'index', 'rule' => 'v1/product/attrs', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '产品数据导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'export', 'rule' => 'v1/product/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Product', 'action' => 'sort', 'rule' => 'v1/product/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:05'],
['name' => '附件(下载管理)分类树接口(下拉框场景)', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'tree', 'rule' => 'v1/attachment/tree', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)分类树接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'index', 'rule' => 'v1/attachment/category/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)分类详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'read', 'rule' => 'v1/attachment/category/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)分类新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'save', 'rule' => 'v1/attachment/category/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:22', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)分类更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'update', 'rule' => 'v1/attachment/category/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)分类设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'sort', 'rule' => 'v1/attachment/category/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)分类删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentCategory', 'action' => 'delete', 'rule' => 'v1/attachment/category/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)回收站分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentTrash', 'action' => 'index', 'rule' => 'v1/attachment/trash/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)回收站恢复操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentTrash', 'action' => 'restore', 'rule' => 'v1/attachment/trash/restore/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)回收站删除操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'AttachmentTrash', 'action' => 'delete', 'rule' => 'v1/attachment/trash/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '附件(下载管理)分页数据接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'index', 'rule' => 'v1/attachment/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件上传接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Upload', 'action' => 'attachment', 'rule' => 'v1/attachment/upload', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'read', 'rule' => 'v1/attachment/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'save', 'rule' => 'v1/attachment/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'update', 'rule' => 'v1/attachment/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'sort', 'rule' => 'v1/attachment/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'delete', 'rule' => 'v1/attachment/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '附件(下载管理)禁/启用操作接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Attachment', 'action' => 'enable', 'rule' => 'v1/attachment/enable/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:06'],
['name' => '角色分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Role', 'action' => 'index', 'rule' => 'v1/role/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:23', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '角色新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Role', 'action' => 'save', 'rule' => 'v1/role/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '角色详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Role', 'action' => 'read', 'rule' => 'v1/role/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '角色更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Role', 'action' => 'update', 'rule' => 'v1/role/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '角色删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Role', 'action' => 'delete', 'rule' => 'v1/role/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '角色列表接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Role', 'action' => 'index', 'rule' => 'v1/roles', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '用户分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'User', 'action' => 'index', 'rule' => 'v1/user/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '用户详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'User', 'action' => 'read', 'rule' => 'v1/user/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '用户新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'User', 'action' => 'save', 'rule' => 'v1/user/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '用户更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'User', 'action' => 'update', 'rule' => 'v1/user/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '用户删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'User', 'action' => 'delete', 'rule' => 'v1/user/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '问答分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Faq', 'action' => 'index', 'rule' => 'v1/faq/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '问答详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Faq', 'action' => 'read', 'rule' => 'v1/faq/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '问答新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Faq', 'action' => 'save', 'rule' => 'v1/faq/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '问答更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Faq', 'action' => 'update', 'rule' => 'v1/faq/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:24', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '问答设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Faq', 'action' => 'sort', 'rule' => 'v1/faq/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '问答删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Faq', 'action' => 'delete', 'rule' => 'v1/faq/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '留言记录(联系我们)分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'LeaveMessage', 'action' => 'index', 'rule' => 'v1/leavemsg/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '留言记录(联系我们)导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'LeaveMessage', 'action' => 'export', 'rule' => 'v1/leavemsg/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '批量采购询盘分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BulkPurchaseInquiry', 'action' => 'index', 'rule' => 'v1/bp/inquiry/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '批量采购询盘导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BulkPurchaseInquiry', 'action' => 'export', 'rule' => 'v1/bp/inquiry/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '批量采购询盘可选品类列表接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'BulkPurchaseInquiry', 'action' => 'interested', 'rule' => 'v1/bp/inquiry/interested', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '代理商企业规模类型接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Agent', 'action' => 'enterpriseSizeTypes', 'rule' => 'v1/agent/enterprise_size_types', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '代理商分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Agent', 'action' => 'index', 'rule' => 'v1/agent/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '代理商导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Agent', 'action' => 'export', 'rule' => 'v1/agent/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '产品询盘分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'ProductInquiry', 'action' => 'index', 'rule' => 'v1/product/inquiry/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '菜单树形结构接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'index', 'rule' => 'v1/menu/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '菜单树形结构(选项框/权限分配场景)接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'list', 'rule' => 'v1/menus', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:07'],
['name' => '菜单详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'read', 'rule' => 'v1/menu/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '菜单新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'save', 'rule' => 'v1/menu/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:25', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '菜单更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'update', 'rule' => 'v1/menu/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '菜单删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'delete', 'rule' => 'v1/menu/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '菜单导出接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'export', 'rule' => 'v1/menu/export', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '菜单导入接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'import', 'rule' => 'v1/menu/import', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '菜单设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Menu', 'action' => 'sort', 'rule' => 'v1/menu/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航分类分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Navigation', 'action' => 'index', 'rule' => 'v1/navigation/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航分类详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Navigation', 'action' => 'read', 'rule' => 'v1/navigation/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航分类新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Navigation', 'action' => 'save', 'rule' => 'v1/navigation/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航分类更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Navigation', 'action' => 'update', 'rule' => 'v1/navigation/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航分类删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Navigation', 'action' => 'delete', 'rule' => 'v1/navigation/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航分类列表(选项框场景使用)接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'Navigation', 'action' => 'list', 'rule' => 'v1/navigation/list', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航列表树接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'NavigationItem', 'action' => 'index', 'rule' => 'v1/navigation/items/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'NavigationItem', 'action' => 'read', 'rule' => 'v1/navigation/items/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'NavigationItem', 'action' => 'save', 'rule' => 'v1/navigation/items/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:26', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'NavigationItem', 'action' => 'update', 'rule' => 'v1/navigation/items/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航设置排序值接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'NavigationItem', 'action' => 'sort', 'rule' => 'v1/navigation/items/sort/:id', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '导航删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'NavigationItem', 'action' => 'delete', 'rule' => 'v1/navigation/items/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:08'],
['name' => '获取配置内容接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SiteConfig', 'action' => 'index', 'rule' => 'v1/site/config/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '站点配置更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SiteConfig', 'action' => 'update', 'rule' => 'v1/site/config/update', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项分页接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'index', 'rule' => 'v1/config/index', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项分组接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'groups', 'rule' => 'v1/config/groups', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项类型接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'types', 'rule' => 'v1/config/types', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项详情接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'read', 'rule' => 'v1/config/read/:id', 'method' => 'GET', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项新增接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'save', 'rule' => 'v1/config/save', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项更新接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'update', 'rule' => 'v1/config/update/:id', 'method' => 'PUT', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项删除接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'delete', 'rule' => 'v1/config/delete/:id', 'method' => 'DELETE', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09'],
['name' => '配置项导入接口', 'module' => 'admin', 'layer' => 'v1', 'controller' => 'SysConfig', 'action' => 'import', 'rule' => 'v1/config/import', 'method' => 'POST', 'desc' => '', 'created_at' => '2025-03-18 10:54:27', 'updated_at' => '2025-03-18 14:24:09']
];
$table = $this->table('sys_restful_api');
// empty the table
$table->truncate();
// insert data
$table->insert($data)->saveData();
}
}

View File

@@ -0,0 +1,10 @@
.oricoEGapp-product {
position: relative;
}
.oricoEGapp-product .img-responsive img {
margin-top: 3.3rem;
}
.oricoEGapp-product .m_vision:last-child {
margin-bottom: 1.875rem;
}

View File

@@ -0,0 +1,289 @@
.iotbpage {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
position: relative;
overflow: auto;
padding-top: 50px;
}
.iotb_bgw {
width: 100%;
background-color: #fff;
display: flex;
flex-direction: column;
align-items: center;
}
.bdimg1 {
width: 100%;
}
.iotbt1 {
font-size: 18px;
font-family: Montserrat-Bold, Montserrat;
padding-bottom: 24px;
padding-top: 40px;
font-weight: 700;
color: #000;
}
.iotb_part1 {
padding: 0 20px;
display: flex;
flex-direction: row;
justify-content: space-between;
flex-wrap: wrap;
padding-bottom: 40px;
align-items: baseline;
}
.iotb_p1_item {
width: 45%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.iotb_p1_item img {
width: 72px;
height: 72px;
}
.iotbic1 {
width: 120px;
height: 120px;
}
.iotbtp1 {
font-size: 14px;
font-family: Montserrat-Bold, Montserrat;
font-weight: bold;
padding-bottom: 11px;
word-break: break-word;
}
.iotbts1 {
text-align: center;
font-size: 12px;
font-family: Montserrat-Medium, Montserrat;
color: #9e9e9f;
word-break: break-word;
}
.iotb_part2 {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.fdimgs {
padding-bottom: 60px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.iotb_part3 {
width: 100%;
padding-bottom: 81px;
display: flex;
background-color: #fff;
flex-direction: column;
}
.odmmain {
width: 70%;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
.odmconten {
width: 81%;
margin: 0 auto;
display: flex;
flex-direction: row;
justify-content: space-between;
flex-wrap: wrap;
}
.odmitem {
width: 41%;
display: flex;
flex-direction: column;
align-items: center;
padding-bottom: 24px;
}
.appodmimg {
width: 72px;
height: 72px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
box-shadow: 0px 2px 5px rgba(124, 162, 207, 0.2);
}
.odms1 {
color: #202020;
font-size: 14px;
padding-top: 12px;
text-align: center;
font-family: Montserrat-Medium, Montserrat;
overflow-wrap: break-word;
word-break: break-word;
}
.appcoofootimg {
width: 100%;
}
.sfbt1 {
text-align: center;
font-size: 18px;
font-family: Montserrat-Bold, Montserrat;
font-weight: bold;
padding-bottom: 24px;
padding-top: 24px;
color: #000;
}
.sfbchecks {
display: flex;
flex-direction: column;
}
.sfbcheckboxlist {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
}
.sfbcheckboxit {
margin: 0 !important;
border: 1px solid #ccc;
width: 16px !important;
height: 16px !important;
border-radius: 2px !important;
margin-right: 10px !important;
}
.cit {
width: 100%;
font-size: 14px;
font-family: Montserrat-Regular, Montserrat;
color: #000;
display: flex;
flex-direction: row;
align-items: center;
margin-bottom: 12px;
font-weight: 400;
}
.bd_main1 {
max-height: none;
}
.ittextarea2 {
height: 200px;
}
.bditem select {
border: 1px solid #f2f2f2;
}
.bd_from .form-control {
display: block;
/*width: 100%;*/
padding: 2px 12px;
font-size: 14px;
line-height: 1.42857143;
color: #555;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.wcu_list {
display: flex;
flex-direction: column;
padding: 0 20px;
}
.wcu_ltem {
width: 100%;
margin-bottom: 12px;
background: #fff;
border-radius: 8px;
display: flex;
flex-direction: column;
/*padding: 0 20px;*/
}
.wcu_ltem .fbit {
width: 100%;
}
.wcu_s1 {
color: #000;
font: 16px;
font-family: Montserrat-Medium, Montserrat;
font-weight: 500;
padding: 20px 24px;
}
.bd_main2 {
padding-bottom: 75px;
}
.iotbtp1 {
text-align: center;
}
.iotb_p1_item img {
width: 60px;
height: 60px;
margin-bottom: 8px;
}
.iotb_part22 {
padding-bottom: 50px;
background: #fff;
}
.iotb_part22 .wcu_list {
flex-direction: row;
flex-wrap: wrap;
}
.iotb_part22 .wcu_ltem {
width: 49% !important;
position: relative;
margin-bottom: 8px;
}
.iotb_part22 .wcu_s1 {
font-size: 12px;
color: #fff;
position: absolute;
padding: 0;
background: rgba(0, 0, 0, 0.4);
width: -webkit-fill-available;
height: 35px;
text-align: center;
line-height: 35px;
bottom: 0;
font-weight: bold;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
}

View File

@@ -0,0 +1,709 @@
.oricoCnLc .swiper-container {
margin-left: auto;
margin-right: auto;
position: relative;
overflow: hidden;
list-style: none;
padding: 0;
z-index: 1;
}
.oricoCnLc .swiper-wrapper {
position: relative;
width: 90%;
z-index: 1;
display: flex;
transition-property: transform;
box-sizing: content-box;
}
.oricoCnLc .swiper-container-android .swiper-slide,
.oricoCnLc .swiper-wrapper {
transform: translate3d(0px, 0, 0);
}
.oricoCnLc .swiper-container-multirow>.swiper-wrapper {
flex-wrap: wrap;
}
.oricoCnLc .swiper-container-multirow-column>.swiper-wrapper {
flex-wrap: wrap;
flex-direction: column;
}
.oricoCnLc .swiper-container-free-mode>.swiper-wrapper {
transition-timing-function: ease-out;
margin: 0 auto;
}
.oricoCnLc .swiper-container-pointer-events {
touch-action: pan-y;
}
.oricoCnLc .swiper-container-pointer-events.swiper-container-vertical {
touch-action: pan-x;
}
.oricoCnLc .swiper-slide {
flex-shrink: 0;
width: 100%;
height: 100%;
position: relative;
transition-property: transform;
}
.oricoCnLc .swiper-slide-invisible-blank {
visibility: hidden;
}
.oricoCnLc .swiper-container-autoheight,
.oricoCnLc .swiper-container-autoheight .swiper-slide {
height: auto;
}
.oricoCnLc .swiper-container-autoheight .swiper-wrapper {
align-items: flex-start;
transition-property: transform, height;
}
.oricoCnLc .swiper-container-3d {
perspective: 1200px;
}
.oricoCnLc .swiper-container-3d .swiper-cube-shadow,
.oricoCnLc .swiper-container-3d .swiper-slide,
.oricoCnLc .swiper-container-3d .swiper-slide-shadow-bottom,
.oricoCnLc .swiper-container-3d .swiper-slide-shadow-left,
.oricoCnLc .swiper-container-3d .swiper-slide-shadow-right,
.oricoCnLc .swiper-container-3d .swiper-slide-shadow-top,
.oricoCnLc .swiper-container-3d .swiper-wrapper {
transform-style: preserve-3d;
}
.oricoCnLc .swiper-container-3d .swiper-slide-shadow-bottom,
.oricoCnLc .swiper-container-3d .swiper-slide-shadow-left,
.oricoCnLc .swiper-container-3d .swiper-slide-shadow-right,
.oricoCnLc .swiper-container-3d .swiper-slide-shadow-top {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 10;
}
.oricoCnLc .swiper-container-3d .swiper-slide-shadow-left {
background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.oricoCnLc .swiper-container-3d .swiper-slide-shadow-right {
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.oricoCnLc .swiper-container-3d .swiper-slide-shadow-top {
background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.oricoCnLc .swiper-container-3d .swiper-slide-shadow-bottom {
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.oricoCnLc .swiper-container-css-mode>.swiper-wrapper {
overflow: auto;
scrollbar-width: none;
-ms-overflow-style: none;
}
.oricoCnLc .swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar {
display: none;
}
.oricoCnLc .swiper-container-css-mode>.swiper-wrapper>.swiper-slide {
scroll-snap-align: start start;
}
.oricoCnLc .swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper {
scroll-snap-type: x mandatory;
}
.oricoCnLc .swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper {
scroll-snap-type: y mandatory;
}
.oricoCnLc :root {
--swiper-navigation-size: 44px;
}
.oricoCnLc .swiper-button-next,
.oricoCnLc .swiper-button-prev {
position: absolute;
top: 55%;
width: calc(var(--swiper-navigation-size) / 44 * 27);
height: var(--swiper-navigation-size);
margin-top: calc(0px - var(--swiper-navigation-size) / 2);
z-index: 10;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.oricoCnLc .swiper-button-next.swiper-button-disabled,
.oricoCnLc .swiper-button-prev.swiper-button-disabled {
opacity: 0.35;
cursor: auto;
pointer-events: none;
}
.oricoCnLc .swiper-button-next:after,
.oricoCnLc .swiper-button-prev:after {
font-family: swiper-icons;
font-size: var(--swiper-navigation-size);
text-transform: none !important;
letter-spacing: 0;
text-transform: none;
font-variant: initial;
line-height: 1;
display: none;
}
.oricoCnLc .swiper-button-prev,
.oricoCnLc .swiper-container-rtl .swiper-button-next {
left: 0;
right: auto;
}
.oricoCnLc .swiper-button-next,
.oricoCnLc .swiper-container-rtl .swiper-button-prev {
right: -5px;
left: auto;
}
.oricoCnLc .swiper-button-next.swiper-button-white,
.oricoCnLc .swiper-button-prev.swiper-button-white {
--swiper-navigation-color: #ffffff;
}
.oricoCnLc .swiper-button-next.swiper-button-black,
.oricoCnLc .swiper-button-prev.swiper-button-black {
--swiper-navigation-color: #000000;
}
.oricoCnLc .swiper-button-lock {
display: none;
}
.oricoCnLc .swiper-pagination {
position: absolute;
text-align: center;
transition: 0.3s opacity;
transform: translate3d(0, 0, 0);
z-index: 10;
}
.oricoCnLc .swiper-pagination.swiper-pagination-hidden {
opacity: 0;
}
.oricoCnLc .swiper-container-horizontal>.swiper-pagination-bullets,
.oricoCnLc .swiper-pagination-custom,
.oricoCnLc .swiper-pagination-fraction {
bottom: 10px;
left: 0;
width: 100%;
}
.oricoCnLc .swiper-pagination-bullets-dynamic {
overflow: hidden;
font-size: 0;
}
.oricoCnLc .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transform: scale(0.33);
position: relative;
}
.oricoCnLc .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
transform: scale(1);
}
.oricoCnLc .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
transform: scale(1);
}
.oricoCnLc .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
transform: scale(0.66);
}
.oricoCnLc .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
transform: scale(0.33);
}
.oricoCnLc .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
transform: scale(0.66);
}
.oricoCnLc .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
transform: scale(0.33);
}
.oricoCnLc .swiper-pagination-bullet {
width: 8px;
height: 8px;
display: inline-block;
border-radius: 50%;
background: #000;
opacity: 0.2;
}
.oricoCnLc button.swiper-pagination-bullet {
border: none;
margin: 0;
padding: 0;
box-shadow: none;
-webkit-appearance: none;
appearance: none;
}
.oricoCnLc .swiper-pagination-clickable .swiper-pagination-bullet {
cursor: pointer;
}
.oricoCnLc .swiper-pagination-bullet-active {
opacity: 1;
background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.oricoCnLc .swiper-container-vertical>.swiper-pagination-bullets {
right: 10px;
top: 50%;
transform: translate3d(0px, -50%, 0);
}
.oricoCnLc .swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
margin: 6px 0;
display: block;
}
.oricoCnLc .swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
top: 50%;
transform: translateY(-50%);
width: 8px;
}
.oricoCnLc .swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
display: inline-block;
transition: 0.2s transform, 0.2s top;
}
.oricoCnLc .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
margin: 0 4px;
}
.oricoCnLc .swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
left: 50%;
transform: translateX(-50%);
white-space: nowrap;
}
.oricoCnLc .swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: 0.2s transform, 0.2s left;
}
.oricoCnLc .swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: 0.2s transform, 0.2s right;
}
.oricoCnLc .swiper-pagination-progressbar {
background: rgba(0, 0, 0, 0.25);
position: absolute;
}
.oricoCnLc .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
background: var(--swiper-pagination-color, var(--swiper-theme-color));
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transform: scale(0);
transform-origin: left top;
}
.oricoCnLc .swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
transform-origin: right top;
}
.oricoCnLc .swiper-container-horizontal>.swiper-pagination-progressbar,
.oricoCnLc .swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
width: 100%;
height: 4px;
left: 0;
top: 0;
}
.oricoCnLc .swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.oricoCnLc .swiper-container-vertical>.swiper-pagination-progressbar {
width: 4px;
height: 100%;
left: 0;
top: 0;
}
.oricoCnLc .swiper-pagination-white {
--swiper-pagination-color: #ffffff;
}
.oricoCnLc .swiper-pagination-black {
--swiper-pagination-color: #000000;
}
.oricoCnLc .swiper-pagination-lock {
display: none;
}
.oricoCnLc .swiper-scrollbar {
border-radius: 10px;
position: relative;
-ms-touch-action: none;
background: rgba(0, 0, 0, 0.1);
}
.oricoCnLc .swiper-container-horizontal>.swiper-scrollbar {
position: absolute;
left: 1%;
bottom: 3px;
z-index: 50;
height: 5px;
width: 98%;
}
.oricoCnLc .swiper-container-vertical>.swiper-scrollbar {
position: absolute;
right: 3px;
top: 1%;
z-index: 50;
width: 5px;
height: 98%;
}
.oricoCnLc .swiper-scrollbar-drag {
height: 100%;
width: 100%;
position: relative;
background: rgba(0, 0, 0, 0.5);
border-radius: 10px;
left: 0;
top: 0;
}
.oricoCnLc .swiper-scrollbar-cursor-drag {
cursor: move;
}
.oricoCnLc .swiper-scrollbar-lock {
display: none;
}
.oricoCnLc .swiper-zoom-container {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.oricoCnLc .swiper-zoom-container>canvas,
.oricoCnLc .swiper-zoom-container>img,
.oricoCnLc .swiper-zoom-container>svg {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
.oricoCnLc .swiper-slide-zoomed {
cursor: move;
}
.oricoCnLc .swiper-lazy-preloader {
width: 42px;
height: 42px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -21px;
margin-top: -21px;
z-index: 10;
transform-origin: 50%;
animation: swiper-preloader-spin 1s infinite linear;
box-sizing: border-box;
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
border-radius: 50%;
border-top-color: transparent;
}
.oricoCnLc .swiper-lazy-preloader-white {
--swiper-preloader-color: #fff;
}
.oricoCnLc .swiper-lazy-preloader-black {
--swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
100% {
transform: rotate(360deg);
}
}
.oricoCnLc .swiper-container .swiper-notification {
position: absolute;
left: 0;
top: 0;
pointer-events: none;
opacity: 0;
z-index: -1000;
}
.oricoCnLc .swiper-container-fade.swiper-container-free-mode .swiper-slide {
transition-timing-function: ease-out;
}
.oricoCnLc .swiper-container-fade .swiper-slide {
pointer-events: none;
transition-property: opacity;
}
.oricoCnLc .swiper-container-fade .swiper-slide .swiper-slide {
pointer-events: none;
}
.oricoCnLc .swiper-container-fade .swiper-slide-active,
.oricoCnLc .swiper-container-fade .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.oricoCnLc .swiper-container-cube {
overflow: visible;
}
.oricoCnLc .swiper-container-cube .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
visibility: hidden;
transform-origin: 0 0;
width: 100%;
height: 100%;
}
.oricoCnLc .swiper-container-cube .swiper-slide .swiper-slide {
pointer-events: none;
}
.oricoCnLc .swiper-container-cube.swiper-container-rtl .swiper-slide {
transform-origin: 100% 0;
}
.oricoCnLc .swiper-container-cube .swiper-slide-active,
.oricoCnLc .swiper-container-cube .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.oricoCnLc .swiper-container-cube .swiper-slide-active,
.oricoCnLc .swiper-container-cube .swiper-slide-next,
.oricoCnLc .swiper-container-cube .swiper-slide-next+.swiper-slide,
.oricoCnLc .swiper-container-cube .swiper-slide-prev {
pointer-events: auto;
visibility: visible;
}
.oricoCnLc .swiper-container-cube .swiper-slide-shadow-bottom,
.oricoCnLc .swiper-container-cube .swiper-slide-shadow-left,
.oricoCnLc .swiper-container-cube .swiper-slide-shadow-right,
.oricoCnLc .swiper-container-cube .swiper-slide-shadow-top {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.oricoCnLc .swiper-container-cube .swiper-cube-shadow {
position: absolute;
left: 0;
bottom: 0px;
width: 100%;
height: 100%;
opacity: 0.6;
z-index: 0;
}
.oricoCnLc .swiper-container-cube .swiper-cube-shadow:before {
content: "";
background: #000;
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
filter: blur(50px);
}
.oricoCnLc .swiper-container-flip {
overflow: visible;
}
.oricoCnLc .swiper-container-flip .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
}
.oricoCnLc .swiper-container-flip .swiper-slide .swiper-slide {
pointer-events: none;
}
.oricoCnLc .swiper-container-flip .swiper-slide-active,
.oricoCnLc .swiper-container-flip .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.oricoCnLc .swiper-container-flip .swiper-slide-shadow-bottom,
.oricoCnLc .swiper-container-flip .swiper-slide-shadow-left,
.oricoCnLc .swiper-container-flip .swiper-slide-shadow-right,
.oricoCnLc .swiper-container-flip .swiper-slide-shadow-top {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.oricoCnLc .gallery-thumbs {
text-align: center;
line-height: 50px;
box-sizing: border-box;
width: 90%;
border-bottom: 1px solid #d4d4d4;
margin-bottom: 1.5rem;
}
.oricoCnLc .gallery-thumbs .swiper-slide {
width: 4.2rem !important;
height: 90%;
margin-right: 0 !important;
text-align: center;
margin: auto;
font-size: 1rem;
color: #707070;
font-family: "Montserrat-Medium";
}
.oricoCnLc .gallery-thumbs .swiper-slide-thumb-active {
border-bottom: 3px solid #004bfa;
border-radius: 0px 0px 0px 0px;
opacity: 1;
color: #004bfa;
}
.oricoCnLc .nav {
width: 96%;
margin: 0 auto;
position: relative;
}
.oricoCnLc .gallery-top {
width: 84%;
background: #fff;
border-radius: 1rem;
-webkit-border-radius: 1rem;
-moz-border-radius: 1rem;
-ms-border-radius: 1rem;
-o-border-radius: 1rem;
}
.oricoCnLc .info {
text-align: left;
font-size: 1rem;
}
.oricoCnLc .info h5 {
font-size: #000;
font-size: 1rem;
font-family: "Montserrat-Bold";
padding: 2rem 2rem 0 1rem;
margin: 0;
}
.oricoCnLc .info p {
color: #707070;
font-family: "Montserrat-Regular";
padding: 1rem;
}
.oricoCnLc .m_ach-b {
width: 100%;
margin: auto;
text-align: center;
}
.oricoCnLc .m_ach-b .title {
font-size: 1.125rem;
font-family: "Montserrat-Bold";
width: 98%;
margin: auto;
position: relative;
padding: 2rem 0 1.5rem;
}
.oricoCnLc .m_ach-b .chtitle {
font-size: 1.125rem;
font-family: "Montserrat-Bold";
width: 98%;
margin: auto;
position: relative;
padding: 1rem 0 1.5rem;
}
.oricoCnLc .m_ch {
width: 90%;
margin: 1.5rem auto 0;
text-align: center;
background: #fff;
padding: 2rem 1rem;
}
.oricoCnLc .m_ch-title {
font-size: 1rem;
font-family: "Montserrat-Bold";
width: 98%;
margin: 1rem auto 0;
padding: 1rem 0 0;
display: flex;
flex-direction: row;
align-items: center;
}
.oricoCnLc .m_ch-con {
font-size: 0.875;
line-height: 1.5rem;
color: #707070;
font-family: "Montserrat-Regular";
width: 98%;
margin: 1rem auto;
padding: 0;
}
.oricoCnLc .ach-bg {
background: #f8f8f8;
width: 80%;
margin: 0 auto 1rem;
padding: 2rem;
border-radius: 1rem;
-webkit-border-radius: 1rem;
-moz-border-radius: 1rem;
-ms-border-radius: 1rem;
-o-border-radius: 1rem;
}

View File

@@ -0,0 +1,42 @@
.oricoEGapp-policy {
display: flex;
flex-direction: column;
margin-top: 3.3rem;
background: #fff;
padding-bottom: 1rem;
}
.oricoEGapp-policy .pl-img {
width: 100%;
}
.oricoEGapp-policy .m_Container {
display: flex;
flex-direction: column;
margin: 0 1rem;
margin-top: 0.5rem;
}
.oricoEGapp-policy .m_Container .textpoint {
margin-top: 1.12rem;
text-align: center;
color: #333;
font-size: 0.85rem;
}
.oricoEGapp-policy .m_Container .decs {
margin-top: 0.68rem;
color: #666;
font-size: 0.64rem;
line-height: 1.07rem;
text-align: center;
width: 100%;
}
.oricoEGapp-policy .m_Container .decs-left {
text-align: left;
}
.oricoEGapp-policy .m-t {
margin: 0.5rem 0;
}

View File

@@ -0,0 +1,16 @@
.oricoEGapp {
background: #fff;
}
.oricoEGapp .oricoEGapp-brand {
background: #fff;
position: relative;
}
.oricoEGapp .oricoEGapp-brand .video-right img {
margin-top: 3.3rem;
}
.oricoEGapp .oricoEGapp-brand .text-center img {
margin: 0 auto;
}

View File

@@ -0,0 +1,189 @@
.oricoEGapp-articledetail {
display: flex;
flex-direction: column;
background: #fff;
}
.oricoEGapp-articledetail .content {
margin-top: 3.75rem;
width: 90%;
margin: 2.5rem auto;
margin-top: 4.6rem;
}
.oricoEGapp-articledetail .content .blog_detail {
height: auto;
background: #ffffff;
border: 1px solid #e8e8e8;
}
.oricoEGapp-articledetail .content .blog_detail .blog_title {
margin: 1rem;
border-bottom: 1px solid #e8e8e8;
padding-bottom: 1rem;
}
.oricoEGapp-articledetail .content .blog_detail .blog_content {
margin: 1rem;
}
.oricoEGapp-articledetail .content .blog_detail .blog_content img {
max-width: 100%;
}
.oricoEGapp-articledetail .content .blog_detail .blog_content p {
font-size: 0.875rem;
font-weight: 400;
line-height: 1.5rem;
color: #252525;
margin-bottom: 0.625rem;
overflow: hidden;
max-width: 100%;
text-indent: 0 !important;
}
.oricoEGapp-articledetail .content .blog_detail .blog_content p span {
font-size: 0.875rem;
line-height: 1rem;
}
.oricoEGapp-articledetail .content .blog_detail .blog_content p img {
width: 100%;
height: auto;
margin-bottom: 0.5rem;
}
.oricoEGapp-articledetail .content .share_box {
width: 100%;
}
.oricoEGapp-articledetail .content .share_box .blog_share {
width: 100%;
height: auto;
background: #ffffff;
border: 1px solid #e8e8e8;
margin: 1rem 0;
}
.oricoEGapp-articledetail .content .share_box .blog_share h3 {
font-size: 1rem;
line-height: 2.125rem;
color: #959595;
font-weight: bold;
padding: 0.25rem 1.875rem 0.75rem;
border-bottom: 1px solid #e8e8e8;
}
.oricoEGapp-articledetail .content .share_box .blog_share .share_list {
padding: 1.875rem;
}
.oricoEGapp-articledetail .content .share_box .blog_share .share_list::after {
content: "";
display: block;
clear: both;
}
.oricoEGapp-articledetail .content .share_box .blog_share .share_list li {
position: relative;
width: 21%;
height: auto;
margin-right: 0.5rem;
float: left;
}
.oricoEGapp-articledetail .content .share_box .blog_share .share_list .wechat .wechat_code {
display: none;
left: 3.8rem;
margin-top: 10px;
background-color: #fff;
color: #fff;
box-shadow: 0px 5px 20px 0px rgba(119, 123, 128, 0.5);
line-height: 24px;
padding: 20px 25px;
z-index: 999;
position: absolute;
font-size: 14px;
color: #333;
}
.oricoEGapp-articledetail .content .share_box .blog_share .share_list .wechat img {
vertical-align: middle;
}
.oricoEGapp-articledetail .content .share_box .comment {
background: #ffffff;
width: 100%;
padding-bottom: 1.875rem;
border: 1px solid #e8e8e8;
}
.oricoEGapp-articledetail .content .share_box .comment h3 {
font-size: 1rem;
line-height: 1rem;
color: #959595;
font-weight: bold;
padding: 1rem 1.25rem;
border-bottom: 1px solid #e8e8e8;
}
.oricoEGapp-articledetail .content .share_box .comment .comment_form {
padding: 1rem 1.25rem;
}
.oricoEGapp-articledetail .content .share_box .comment .comment_form .comment_form div {
font-size: 0.825rem;
color: #252525;
float: left;
width: 100%;
}
.oricoEGapp-articledetail .content .share_box .comment .itinp {
background: #f2f2f2;
/* border: none !important; */
border-radius: 8px;
height: 48px;
box-shadow: none;
font-family: Montserrat-Regular, Montserrat;
}
.oricoEGapp-articledetail .content .share_box .comment .comment_form>div input {
width: 100%;
height: 1.75rem;
border: 1px solid #dbdbdb;
margin-top: 0.5rem;
}
.oricoEGapp-articledetail .mblove {
width: 100%;
background: #f1f1f1;
}
.oricoEGapp-articledetail .mblove .mianct {
margin-top: 5%;
}
.oricoEGapp-articledetail .mblove .mianct .thtitle,
.oricoEGapp-articledetail .mblove .mianct p {
font-size: 1.5em;
color: #333;
font-weight: bold;
text-align: center;
}
.oricoEGapp-articledetail .mblove .mianct .thtitle img,
.oricoEGapp-articledetail .mblove .mianct p img {
width: 100%;
display: block;
}
.oricoEGapp-articledetail .mblove .mianct p:nth-child(2) {
margin-top: 2.4%;
}
.oricoEGapp-articledetail .share_list .triggered_qrcode {
display: none;
position: absolute;
left: 50%;
transform: translateX(-50%);
}

View File

@@ -0,0 +1,7 @@
.oricoEGapp-article {
position: relative;
}
.oricoEGapp-article .img-responsive img {
margin-top: 3.3rem;
}

View File

@@ -0,0 +1,10 @@
.oricoEGapp-fq {
position: relative;
}
.oricoEGapp-fq .banner {
margin-top: 3.3rem;
}
.oricoEGapp-fq .banner img {
max-width: 100%;
}

View File

@@ -0,0 +1,368 @@
@charset "UTF-8";
.oricoCN-nasindex {
/* 针对小屏幕平板电脑的样式 */
}
.oricoCN-nasindex .header {
color: #000;
}
.oricoCN-nasindex .narsMBpage {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
position: relative;
overflow-x: hidden;
}
.oricoCN-nasindex .narsMBpage .narsMB-banner {
width: 100%;
}
.oricoCN-nasindex .narsMBpage .narsmb-img {
max-width: 100%;
height: auto;
display: block;
margin-top: 13%;
}
.oricoCN-nasindex .narsMBpage .narsmb-cate {
margin-top: 2.8125rem;
margin: 0 0.4375rem;
display: flex;
flex-direction: column;
}
.oricoCN-nasindex .narsMBpage .narsmb-cate .narsmbcatetop,
.oricoCN-nasindex .narsMBpage .narsmb-cate .narsmbcate-it {
background: transparent;
color: #000;
border-radius: 0.3125rem;
/*height: 6.8rem;*/
width: 100%;
line-height: 1rem;
font-size: 0.75rem;
font-weight: bold;
/*margin-top: 2.8125rem;
display: flex;*/
align-items: center;
}
.oricoCN-nasindex .narsMBpage .narsmb-cate .narsmbcatetop,
.oricoCN-nasindex .narsMBpage .narsmb-cate .narsmbcate-it .narsmbcate-sp span:last-child {
font-size: 0.5625rem;
padding-top: 5px;
font-weight: 500;
}
.oricoCN-nasindex .narsMBpage .narsmb-cate .narsmbcateits {
/*height: 5.8125rem;*/
display: flex;
flex-direction: row;
justify-content: space-between;
/*margin-bottom: 0.4375rem;*/
}
.oricoCN-nasindex .narsMBpage .narsmb-cate .narsmbcateits .narsmbcate-it {
width: 49%;
margin-top: 0.4375rem;
}
.oricoCN-nasindex .narsMBpage .narsmb-cate .narsmbcate-sp {
margin: 0 0.75rem;
}
.oricoCN-nasindex .narsMBpage .narsmbvd {
width: 100%;
/*height: 14.5625rem;*/
margin-top: 2.5rem;
}
.oricoCN-nasindex .narsMBpage .narsmbvd .narsmbvideo {
height: 100%;
width: 100%;
object-fit: fill;
}
.oricoCN-nasindex .narsMBpage .narsmb-jjfa {
width: 100%;
display: flex;
flex-direction: column;
}
.oricoCN-nasindex .narsMBpage .narsmb-jjfa .narsmbjjfa-title {
text-align: center;
font-size: 1.6875rem;
font-weight: bold;
padding-top: 2.0625rem;
padding-bottom: 1.3125rem;
}
.oricoCN-nasindex .narsMBpage .narsmb-jjfa .narsmbjjfaSwiper {
margin-left: 0.4375rem;
}
.oricoCN-nasindex .narsMBpage .narsmb-jjfa .narsmbjjfa-slide {
width: 10rem;
height: 18.375rem;
border-radius: 0.125rem;
position: relative;
}
.oricoCN-nasindex .narsMBpage .narsmb-jjfa .narsmbjjfa-slide .narsmb-jjfa-ct {
color: #fff;
text-align: center;
font-size: 1rem;
font-weight: bold;
line-height: 2.5rem;
height: 2.5rem;
background: #004bfa;
}
.oricoCN-nasindex .narsMBpage .narsmb-jjfa .narsmbjjfa-slide .narsmb-jjfa-info {
position: absolute;
top: 0;
height: 18.375rem;
padding: 0 1.3rem;
display: none;
flex-direction: column;
justify-content: center;
border-radius: 0.125rem;
z-index: 11;
background: linear-gradient(90deg, #cdd9f1 0%, #ecf2fe 100%);
overflow-y: hidden;
color: #9196a5;
}
.oricoCN-nasindex .narsMBpage .narsmb-jjfa .narsmbjjfa-slide .narsmb-jjfa-info .box {
width:100%;
display:flex;
flex-direction:column;
height:95%;
overflow-y:auto;
}
.oricoCN-nasindex .narsMBpage .narsmb-jjfa .narsmbjjfa-slide .narsmb-jjfa-info .box > p {
font-size: 1rem;
padding-bottom:5px;
font-weight:bold;
padding-top: 1.4rem;
color: #000;
}
.oricoCN-nasindex .narsMBpage .narsmb-jjfa .narsmbjjfa-slide .narsmb-jjfa-info .box > div {
font-size:0.625rem;
color: #000;
}
.oricoCN-nasindex .narsMBpage .narsmb-jjfa .narsmbjjfa-slide .narsmb-jjfa-info .narsmbjjfatt {
width: 100%;
font-weight: bold;
text-align: center;
font-size: 0.875rem;
margin-bottom: 1.6875rem;
}
.oricoCN-nasindex .narsMBpage .narsmb-jjfa .narsmbjjfa-slide .narsmb-jjfa-info .narsmbjjfa-txt {
font-size: 0.75rem;
line-height: 1rem;
text-indent: 2em;
}
.oricoCN-nasindex .narsMBpage .narsmb-jjfa .narsmb-jjfabgimg {
width: 100%;
height: 18.375rem;
position: absolute;
top: 0;
z-index: -1;
}
.oricoCN-nasindex .narsmb-wlj {
width: 100%;
display: flex;
flex-direction: column;
}
.oricoCN-nasindex .narsmb-wlj .narsmbwlj-title {
text-align: center;
font-size: 1.6875rem;
font-weight: bold;
padding-top: 2.0625rem;
padding-bottom: 1.3125rem;
}
.oricoCN-nasindex .narsmb-wlj .narsmbwltitem {
margin: 0 0.4375rem;
/*height: 9.0625rem;*/
background: #ecf2fe;
display: flex;
flex-direction: row;
justify-content: space-between;
margin-bottom: 0.5rem;
overflow: hidden;
}
.oricoCN-nasindex .narsmb-wlj .narsmbwltitem .narsmbwljcp {
display: flex;
flex-direction: row;
align-items: center;
/*justify-content: center;*/
height: inherit;
width: 50%;
}
.oricoCN-nasindex .narsmb-wlj .narsmbwltitem .narsmbwljcp .narsmbtt {
font-size: 1.0625rem;
font-weight: bold;
color: #fff;
width: 35.5rem;
text-align: center;
margin-left: 35%;
}
.oricoCN-nasindex .narsmb-wlj .narsmbwltitem .narsmbwljcp .narsmbwljimg {
height: inherit;
width: 100%;
}
.oricoCN-nasindex .narsmb-wlj .narsmbwltitem .narsmbwljcpinfo {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
color: #fff;
flex: 1;
margin: 0 1.25rem;
padding: 0 0.75rem;
}
.oricoCN-nasindex .narsmb-wlj .narsmbwltitem .narsmbwljcpinfo .narsmbif-title {
font-weight: bold;
font-size: 1.0625rem;
color:#000;
padding-bottom: 0.5rem;
}
.oricoCN-nasindex .narsmb-wlj .narsmbwltitem .narsmbwljcpinfo .narsmbif-info {
font-size: 0.625rem;
white-space:pre-line;
color:#a2a7ba;
line-height: 1rem;
text-align: center;
}
@media only screen and (min-width: 640px) {
.oricoCN-nasindex .narsmb-wlj .narsmbwltitem .narsmbwljcpinfo .narsmbif-title {
font-weight: bold;
font-size: 1.25rem;
padding-bottom: 0.25rem;
}
.oricoCN-nasindex .narsmb-wlj .narsmbwltitem .narsmbwljcpinfo .narsmbif-info {
font-size: 0.65rem;
line-height: 0.875rem;
text-align: center;
}
}
.oricoCN-nasindex .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;
}
.oricoCN-nasindex .narsmb-wlj .narsmbwltitem .narsmbwljcpinfo .narsmbtt {
font-size: 1.0625rem;
font-weight: bold;
color: #fff;
text-align: center;
}
.oricoCN-nasindex .narsMBbannerSwiper {
padding-top: 0px;
}
.oricoCN-nasindex .narsMB-banner .swiper-slide {
position: relative;
}
.oricoCN-nasindex .narsMB-banner-st {
position: absolute;
margin: 0 auto;
text-align: center;
width: 100%;
color: #07111c;
}
.oricoCN-nasindex .narsMB-banner-st h2 {
margin: 0 auto;
font-size: 1.4rem;
padding-top: 2.8rem;
padding-bottom: 0.75rem;
}
.oricoCN-nasindex .narsMB-banner-st .narsMB-bannersm {
font-size: 1rem;
font-size: 0.875rem;
color: #82898f;
}
.oricoCN-nasindex .narsMB-banner .swiper-container-horizontal>.swiper-pagination-bullets {
bottom: 50px;
}
.oricoCN-nasindex .narsMB-banner .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
width: 10px;
height: 10px;
margin: 0 5px;
outline: 0;
}
.oricoCN-nasindex .narsMB-banner .swiper-pagination-bullet-active {
background: #004bfa !important;
width: 20px !important;
height: 10px !important;
border-radius: 5px !important;
}
@media screen and (min-width: 400px) and (max-width: 660px) {
.oricoCN-nasindex .narsMBpage .narsmb-cate .narsmbcatetop,
.oricoCN-nasindex .narsMBpage .narsmb-cate .narsmbcate-it {
/*height: 8.8rem;*/
}
.oricoCN-nasindex .narsmbcate-sp span:first-child {
font-size: 1.125rem !important;
padding-bottom: 0.3125rem;
}
.oricoCN-nasindex .narsmbcate-sp span:last-child {
font-size: 0.875rem !important;
}
}
@media screen and (min-width: 661px) and (max-width: 991px) {
.oricoCN-nasindex .narsMBpage .narsmb-cate .narsmbcatetop,
.oricoCN-nasindex .narsMBpage .narsmb-cate .narsmbcate-it {
/*height: 10.8rem;*/
}
.oricoCN-nasindex .narsmbcate-sp span:first-child {
font-size: 1rem !important;
padding-bottom: 0.3125rem;
}
.oricoCN-nasindex .narsmbcate-sp span:last-child {
font-size: 0.75rem !important;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View File

@@ -1,148 +1,95 @@
.culture-Menu {
background-color: #f1f1f1;
overflow: hidden;
.orico_Page_productxc {
width: 100%;
position: relative;
min-height: 100vh;
overflow-y: auto;
overflow-x: hidden;
background: #f2f2f2;
}
.culture {
background-color: #e8eef0;
overflow: hidden;
.orico_Page_productxc .productxcMain {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.culture .title {
color: #002855;
font-weight: 600;
padding: 5% 0 3%;
.orico_Page_productxc .productxcMain p {
font-family: inherit;
}
.culture_top{
background: #F2F2F2;
.orico_Page_productxc .productxcMain .culture_top {
background: #f2f2f2;
display: flex;
flex-direction: column;
}
.culture_top img{
.orico_Page_productxc .productxcMain .culture_top img {
height: auto;
max-width: 100%;
}
.culture_bril_con {background: #F2F2F2; overflow: hidden; display:flex}
.culture_bril_div {width:29%;height:597px;background: #fff; overflow: hidden;text-align:center;margin-left:6%;margin-top:80px;margin-bottom:80px;border-radius:16px}
.culture_bril_div:first-child{margin-left:0;}
.culture_bril_div .iconimg{margin:0 auto;margin-top:50px;}
.culture_bril_div .title{font-size:18px;font-weight:600;font-family: Montserrat-Bold, Montserrat;margin-top:32px;width: 90%;margin-left: 5%;}
.culture_bril_div .subtitle{width:80%;font-size:14px;color: #707070;font-family: Montserrat-Medium, Montserrat;margin-top:22px;margin-left:10%}
@media screen and (min-width:1461px) and (max-width:1720px){
.culture_bril_div .iconimg{margin:0 auto;margin-top:36px;}
.culture_bril_div .iconimg img{margin:0 auto;width:323px;height:178px}
.orico_Page_productxc .productxcMain .culture_top .culture_bril_con {
max-width: 101.25rem;
width: 80%;
background: #f2f2f2;
overflow: hidden;
display: flex;
margin: 0 auto;
}
@media screen and (max-width:1459px){
.culture_bril_div {width:29%;height:450px;background: #fff; overflow: hidden;text-align:center;margin-left:6%;margin-top:80px;margin-bottom:80px;border-radius:16px}
.culture_bril_div .iconimg{margin:0 auto;margin-top:36px;}
.culture_bril_div .iconimg img{margin:0 auto;width:283px;height:138px}
.culture_bril_div .title{font-size:14px;font-weight:600;font-family: Montserrat-Bold, Montserrat;margin-top:25px;}
.culture_bril_div .subtitle{width:80%;font-size:10px;color: #707070;font-family: Montserrat-Medium, Montserrat;margin-top:15px;margin-left:10%;padding-bottom:5%}
.orico_Page_productxc .productxcMain .culture_top .culture_bril_con .culture_bril_div {
width: 29%;
height: 597px;
background: #fff;
overflow: hidden;
text-align: center;
margin-left: 6%;
margin-top: 5rem;
margin-bottom: 5rem;
border-radius: 1rem;
}
.culture .punctuation {
color: #ff9800;
margin-left: 8px;
font-size: 1.25em;
.orico_Page_productxc .productxcMain .culture_top .culture_bril_con .culture_bril_div .iconimg {
display: flex;
justify-content: center;
margin-top: 3.125rem;
}
@media screen and (min-width: 1440px) {
.culture-Menu img {
margin: auto;
.orico_Page_productxc .productxcMain .culture_top .culture_bril_con .culture_bril_div .iconimg img {
height: auto;
max-width: 100%;
}
.culture .Container {
width: 1440px;
margin: auto;
}
}
@media screen and (max-width: 1339px) {
.culture-Menu img {
margin: auto;
width: 27%;
}
.culture .Container {
width: 96%;
margin: auto;
}
}
.culture .des {
.orico_Page_productxc .productxcMain .culture_top .culture_bril_con .culture_bril_div .title {
font-size: 1.125rem;
font-weight: 600;
font-family: Montserrat-Bold, Montserrat;
margin-top: 2rem;
width: 90%;
margin: 0 auto 2%;
color: #002855;
line-height: 2em;
margin-left: 5%;
}
.culture .line {
width: 4.25%;
height: 5px;
background-color: #002855;
overflow: hidden;
margin: 0 auto 2%;
.orico_Page_productxc .productxcMain .culture_top .culture_bril_con .culture_bril_div .subtitle {
width: 80%;
font-size: 0.875rem;
color: #707070;
font-family: Montserrat-Medium, Montserrat;
margin-top: 1.375rem;
margin-left: 10%;
}
.culture-l {
width: 12%;
float: left;
text-align: right;
padding-right: 2%;
line-height: 2em;
padding-top: 2em;
font-family: 'SourceHanSans-Light';
font-weight: bold;
color: #002855;
.orico_Page_productxc .productxcMain .culture_top .culture_bril_con .culture_bril_div:first-child {
margin-left: 0;
}
.culture-l span {
display: block;
position: absolute;
width: 10px;
height: 10px;
border-radius: 5px;
background-color: #002855;
right: -5px;
top: 2.5em;
}
.culture-r {
border-left: 1px solid #b0bbc7;
width: 72%;
float: left;
padding-left: 7%;
line-height: 2em;
padding-top: 2em;
font-family: 'SourceHanSans-Light';
}
.culture-Menu .Menu {
margin-bottom: 3%;
overflow: hidden;
}
.culture-Menu a {
display: inline-block;
border-radius: 2em;
margin-left: 1%;
color: #009fdf;
text-decoration: none;
cursor: pointer;
}
.culture-Menu .active {
background-color: #002855;
border: 2px solid #002855;
color: #fff;
}
@media screen and (min-width: 480px) {
.culture-Menu a {
padding: 0.5% 2%;
margin-right: 1%;
border: 2px solid #009fdf;
}
}
@media screen and (max-width: 479px) {
.culture-Menu a {
padding: 0.5% 1.5%;
margin-right: 0.5%;
border: 1px solid #009fdf;
}
}
/*愿景与使命*/
.culture_vision {
.orico_Page_productxc .productxcMain .culture_vision {
background-color: #fff;
overflow: hidden;
width: 100%;
}
.culture_vision .title {
.orico_Page_productxc .productxcMain .culture_vision .subtitle {
font-size: 1.25rem;
color: #101010;
line-height: 2em;
margin-bottom: 2%;
font-weight: 600;
font-family: Montserrat-Bold, Montserrat;
}
.orico_Page_productxc .productxcMain .culture_vision .swt-Container {
width: 80%;
margin: 0 auto;
max-width: 101.25rem;
}
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .title {
font-size: 3em;
font-weight: 600;
color: #101010;
@@ -150,595 +97,63 @@
padding-top: 2.3%;
padding-bottom: 2%;
line-height: 2em;
font-family: 'LATO-MEDIUM';
font-family: "LATO-MEDIUM";
}
.culture_vision .left {
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .swt-Table {
margin-bottom: 4%;
}
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .swt-Table .Table-Row {
display: table-row;
}
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .swt-Table .Table-Row .left {
width: 46.7%;
text-align: center;
vertical-align: middle;
}
.culture_vision .left img,.culture_vision .right img{
border-radius: 16px;
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .swt-Table .Table-Row .left img {
border-radius: 1rem;
}
.culture_vision .center {
width: 6.6%;
}
.culture_vision .right {
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .swt-Table .Table-Row .right {
width: 46.7%;
text-align: center;
vertical-align: middle;
}
.culture_vision .subtitle {
font-size: 20px;
color: #101010;
line-height: 2em;
margin-bottom: 2%;
font-weight: 600;
font-family: Montserrat-Bold, Montserrat;
}
.culture_vision .left p {
text-align: left;
display: inline-block;
width: 90%;
}
.culture_vision .right p {
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .swt-Table .Table-Row .right > p {
margin-left: 5%;
text-align: left;
display: inline-block;
width: 90%;
font-size: 1.25rem;
color: #101010;
line-height: 2em;
margin-bottom: 2%;
font-family: Montserrat-Bold, Montserrat;
margin-right: 10%;
}
.culture_vision .des {
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .swt-Table .Table-Row .right .des {
font-size: 16px;
color: #737373;
line-height: 1.6rem;
font-family: Montserrat-Medium, Montserrat;
}
.culture_vision .swt-Table {
margin-bottom: 4%;
}
@media screen and (max-width: 768px) {
.culture_vision .left,
.culture_vision .right {
width: 100%;
}
.culture_vision p {
width: 90%;
margin-left: 5%;
margin-right: 5%;
}
.culture_vision .subtitle {
margin-top: 5%;
}
.culture_vision_02 {
display: none;
}
.culture_vision_view {
display: block;
}
.culture_vision .left p {
margin-left: 5%;
}
}
@media screen and (min-width: 769px) {
.culture_vision_02 {
display: block;
}
.culture_vision_view {
display: none;
}
}
/*文化与价值观*/
.culture_new_banner {
width: 100%;
position: absolute;
color: #fff;
bottom: 32vw;
text-align: center;
}
.culture_new_banner .title {
font-size: 3em;
line-height: 2em;
}
.culture_new_banner .des {
font-size: 1em;
line-height: 1.6em;
}
@media screen and (max-width: 1440px) {
.culture_new_banner .title {
font-size: 2em;
line-height: 2em;
}
.culture_new_banner .des {
font-size: 1em;
line-height: 1.6em;
}
.culture_vision .subtitle {
color: #101010;
line-height: 2em;
margin-bottom: 2%;
font-weight: 600;
}
.culture_vision .des {
color: #737373;
line-height: 1.6em;
}
.culture_vision .right p {
margin-left: 0;
}
.culture_vision .left p {
margin-left: -10%;
}
}
@media screen and (max-width: 768px) {
.culture_new_banner .des {
display: none;
}
}
@media screen and (max-width: 480px) {
.culture_new_banner {
bottom: 30vw;
}
.culture_new_banner .title {
font-size: 1.5em;
}
}
.culture_new {
width: 100%;
}
.culture_new .title {
font-size: 2em;
color: #101010;
padding: 4.5% 0 0.6%;
font-weight: 600;
line-height: 1.8em;
font-family: 'LATO-MEDIUM';
}
.culture_new .des {
font-size: 1em;
color: #737373;
width: 70%;
margin: auto;
line-height: 1.6em;
}
.culture_new ul {
margin-top: 3%;
margin-bottom: 3%;
}
.culture_new li {
width: 29.4%;
padding: 1.5%;
box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1);
margin-bottom: 4%;
}
.culture_new li .list-title {
color: #333333;
font-size: 1em;
text-align: center;
padding-top: 5%;
padding-bottom: 3.5%;
font-weight: 600;
}
.culture_new li .list-des {
color: #737373;
text-align: left;
font-size: 1em;
width: 92%;
line-height: 1.6em;
margin-bottom: 3%;
margin-left: auto;
margin-right: auto;
}
.culture_new .R-margin {
width: 1.4%;
box-shadow: none;
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .swt-Table .Table-Row .Table-Cell {
display: table-cell;
margin: 0;
padding: 0;
}
.culture_new_gray {
width: 100%;
background-color: #f5f5f5;
padding: 2.8% 0;
overflow: hidden;
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .swt-Table .Table-Row .center {
width: 6.6%;
}
.culture_new_gray .center_bg {
background-color: #fff;
overflow: hidden;
}
.culture_new_gray .left {
width: 50.3%;
float: left;
}
.culture_new_gray .right {
width: 49.7%;
float: right;
}
.culture_new_gray .content {
width: 95%;
margin: 3% 2% 3% 3%;
}
.culture_new_gray p {
display: inline-block;
width: 100%;
margin: auto;
}
.culture_new_gray p span {
border-bottom: 2px solid #101010;
display: inline-block;
}
.culture_new_gray .title {
font-size: 1.5em;
color: #101010;
line-height: 1.8em;
margin-bottom: 2.8%;
font-weight: 600;
}
.culture_new_gray .subtitle {
font-size: 1em;
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .culture_vision_02 .des {
font-size: 1rem;
color: #737373;
margin-bottom: 2.7%;
line-height: 1.6em;
line-height: 1.6rem;
font-family: Montserrat-Medium, Montserrat;
}
.culture_new_gray .des {
font-size: 0.875em;
color: 737373;
line-height: 1.8em;
}
@media screen and (min-width: 540px) {
.culture_new .swt-Table {
display: table;
width: 100%;
margin-top: 3.4%;
margin-bottom: 4.5%;
}
.culture_new .swt-Table .Table-Row {
display: table-row;
}
.culture_new .swt-Table .Table-Row .Table-Cell {
display: table-cell;
text-align: center;
padding-top: 1.3%;
padding-bottom: 1.3%;
}
}
@media screen and (max-width: 539px) {
.culture_new li {
width: 92%;
text-align: center;
padding-top: 5%;
padding-bottom: 5%;
margin-left: auto;
margin-right: auto;
}
.culture_new .title {
padding: 3% 0 2% 0;
}
}
@media screen and (max-width: 768px) {
.culture_new_gray .right {
width: 100%;
text-align: center;
margin-top: 2%;
}
.culture_new_gray .left {
width: 96%;
margin: auto;
}
}
@media screen and (max-width: 742px) {
.culture_new_gray .right {
margin-top: 0;
}
.culture_new_gray .right img {
width: 100%;
}
}
/*我们会*/
.wewill_title {
font-size: 2em;
font-family: 'LATO-MEDIUM';
font-weight: 600;
color: #101010;
}
.wewill_des {
font-size: 1em;
color: #737373;
line-height: 1.6em;
}
.wewill_des_text {
font-size: 0.875em;
line-height: 1.5em;
}
@media screen and (max-width: 960px) {
.wewill_title {
font-size: 1.5em;
}
.wewill_des {
line-height: 1.4em;
}
.wewill_des_text {
font-size: 1em;
}
}
.cul_line {
width: 40px;
height: 3px;
background: #0e0e0e;
margin: 2% 0;
}
.wewill_01 {
padding: 3.2% 0;
background-image: url(../../images/culture/wewill_bg.jpg);
overflow: hidden;
background-repeat: no-repeat;
}
.wewill_01 .left {
width: 32.5%;
float: left;
}
.wewill_01 .right {
width: 55%;
float: left;
padding-top: 5%;
padding-left: 6%;
}
.wewill_01 .wewill_des {
margin-top: 4%;
}
@media screen and (max-width: 1280px) {
.wewill_01 .right {
padding-top: 3%;
width: 60%;
}
}
@media screen and (max-width: 960px) {
.wewill_01 .right {
padding-top: 0;
width: 60%;
}
.wewill_01 .wewill_des {
margin-top: 2%;
}
}
@media screen and (max-width: 480px) {
.wewill_01 .left {
width: 100%;
}
.wewill_01 .wewill_title {
margin-top: 4%;
}
.wewill_01 .right {
width: 100%;
padding: 2% 0 3%;
}
.wewill_01 .wewill_des {
margin-top: 3%;
}
}
.wewill_bg {
background: #f1f1f1;
padding: 3% 0;
}
.wewill_02 .wewill_title {
text-align: center;
margin-bottom: 2.5%;
}
.wewill_02 .wewill_des {
text-align: center;
font-weight: 600;
color: #333333;
margin-top: 5%;
margin-bottom: 3%;
}
.wewill_02 .text_width {
width: 32.4%;
background-color: #ffffff;
overflow: hidden;
box-shadow: 0px 5px 15px #e6e6e6;
}
.wewill_02 .spacing {
width: 1.4%;
}
.wewill_02 .text_all {
width: 88%;
margin: 6% auto;
}
.wewill_02 .wewill_des_text {
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .culture_vision_02 .des,
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .culture_vision_02 .subtitle {
text-align: left;
}
.wewill_02 .sub_title {
font-size: 1em;
color: #737373;
width: 70%;
margin: auto;
text-align: center;
margin-bottom: 3%;
}
.wewill_03 {
background-color: #fff;
overflow: hidden;
}
.wewill_03 .wewill_title {
text-align: center;
margin-bottom: 2.5%;
}
.wewill_03 .wewill_des {
width: 70%;
margin: auto;
text-align: center;
}
.wewill_03 ul {
width: 100%;
margin-top: 3%;
}
.wewill_03 li {
width: 31%;
margin-right: 3.5%;
float: left;
}
.wewill_03 li:last-child {
margin-right: 0;
}
.wewill_03 .wewill_des_text {
font-size: 1.25em;
font-family: 'LATO-MEDIUM';
color: #333333;
text-align: left;
margin-top: 5%;
}
@media screen and (max-width: 768px) {
.wewill_02 .text_width {
width: 100%;
margin-bottom: 3%;
}
.wewill_02 .spacing {
display: none;
}
.wewill_02 .text_all {
width: 80%;
margin: 6% auto;
text-align: center;
}
.wewill_03 li {
width: 100%;
text-align: center;
overflow: hidden;
}
.wewill_03 li:last-child {
margin-bottom: 0;
}
.wewill_03 .wewill_des_text {
margin-top: 2%;
margin-bottom: 5%;
}
.wewill_03 .wewill_des {
width: 80%;
}
}
@media screen and (min-width:769px){
.swt-Table{display: table; width:100%;}
.swt-Table .Table-Row{display: table-row;}
.swt-Table .Table-Row .Table-Cell{display: table-cell; margin:0; padding:0;}
}
/*我们是*/
.weare_bg {
background: #f5f5f5;
padding: 3vw 0;
overflow: hidden;
}
.weare_bg_white {
background-color: #fff;
}
.weare_idea .left {
width: 70%;
}
.weare_idea .right {
width: 20%;
vertical-align: middle;
line-height: 1.4em;
}
.weare_idea_all {
width: 90%;
padding: 5%;
}
.weare_idea_all .wewill_title {
margin-bottom: 4%;
}
.weare_idea p {
margin-bottom: 2%;
}
.weare_idea .margin-top {
margin-top: 3.5%;
}
.weare_03 {
margin-top: 5%;
margin-bottom: 5%;
overflow: hidden;
}
.weare_03 li {
width: 31%;
float: left;
margin-right: 3.5%;
text-align: center;
}
.weare_03 li:last-child {
margin-right: 0;
}
.weare_03 .wewill_des {
font-weight: 600;
margin-top: 3%;
color: #333333;
}
.weare_03 .wewill_des_text {
margin-top: 3%;
overflow: hidden;
}
.weare_04 .wewill_title {
text-align: center;
}
.weare_04 .wewill_des {
text-align: center;
color: #333333;
margin-top: 1.5%;
font-weight: 600;
font-size: 1.5em;
}
.weare_04 .wewill_des_text {
text-align: center;
margin-top: 1%;
width: 76%;
margin-left: auto;
margin-right: auto;
font-size: 1em;
}
.weare_04 ul {
margin-top: 2%;
overflow: hidden;
}
.weare_04 li {
width: 32%;
margin-right: 2%;
float: left;
}
.weare_04 li:last-child {
margin-right: 0;
}
@media screen and (max-width: 768px) {
.weare_idea .left {
width: 100%;
text-align: center;
}
.weare_idea .right {
width: 100%;
text-align: center;
padding-bottom: 7%;
overflow: hidden;
}
.weare_idea .right img {
max-width: 100%;
display: block;
}
.weare_03 li {
width: 100%;
margin-top: 3%;
margin-right: 0;
}
.weare_04 li {
width: 100%;
text-align: center;
margin-bottom: 2%;
}
.orico_Page_productxc .productxcMain .culture_vision .swt-Container .culture_vision_02 img {
border-radius: 1rem;
}

View File

@@ -91,11 +91,11 @@
flex-direction: row;
align-items: center;
justify-content: space-between;
padding-bottom: 20px;
padding-bottom: 1%;
}
.orico_Page_introduction .introductionMain .iotb_part2 .fdimgs .fdimgs-div {
width: 320px;
height: 255px;
width: 24%;
/* height: 255px; */
background: #fff;
border-radius: 8px;
display: flex;
@@ -104,9 +104,9 @@
position: relative;
text-align: center;
}
.orico_Page_introduction .introductionMain .iotb_part2 .fdimgs.fdimgs1 .fdimgs-div {
/* .orico_Page_introduction .introductionMain .iotb_part2 .fdimgs.fdimgs1 .fdimgs-div {
height: 405px;
}
} */
.orico_Page_introduction .introductionMain .iotb_part2 .fdimgs .fdimgs-div .fdimgs-div-span {
position: absolute;
bottom: 0px;

View File

@@ -75,11 +75,10 @@
padding: 2% 1.5rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.orico_Page_category .categoryMain .tabConten .tbmain .Contenitem {
float: left;
width: 30.1%;
width: 29.9%;
height: auto;
margin: 0 0 1.4% 0;
background: #f5f5f5;
@@ -87,6 +86,10 @@
position: relative;
/* min-height: 32rem; */
overflow: hidden;
margin-right: 1.5%;
}
.orico_Page_category .categoryMain .tabConten .tbmain .Contenitem:nth-child(3n){
margin-right: 0
}
.orico_Page_category .categoryMain .tabConten .tbmain .Contenitem a {
color: #000;

View File

@@ -15,7 +15,11 @@
margin-top: 2.6rem;
}
.orico_Page_articleDetail .articleDetailMain .atmleft {
display: flex;
flex-direction: column;
width: calc(100% - 1.5rem - 25rem);
}
.orico_Page_articleDetail .articleDetailMain .atmleft .ct {
min-height: 650px;
background: #ffffff;
border: 1px solid #e8e8e8;
@@ -85,22 +89,41 @@
padding: 1.875rem;
display: flex;
}
.orico_Page_articleDetail .articleDetailMain .atmright .blog_share .share_list .atdit {
.orico_Page_articleDetail
.articleDetailMain
.atmright
.blog_share
.share_list
.atdit {
float: left;
margin-right: 3.125rem;
position: relative;
}
.orico_Page_articleDetail .articleDetailMain .atmright .blog_share .share_list .atdit img {
.orico_Page_articleDetail
.articleDetailMain
.atmright
.blog_share
.share_list
.atdit
img {
margin: 0 auto;
display: block;
}
.orico_Page_articleDetail .articleDetailMain .atmright .atdit .triggered_qrcode {
.orico_Page_articleDetail
.articleDetailMain
.atmright
.atdit
.triggered_qrcode {
display: none;
position: absolute;
left: 50%;
transform: translateX(-50%);
}
.orico_Page_articleDetail .articleDetailMain .atmright .atdit:hover .triggered_qrcode {
.orico_Page_articleDetail
.articleDetailMain
.atmright
.atdit:hover
.triggered_qrcode {
display: block;
}
.orico_Page_articleDetail .articleDetailMain .atmright .repply {
@@ -220,3 +243,39 @@
-webkit-transition: all 0.2s linear;
transform: scale3d(1.2, 1.2, 1);
}
.orico_Page_articleDetail .pl {
background: #fff;
padding: 2%;
}
.orico_Page_articleDetail .plmain {
margin-right: 1.25rem;
margin-top: 2%;
}
.orico_Page_articleDetail .plmain .titlepp {
font-size: 1.4em;
color: #101010;
font-weight: bold;
margin-bottom: 0.9375rem;
display: flex;
}
.orico_Page_articleDetail .plit {
margin: 10px 0;
display: flex;
flex-direction: row;
flex-wrap: wrap;
border-bottom: 1px solid #e8e8e8;
padding: 8px;
margin-bottom: 0.3125rem;
}
.orico_Page_articleDetail .plit:last-child {
border: none;
}
.orico_Page_articleDetail .plit .name {
color: #004bfa;
padding-right: 0.625rem;
}

View File

@@ -21,7 +21,7 @@
justify-content: space-between;
}
.narskfPage .narskf-content .narskf-ct-row .narskfit {
width: 18rem;
width: 24%;
height: 17.25rem;
border-radius: 0.125rem;
margin-right: 1rem;

View File

@@ -76,6 +76,7 @@
margin-top: 4rem;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.orico_Page_download .downloadMain .contact_c .tab a{
width:32%
@@ -201,6 +202,7 @@
justify-content: flex-start;
padding-left: 40px;
padding-right: 40px;
flex-wrap: wrap;
}
.orico_Page_download .downloadMain .contact_c .vidotabs .hd ul li {
margin-right: 80px;
@@ -224,27 +226,29 @@
height: auto;
}
.orico_Page_download .downloadMain .contact_c .vidotabs .bdconten ul {
margin: 0;
padding: 0;
display: flex;
justify-content: flex-start;
}
.orico_Page_download .downloadMain .contact_c .vidotabs .bdconten .video_hotul {
display: flex;
align-items: inherit;
flex-wrap: wrap;
width: 100%;
justify-content: space-between;
flex-direction: row;
margin-bottom: 1.5%;
}
.orico_Page_download .downloadMain .contact_c .vidotabs .bdconten .video_hotul {
width:49.2%
}
.orico_Page_download .downloadMain .contact_c .vidotabs .bdconten .video_hotul dd {
margin-right: 24px;
width: 671px;
margin-bottom: 34px;
background-color: #fff;
border-radius: 24px;
overflow: hidden;
}
.orico_Page_download .downloadMain .contact_c .vidotabs .bdconten .video_hotul:last-child dd{
margin-right: 0;
}
.orico_Page_download .downloadMain .contact_c .vidotabs .bdconten .video_hotul dd video {
width: 100%;
display: block;
max-height:390px;
}
.orico_Page_download .downloadMain .contact_c .vidotabs .bdconten .video_hotul dd .htit {
padding-left: 56px;