1
0
mirror of https://gitee.com/bookshelfplus/bookshelfplus synced 2025-09-22 01:30:40 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee

引入nodejs项目

This commit is contained in:
2022-03-13 14:03:47 +08:00
parent 1949e6a1ab
commit 6f4f4f3156
21 changed files with 456 additions and 12 deletions

View File

@@ -0,0 +1,11 @@
<footer>
<hr />
<p>
<% site.footer.link.forEach(function(link){ %>
<span><a href="<%= link.url; %>" target="<%= link.target %>"><%= link.text; %></a></span>
<% }); %>
</p>
<p>
Copyright © 2021-2022 <%= site.title; %> All Rights Reserved.
</p>
</footer>

View File

@@ -0,0 +1,7 @@
<!-- StyleSheets -->
<link rel="stylesheet" href="/stylesheets/main.css">
<!-- JavaScripts -->
<!-- jQuery 3.6.0 -->
<script src="/lib/jquery/3.6.0/jquery.min.js"></script>

View File

@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<%- include("./component/header.html"); %>
</head>
<body>
<h1><%= message %></h1>
<h2><%= error.status %></h2>
<pre><%= error.stack %></pre>
<%- include("./component/footer.html"); %>
</body>
</html>

View File

@@ -0,0 +1,152 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title><%= page + " | " + title; %></title>
<%- include("./component/header.html"); %>
<link href="https://cdn.jsdelivr.net/npm/gridjs/dist/theme/mermaid.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/gridjs/dist/gridjs.umd.js"></script>
</head>
<body>
<h1><%= title %></h1>
<p>本站电子书由“张小弟之家”整理,出于方便学习之目的,您从本站下载的电子书仅供学习交流使用,如需他用请联系原作者。<a href="https://gitee.com/only4/computer-related-books" target="_blank">查看同步更新Gitee仓库</a></p>
<p>由于信息量较大,我们无法做到一一确认相关电子书的权属管理,如本站不慎侵犯了您的权利,请发送邮件至<b>contact@only4.work</b>,来信请注明相关链接以及您的相关证明材料,我们收到邮件后会第一时间与您取得联系并积极处理,多谢理解!</p>
<main class="main">
<div id="container">
<div id="cateTable"></div>
<div id="itemTable"></div>
</div>
</main>
<script>
function getDefaultGridDictTemplate() {
return {
columns: [],
//data: '',
// 搜索
search: true,
// 分页
pagination: {
limit: 10
},
// 排序
sort: true,
// 可调整列宽
resizable: true,
// 自适应
fixedHeader: true,
//height: '400px',
server: {},
language: {
search: {
placeholder: '🔍 搜索一下'
},
pagination: {
previous: '上一页',
next: '下一页',
navigate: (page, pages) => `${page} 页,共 ${pages}`,
page: (e) => "第" + e + "页",
showing: "显示结果:第",
to: "-",
of: "条结果,共",
results: "条结果"
},
sort: {
sortAsc: "按升序排序",
sortDesc: "按降序排序"
},
loading: "数据正在加载中...",
noRecordsFound: "无结果",
error: "出错了"
},
};
}
</script>
<script>
let cateTableDict = getDefaultGridDictTemplate();
cateTableDict.columns = [
{
name: '分类',
sort: true
},
{
name: '分类简介',
sort: false
},
{
name: '操作',
sort: false,
formatter: (cell, row) => {
return gridjs.h('button', {
className: 'py-2 mb-4 px-4 border rounded-md text-white bg-blue-600',
onClick: () => alert(`Editing "${row.cells[0].data}" "${row.cells[1].data}"`)
}, '查看');
}
}
];
cateTableDict.server = {
url: '/api/getCategoryList?cateLevel=1&parentCateId=', //+'page=1&perpage=20',
then: data => data.result.reduce((result, element) => {
//console.log(result, element);
result.push({
分类: element.cateId,
分类: element.cateName,
分类简介: element.cateDescription,
});
return result;
}, [ /* reduce result的初始值 */])
};
let cateTable = new gridjs.Grid(cateTableDict);
cateTable.render(document.getElementById('cateTable'));
</script>
<script>
let itemTableDict = getDefaultGridDictTemplate();
itemTableDict.columns = [
{
name: '书名',
sort: true
},
{
name: '简介',
sort: false
},
{
name: '操作',
formatter: (cell, row) => {
return gridjs.h('button', {
className: 'py-2 mb-4 px-4 border rounded-md text-white bg-blue-600',
onClick: () => alert(`Editing "${row.cells[0].data}" "${row.cells[1].data}"`)
}, '查看详情');
}
}
];
itemTableDict.server = {
url: '/api/getBookList',
then: data => data.result.reduce((result, element) => {
result.push({
书名: element.书名,
简介: element.书籍简介,
});
return result;
}, [ /* reduce result的初始值 */])
};
let itemTable = new gridjs.Grid(itemTableDict);
itemTable.render(document.getElementById('itemTable'));
</script>
<%- include("./component/footer.html"); %>
</body>
</html>

View File

@@ -0,0 +1,67 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title><%= title; %></title>
<%- include("./component/header.html"); %>
<link href="https://cdn.jsdelivr.net/npm/gridjs/dist/theme/mermaid.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/gridjs/dist/gridjs.umd.js"></script>
</head>
<body>
<h1><%= title %></h1>
<template>
<el-row>
<el-button>Default</el-button>
<el-button type="primary">Primary</el-button>
<el-button type="success">Success</el-button>
<el-button type="info">Info</el-button>
<el-button type="warning">Warning</el-button>
<el-button type="danger">Danger</el-button>
<el-button>中文</el-button>
</el-row>
<el-row>
<el-button plain>Plain</el-button>
<el-button type="primary" plain>Primary</el-button>
<el-button type="success" plain>Success</el-button>
<el-button type="info" plain>Info</el-button>
<el-button type="warning" plain>Warning</el-button>
<el-button type="danger" plain>Danger</el-button>
</el-row>
<el-row>
<el-button round>Round</el-button>
<el-button type="primary" round>Primary</el-button>
<el-button type="success" round>Success</el-button>
<el-button type="info" round>Info</el-button>
<el-button type="warning" round>Warning</el-button>
<el-button type="danger" round>Danger</el-button>
</el-row>
<el-row>
<el-button :icon="Search" circle></el-button>
<el-button type="primary" :icon="Edit" circle></el-button>
<el-button type="success" :icon="Check" circle></el-button>
<el-button type="info" :icon="Message" circle></el-button>
<el-button type="warning" :icon="Star" circle></el-button>
<el-button type="danger" :icon="Delete" circle></el-button>
</el-row>
</template>
<script type="module">
import {
Search,
Edit,
Check,
Message,
Star,
Delete,
} from 'element' //from '@element-plus/icons-vue'
</script>
<%- include("./component/footer.html"); %>
</body>
</html>