diff --git a/app/admin/controller/IndexController.php b/app/admin/controller/IndexController.php
index 1e4656f..5a3605d 100644
--- a/app/admin/controller/IndexController.php
+++ b/app/admin/controller/IndexController.php
@@ -354,7 +354,7 @@ class IndexController extends Base{
try {
// 验证上传的文件
validate([
- 'image'=>'filesize:10240|fileExt:jpg,png,gif,jpeg'
+ 'image'=>'filesize:51200|fileExt:jpg,png,gif,jpeg'
])->check($file);
// 存储文件到public磁盘的uploads目录
diff --git a/app/admin/controller/ResourcesController.php b/app/admin/controller/ResourcesController.php
index b6070cf..71e07ca 100644
--- a/app/admin/controller/ResourcesController.php
+++ b/app/admin/controller/ResourcesController.php
@@ -106,9 +106,13 @@ class ResourcesController extends BaseController
'url' => input('post.url'),
'fileurl' => input('post.fileurl'),
'code' => input('post.code'),
+ 'zipcode' => input('post.zipcode'),
'uploader' => input('post.uploader'),
'desc' => input('post.desc'),
+ 'content' => input('post.content'),
+ 'number' => input('post.number'),
'status' => input('post.status', 1),
+
'create_time' => time()
];
@@ -131,9 +135,7 @@ class ResourcesController extends BaseController
}
}
- /**
- * 编辑资源
- */
+ // 编辑资源
public function edit()
{
if (Request::isPost()) {
@@ -154,7 +156,10 @@ class ResourcesController extends BaseController
'fileurl' => $data['fileurl'],
'url' => $data['url'],
'code' => $data['code'],
+ 'zipcode' => $data['zipcode'],
'sort' => $data['sort'],
+ 'number' => $data['number'],
+ 'content' => $data['content'],
'update_time' => time()
];
@@ -179,7 +184,7 @@ class ResourcesController extends BaseController
$resource = Resource::where('id', $id)
->where('delete_time', null)
->find();
-
+
if (!$resource) {
Log::record('编辑资源', 0, '资源不存在', '资源管理');
$this->error('资源不存在');
@@ -226,6 +231,29 @@ class ResourcesController extends BaseController
->order('sort asc, id asc')
->select()
->toArray();
+
+ // 获取每个分类下的资源总数
+ foreach ($lists as &$item) {
+ if ($item['cid'] == 0) {
+ // 父级分类 - 统计所有子分类的资源总数
+ $childIds = ResourceCategory::where('cid', $item['id'])
+ ->where('delete_time', null)
+ ->where('status', 1)
+ ->column('id');
+
+ $item['total'] = Resource::where('cate', 'in', array_merge([$item['id']], $childIds))
+ ->where('delete_time', null)
+ ->where('status', '<>', 3)
+ ->count();
+ } else {
+ // 子分类 - 只统计当前分类的资源
+ $item['total'] = Resource::where('cate', $item['id'])
+ ->where('delete_time', null)
+ ->where('status', '<>', 3)
+ ->count();
+ }
+ }
+
$tree = $this->buildParentChild($lists);
return json(['code' => 0, 'msg' => '获取成功', 'data' => $tree]);
}
@@ -238,6 +266,7 @@ class ResourcesController extends BaseController
'name' => input('post.name'),
'icon' => input('post.icon'),
'cid' => input('post.cid'),
+ 'number' => input('post.number'),
'sort' => input('post.sort', 0),
'status' => input('post.status', 1),
'create_time' => time()
@@ -276,6 +305,7 @@ class ResourcesController extends BaseController
'name' => input('post.name'),
'icon' => input('post.icon'),
'cid' => input('post.cid'),
+ 'number' => input('post.number'),
'sort' => input('post.sort', 0),
'status' => input('post.status', 1),
'update_time' => time()
diff --git a/app/admin/view/resources/add.php b/app/admin/view/resources/add.php
index 7dc2346..c9f52b6 100644
--- a/app/admin/view/resources/add.php
+++ b/app/admin/view/resources/add.php
@@ -22,12 +22,20 @@
+
+
+
+
+
+
@@ -120,6 +146,7 @@
+
+
+
+
+
+
+
@@ -87,6 +87,7 @@
method: 'post',
cols: [[
{ field: 'id', title: 'ID', align: 'center', width: 80 },
+ { field: 'number', title: '资源编号', width: 100 },
{ field: 'title', title: '资源名称' },
{ field: 'cate', title: '分类', align: 'center', width: 120 },
{ field: 'icon', title: '图标', templet: '#iconTemplate', align: 'center', width: 100 },
diff --git a/app/controller/StorageController.php b/app/controller/StorageController.php
deleted file mode 100644
index 0519ecb..0000000
--- a/app/controller/StorageController.php
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/index/controller/GameController.php b/app/index/controller/GameController.php
new file mode 100644
index 0000000..3337622
--- /dev/null
+++ b/app/index/controller/GameController.php
@@ -0,0 +1,242 @@
+ 0) {
+ $where[] = ['cate', '=', $cateId];
+ }
+
+ // 获取游戏列表
+ $games = Resources::where($where)
+ ->order('id DESC')
+ ->paginate([
+ 'list_rows' => 10,
+ 'query' => Request::param()
+ ]);
+
+ // 获取分类信息
+ $category = null;
+ if ($cateId > 0) {
+ $category = ResourcesCategory::where('id', $cateId)
+ ->where('delete_time', null)
+ ->where('status', 1)
+ ->find();
+ }
+
+ // 获取所有分类
+ $categories = ResourcesCategory::where('delete_time', null)
+ ->where('status', 1)
+ ->select()
+ ->toArray();
+
+ // 将变量传递给视图
+ View::assign([
+ 'games' => $games,
+ 'category' => $category,
+ 'categories' => $categories
+ ]);
+
+ return View::fetch('list');
+ }
+
+ // 游戏详情页
+ public function detail()
+ {
+ $id = Request::param('id/d', 0);
+ $game = Resources::where('id', $id)->find();
+
+ if (!$game) {
+ return json(['code' => 0, 'msg' => '游戏不存在或已被删除']);
+ }
+
+ // 如果size没有,从附件表中获取
+ if (empty($game['size']) && !empty($game['fileurl'])) {
+ $attachment = Attachments::where('src', $game['fileurl'])
+ ->find();
+
+ if ($attachment && !empty($attachment['size'])) {
+ $size = $attachment['size'];
+ // 转换文件大小为合适的单位
+ if ($size >= 1073741824) { // 1GB = 1024MB = 1024*1024KB = 1024*1024*1024B
+ $game['size'] = round($size / 1073741824, 2) . 'GB';
+ } elseif ($size >= 1048576) { // 1MB = 1024KB = 1024*1024B
+ $game['size'] = round($size / 1048576, 2) . 'MB';
+ } else {
+ $game['size'] = round($size / 1024, 2) . 'KB';
+ }
+ }
+ }
+
+ // 获取分类名称
+ $cateName = ResourcesCategory::where('id', $game['cate'])
+ ->value('name');
+
+ // 获取上一个和下一个游戏
+ $prevGame = Resources::where('id', '<', $id)
+ ->where('delete_time', null)
+ ->where('status', 1)
+ ->order('id DESC')
+ ->find();
+
+ $nextGame = Resources::where('id', '>', $id)
+ ->where('delete_time', null)
+ ->where('status', 1)
+ ->order('id ASC')
+ ->find();
+
+ // 获取相关游戏(同分类的其他游戏)
+ $relatedGames = Db::table('yz_resources')
+ ->alias('g')
+ ->join('yz_resources_category c', 'g.cate = c.id')
+ ->where('g.cate', $game['cate'])
+ ->where('g.id', '<>', $id)
+ ->where('g.delete_time', null)
+ ->where('g.status', 1)
+ ->field([
+ 'g.id',
+ 'g.title',
+ 'g.desc',
+ 'IF(g.icon IS NULL OR g.icon = "", c.icon, g.icon) as icon'
+ ])
+ ->order('g.id DESC')
+ ->limit(3)
+ ->select()
+ ->toArray();
+
+ // 如果是 AJAX 请求,返回 JSON 数据
+ if (Request::isAjax()) {
+ return json([
+ 'code' => 1,
+ 'msg' => '获取成功',
+ 'data' => [
+ 'game' => $game,
+ 'cateName' => $cateName,
+ 'prevGame' => $prevGame,
+ 'nextGame' => $nextGame,
+ 'relatedGames' => $relatedGames
+ ]
+ ]);
+ }
+
+ // 非 AJAX 请求返回视图
+ View::assign([
+ 'game' => $game,
+ 'cateName' => $cateName,
+ 'prevGame' => $prevGame,
+ 'nextGame' => $nextGame,
+ 'relatedGames' => $relatedGames
+ ]);
+
+ return View::fetch('detail');
+ }
+
+ // 游戏下载
+ public function downloadurl()
+ {
+ if (!Request::isAjax()) {
+ return json(['code' => 0, 'msg' => '非法请求']);
+ }
+
+ $id = Request::param('id/d', 0);
+
+ // 获取游戏信息
+ $game = Resources::where('id', $id)
+ ->where('delete_time', null)
+ ->find();
+
+ if (!$game) {
+ return json(['code' => 0, 'msg' => '游戏不存在']);
+ }
+
+ // 更新下载次数
+ $result = Resources::where('id', $id)
+ ->where('delete_time', null)
+ ->inc('downloads', 1)
+ ->update();
+
+ if ($result) {
+ return json([
+ 'code' => 1,
+ 'msg' => '下载成功',
+ 'data' => [
+ 'url' => $game['url']
+ ]
+ ]);
+ } else {
+ return json(['code' => 0, 'msg' => '下载失败']);
+ }
+ }
+
+ // 获取访问统计
+ public function viewStats()
+ {
+ $id = Request::param('id/d', 0);
+
+ // 获取总访问量
+ $totalViews = Resources::where('id', $id)
+ ->value('views');
+
+ return json([
+ 'code' => 1,
+ 'data' => [
+ 'total' => $totalViews
+ ]
+ ]);
+ }
+
+ /**
+ * 更新游戏访问次数
+ */
+ public function updateViews()
+ {
+ if (!Request::isPost()) {
+ return json(['code' => 0, 'msg' => '非法请求']);
+ }
+
+ $id = Request::post('id');
+ if (!$id) {
+ return json(['code' => 0, 'msg' => '参数错误']);
+ }
+
+ try {
+ // 更新访问次数
+ $game = Resources::where('id', $id)->find();
+ if (!$game) {
+ return json(['code' => 0, 'msg' => '游戏不存在']);
+ }
+
+ // 更新访问次数
+ Resources::where('id', $id)->inc('views')->update();
+
+ // 获取更新后的访问次数
+ $newViews = Resources::where('id', $id)->value('views');
+
+ return json(['code' => 1, 'msg' => '更新成功', 'data' => ['views' => $newViews]]);
+ } catch (\Exception $e) {
+ return json(['code' => 0, 'msg' => '更新失败:' . $e->getMessage()]);
+ }
+ }
+}
diff --git a/app/index/controller/IndexController.php b/app/index/controller/IndexController.php
index e73f646..31f70bf 100644
--- a/app/index/controller/IndexController.php
+++ b/app/index/controller/IndexController.php
@@ -270,4 +270,75 @@ class IndexController extends BaseController
'categories' => $categoryData
]);
}
+
+ /**
+ * 获取游戏下载列表
+ */
+ public function gameList()
+ {
+ // 获取游戏分类(顶级分类id为8的子分类)
+ $categories = ResourcesCategory::where('cid', 8)
+ ->where('delete_time', null)
+ ->select()
+ ->toArray();
+
+ // 组装分类数据
+ $categoryData = [];
+ $categoryImageMap = [];
+ $programsByCategory = [];
+
+ foreach ($categories as $category) {
+ $categoryData[] = [
+ 'id' => $category['id'],
+ 'name' => $category['name'],
+ 'image' => $category['image'] ?? ''
+ ];
+
+ // 获取每个分类下的游戏,限制8条
+ $programs = Resources::where('cate', $category['id'])
+ ->where('delete_time', null)
+ ->where('status', 1)
+ ->order('id', 'desc')
+ ->field('id, cate, title, desc, downloads, create_time, icon, views, uploader, number, url, code')
+ ->limit(8)
+ ->select()
+ ->toArray();
+
+ // 处理游戏数据
+ foreach ($programs as &$program) {
+ // 如果没有图标,使用分类图片
+ if (empty($program['icon']) && !empty($category['image'])) {
+ $program['icon'] = $category['image'];
+ }
+ // 格式化时间
+ $program['create_time'] = date('Y-m-d H:i:s', $program['create_time']);
+ }
+ unset($program);
+
+ $programsByCategory[$category['id']] = $programs;
+ }
+
+ // 合并所有分类的游戏
+ $allPrograms = [];
+ foreach ($programsByCategory as $programs) {
+ $allPrograms = array_merge($allPrograms, $programs);
+ }
+
+ // 按上传时间排序
+ usort($allPrograms, function($a, $b) {
+ return strtotime($b['create_time']) - strtotime($a['create_time']);
+ });
+
+ // 只取最新的8条
+ $allPrograms = array_slice($allPrograms, 0, 8);
+
+ return json([
+ 'code' => 0,
+ 'msg' => '获取成功',
+ 'data' => [
+ 'games' => $allPrograms,
+ 'categories' => $categoryData
+ ]
+ ]);
+ }
}
diff --git a/app/index/view/component/main.php b/app/index/view/component/main.php
index bc1f7bd..45cd214 100644
--- a/app/index/view/component/main.php
+++ b/app/index/view/component/main.php
@@ -84,6 +84,27 @@
+
+
+
@@ -204,6 +225,32 @@
});
}
+ // 加载游戏下载
+ function loadGames() {
+ fetch('/index/index/gameList')
+ .then(response => response.json())
+ .then(result => {
+ if (result.code === 0) {
+ // 渲染分类标签
+ if (result.data.categories) {
+ renderCategoryTabs(result.data.categories, 'gameDownload');
+ }
+ // 渲染游戏列表
+ if (result.data.games && result.data.games.length > 0) {
+ renderGames(result.data.games, 'gameDownloadList');
+ } else {
+ showNoData('gameDownloadList');
+ }
+ } else {
+ showNoData('gameDownloadList');
+ }
+ })
+ .catch(error => {
+ console.error('请求失败:', error);
+ showError('gameDownloadList');
+ });
+ }
+
// 显示无数据提示
function showNoData(containerId) {
document.getElementById(containerId).innerHTML = '暂无数据
';
@@ -266,6 +313,9 @@
case 'programDownload':
loadCategoryPrograms(selectedCategoryId, 'programDownloadList');
break;
+ case 'gameDownload':
+ loadCategoryGames(selectedCategoryId, 'gameDownloadList');
+ break;
}
});
});
@@ -506,11 +556,70 @@
});
}
+ // 渲染游戏列表
+ function renderGames(games, containerId) {
+ const container = document.getElementById(containerId);
+ if (!container) return;
+
+ let html = '';
+ if (Array.isArray(games)) {
+ games.forEach(game => {
+ html += createGameHtml(game);
+ });
+ }
+
+ container.innerHTML = html || '暂无数据
';
+ }
+
+ // 创建游戏HTML
+ function createGameHtml(game) {
+ if (!game) return '';
+
+ return `
+
+
+

+
+
+
${game.title || '无标题'}
+
${game.create_time || ''}
+
+
+
${game.views || 0}
+
${game.uploader || '未知作者'}
+
+
+ `;
+ }
+
+ // 加载分类游戏
+ function loadCategoryGames(categoryId, containerId) {
+ fetch('/index/index/gameList')
+ .then(response => response.json())
+ .then(result => {
+ if (result.code === 0) {
+ if (categoryId === 'all') {
+ renderGames(result.data.games, containerId);
+ } else {
+ const filteredGames = result.data.games.filter(game => game.cate == categoryId);
+ renderGames(filteredGames, containerId);
+ }
+ } else {
+ showNoData(containerId);
+ }
+ })
+ .catch(error => {
+ console.error('请求失败:', error);
+ showError(containerId);
+ });
+ }
+
// 页面加载完成后执行
document.addEventListener('DOMContentLoaded', function() {
loadWebArticles();
loadTechArticles();
loadResources();
loadPrograms();
+ loadGames();
});
\ No newline at end of file
diff --git a/app/index/view/game/detail.php b/app/index/view/game/detail.php
new file mode 100644
index 0000000..0e6bd4b
--- /dev/null
+++ b/app/index/view/game/detail.php
@@ -0,0 +1,496 @@
+{include file="component/head" /}
+{include file="component/header-simple" /}
+
+
+
+
+
+
+
+
+
![<?php echo $game['title']; ?>](<?php echo $game['icon'] ?: '/static/images/default-game.png'; ?>)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{include file="component/footer" /}
+
+
+
+
+
+{include file="component/foot" /}
\ No newline at end of file
diff --git a/app/index/view/program/detail.php b/app/index/view/program/detail.php
index 29ed958..0f6ef6b 100644
--- a/app/index/view/program/detail.php
+++ b/app/index/view/program/detail.php
@@ -17,9 +17,8 @@
- 浏览
-
- 下载
+
+
diff --git a/public/static/css/index.css b/public/static/css/index.css
index 9dd1faf..f1c0fe5 100644
--- a/public/static/css/index.css
+++ b/public/static/css/index.css
@@ -1,40 +1,123 @@
-html #layuicss-layuiAdmin{display:none; position: absolute; width: 1989px;}
+html #layuicss-layuiAdmin {
+ display: none;
+ position: absolute;
+ width: 1989px;
+}
/* 系统 */
-::-webkit-input-placeholder{color:#ccc}
+::-webkit-input-placeholder {
+ color: #ccc
+}
/* 全局 */
-html{
+html {
/* background-color: #f2f2f2; */
color: #666;
}
+
*[template],
-.layadmin-tabsbody-item{display: none;}
+.layadmin-tabsbody-item {
+ display: none;
+}
+
*[lay-href],
*[lay-tips],
-*[layadmin-event]{cursor: pointer;}
+*[layadmin-event] {
+ cursor: pointer;
+}
/* 重置布局结构 */
-.layui-layout-admin .layui-header{position: fixed; top: 0; left: 0; width: 100%; height: 70px;}
+.layui-layout-admin .layui-header {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 70px;
+}
+
+.layui-layout-admin .layui-header .layui-nav .layui-nav-child a {
+ color: #333;
+}
+
+.layui-layout-admin .layui-side {
+ width: 220px;
+ top: 0;
+ z-index: 1001;
+}
-.layui-layout-admin .layui-header .layui-nav .layui-nav-child a{color: #333;}
-.layui-layout-admin .layui-side{width: 220px; top: 0; z-index: 1001;}
.layui-layout-admin .layui-logo,
-.layui-layout-admin .layui-header .layui-nav .layui-nav-item{height: 70px; line-height: 70px;}
-.layui-layout-admin .layui-logo{position: fixed; left: 0; top: 0; z-index: 1002; width: 220px; height: 49px; padding: 0 15px; box-sizing: border-box; overflow: hidden; font-weight: 300; background-repeat: no-repeat; background-position: center center;}
+.layui-layout-admin .layui-header .layui-nav .layui-nav-item {
+ height: 70px;
+ line-height: 70px;
+}
+
+.layui-layout-admin .layui-logo {
+ position: fixed;
+ left: 0;
+ top: 0;
+ z-index: 1002;
+ width: 220px;
+ height: 49px;
+ padding: 0 15px;
+ box-sizing: border-box;
+ overflow: hidden;
+ font-weight: 300;
+ background-repeat: no-repeat;
+ background-position: center center;
+}
+
.layui-layout-admin .layui-layout-left,
.layadmin-pagetabs,
.layui-layout-admin .layui-body,
-.layui-layout-admin .layui-footer{left: 220px;}
-.layadmin-pagetabs{position: fixed; top: 50px; right: 0; z-index: 999;}
-.layadmin-pagetabs .layui-breadcrumb{padding: 0 15px;}
-.layui-layout-admin .layui-body{position: fixed; top: 90px; bottom: 0;}
-.layui-layout-admin .layui-body .layadmin-tabsbody-item{position: absolute; top: 0; bottom: 0; left: 0; right: 0; overflow: hidden; overflow-y: auto;}
-.layui-layout-admin .layui-header .layui-nav-img{width: 26px; height: 26px;}
-.layui-layout-admin .layui-header .layui-nav-child{top: 55px;}
-.layui-layout-admin .layui-header .layui-layout-right .layui-nav-child{left: auto; right: 0;}
+.layui-layout-admin .layui-footer {
+ left: 220px;
+}
+
+.layadmin-pagetabs {
+ position: fixed;
+ top: 50px;
+ right: 0;
+ z-index: 999;
+}
+
+.layadmin-pagetabs .layui-breadcrumb {
+ padding: 0 15px;
+}
+
+.layui-layout-admin .layui-body {
+ position: fixed;
+ top: 90px;
+ bottom: 0;
+}
+
+.layui-layout-admin .layui-body .layadmin-tabsbody-item {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ overflow: hidden;
+ overflow-y: auto;
+}
+
+.layui-layout-admin .layui-header .layui-nav-img {
+ width: 26px;
+ height: 26px;
+}
+
+.layui-layout-admin .layui-header .layui-nav-child {
+ top: 55px;
+}
+
+.layui-layout-admin .layui-header .layui-layout-right .layui-nav-child {
+ left: auto;
+ right: 0;
+}
+
.layui-layout-admin .layui-header .layui-nav .layui-nav-child dd.layui-this a,
-.layui-layout-admin .layui-header .layui-nav .layui-nav-child dd.layui-this{background: none}
+.layui-layout-admin .layui-header .layui-nav .layui-nav-child dd.layui-this {
+ background: none
+}
/* 统一动画 */
.layui-layout-admin .layui-header .layui-nav .layui-nav-item,
@@ -44,219 +127,723 @@ html{
.layui-layout-admin .layui-footer,
.layui-layout-admin .layui-side,
.layui-layout-admin .layui-logo,
-.layui-layout-admin .layui-header .layui-layout-right{transition: all .3s; -webkit-transition: all .3s;}
+.layui-layout-admin .layui-header .layui-layout-right {
+ transition: all .3s;
+ -webkit-transition: all .3s;
+}
/* 图标 */
-.layui-icon-login-qq{color: #3492ED;}
-.layui-icon-login-wechat{color: #4DAF29;}
-.layui-icon-login-weibo{color: #CF1900;}
+.layui-icon-login-qq {
+ color: #3492ED;
+}
+
+.layui-icon-login-wechat {
+ color: #4DAF29;
+}
+
+.layui-icon-login-weibo {
+ color: #CF1900;
+}
/* 表单 */
-.layui-form[wid100] .layui-form-label{width: 100px;}
-.layui-form[wid100] .layui-input-block{margin-left: 130px;}
-@media screen and (max-width: 450px){
- .layui-form[wid100] .layui-form-item .layui-input-inline{margin-left: 132px;}
- .layui-form[wid100] .layui-form-item .layui-input-inline+.layui-form-mid{margin-left: 130px;}
+.layui-form[wid100] .layui-form-label {
+ width: 100px;
+}
+
+.layui-form[wid100] .layui-input-block {
+ margin-left: 130px;
+}
+
+@media screen and (max-width: 450px) {
+ .layui-form[wid100] .layui-form-item .layui-input-inline {
+ margin-left: 132px;
+ }
+
+ .layui-form[wid100] .layui-form-item .layui-input-inline+.layui-form-mid {
+ margin-left: 130px;
+ }
+}
+
+.layui-form-item .layui-input-company {
+ width: auto;
+ padding-right: 10px;
+ line-height: 38px;
}
-.layui-form-item .layui-input-company{width: auto; padding-right: 10px; line-height: 38px;}
/* 辅助 */
-.layadmin-flexible{}
-.layui-bg-white{background-color: #fff;}
-.layadmin-loading{position: absolute; left: 50%; top: 50%; margin: -16px -15px; font-size: 30px; color: #c2c2c2;}
-.layadmin-fixed{position: fixed; left: 0; top: 0; z-index: 999;}
-.layadmin-link{color: #029789!important;}
-.layadmin-link:hover{opacity: 0.8;}
+.layadmin-flexible {}
+
+.layui-bg-white {
+ background-color: #fff;
+}
+
+.layadmin-loading {
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ margin: -16px -15px;
+ font-size: 30px;
+ color: #c2c2c2;
+}
+
+.layadmin-fixed {
+ position: fixed;
+ left: 0;
+ top: 0;
+ z-index: 999;
+}
+
+.layadmin-link {
+ color: #029789 !important;
+}
+
+.layadmin-link:hover {
+ opacity: 0.8;
+}
/* 头部导航 */
-.layui-layout-admin .layui-layout-left{padding: 0 10px;}
-.layui-layout-admin .layui-layout-left .layui-nav-item{margin: 0 20px;}
-.layui-layout-admin .layui-input-search{display: inline-block; vertical-align: middle; height: 32px; border: none; cursor: text;}
-.layui-layout-admin .layui-layout-left a{padding: 0;}
-.layui-layout-admin .layui-layout-right{padding: 0;}
-.layui-header .layui-nav-item .layui-icon{position: relative; top: 1px; font-size: 16px;}
-.layui-header .layui-nav-item:hover{}
-.layui-header .layui-layout-right .layui-badge-dot{margin-left: 0px;}
+.layui-layout-admin .layui-layout-left {
+ padding: 0 10px;
+}
+
+.layui-layout-admin .layui-layout-left .layui-nav-item {
+ margin: 0 20px;
+}
+
+.layui-layout-admin .layui-input-search {
+ display: inline-block;
+ vertical-align: middle;
+ height: 32px;
+ border: none;
+ cursor: text;
+}
+
+.layui-layout-admin .layui-layout-left a {
+ padding: 0;
+}
+
+.layui-layout-admin .layui-layout-right {
+ padding: 0;
+}
+
+.layui-header .layui-nav-item .layui-icon {
+ position: relative;
+ top: 1px;
+ font-size: 16px;
+}
+
+.layui-header .layui-nav-item:hover {}
+
+.layui-header .layui-layout-right .layui-badge-dot {
+ margin-left: 0px;
+}
+
.layui-header .layui-nav .layui-this:after,
-.layui-layout-admin .layui-header .layui-nav-bar{top: 0 !important; bottom: auto; height: 3px; background-color: #fff; background-color: rgba(255,255,255,.3);}
+.layui-layout-admin .layui-header .layui-nav-bar {
+ top: 0 !important;
+ bottom: auto;
+ height: 3px;
+ background-color: #fff;
+ background-color: rgba(255, 255, 255, .3);
+}
/* 遮罩 */
-.layadmin-body-shade{position: fixed; display: none; left: 0; right: 0; top: 0; bottom: 0; background-color: rgba(0,0,0,.3); z-index: 1000;}
+.layadmin-body-shade {
+ position: fixed;
+ display: none;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ background-color: rgba(0, 0, 0, .3);
+ z-index: 1000;
+}
/* 侧边菜单 */
-.layui-side-menu .layui-side-scroll{width: 240px;}
-.layui-side-menu .layui-nav{width: 220px; margin-top: 70px; background: none;}
-.layui-side-menu .layui-nav .layui-nav-item a{height: 40px; line-height: 40px; padding-left: 45px; padding-right: 30px;}
-.layui-side-menu .layui-nav .layui-nav-item > a{padding-top: 8px; padding-bottom: 8px;}
-.layui-side-menu .layui-nav .layui-nav-item a:hover{background: none;}
-.layui-side-menu .layui-nav .layui-nav-itemed > .layui-nav-child{padding: 5px 0;}
-.layui-side-menu .layui-nav .layui-nav-item .layui-icon{position: absolute; top: 50%; left: 20px; margin-top: -25px;}
-.layui-side-menu .layui-nav .layui-nav-item .layui-icons{margin-top: -20px;}
-.layui-side-menu .layui-nav .layui-nav-child .layui-nav-child{background: none!important;}
-.layui-side-menu .layui-nav .layui-nav-child .layui-nav-child a{padding-left: 60px}
-.layui-side-menu .layui-nav .layui-nav-more{right: 15px;}
+.layui-side-menu .layui-side-scroll {
+ width: 240px;
+}
+
+.layui-side-menu .layui-nav {
+ width: 220px;
+ margin-top: 70px;
+ background: none;
+}
+
+.layui-side-menu .layui-nav .layui-nav-item a {
+ height: 40px;
+ line-height: 40px;
+ padding-left: 45px;
+ padding-right: 30px;
+}
+
+.layui-side-menu .layui-nav .layui-nav-item>a {
+ padding-top: 8px;
+ padding-bottom: 8px;
+}
+
+.layui-side-menu .layui-nav .layui-nav-item a:hover {
+ background: none;
+}
+
+.layui-side-menu .layui-nav .layui-nav-itemed>.layui-nav-child {
+ padding: 5px 0;
+}
+
+.layui-side-menu .layui-nav .layui-nav-item .layui-icon {
+ position: absolute;
+ top: 50%;
+ left: 20px;
+ margin-top: -25px;
+}
+
+.layui-side-menu .layui-nav .layui-nav-item .layui-icons {
+ margin-top: -20px;
+}
+
+.layui-side-menu .layui-nav .layui-nav-child .layui-nav-child {
+ background: none !important;
+}
+
+.layui-side-menu .layui-nav .layui-nav-child .layui-nav-child a {
+ padding-left: 60px
+}
+
+.layui-side-menu .layui-nav .layui-nav-more {
+ right: 15px;
+}
/* 侧边菜单 - 平板移动设备 */
@media screen and (max-width: 992px) {
- .layui-layout-admin .layui-side{transform: translate3d(-220px, 0, 0); -webkit-transform: translate3d(-220px, 0, 0); width: 220px;}
+ .layui-layout-admin .layui-side {
+ transform: translate3d(-220px, 0, 0);
+ -webkit-transform: translate3d(-220px, 0, 0);
+ width: 220px;
+ }
+
.layui-layout-admin .layui-layout-left,
.layadmin-pagetabs,
.layui-layout-admin .layui-body,
- .layui-layout-admin .layui-footer{left: 0;}
+ .layui-layout-admin .layui-footer {
+ left: 0;
+ }
}
/* 侧边收缩模式 */
-.layadmin-side-shrink .layui-layout-admin .layui-logo{width: 60px; background-image: url(res/logo.png); /*background-size: 20px;)*/}
-.layadmin-side-shrink .layui-layout-admin .layui-logo span{display: none;}
-.layadmin-side-shrink .layui-side{left: 0; width: 60px;}
+.layadmin-side-shrink .layui-layout-admin .layui-logo {
+ width: 60px;
+ background-image: url(res/logo.png);
+ /*background-size: 20px;)*/
+}
+
+.layadmin-side-shrink .layui-layout-admin .layui-logo span {
+ display: none;
+}
+
+.layadmin-side-shrink .layui-side {
+ left: 0;
+ width: 60px;
+}
+
.layadmin-side-shrink .layui-layout-admin .layui-layout-left,
.layadmin-side-shrink .layadmin-pagetabs,
.layadmin-side-shrink .layui-layout-admin .layui-body,
-.layadmin-side-shrink .layui-layout-admin .layui-footer{left: 60px;}
-.layadmin-side-shrink .layui-side-menu .layui-nav{position: static; width: 60px;}
-.layadmin-side-shrink .layui-side-menu .layui-nav-item{position: static;}
-.layadmin-side-shrink .layui-side-menu .layui-nav-item>a{padding-right: 0;}
+.layadmin-side-shrink .layui-layout-admin .layui-footer {
+ left: 60px;
+}
+
+.layadmin-side-shrink .layui-side-menu .layui-nav {
+ position: static;
+ width: 60px;
+}
+
+.layadmin-side-shrink .layui-side-menu .layui-nav-item {
+ position: static;
+}
+
+.layadmin-side-shrink .layui-side-menu .layui-nav-item>a {
+ padding-right: 0;
+}
+
.layadmin-side-shrink .layui-side-menu .layui-nav-item cite,
-.layadmin-side-shrink .layui-side-menu .layui-nav > .layui-nav-item > a .layui-nav-more,
-.layadmin-side-shrink .layui-side-menu .layui-nav > .layui-nav-item > .layui-nav-child{display: none; padding: 8px 0; width: 200px;}
-.layadmin-side-shrink .layui-side-menu .layui-nav > .layui-nav-itemed>a{background: rgba(0,0,0,.3);}
+.layadmin-side-shrink .layui-side-menu .layui-nav>.layui-nav-item>a .layui-nav-more,
+.layadmin-side-shrink .layui-side-menu .layui-nav>.layui-nav-item>.layui-nav-child {
+ display: none;
+ padding: 8px 0;
+ width: 200px;
+}
+
+.layadmin-side-shrink .layui-side-menu .layui-nav>.layui-nav-itemed>a {
+ background: rgba(0, 0, 0, .3);
+}
/* 移动端展开模式 */
.layadmin-side-spread-sm .layui-layout-admin .layui-layout-left,
.layadmin-side-spread-sm .layadmin-pagetabs,
.layadmin-side-spread-sm .layui-layout-admin .layui-body,
-.layadmin-side-spread-sm .layui-layout-admin .layui-footer{left: 0; transform: translate3d(220px, 0, 0); -webkit-transform: translate3d(220px, 0, 0);}
-.layadmin-side-spread-sm .layui-layout-admin .layui-layout-right{transform: translate3d(220px, 0, 0); -webkit-transform: translate3d(220px, 0, 0);}
-.layadmin-side-spread-sm .layui-side{transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0);}
-.layadmin-side-spread-sm .layadmin-body-shade{display: block; }
+.layadmin-side-spread-sm .layui-layout-admin .layui-footer {
+ left: 0;
+ transform: translate3d(220px, 0, 0);
+ -webkit-transform: translate3d(220px, 0, 0);
+}
+
+.layadmin-side-spread-sm .layui-layout-admin .layui-layout-right {
+ transform: translate3d(220px, 0, 0);
+ -webkit-transform: translate3d(220px, 0, 0);
+}
+
+.layadmin-side-spread-sm .layui-side {
+ transform: translate3d(0, 0, 0);
+ -webkit-transform: translate3d(0, 0, 0);
+}
+
+.layadmin-side-spread-sm .layadmin-body-shade {
+ display: block;
+}
/* 页面标签 */
-.layadmin-pagetabs{height: 40px; line-height: 40px; padding: 0 80px 0 40px; /*border-bottom: 2px solid #292B34;*/ background-color: #fff; box-sizing: border-box; box-shadow: 0 1px 2px 0 rgba(0,0,0,.1);}
-.layadmin-pagetabs .layadmin-tabs-control{position: absolute; top: 0; width: 40px; height: 100%; text-align: center; cursor: pointer; transition: all .3s; -webkit-transition: all .3s; box-sizing: border-box; border-left: 1px solid #f6f6f6;}
-.layadmin-pagetabs .layadmin-tabs-control:hover{background-color: #f6f6f6;}
-.layadmin-pagetabs .layui-icon-prev{left: 0; border-left: none; border-right: 1px solid #f6f6f6;}
-.layadmin-pagetabs .layui-icon-next{right: 40px; right: 40px;}
-.layadmin-pagetabs .layui-icon-down{right: 0;}
-.layadmin-tabs-select.layui-nav{position: absolute; left: 0; top: 0; width: 100%; height: 100%; padding: 0; background: none;}
-.layadmin-tabs-select.layui-nav .layui-nav-item{line-height: 40px;}
-.layadmin-tabs-select.layui-nav .layui-nav-item>a{height: 40px;}
-.layadmin-tabs-select.layui-nav .layui-nav-item a{color: #666;}
-.layadmin-tabs-select.layui-nav .layui-nav-child{top: 40px; left: auto; right: 0;}
-.layadmin-tabs-select.layui-nav .layui-nav-child dd.layui-this,
-.layadmin-tabs-select.layui-nav .layui-nav-child dd.layui-this a{background-color: #f2f2f2!important; color: #333;}
-.layadmin-tabs-select.layui-nav .layui-nav-more,
-.layadmin-tabs-select.layui-nav .layui-nav-bar{display: none;}
+.layadmin-pagetabs {
+ height: 40px;
+ line-height: 40px;
+ padding: 0 80px 0 40px;
+ /*border-bottom: 2px solid #292B34;*/
+ background-color: #fff;
+ box-sizing: border-box;
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .1);
+}
+
+.layadmin-pagetabs .layadmin-tabs-control {
+ position: absolute;
+ top: 0;
+ width: 40px;
+ height: 100%;
+ text-align: center;
+ cursor: pointer;
+ transition: all .3s;
+ -webkit-transition: all .3s;
+ box-sizing: border-box;
+ border-left: 1px solid #f6f6f6;
+}
+
+.layadmin-pagetabs .layadmin-tabs-control:hover {
+ background-color: #f6f6f6;
+}
+
+.layadmin-pagetabs .layui-icon-prev {
+ left: 0;
+ border-left: none;
+ border-right: 1px solid #f6f6f6;
+}
+
+.layadmin-pagetabs .layui-icon-next {
+ right: 40px;
+ right: 40px;
+}
+
+.layadmin-pagetabs .layui-icon-down {
+ right: 0;
+}
+
+.layadmin-tabs-select.layui-nav {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ padding: 0;
+ background: none;
+}
+
+.layadmin-tabs-select.layui-nav .layui-nav-item {
+ line-height: 40px;
+}
+
+.layadmin-tabs-select.layui-nav .layui-nav-item>a {
+ height: 40px;
+}
+
+.layadmin-tabs-select.layui-nav .layui-nav-item a {
+ color: #666;
+}
+
+.layadmin-tabs-select.layui-nav .layui-nav-child {
+ top: 40px;
+ left: auto;
+ right: 0;
+}
+
+.layadmin-tabs-select.layui-nav .layui-nav-child dd.layui-this,
+.layadmin-tabs-select.layui-nav .layui-nav-child dd.layui-this a {
+ background-color: #f2f2f2 !important;
+ color: #333;
+}
+
+.layadmin-tabs-select.layui-nav .layui-nav-more,
+.layadmin-tabs-select.layui-nav .layui-nav-bar {
+ display: none;
+}
+
+.layadmin-pagetabs .layui-tab {
+ margin: 0;
+ overflow: hidden;
+}
+
+.layadmin-pagetabs .layui-tab-title {
+ height: 40px;
+ border: none;
+}
+
+.layadmin-pagetabs .layui-tab-title li {
+ min-width: 0;
+ line-height: 40px;
+ max-width: 160px;
+ text-overflow: ellipsis;
+ padding-right: 40px;
+ overflow: hidden;
+ border-right: 1px solid #f6f6f6;
+ vertical-align: top;
+}
+
+.layadmin-pagetabs .layui-tab-title li:first-child {
+ padding-right: 15px;
+}
+
+.layadmin-pagetabs .layui-tab-title li:first-child .layui-tab-close {
+ display: none;
+}
+
+.layadmin-pagetabs .layui-tab-title li .layui-tab-close {
+ position: absolute;
+ right: 8px;
+ top: 50%;
+ margin: -7px 0 0 0;
+ width: 16px;
+ height: 16px;
+ line-height: 16px;
+ border-radius: 50%;
+ font-size: 12px;
+}
+
+.layadmin-pagetabs .layui-tab-title li:after {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 0;
+ height: 2px;
+ border-radius: 0;
+ background-color: #292B34;
+ transition: all .3s;
+ -webkit-transition: all .3s;
+}
+
+.layadmin-pagetabs .layui-tab-title li:hover:after {
+ width: 100%;
+}
-.layadmin-pagetabs .layui-tab{margin: 0; overflow: hidden;}
-.layadmin-pagetabs .layui-tab-title{height: 40px; border: none;}
-.layadmin-pagetabs .layui-tab-title li{min-width: 0; line-height: 40px; max-width: 160px; text-overflow: ellipsis; padding-right: 40px; overflow: hidden; border-right: 1px solid #f6f6f6; vertical-align: top;}
-.layadmin-pagetabs .layui-tab-title li:first-child{ padding-right: 15px;}
-.layadmin-pagetabs .layui-tab-title li:first-child .layui-tab-close{display: none;}
-.layadmin-pagetabs .layui-tab-title li .layui-tab-close{position: absolute; right: 8px; top: 50%; margin: -7px 0 0 0; width: 16px; height: 16px; line-height: 16px; border-radius: 50%; font-size: 12px;}
-.layadmin-pagetabs .layui-tab-title li:after{content:''; position: absolute; top: 0; left: 0; width: 0; height: 2px; border-radius: 0; background-color: #292B34; transition: all .3s; -webkit-transition: all .3s;}
-.layadmin-pagetabs .layui-tab-title li:hover:after{width: 100%;}
.layadmin-pagetabs .layui-tab-title li:hover,
-.layadmin-pagetabs .layui-tab-title li.layui-this{background-color: #f6f6f6;}
-.layadmin-pagetabs .layui-tab-title li.layui-this:after{width: 100%; border: none; height: 2px; background-color: #292B34;}
+.layadmin-pagetabs .layui-tab-title li.layui-this {
+ background-color: #f6f6f6;
+}
+
+.layadmin-pagetabs .layui-tab-title li.layui-this:after {
+ width: 100%;
+ border: none;
+ height: 2px;
+ background-color: #292B34;
+}
/* 不开启页面标签时 */
-.layadmin-tabspage-none .layui-layout-admin .layui-header{height:70px;border-bottom: none; box-shadow: 0 1px 2px 0 rgba(0,0,0,.05);}
-.layadmin-tabspage-none .layui-layout-admin .layui-body{top: 70px;}
-.layadmin-tabspage-none .layadmin-header{display: block;}
-.layadmin-tabspage-none .layadmin-header .layui-breadcrumb{border-top: 1px solid #f6f6f6;}
+.layadmin-tabspage-none .layui-layout-admin .layui-header {
+ height: 70px;
+ border-bottom: none;
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
+}
+
+.layadmin-tabspage-none .layui-layout-admin .layui-body {
+ top: 70px;
+}
+
+.layadmin-tabspage-none .layadmin-header {
+ display: block;
+}
+
+.layadmin-tabspage-none .layadmin-header .layui-breadcrumb {
+ border-top: 1px solid #f6f6f6;
+}
/* 底部固定区域 */
-.layui-layout-admin .layui-footer{padding: 10px 0; text-align: center;}
+.layui-layout-admin .layui-footer {
+ padding: 10px 0;
+ text-align: center;
+}
/* 默认主题修饰 */
-.layui-layout-admin .layui-header{border-bottom: 1px solid #f6f6f6; box-sizing: border-box; background-color: #fff;}
+.layui-layout-admin .layui-header {
+ border-bottom: 1px solid #f6f6f6;
+ box-sizing: border-box;
+ background-color: #fff;
+}
+
.layui-layout-admin .layui-header a,
-.layui-layout-admin .layui-header a cite{color: #333;}
-.layui-layout-admin .layui-header a:hover{color: #000;}
-.layui-layout-admin .layui-header .layui-nav .layui-nav-more{border-top-color: #666}
-.layui-layout-admin .layui-header .layui-nav .layui-nav-mored{border-color: transparent; border-bottom-color: #666;}
-.layui-layout-admin .layui-header .layui-nav .layui-this:after,
-.layui-layout-admin .layui-header .layui-nav-bar{height: 2px; background-color: #337EFD}
-.layui-layout-admin .layui-logo{background-color: #337efd; box-shadow: 0 1px 2px 0 rgba(0,0,0,.15);}
+.layui-layout-admin .layui-header a cite {
+ color: #333;
+}
+
+.layui-layout-admin .layui-header a:hover {
+ color: #000;
+}
+
+.layui-layout-admin .layui-header .layui-nav .layui-nav-more {
+ border-top-color: #666
+}
+
+.layui-layout-admin .layui-header .layui-nav .layui-nav-mored {
+ border-color: transparent;
+ border-bottom-color: #666;
+}
+
+.layui-layout-admin .layui-header .layui-nav .layui-this:after,
+.layui-layout-admin .layui-header .layui-nav-bar {
+ height: 2px;
+ background-color: #337EFD
+}
+
+.layui-layout-admin .layui-logo {
+ background-color: #337efd;
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .15);
+}
+
.layui-layout-admin .layui-logo,
-.layui-layout-admin .layui-logo a{color: #fff; color: rgba(255,255,255,.8);height:70px;}
-.layui-side-menu{box-shadow: 1px 0 2px 0 rgba(0,0,0,.05);}
-.layui-layout-admin .layui-footer{box-shadow: 0 -1px 2px 0 rgba(0,0,0,.05);}
+.layui-layout-admin .layui-logo a {
+ color: #fff;
+ color: rgba(255, 255, 255, .8);
+ height: 70px;
+}
+
+.layui-side-menu {
+ box-shadow: 1px 0 2px 0 rgba(0, 0, 0, .05);
+}
+
+.layui-layout-admin .layui-footer {
+ box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, .05);
+}
.layui-side-menu,
-.layadmin-setTheme-side{background-color: #1A263B; color: #fff;}
-.layadmin-setTheme-header{background-color: #fff;}
+.layadmin-setTheme-side {
+ background-color: #1A263B;
+ color: #fff;
+}
-.layui-layout-admin .layui-footer{background-color: #fff;}
-.layui-tab-admin .layui-tab-title{background-color: #393D49; color: #fff;}
+.layadmin-setTheme-header {
+ background-color: #fff;
+}
+
+.layui-layout-admin .layui-footer {
+ background-color: #fff;
+}
+
+.layui-tab-admin .layui-tab-title {
+ background-color: #393D49;
+ color: #fff;
+}
/*
格局
*/
-.layui-fluid{padding: 15px;}
-.layadmin-header{display: none; height: 50px; line-height: 50px; margin-bottom: 0; border-radius: 0;}
-.layadmin-header .layui-breadcrumb{padding: 0 15px;}
-.layui-card-header{position: relative;}
-.layui-card-header .layui-icon{line-height: initial; position: absolute; right: 15px; top: 50%; margin-top: -7px;}
-.layadmin-iframe{position: absolute; width: 100%; height: 100%; left: 0; top: 0; right: 0; bottom: 0;}
+.layui-fluid {
+ padding: 15px;
+}
+
+.layadmin-header {
+ display: none;
+ height: 50px;
+ line-height: 50px;
+ margin-bottom: 0;
+ border-radius: 0;
+}
+
+.layadmin-header .layui-breadcrumb {
+ padding: 0 15px;
+}
+
+.layui-card-header {
+ position: relative;
+}
+
+.layui-card-header .layui-icon {
+ line-height: initial;
+ position: absolute;
+ right: 15px;
+ top: 50%;
+ margin-top: -7px;
+}
+
+.layadmin-iframe {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ left: 0;
+ top: 0;
+ right: 0;
+ bottom: 0;
+}
/*
控制台
*/
/* 重置轮播样式 */
-.layadmin-carousel{height: 185px !important; background-color: #fff;}
-.layadmin-carousel .layui-carousel-ind li{background-color: #e2e2e2;}
-.layadmin-carousel .layui-carousel-ind li:hover{background-color: #c2c2c2;}
-.layadmin-carousel .layui-carousel-ind li.layui-this{background-color: #999;}
+.layadmin-carousel {
+ height: 185px !important;
+ background-color: #fff;
+}
+
+.layadmin-carousel .layui-carousel-ind li {
+ background-color: #e2e2e2;
+}
+
+.layadmin-carousel .layui-carousel-ind li:hover {
+ background-color: #c2c2c2;
+}
+
+.layadmin-carousel .layui-carousel-ind li.layui-this {
+ background-color: #999;
+}
+
.layadmin-carousel .layui-carousel,
-.layadmin-carousel > *[carousel-item] > *{background-color: #fff;}
-.layadmin-carousel .layui-col-space10{margin: 0;}
-.layadmin-carousel .layui-carousel-ind{position: absolute; top: -41px; text-align: right;}
-.layadmin-carousel .layui-carousel-ind ul{background: none;}
+.layadmin-carousel>*[carousel-item]>* {
+ background-color: #fff;
+}
+
+.layadmin-carousel .layui-col-space10 {
+ margin: 0;
+}
+
+.layadmin-carousel .layui-carousel-ind {
+ position: absolute;
+ top: -41px;
+ text-align: right;
+}
+
+.layadmin-carousel .layui-carousel-ind ul {
+ background: none;
+}
/* 重置tab样式 */
-.layui-card .layui-tab-brief .layui-tab-title{height: 42px; border-bottom-color: #f6f6f6;}
-.layui-card .layui-tab-brief .layui-tab-title li{margin: 0 15px; padding: 0; line-height: 42px;}
-.layui-card .layui-tab-brief .layui-tab-title li.layui-this{color: #333;}
-.layui-card .layui-tab-brief .layui-tab-title .layui-this:after{height: 43px;}
-.layui-card .layui-tab-brief .layui-tab-content{padding: 15px;}
-.layui-card .layui-table-view{margin: 0;}
+.layui-card .layui-tab-brief .layui-tab-title {
+ height: 42px;
+ border-bottom-color: #f6f6f6;
+}
+
+.layui-card .layui-tab-brief .layui-tab-title li {
+ margin: 0 15px;
+ padding: 0;
+ line-height: 42px;
+}
+
+.layui-card .layui-tab-brief .layui-tab-title li.layui-this {
+ color: #333;
+}
+
+.layui-card .layui-tab-brief .layui-tab-title .layui-this:after {
+ height: 43px;
+}
+
+.layui-card .layui-tab-brief .layui-tab-content {
+ padding: 15px;
+}
+
+.layui-card .layui-table-view {
+ margin: 0;
+}
/* 头部图标重置 */
-.layui-card-header.layuiadmin-card-header-auto{padding-top: 15px; padding-bottom: 15px; height: auto;}
-.layuiadmin-card-header-auto i.layuiadmin-button-btn{position: relative; right: 0; top: 0; vertical-align: middle;}
-.layuiadmin-card-header-auto .layui-form-item:last-child{margin-bottom: 0;}
+.layui-card-header.layuiadmin-card-header-auto {
+ padding-top: 15px;
+ padding-bottom: 15px;
+ height: auto;
+}
+
+.layuiadmin-card-header-auto i.layuiadmin-button-btn {
+ position: relative;
+ right: 0;
+ top: 0;
+ vertical-align: middle;
+}
+
+.layuiadmin-card-header-auto .layui-form-item:last-child {
+ margin-bottom: 0;
+}
/* 动画 */
-@-webkit-keyframes layui-rl{ /* 从右往左滑入 */
- from {-webkit-transform: translate3d(100%, 0, 0);}
- to {-webkit-transform: translate3d(0, 0, 0);}
-}
-@keyframes layui-rl{
- from {transform: translate3d(100%, 0, 0);}
- to {transform: translate3d(0, 0, 0);}
+@-webkit-keyframes layui-rl {
+
+ /* 从右往左滑入 */
+ from {
+ -webkit-transform: translate3d(100%, 0, 0);
+ }
+
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ }
}
-@-webkit-keyframes layui-lr{ /* 从右往左滑入 */
- from {-webkit-transform: translate3d(0 0, 0); opacity: 1;}
- to {-webkit-transform: translate3d(100%, 0, 0); opacity: 1;}
+@keyframes layui-rl {
+ from {
+ transform: translate3d(100%, 0, 0);
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
}
-@keyframes layui-lr{
- from {transform: translate3d(0, 0, 0);}
- to {transform: translate3d(100%, 0, 0);}
+
+@-webkit-keyframes layui-lr {
+
+ /* 从右往左滑入 */
+ from {
+ -webkit-transform: translate3d(0 0, 0);
+ opacity: 1;
+ }
+
+ to {
+ -webkit-transform: translate3d(100%, 0, 0);
+ opacity: 1;
+ }
+}
+
+@keyframes layui-lr {
+ from {
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ transform: translate3d(100%, 0, 0);
+ }
}
/*
响应式补充
*/
@media screen and (max-width: 768px) {
+
/* 产品清单模板 */
- .layadmin-panel-selection{margin: 0; width: auto;}
+ .layadmin-panel-selection {
+ margin: 0;
+ width: auto;
+ }
+
/* 导航 */
- .layui-body .layui-nav .layui-nav-item{display: block;}
+ .layui-body .layui-nav .layui-nav-item {
+ display: block;
+ }
+
/* 主体容器 */
- .layui-layout-admin .layui-body .layadmin-tabsbody-item{-webkit-overflow-scrolling: touch; overflow: auto;}
-}
\ No newline at end of file
+ .layui-layout-admin .layui-body .layadmin-tabsbody-item {
+ -webkit-overflow-scrolling: touch;
+ overflow: auto;
+ }
+}
diff --git a/public/static/css/style.css b/public/static/css/style.css
index 880d8c1..bc2611c 100644
--- a/public/static/css/style.css
+++ b/public/static/css/style.css
@@ -561,3 +561,8 @@ pre code {
color: #212529 !important;
border: 1px solid #212529;
}
+
+.program-content img,.game-content img {
+ width: 100%;
+ margin: 20px auto;
+}
\ No newline at end of file
diff --git a/public/storage/uploads/20250520/076ebb788d99e6a2093ce9f0f3326916.jpg b/public/storage/uploads/20250520/076ebb788d99e6a2093ce9f0f3326916.jpg
new file mode 100644
index 0000000..d35b11e
Binary files /dev/null and b/public/storage/uploads/20250520/076ebb788d99e6a2093ce9f0f3326916.jpg differ
diff --git a/public/storage/uploads/20250520/19c9f202d6456a029edd4b8207b21150.jpg b/public/storage/uploads/20250520/19c9f202d6456a029edd4b8207b21150.jpg
new file mode 100644
index 0000000..d35b11e
Binary files /dev/null and b/public/storage/uploads/20250520/19c9f202d6456a029edd4b8207b21150.jpg differ
diff --git a/public/storage/uploads/20250520/1c2e0dfe2003e361f4849cfd25cb7432.jpg b/public/storage/uploads/20250520/1c2e0dfe2003e361f4849cfd25cb7432.jpg
new file mode 100644
index 0000000..ee67f30
Binary files /dev/null and b/public/storage/uploads/20250520/1c2e0dfe2003e361f4849cfd25cb7432.jpg differ
diff --git a/public/storage/uploads/20250520/1f6c75dad30417740cc543cbc082fb4c.jpg b/public/storage/uploads/20250520/1f6c75dad30417740cc543cbc082fb4c.jpg
new file mode 100644
index 0000000..82c2821
Binary files /dev/null and b/public/storage/uploads/20250520/1f6c75dad30417740cc543cbc082fb4c.jpg differ
diff --git a/public/storage/uploads/20250520/20e6912dca96205fce7524d9306785bf.jpg b/public/storage/uploads/20250520/20e6912dca96205fce7524d9306785bf.jpg
new file mode 100644
index 0000000..6f3f2e4
Binary files /dev/null and b/public/storage/uploads/20250520/20e6912dca96205fce7524d9306785bf.jpg differ
diff --git a/public/storage/uploads/20250520/20f27ac27c21caf2a14701230f8837ff.jpg b/public/storage/uploads/20250520/20f27ac27c21caf2a14701230f8837ff.jpg
new file mode 100644
index 0000000..1ffefdb
Binary files /dev/null and b/public/storage/uploads/20250520/20f27ac27c21caf2a14701230f8837ff.jpg differ
diff --git a/public/storage/uploads/20250520/240e6a7fc805af55800bee905ababd37.jpg b/public/storage/uploads/20250520/240e6a7fc805af55800bee905ababd37.jpg
new file mode 100644
index 0000000..bef9975
Binary files /dev/null and b/public/storage/uploads/20250520/240e6a7fc805af55800bee905ababd37.jpg differ
diff --git a/public/storage/uploads/20250520/30042f66e77a8f4c5bdfcb4c67caa9c3.jpg b/public/storage/uploads/20250520/30042f66e77a8f4c5bdfcb4c67caa9c3.jpg
new file mode 100644
index 0000000..ea3a2af
Binary files /dev/null and b/public/storage/uploads/20250520/30042f66e77a8f4c5bdfcb4c67caa9c3.jpg differ
diff --git a/public/storage/uploads/20250520/3269a1c3cd1d7de98b213d0b0d0d5d90.jpg b/public/storage/uploads/20250520/3269a1c3cd1d7de98b213d0b0d0d5d90.jpg
new file mode 100644
index 0000000..7e7f156
Binary files /dev/null and b/public/storage/uploads/20250520/3269a1c3cd1d7de98b213d0b0d0d5d90.jpg differ
diff --git a/public/storage/uploads/20250520/35d60dcf05858e81d33a6c1694e400a4.jpg b/public/storage/uploads/20250520/35d60dcf05858e81d33a6c1694e400a4.jpg
new file mode 100644
index 0000000..8aebe5d
Binary files /dev/null and b/public/storage/uploads/20250520/35d60dcf05858e81d33a6c1694e400a4.jpg differ
diff --git a/public/storage/uploads/20250520/3c58ae3081fa51f1f3431c88b19f5610.jpg b/public/storage/uploads/20250520/3c58ae3081fa51f1f3431c88b19f5610.jpg
new file mode 100644
index 0000000..bef9975
Binary files /dev/null and b/public/storage/uploads/20250520/3c58ae3081fa51f1f3431c88b19f5610.jpg differ
diff --git a/public/storage/uploads/20250520/4b5e981403c906e5f33878e3f6892433.jpg b/public/storage/uploads/20250520/4b5e981403c906e5f33878e3f6892433.jpg
new file mode 100644
index 0000000..2968dc4
Binary files /dev/null and b/public/storage/uploads/20250520/4b5e981403c906e5f33878e3f6892433.jpg differ
diff --git a/public/storage/uploads/20250520/54f44b89063ebab27644ba22a06adab7.jpg b/public/storage/uploads/20250520/54f44b89063ebab27644ba22a06adab7.jpg
new file mode 100644
index 0000000..8032896
Binary files /dev/null and b/public/storage/uploads/20250520/54f44b89063ebab27644ba22a06adab7.jpg differ
diff --git a/public/storage/uploads/20250520/582bd64868d36a02675346def90a70c2.jpg b/public/storage/uploads/20250520/582bd64868d36a02675346def90a70c2.jpg
new file mode 100644
index 0000000..7e7f156
Binary files /dev/null and b/public/storage/uploads/20250520/582bd64868d36a02675346def90a70c2.jpg differ
diff --git a/public/storage/uploads/20250520/646170f35acac1ea5cdb327452709b76.jpg b/public/storage/uploads/20250520/646170f35acac1ea5cdb327452709b76.jpg
new file mode 100644
index 0000000..e70da4d
Binary files /dev/null and b/public/storage/uploads/20250520/646170f35acac1ea5cdb327452709b76.jpg differ
diff --git a/public/storage/uploads/20250520/64d0d1abbf3343481ff12139d110c26c.jpg b/public/storage/uploads/20250520/64d0d1abbf3343481ff12139d110c26c.jpg
new file mode 100644
index 0000000..d84a6a6
Binary files /dev/null and b/public/storage/uploads/20250520/64d0d1abbf3343481ff12139d110c26c.jpg differ
diff --git a/public/storage/uploads/20250520/662ad663e8a2217fea0695d3a63c760a.jpg b/public/storage/uploads/20250520/662ad663e8a2217fea0695d3a63c760a.jpg
new file mode 100644
index 0000000..ea3a2af
Binary files /dev/null and b/public/storage/uploads/20250520/662ad663e8a2217fea0695d3a63c760a.jpg differ
diff --git a/public/storage/uploads/20250520/807b58ab8a2775965cce40c08c9a154e.jpg b/public/storage/uploads/20250520/807b58ab8a2775965cce40c08c9a154e.jpg
new file mode 100644
index 0000000..0fbaa28
Binary files /dev/null and b/public/storage/uploads/20250520/807b58ab8a2775965cce40c08c9a154e.jpg differ
diff --git a/public/storage/uploads/20250520/84a9f2e8967eba5e8a93d8e74f2cbf38.jpg b/public/storage/uploads/20250520/84a9f2e8967eba5e8a93d8e74f2cbf38.jpg
new file mode 100644
index 0000000..3aa183a
Binary files /dev/null and b/public/storage/uploads/20250520/84a9f2e8967eba5e8a93d8e74f2cbf38.jpg differ
diff --git a/public/storage/uploads/20250520/880426ea37475d65ae8f608b995012e6.jpg b/public/storage/uploads/20250520/880426ea37475d65ae8f608b995012e6.jpg
new file mode 100644
index 0000000..f5a6322
Binary files /dev/null and b/public/storage/uploads/20250520/880426ea37475d65ae8f608b995012e6.jpg differ
diff --git a/public/storage/uploads/20250520/8a7badb9d47fbbde3e6f4311f79cbd65.jpg b/public/storage/uploads/20250520/8a7badb9d47fbbde3e6f4311f79cbd65.jpg
new file mode 100644
index 0000000..ee67f30
Binary files /dev/null and b/public/storage/uploads/20250520/8a7badb9d47fbbde3e6f4311f79cbd65.jpg differ
diff --git a/public/storage/uploads/20250520/9373ec98cf10a203a2dae3ea5ea50ba1.jpg b/public/storage/uploads/20250520/9373ec98cf10a203a2dae3ea5ea50ba1.jpg
new file mode 100644
index 0000000..61d0bb7
Binary files /dev/null and b/public/storage/uploads/20250520/9373ec98cf10a203a2dae3ea5ea50ba1.jpg differ
diff --git a/public/storage/uploads/20250520/94eb6751ba2949d0e1b23a7f39851479.jpg b/public/storage/uploads/20250520/94eb6751ba2949d0e1b23a7f39851479.jpg
new file mode 100644
index 0000000..162754e
Binary files /dev/null and b/public/storage/uploads/20250520/94eb6751ba2949d0e1b23a7f39851479.jpg differ
diff --git a/public/storage/uploads/20250520/9ab8df52620127ce9758b7bb79319233.jpg b/public/storage/uploads/20250520/9ab8df52620127ce9758b7bb79319233.jpg
new file mode 100644
index 0000000..6f3f2e4
Binary files /dev/null and b/public/storage/uploads/20250520/9ab8df52620127ce9758b7bb79319233.jpg differ
diff --git a/public/storage/uploads/20250520/9ade2fb7276aea70ade928f1c1405605.jpg b/public/storage/uploads/20250520/9ade2fb7276aea70ade928f1c1405605.jpg
new file mode 100644
index 0000000..3aa183a
Binary files /dev/null and b/public/storage/uploads/20250520/9ade2fb7276aea70ade928f1c1405605.jpg differ
diff --git a/public/storage/uploads/20250520/aa44ab808468552ca2e784efe6d75bc3.jpg b/public/storage/uploads/20250520/aa44ab808468552ca2e784efe6d75bc3.jpg
new file mode 100644
index 0000000..dee709e
Binary files /dev/null and b/public/storage/uploads/20250520/aa44ab808468552ca2e784efe6d75bc3.jpg differ
diff --git a/public/storage/uploads/20250520/ad64ed59ab1941572a27bbbacffdc1ee.jpg b/public/storage/uploads/20250520/ad64ed59ab1941572a27bbbacffdc1ee.jpg
new file mode 100644
index 0000000..d35b11e
Binary files /dev/null and b/public/storage/uploads/20250520/ad64ed59ab1941572a27bbbacffdc1ee.jpg differ
diff --git a/public/storage/uploads/20250520/bd9a2102a2fd1a4e1f17b0dd52d0f601.jpg b/public/storage/uploads/20250520/bd9a2102a2fd1a4e1f17b0dd52d0f601.jpg
new file mode 100644
index 0000000..06ad820
Binary files /dev/null and b/public/storage/uploads/20250520/bd9a2102a2fd1a4e1f17b0dd52d0f601.jpg differ
diff --git a/public/storage/uploads/20250520/bea0b007e088ae8ee3d200903e304db2.jpg b/public/storage/uploads/20250520/bea0b007e088ae8ee3d200903e304db2.jpg
new file mode 100644
index 0000000..f5a6322
Binary files /dev/null and b/public/storage/uploads/20250520/bea0b007e088ae8ee3d200903e304db2.jpg differ
diff --git a/public/storage/uploads/20250520/c855cd8d3d4b34a2977d15e6bd1f619b.jpg b/public/storage/uploads/20250520/c855cd8d3d4b34a2977d15e6bd1f619b.jpg
new file mode 100644
index 0000000..f996e81
Binary files /dev/null and b/public/storage/uploads/20250520/c855cd8d3d4b34a2977d15e6bd1f619b.jpg differ
diff --git a/public/storage/uploads/20250520/ca162ea06c3714bcbaaea862682bc098.jpg b/public/storage/uploads/20250520/ca162ea06c3714bcbaaea862682bc098.jpg
new file mode 100644
index 0000000..8d87fa0
Binary files /dev/null and b/public/storage/uploads/20250520/ca162ea06c3714bcbaaea862682bc098.jpg differ
diff --git a/public/storage/uploads/20250520/ca844cacadbacc0a5ac3f27d918fe54f.jpg b/public/storage/uploads/20250520/ca844cacadbacc0a5ac3f27d918fe54f.jpg
new file mode 100644
index 0000000..d84a6a6
Binary files /dev/null and b/public/storage/uploads/20250520/ca844cacadbacc0a5ac3f27d918fe54f.jpg differ
diff --git a/public/storage/uploads/20250520/d26f460bad47821b1feb0b94eef8c935.jpg b/public/storage/uploads/20250520/d26f460bad47821b1feb0b94eef8c935.jpg
new file mode 100644
index 0000000..cd5f1fd
Binary files /dev/null and b/public/storage/uploads/20250520/d26f460bad47821b1feb0b94eef8c935.jpg differ
diff --git a/public/storage/uploads/20250520/dca347fc64744eb0e3b9faf69927ea96.jpg b/public/storage/uploads/20250520/dca347fc64744eb0e3b9faf69927ea96.jpg
new file mode 100644
index 0000000..cbb9696
Binary files /dev/null and b/public/storage/uploads/20250520/dca347fc64744eb0e3b9faf69927ea96.jpg differ
diff --git a/public/storage/uploads/20250520/e2324cf784791001a43be24e44fb162a.jpg b/public/storage/uploads/20250520/e2324cf784791001a43be24e44fb162a.jpg
new file mode 100644
index 0000000..7c9090b
Binary files /dev/null and b/public/storage/uploads/20250520/e2324cf784791001a43be24e44fb162a.jpg differ
diff --git a/public/storage/uploads/20250520/e2ce55ad7bf0f9694d2b9ab902cc7fb0.jpg b/public/storage/uploads/20250520/e2ce55ad7bf0f9694d2b9ab902cc7fb0.jpg
new file mode 100644
index 0000000..70245df
Binary files /dev/null and b/public/storage/uploads/20250520/e2ce55ad7bf0f9694d2b9ab902cc7fb0.jpg differ
diff --git a/public/storage/uploads/20250520/e96eea923f8bbead04bb41a9000ac59b.jpg b/public/storage/uploads/20250520/e96eea923f8bbead04bb41a9000ac59b.jpg
new file mode 100644
index 0000000..dee709e
Binary files /dev/null and b/public/storage/uploads/20250520/e96eea923f8bbead04bb41a9000ac59b.jpg differ
diff --git a/public/storage/uploads/20250520/eceab7f40dea1571de310b37950c37d3.jpg b/public/storage/uploads/20250520/eceab7f40dea1571de310b37950c37d3.jpg
new file mode 100644
index 0000000..e70da4d
Binary files /dev/null and b/public/storage/uploads/20250520/eceab7f40dea1571de310b37950c37d3.jpg differ
diff --git a/public/storage/uploads/20250520/ff46d3b5b89adc1432f5178505b366c1.jpg b/public/storage/uploads/20250520/ff46d3b5b89adc1432f5178505b366c1.jpg
new file mode 100644
index 0000000..cbb9696
Binary files /dev/null and b/public/storage/uploads/20250520/ff46d3b5b89adc1432f5178505b366c1.jpg differ
diff --git a/public/storage/uploads/20250521/04459bb7a26fe3e3e32d0116e1d0d921.jpg b/public/storage/uploads/20250521/04459bb7a26fe3e3e32d0116e1d0d921.jpg
new file mode 100644
index 0000000..3edb76f
Binary files /dev/null and b/public/storage/uploads/20250521/04459bb7a26fe3e3e32d0116e1d0d921.jpg differ
diff --git a/public/storage/uploads/20250521/04bad72856b656aa082a8898c6710e85.png b/public/storage/uploads/20250521/04bad72856b656aa082a8898c6710e85.png
new file mode 100644
index 0000000..77512d8
Binary files /dev/null and b/public/storage/uploads/20250521/04bad72856b656aa082a8898c6710e85.png differ
diff --git a/public/storage/uploads/20250521/0a9f7ea27bb75e908d132e91e65aa9ba.jpg b/public/storage/uploads/20250521/0a9f7ea27bb75e908d132e91e65aa9ba.jpg
new file mode 100644
index 0000000..a1b6e12
Binary files /dev/null and b/public/storage/uploads/20250521/0a9f7ea27bb75e908d132e91e65aa9ba.jpg differ
diff --git a/public/storage/uploads/20250521/1503b69490dd8bb2c74de85cd79d685c.jpg b/public/storage/uploads/20250521/1503b69490dd8bb2c74de85cd79d685c.jpg
new file mode 100644
index 0000000..68369c0
Binary files /dev/null and b/public/storage/uploads/20250521/1503b69490dd8bb2c74de85cd79d685c.jpg differ
diff --git a/public/storage/uploads/20250521/18b19936b766c1e3dc18080d5273f77d.jpg b/public/storage/uploads/20250521/18b19936b766c1e3dc18080d5273f77d.jpg
new file mode 100644
index 0000000..68369c0
Binary files /dev/null and b/public/storage/uploads/20250521/18b19936b766c1e3dc18080d5273f77d.jpg differ
diff --git a/public/storage/uploads/20250521/1ae4646925757ee59b6a18a2afa094c5.jpg b/public/storage/uploads/20250521/1ae4646925757ee59b6a18a2afa094c5.jpg
new file mode 100644
index 0000000..15b9191
Binary files /dev/null and b/public/storage/uploads/20250521/1ae4646925757ee59b6a18a2afa094c5.jpg differ
diff --git a/public/storage/uploads/20250521/1b1c75129929a0a331721ce2cee8e902.jpg b/public/storage/uploads/20250521/1b1c75129929a0a331721ce2cee8e902.jpg
new file mode 100644
index 0000000..2523a3d
Binary files /dev/null and b/public/storage/uploads/20250521/1b1c75129929a0a331721ce2cee8e902.jpg differ
diff --git a/public/storage/uploads/20250521/1c713459ef68b29fc4cd99731b9e2de7.jpg b/public/storage/uploads/20250521/1c713459ef68b29fc4cd99731b9e2de7.jpg
new file mode 100644
index 0000000..d30d6fe
Binary files /dev/null and b/public/storage/uploads/20250521/1c713459ef68b29fc4cd99731b9e2de7.jpg differ
diff --git a/public/storage/uploads/20250521/1d63596a46b4b7d63648229110f76fc5.jpg b/public/storage/uploads/20250521/1d63596a46b4b7d63648229110f76fc5.jpg
new file mode 100644
index 0000000..1623c16
Binary files /dev/null and b/public/storage/uploads/20250521/1d63596a46b4b7d63648229110f76fc5.jpg differ
diff --git a/public/storage/uploads/20250521/22b37b51b7bb515a394d7699fb506e3e.jpg b/public/storage/uploads/20250521/22b37b51b7bb515a394d7699fb506e3e.jpg
new file mode 100644
index 0000000..36102ab
Binary files /dev/null and b/public/storage/uploads/20250521/22b37b51b7bb515a394d7699fb506e3e.jpg differ
diff --git a/public/storage/uploads/20250521/251e8ca298f9cfb386bb2010248c4915.jpg b/public/storage/uploads/20250521/251e8ca298f9cfb386bb2010248c4915.jpg
new file mode 100644
index 0000000..35be598
Binary files /dev/null and b/public/storage/uploads/20250521/251e8ca298f9cfb386bb2010248c4915.jpg differ
diff --git a/public/storage/uploads/20250521/2b1d4a3656ac259d1d838919c1809e68.jpg b/public/storage/uploads/20250521/2b1d4a3656ac259d1d838919c1809e68.jpg
new file mode 100644
index 0000000..ec6cba0
Binary files /dev/null and b/public/storage/uploads/20250521/2b1d4a3656ac259d1d838919c1809e68.jpg differ
diff --git a/public/storage/uploads/20250521/2d66217b93382c509c532cb79003c091.jpg b/public/storage/uploads/20250521/2d66217b93382c509c532cb79003c091.jpg
new file mode 100644
index 0000000..a9f43a7
Binary files /dev/null and b/public/storage/uploads/20250521/2d66217b93382c509c532cb79003c091.jpg differ
diff --git a/public/storage/uploads/20250521/30e043a4eb9d9225b570304c1482a3c1.jpg b/public/storage/uploads/20250521/30e043a4eb9d9225b570304c1482a3c1.jpg
new file mode 100644
index 0000000..150ed6e
Binary files /dev/null and b/public/storage/uploads/20250521/30e043a4eb9d9225b570304c1482a3c1.jpg differ
diff --git a/public/storage/uploads/20250521/322105cd4722d318550431ca83b20183.jpg b/public/storage/uploads/20250521/322105cd4722d318550431ca83b20183.jpg
new file mode 100644
index 0000000..36ad3a7
Binary files /dev/null and b/public/storage/uploads/20250521/322105cd4722d318550431ca83b20183.jpg differ
diff --git a/public/storage/uploads/20250521/32d6d78ff0424d6cf51903f8b68ec3d4.jpg b/public/storage/uploads/20250521/32d6d78ff0424d6cf51903f8b68ec3d4.jpg
new file mode 100644
index 0000000..3edb76f
Binary files /dev/null and b/public/storage/uploads/20250521/32d6d78ff0424d6cf51903f8b68ec3d4.jpg differ
diff --git a/public/storage/uploads/20250521/3463862511c8e64d8b7a5e546e4bb704.jpg b/public/storage/uploads/20250521/3463862511c8e64d8b7a5e546e4bb704.jpg
new file mode 100644
index 0000000..c5bd6d0
Binary files /dev/null and b/public/storage/uploads/20250521/3463862511c8e64d8b7a5e546e4bb704.jpg differ
diff --git a/public/storage/uploads/20250521/3593ea2c2408c34d5bea11bf24e9706f.jpg b/public/storage/uploads/20250521/3593ea2c2408c34d5bea11bf24e9706f.jpg
new file mode 100644
index 0000000..7e1436a
Binary files /dev/null and b/public/storage/uploads/20250521/3593ea2c2408c34d5bea11bf24e9706f.jpg differ
diff --git a/public/storage/uploads/20250521/3eb3c2922bfc8e7fd86b9b95e6b1869b.jpg b/public/storage/uploads/20250521/3eb3c2922bfc8e7fd86b9b95e6b1869b.jpg
new file mode 100644
index 0000000..6e12655
Binary files /dev/null and b/public/storage/uploads/20250521/3eb3c2922bfc8e7fd86b9b95e6b1869b.jpg differ
diff --git a/public/storage/uploads/20250521/3f8efdf5b81c32e2edbd5d66867d8db6.jpg b/public/storage/uploads/20250521/3f8efdf5b81c32e2edbd5d66867d8db6.jpg
new file mode 100644
index 0000000..9fcc1de
Binary files /dev/null and b/public/storage/uploads/20250521/3f8efdf5b81c32e2edbd5d66867d8db6.jpg differ
diff --git a/public/storage/uploads/20250521/4ac69d8e9832f4c72e0cf670d0341bdd.jpg b/public/storage/uploads/20250521/4ac69d8e9832f4c72e0cf670d0341bdd.jpg
new file mode 100644
index 0000000..a46d830
Binary files /dev/null and b/public/storage/uploads/20250521/4ac69d8e9832f4c72e0cf670d0341bdd.jpg differ
diff --git a/public/storage/uploads/20250521/4ecf83520ee08c884ec65f82da47f831.jpg b/public/storage/uploads/20250521/4ecf83520ee08c884ec65f82da47f831.jpg
new file mode 100644
index 0000000..911f695
Binary files /dev/null and b/public/storage/uploads/20250521/4ecf83520ee08c884ec65f82da47f831.jpg differ
diff --git a/public/storage/uploads/20250521/5afdf309e0bcbcc069080d6f7c0445cb.jpg b/public/storage/uploads/20250521/5afdf309e0bcbcc069080d6f7c0445cb.jpg
new file mode 100644
index 0000000..6c3447b
Binary files /dev/null and b/public/storage/uploads/20250521/5afdf309e0bcbcc069080d6f7c0445cb.jpg differ
diff --git a/public/storage/uploads/20250521/5ecf9ea2e41c7e88c6ea521ba55f54f5.jpg b/public/storage/uploads/20250521/5ecf9ea2e41c7e88c6ea521ba55f54f5.jpg
new file mode 100644
index 0000000..d98ed30
Binary files /dev/null and b/public/storage/uploads/20250521/5ecf9ea2e41c7e88c6ea521ba55f54f5.jpg differ
diff --git a/public/storage/uploads/20250521/6a2d7d4582c0c7541cfa7b0e4ce4f256.jpg b/public/storage/uploads/20250521/6a2d7d4582c0c7541cfa7b0e4ce4f256.jpg
new file mode 100644
index 0000000..41bd1f6
Binary files /dev/null and b/public/storage/uploads/20250521/6a2d7d4582c0c7541cfa7b0e4ce4f256.jpg differ
diff --git a/public/storage/uploads/20250521/6f3d3131806d521c52c6d456250519f1.jpg b/public/storage/uploads/20250521/6f3d3131806d521c52c6d456250519f1.jpg
new file mode 100644
index 0000000..5e4c75d
Binary files /dev/null and b/public/storage/uploads/20250521/6f3d3131806d521c52c6d456250519f1.jpg differ
diff --git a/public/storage/uploads/20250521/70f1fe598a225597a975cebd92dc5ddb.jpg b/public/storage/uploads/20250521/70f1fe598a225597a975cebd92dc5ddb.jpg
new file mode 100644
index 0000000..2f1d2c0
Binary files /dev/null and b/public/storage/uploads/20250521/70f1fe598a225597a975cebd92dc5ddb.jpg differ
diff --git a/public/storage/uploads/20250521/760bba5ec0ae3b4694416578342706c6.jpg b/public/storage/uploads/20250521/760bba5ec0ae3b4694416578342706c6.jpg
new file mode 100644
index 0000000..b1a896f
Binary files /dev/null and b/public/storage/uploads/20250521/760bba5ec0ae3b4694416578342706c6.jpg differ
diff --git a/public/storage/uploads/20250521/7d8ee2a321a210357755d5f09d296aeb.jpg b/public/storage/uploads/20250521/7d8ee2a321a210357755d5f09d296aeb.jpg
new file mode 100644
index 0000000..72b03d3
Binary files /dev/null and b/public/storage/uploads/20250521/7d8ee2a321a210357755d5f09d296aeb.jpg differ
diff --git a/public/storage/uploads/20250521/7d9c2125e2b6f5d011ca3a05f4b096cc.jpg b/public/storage/uploads/20250521/7d9c2125e2b6f5d011ca3a05f4b096cc.jpg
new file mode 100644
index 0000000..1623c16
Binary files /dev/null and b/public/storage/uploads/20250521/7d9c2125e2b6f5d011ca3a05f4b096cc.jpg differ
diff --git a/public/storage/uploads/20250521/7f69fe19122e47854b00814b4a007762.jpg b/public/storage/uploads/20250521/7f69fe19122e47854b00814b4a007762.jpg
new file mode 100644
index 0000000..456fb87
Binary files /dev/null and b/public/storage/uploads/20250521/7f69fe19122e47854b00814b4a007762.jpg differ
diff --git a/public/storage/uploads/20250521/801d7c8817519aaba28ec4d7058e2919.jpg b/public/storage/uploads/20250521/801d7c8817519aaba28ec4d7058e2919.jpg
new file mode 100644
index 0000000..8bb58a6
Binary files /dev/null and b/public/storage/uploads/20250521/801d7c8817519aaba28ec4d7058e2919.jpg differ
diff --git a/public/storage/uploads/20250521/816c4c3032f7dd87ac8957085087a840.jpg b/public/storage/uploads/20250521/816c4c3032f7dd87ac8957085087a840.jpg
new file mode 100644
index 0000000..f176d3a
Binary files /dev/null and b/public/storage/uploads/20250521/816c4c3032f7dd87ac8957085087a840.jpg differ
diff --git a/public/storage/uploads/20250521/894d4c418c2cc1cd95cb5d38482cb35a.jpg b/public/storage/uploads/20250521/894d4c418c2cc1cd95cb5d38482cb35a.jpg
new file mode 100644
index 0000000..3182157
Binary files /dev/null and b/public/storage/uploads/20250521/894d4c418c2cc1cd95cb5d38482cb35a.jpg differ
diff --git a/public/storage/uploads/20250521/8d478c1c7523fbbfb2f086b7bd6db9f6.jpg b/public/storage/uploads/20250521/8d478c1c7523fbbfb2f086b7bd6db9f6.jpg
new file mode 100644
index 0000000..2c683a6
Binary files /dev/null and b/public/storage/uploads/20250521/8d478c1c7523fbbfb2f086b7bd6db9f6.jpg differ
diff --git a/public/storage/uploads/20250521/96fc582d3d9203449b6f9f0a83abab81.jpg b/public/storage/uploads/20250521/96fc582d3d9203449b6f9f0a83abab81.jpg
new file mode 100644
index 0000000..1c8c2ce
Binary files /dev/null and b/public/storage/uploads/20250521/96fc582d3d9203449b6f9f0a83abab81.jpg differ
diff --git a/public/storage/uploads/20250521/975101583f55b6bf399643d2f0960ba5.jpg b/public/storage/uploads/20250521/975101583f55b6bf399643d2f0960ba5.jpg
new file mode 100644
index 0000000..c6877fb
Binary files /dev/null and b/public/storage/uploads/20250521/975101583f55b6bf399643d2f0960ba5.jpg differ
diff --git a/public/storage/uploads/20250521/9ed6bad05342d43357cb6730981516a2.jpg b/public/storage/uploads/20250521/9ed6bad05342d43357cb6730981516a2.jpg
new file mode 100644
index 0000000..388ae85
Binary files /dev/null and b/public/storage/uploads/20250521/9ed6bad05342d43357cb6730981516a2.jpg differ
diff --git a/public/storage/uploads/20250521/a6ecb1288de56ae5bab906356d81544e.jpg b/public/storage/uploads/20250521/a6ecb1288de56ae5bab906356d81544e.jpg
new file mode 100644
index 0000000..90a07f7
Binary files /dev/null and b/public/storage/uploads/20250521/a6ecb1288de56ae5bab906356d81544e.jpg differ
diff --git a/public/storage/uploads/20250521/acf85b8d0ba45a6b0ade8f5fee5e4aa4.jpg b/public/storage/uploads/20250521/acf85b8d0ba45a6b0ade8f5fee5e4aa4.jpg
new file mode 100644
index 0000000..aa69663
Binary files /dev/null and b/public/storage/uploads/20250521/acf85b8d0ba45a6b0ade8f5fee5e4aa4.jpg differ
diff --git a/public/storage/uploads/20250521/af6ba5b3653e69f71e33dda280abd653.jpg b/public/storage/uploads/20250521/af6ba5b3653e69f71e33dda280abd653.jpg
new file mode 100644
index 0000000..86a9d9a
Binary files /dev/null and b/public/storage/uploads/20250521/af6ba5b3653e69f71e33dda280abd653.jpg differ
diff --git a/public/storage/uploads/20250521/b3c730bf953596d3a409eae44eca6b93.jpg b/public/storage/uploads/20250521/b3c730bf953596d3a409eae44eca6b93.jpg
new file mode 100644
index 0000000..c6877fb
Binary files /dev/null and b/public/storage/uploads/20250521/b3c730bf953596d3a409eae44eca6b93.jpg differ
diff --git a/public/storage/uploads/20250521/b3f766a7bffa5214e72bd57cb5f97328.jpg b/public/storage/uploads/20250521/b3f766a7bffa5214e72bd57cb5f97328.jpg
new file mode 100644
index 0000000..80e59c1
Binary files /dev/null and b/public/storage/uploads/20250521/b3f766a7bffa5214e72bd57cb5f97328.jpg differ
diff --git a/public/storage/uploads/20250521/b7975f770962f74568c2b4c2327f1081.jpg b/public/storage/uploads/20250521/b7975f770962f74568c2b4c2327f1081.jpg
new file mode 100644
index 0000000..a1b6e12
Binary files /dev/null and b/public/storage/uploads/20250521/b7975f770962f74568c2b4c2327f1081.jpg differ
diff --git a/public/storage/uploads/20250521/b7e922ccc6537357bb40b8feba3d988d.jpg b/public/storage/uploads/20250521/b7e922ccc6537357bb40b8feba3d988d.jpg
new file mode 100644
index 0000000..4ed1b37
Binary files /dev/null and b/public/storage/uploads/20250521/b7e922ccc6537357bb40b8feba3d988d.jpg differ
diff --git a/public/storage/uploads/20250521/babc5cf0ee38632971b85063a3664d0a.jpg b/public/storage/uploads/20250521/babc5cf0ee38632971b85063a3664d0a.jpg
new file mode 100644
index 0000000..3e0119f
Binary files /dev/null and b/public/storage/uploads/20250521/babc5cf0ee38632971b85063a3664d0a.jpg differ
diff --git a/public/storage/uploads/20250521/c2d18e0585e89e86baeef806df5a96c3.jpg b/public/storage/uploads/20250521/c2d18e0585e89e86baeef806df5a96c3.jpg
new file mode 100644
index 0000000..079143d
Binary files /dev/null and b/public/storage/uploads/20250521/c2d18e0585e89e86baeef806df5a96c3.jpg differ
diff --git a/public/storage/uploads/20250521/c489b112fa5742dc50ac9a956ec4d862.jpg b/public/storage/uploads/20250521/c489b112fa5742dc50ac9a956ec4d862.jpg
new file mode 100644
index 0000000..3182157
Binary files /dev/null and b/public/storage/uploads/20250521/c489b112fa5742dc50ac9a956ec4d862.jpg differ
diff --git a/public/storage/uploads/20250521/c4a6790ee7e235efc046dc0e2995171e.jpg b/public/storage/uploads/20250521/c4a6790ee7e235efc046dc0e2995171e.jpg
new file mode 100644
index 0000000..4053e43
Binary files /dev/null and b/public/storage/uploads/20250521/c4a6790ee7e235efc046dc0e2995171e.jpg differ
diff --git a/public/storage/uploads/20250521/ceb55e85724b6c9e33995541763fa294.jpg b/public/storage/uploads/20250521/ceb55e85724b6c9e33995541763fa294.jpg
new file mode 100644
index 0000000..cbac779
Binary files /dev/null and b/public/storage/uploads/20250521/ceb55e85724b6c9e33995541763fa294.jpg differ
diff --git a/public/storage/uploads/20250521/d16e65803cfe490c4843703e40f547e0.jpg b/public/storage/uploads/20250521/d16e65803cfe490c4843703e40f547e0.jpg
new file mode 100644
index 0000000..2a45d02
Binary files /dev/null and b/public/storage/uploads/20250521/d16e65803cfe490c4843703e40f547e0.jpg differ
diff --git a/public/storage/uploads/20250521/d1cd57a85bc96bf1992b53897743ff67.jpg b/public/storage/uploads/20250521/d1cd57a85bc96bf1992b53897743ff67.jpg
new file mode 100644
index 0000000..4014ae7
Binary files /dev/null and b/public/storage/uploads/20250521/d1cd57a85bc96bf1992b53897743ff67.jpg differ
diff --git a/public/storage/uploads/20250521/d6d7e5b8639761c42115f84a97c7aef0.jpg b/public/storage/uploads/20250521/d6d7e5b8639761c42115f84a97c7aef0.jpg
new file mode 100644
index 0000000..4ed1b37
Binary files /dev/null and b/public/storage/uploads/20250521/d6d7e5b8639761c42115f84a97c7aef0.jpg differ
diff --git a/public/storage/uploads/20250521/d8a42cb19aaa44d20392f9a360b2a015.jpg b/public/storage/uploads/20250521/d8a42cb19aaa44d20392f9a360b2a015.jpg
new file mode 100644
index 0000000..e502888
Binary files /dev/null and b/public/storage/uploads/20250521/d8a42cb19aaa44d20392f9a360b2a015.jpg differ
diff --git a/public/storage/uploads/20250521/e749b9ac74e0019ce2466e8c0c056fa3.jpg b/public/storage/uploads/20250521/e749b9ac74e0019ce2466e8c0c056fa3.jpg
new file mode 100644
index 0000000..ed94cbb
Binary files /dev/null and b/public/storage/uploads/20250521/e749b9ac74e0019ce2466e8c0c056fa3.jpg differ
diff --git a/public/storage/uploads/20250521/ec7ddddf3d7892ef0678054c77587bf8.jpg b/public/storage/uploads/20250521/ec7ddddf3d7892ef0678054c77587bf8.jpg
new file mode 100644
index 0000000..acaf1f2
Binary files /dev/null and b/public/storage/uploads/20250521/ec7ddddf3d7892ef0678054c77587bf8.jpg differ
diff --git a/public/storage/uploads/20250521/f48eb559323afad8feb9fe76b862b178.jpg b/public/storage/uploads/20250521/f48eb559323afad8feb9fe76b862b178.jpg
new file mode 100644
index 0000000..5071d49
Binary files /dev/null and b/public/storage/uploads/20250521/f48eb559323afad8feb9fe76b862b178.jpg differ
diff --git a/public/storage/uploads/20250521/f9841db0f5581923ed425af5374bf643.jpg b/public/storage/uploads/20250521/f9841db0f5581923ed425af5374bf643.jpg
new file mode 100644
index 0000000..a9a814b
Binary files /dev/null and b/public/storage/uploads/20250521/f9841db0f5581923ed425af5374bf643.jpg differ
diff --git a/runtime/admin/temp/02890b205219b043551566c44acd91e7.php b/runtime/admin/temp/02890b205219b043551566c44acd91e7.php
new file mode 100644
index 0000000..689dbe2
--- /dev/null
+++ b/runtime/admin/temp/02890b205219b043551566c44acd91e7.php
@@ -0,0 +1,131 @@
+
+
+
+
+
+ 后台管理系统
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/runtime/admin/temp/3ad2724e5fb71079a54a9e6219360097.php b/runtime/admin/temp/3ad2724e5fb71079a54a9e6219360097.php
new file mode 100644
index 0000000..7ca37af
--- /dev/null
+++ b/runtime/admin/temp/3ad2724e5fb71079a54a9e6219360097.php
@@ -0,0 +1,576 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/runtime/admin/temp/638faa80cf1298b7198f7a359b25bb22.php b/runtime/admin/temp/638faa80cf1298b7198f7a359b25bb22.php
new file mode 100644
index 0000000..c36abb8
--- /dev/null
+++ b/runtime/admin/temp/638faa80cf1298b7198f7a359b25bb22.php
@@ -0,0 +1,553 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/runtime/admin/temp/d62c6e06b0a01c1a19438c154e4996b8.php b/runtime/admin/temp/d62c6e06b0a01c1a19438c154e4996b8.php
new file mode 100644
index 0000000..11c3510
--- /dev/null
+++ b/runtime/admin/temp/d62c6e06b0a01c1a19438c154e4996b8.php
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/runtime/admin/temp/eacb1914bea2e2591c82e247de8e4b1a.php b/runtime/admin/temp/eacb1914bea2e2591c82e247de8e4b1a.php
new file mode 100644
index 0000000..56a473f
--- /dev/null
+++ b/runtime/admin/temp/eacb1914bea2e2591c82e247de8e4b1a.php
@@ -0,0 +1,627 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/runtime/index/temp/1445c3cec2a31866b2b78e8f64b21b5e.php b/runtime/index/temp/1445c3cec2a31866b2b78e8f64b21b5e.php
index 4ec70d6..2512c60 100644
--- a/runtime/index/temp/1445c3cec2a31866b2b78e8f64b21b5e.php
+++ b/runtime/index/temp/1445c3cec2a31866b2b78e8f64b21b5e.php
@@ -1,4 +1,4 @@
-
+
@@ -48,7 +48,7 @@
-

+
@@ -90,7 +90,7 @@
-

+
-
+
点赞
0
-
+
分享
@@ -932,31 +932,31 @@
function renderArticleDetail(data) {
// 渲染分类链接
document.getElementById('cateLink').textContent = data.cateName;
-
+
// 渲染文章标题
document.getElementById('articleTitle').textContent = data.article.title;
-
+
// 渲染文章元信息
document.getElementById('articleAuthor').textContent = data.article.author;
document.getElementById('articleDate').textContent = formatDate(data.article.create_time);
document.getElementById('articleViews').textContent = data.article.views;
-
+
// 渲染文章内容
document.getElementById('articleContent').innerHTML = data.article.content;
-
+
// 渲染标签
const tagsContainer = document.getElementById('articleTags');
if (data.article.tags && data.article.tags.length > 0) {
- tagsContainer.innerHTML = data.article.tags.map(tag =>
+ tagsContainer.innerHTML = data.article.tags.map(tag =>
`
${tag}`
).join('');
} else {
tagsContainer.innerHTML = '
暂无标签';
}
-
+
// 渲染点赞数
document.getElementById('articleLikes').textContent = data.article.likes || 0;
-
+
// 渲染上一篇
const prevArticle = document.getElementById('prevArticle');
if (data.prevArticle) {
@@ -968,7 +968,7 @@
} else {
prevArticle.innerHTML = '
没有上一篇了';
}
-
+
// 渲染下一篇
const nextArticle = document.getElementById('nextArticle');
if (data.nextArticle) {
@@ -980,7 +980,7 @@
} else {
nextArticle.innerHTML = '
没有下一篇了 ';
}
-
+
// 渲染相关文章
const relatedArticles = document.getElementById('relatedArticles');
if (data.relatedArticles && data.relatedArticles.length > 0) {
@@ -1003,7 +1003,7 @@
}
// 页面加载完成后执行
- document.addEventListener('DOMContentLoaded', function() {
+ document.addEventListener('DOMContentLoaded', function () {
// 获取文章ID
const articleId = new URLSearchParams(window.location.search).get('id');
if (!articleId) {
@@ -1018,12 +1018,12 @@
}
})
.then(response => {
- console.log('Response status:', response.status);
- console.log('Response headers:', response.headers);
+ // console.log('Response status:', response.status);
+ // console.log('Response headers:', response.headers);
return response.json();
})
.then(result => {
- console.log('API response:', result);
+ // console.log('API response:', result);
if (result.code === 1) {
renderArticleDetail(result.data);
// 更新访问次数
@@ -1043,44 +1043,69 @@
});
// 点赞功能
- const likeBtn = document.querySelector('.like-btn');
+ const likeBtn = document.getElementById('likeBtn');
if (likeBtn) {
- likeBtn.addEventListener('click', function() {
+ // 检查是否已经点赞
+ if (likeBtn.classList.contains('liked')) {
+ likeBtn.style.pointerEvents = 'none'; // 禁用点击
+ likeBtn.style.cursor = 'default'; // 改变鼠标样式
+ return;
+ }
+
+ likeBtn.addEventListener('click', function () {
+ // 立即禁用按钮,防止重复点击
+ likeBtn.style.pointerEvents = 'none';
+ likeBtn.style.cursor = 'default';
+
fetch('/index/articles/like?id=' + articleId, {
- method: 'POST'
- })
- .then(response => response.json())
- .then(data => {
- if (data.code === 1) {
- const countElement = this.querySelector('.action-count');
- let count = parseInt(countElement.textContent);
- countElement.textContent = count + 1;
- this.classList.add('liked');
- this.style.color = '#f57005';
- } else {
- alert('点赞失败:' + data.msg);
+ method: 'POST',
+ headers: {
+ 'X-Requested-With': 'XMLHttpRequest'
}
})
- .catch(error => {
- console.error('点赞请求失败:', error);
- });
+ .then(response => response.json())
+ .then(data => {
+ if (data.code === 1) {
+ const countElement = document.getElementById('articlesLikes');
+ if (countElement) {
+ let count = parseInt(countElement.textContent) || 0;
+ countElement.textContent = count + 1;
+ }
+ // 添加点赞状态
+ likeBtn.classList.add('liked');
+ likeBtn.querySelector('i').style.color = '#f57005';
+ layer.msg('点赞成功', {icon: 1});
+ } else {
+ // 如果请求失败,恢复按钮状态
+ likeBtn.style.pointerEvents = 'auto';
+ likeBtn.style.cursor = 'pointer';
+ layer.msg('点赞失败:' + data.msg, {icon: 2});
+ }
+ })
+ .catch(error => {
+ // 如果请求失败,恢复按钮状态
+ likeBtn.style.pointerEvents = 'auto';
+ likeBtn.style.cursor = 'pointer';
+ console.error('点赞请求失败:', error);
+ layer.msg('点赞失败,请稍后重试', {icon: 2});
+ });
});
}
// 返回顶部功能
const goToTop = document.getElementById('goToTop');
-
+
// 监听滚动事件
- window.addEventListener('scroll', function() {
+ window.addEventListener('scroll', function () {
if (window.pageYOffset > 300) {
goToTop.classList.add('show');
} else {
goToTop.classList.remove('show');
}
});
-
+
// 点击返回顶部
- goToTop.addEventListener('click', function() {
+ goToTop.addEventListener('click', function () {
window.scrollTo({
top: 0,
behavior: 'smooth'
@@ -1099,18 +1124,42 @@
id: articleId
})
})
- .then(response => response.json())
- .then(result => {
- if (result.code === 1) {
- // 更新成功,更新页面上的访问次数显示
- const viewsElement = document.getElementById('articleViews');
- if (viewsElement) {
- viewsElement.textContent = result.data.views;
+ .then(response => response.json())
+ .then(result => {
+ if (result.code === 1) {
+ // 更新成功,更新页面上的访问次数显示
+ const viewsElement = document.getElementById('articleViews');
+ if (viewsElement) {
+ viewsElement.textContent = result.data.views;
+ }
}
- }
- })
- .catch(error => {
- console.error('更新访问次数失败:', error);
+ })
+ .catch(error => {
+ console.error('更新访问次数失败:', error);
+ });
+ }
+
+ // 分享功能
+ const shareBtn = document.getElementById('shareBtn');
+ if (shareBtn) {
+ shareBtn.addEventListener('click', function () {
+ // 获取当前页面URL
+ const currentUrl = window.location.href;
+
+ // 创建临时输入框
+ const tempInput = document.createElement('input');
+ tempInput.value = currentUrl;
+ document.body.appendChild(tempInput);
+
+ // 选择并复制文本
+ tempInput.select();
+ document.execCommand('copy');
+
+ // 移除临时输入框
+ document.body.removeChild(tempInput);
+
+ // 提示用户复制成功
+ alert('链接已复制到剪贴板');
});
}
diff --git a/runtime/index/temp/402d23cdf323169a38fb26d3649b6ad5.php b/runtime/index/temp/402d23cdf323169a38fb26d3649b6ad5.php
index 4ac85d9..34fed3a 100644
--- a/runtime/index/temp/402d23cdf323169a38fb26d3649b6ad5.php
+++ b/runtime/index/temp/402d23cdf323169a38fb26d3649b6ad5.php
@@ -1,4 +1,4 @@
-
+
@@ -13,6 +13,8 @@
+
+
@@ -46,7 +48,7 @@
-

+
@@ -88,7 +90,7 @@
-

+
@@ -487,12 +489,16 @@
+
+
+
+
立即下载
-
+
分享
@@ -569,6 +575,10 @@
Copyright 2025 | All Rights By Yunzer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
![<?php echo $game['title']; ?>](<?php echo $game['icon'] ?: '/static/images/default-game.png'; ?>)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Copyright 2025 | All Rights By Yunzer
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file