初始化仓库管理操作端项目
5
.env.development
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# 开发环境配置文件
|
||||||
|
# 这个文件中的变量只在开发环境生效(npm run dev)
|
||||||
|
|
||||||
|
# API基础URL
|
||||||
|
VITE_API_BASE_URL=http://localhost:8080/api
|
5
.env.production
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# 生产环境配置文件
|
||||||
|
# 这个文件中的变量只在生产环境生效(npm run build)
|
||||||
|
|
||||||
|
# API基础URL
|
||||||
|
VITE_API_BASE_URL=https://api.your-production-domain.com/api
|
77
.gitignore
vendored
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
pnpm-debug.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
|
node_modules
|
||||||
|
dist
|
||||||
|
dist-ssr
|
||||||
|
*.local
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/extensions.json
|
||||||
|
.idea
|
||||||
|
.DS_Store
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw?
|
||||||
|
|
||||||
|
# Environment variables
|
||||||
|
.env
|
||||||
|
.env.local
|
||||||
|
.env.development.local
|
||||||
|
.env.test.local
|
||||||
|
.env.production.local
|
||||||
|
|
||||||
|
# Build files
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
*.lcov
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Optional stylelint cache
|
||||||
|
.stylelintcache
|
||||||
|
|
||||||
|
# Yarn Integrity file
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
|
.cache
|
||||||
|
.parcel-cache
|
||||||
|
|
||||||
|
# Next.js build output
|
||||||
|
.next
|
||||||
|
out
|
||||||
|
|
||||||
|
# Nuxt.js build / generate output
|
||||||
|
.nuxt
|
||||||
|
dist
|
||||||
|
|
||||||
|
# Storybook build outputs
|
||||||
|
.out
|
||||||
|
.storybook-out
|
||||||
|
storybook-static
|
||||||
|
|
||||||
|
# Temporary folders
|
||||||
|
tmp/
|
||||||
|
temp/
|
117
README.md
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
# 仓库管理操作端
|
||||||
|
|
||||||
|
## 项目简介
|
||||||
|
仓库管理操作端是一个基于Vue 3构建的现代化仓库管理系统前端界面,提供钥匙管理、巡检管理、车辆管理、环境监控等多项功能,采用空军蓝主题设计,结合3D地图展示,实现直观高效的仓库管理体验。
|
||||||
|
|
||||||
|
## 技术栈
|
||||||
|
- **前端框架**: Vue 3.4.21
|
||||||
|
- **构建工具**: Vite 5.2.0
|
||||||
|
- **UI组件库**: Element Plus 2.7.0
|
||||||
|
- **路由管理**: Vue Router 4.3.0
|
||||||
|
- **状态管理**: Pinia 2.1.7
|
||||||
|
- **样式框架**: Tailwind CSS 3.4.3
|
||||||
|
- **HTTP客户端**: Axios 1.6.8
|
||||||
|
- **图标库**: Element Plus Icons Vue 2.3.2
|
||||||
|
|
||||||
|
## 项目结构
|
||||||
|
```
|
||||||
|
├── src/
|
||||||
|
│ ├── App.vue # 应用入口组件
|
||||||
|
│ ├── assets/ # 静态资源
|
||||||
|
│ ├── components/ # 公共组件
|
||||||
|
│ ├── config/ # 配置文件
|
||||||
|
│ ├── hooks/ # 自定义hooks
|
||||||
|
│ ├── main.js # 应用入口文件
|
||||||
|
│ ├── router/ # 路由配置
|
||||||
|
│ ├── stores/ # 状态管理
|
||||||
|
│ └── views/ # 页面组件
|
||||||
|
├── public/ # 静态资源
|
||||||
|
├── vite.config.js # Vite配置
|
||||||
|
├── tailwind.config.js # Tailwind CSS配置
|
||||||
|
└── package.json # 项目依赖
|
||||||
|
```
|
||||||
|
|
||||||
|
## 已实现功能
|
||||||
|
- **项目基础框架**: 搭建完整的Vue 3应用结构
|
||||||
|
- **登录模块**: 实现用户登录功能
|
||||||
|
- **钥匙管理**: 开发钥匙柜及钥匙状态展示功能
|
||||||
|
- **地图功能**: 集成地图展示和监控组件
|
||||||
|
- **布局组件**: 创建统一的应用布局框架,包含侧边栏、顶栏和内容区域
|
||||||
|
- **配置管理**: 完成项目配置文件设置
|
||||||
|
|
||||||
|
## 未来规划功能
|
||||||
|
在第一个大版本中计划实现以下功能模块:
|
||||||
|
|
||||||
|
### 1. 钥匙管理
|
||||||
|
- **钥匙信息管理**: 管理仓库内所有钥匙的详细信息(已部分实现)
|
||||||
|
- **钥匙使用申请**: 提供钥匙使用申请流程和审批功能
|
||||||
|
- **钥匙取用记录**: 记录钥匙的取用和归还历史
|
||||||
|
|
||||||
|
### 2. 巡检管理
|
||||||
|
- **巡检路径管理**: 配置和管理仓库巡检路线
|
||||||
|
- **巡检排班管理**: 安排巡检人员和巡检时间
|
||||||
|
- **巡检记录**: 记录和查询巡检结果
|
||||||
|
|
||||||
|
### 3. 车辆管理
|
||||||
|
- **车辆信息管理**: 管理仓库内所有车辆的基本信息
|
||||||
|
- **车辆使用申请**: 提供车辆使用申请和审批流程
|
||||||
|
- **车辆出入库记录**: 记录车辆出入库情况
|
||||||
|
- **车辆出入营区记录**: 记录车辆出入营区的详细信息
|
||||||
|
|
||||||
|
### 4. 环境监控
|
||||||
|
- **环境变量管理**: 监控和管理仓库环境参数(温度、湿度、门禁等)
|
||||||
|
|
||||||
|
### 5. 信息管理
|
||||||
|
- **特情处置预案**: 管理和展示各种特殊情况的处置预案
|
||||||
|
- **安全提示**: 发布和管理安全提示信息
|
||||||
|
|
||||||
|
### 6. 访客管理
|
||||||
|
- **来访人员管理**: 登记和管理来访人员信息
|
||||||
|
- **来访车辆管理**: 登记和管理来访车辆信息
|
||||||
|
|
||||||
|
### 7. 营区管理
|
||||||
|
- **岗位职责**: 展示和管理各岗位的职责说明
|
||||||
|
- **人员区域管理**: 管理人员的活动区域和权限
|
||||||
|
|
||||||
|
### 8. 无人机管理
|
||||||
|
- **无人机管理**: 管理无人机设备和飞行任务
|
||||||
|
|
||||||
|
## 界面设计
|
||||||
|
- **主题风格**: 采用空军蓝为主色调,营造专业、现代的界面风格
|
||||||
|
- **布局模式**: 侧边栏菜单 + 右侧抽屉式内容区域 + 底层3D地图展示
|
||||||
|
- **交互体验**: 支持菜单折叠、平滑过渡动画、响应式设计
|
||||||
|
- **视觉效果**: 运用半透明背景、模糊效果、渐变色彩提升视觉层次感
|
||||||
|
|
||||||
|
## 开发指南
|
||||||
|
### 安装依赖
|
||||||
|
```bash
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
### 开发模式
|
||||||
|
```bash
|
||||||
|
npm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### 构建生产版本
|
||||||
|
```bash
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
### 预览生产版本
|
||||||
|
```bash
|
||||||
|
npm run preview
|
||||||
|
```
|
||||||
|
|
||||||
|
## 环境配置
|
||||||
|
- **开发环境**: .env.development
|
||||||
|
- **生产环境**: .env.production
|
||||||
|
|
||||||
|
## 浏览器支持
|
||||||
|
- Chrome (推荐)
|
||||||
|
- Firefox
|
||||||
|
- Safari
|
||||||
|
- Edge
|
||||||
|
|
||||||
|
## License
|
||||||
|
MIT
|
25
index.html
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh-CN">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>仓库管理系统</title>
|
||||||
|
<!-- 引入外部配置文件 - 这个文件不会被打包,可以在部署后修改 -->
|
||||||
|
<script src="/config.js"></script>
|
||||||
|
<link rel="stylesheet" href="./fonts/iconfont.css" />
|
||||||
|
<script>
|
||||||
|
window.$config = {
|
||||||
|
api: "./api.vgomap.com/",
|
||||||
|
offline: true,
|
||||||
|
mapTheme: "home",
|
||||||
|
tenantId: "1958120048849719296",
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<script src="./www.wxb3d.com/saas/sdk/v2.0/VgoMap.umd.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
<script type="module" src="/src/main.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
3247
package-lock.json
generated
Normal file
26
package.json
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"name": "warehouse-management",
|
||||||
|
"private": true,
|
||||||
|
"version": "0.0.0",
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "vite",
|
||||||
|
"build": "vite build",
|
||||||
|
"preview": "vite preview"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@element-plus/icons-vue": "^2.3.2",
|
||||||
|
"axios": "^1.6.8",
|
||||||
|
"element-plus": "^2.7.0",
|
||||||
|
"pinia": "^2.1.7",
|
||||||
|
"vue": "^3.4.21",
|
||||||
|
"vue-router": "^4.3.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@vitejs/plugin-vue": "^5.0.4",
|
||||||
|
"autoprefixer": "^10.4.19",
|
||||||
|
"postcss": "^8.4.38",
|
||||||
|
"tailwindcss": "^3.4.3",
|
||||||
|
"vite": "^5.2.0"
|
||||||
|
}
|
||||||
|
}
|
6
postcss.config.js
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
export default {
|
||||||
|
plugins: {
|
||||||
|
tailwindcss: {},
|
||||||
|
autoprefixer: {},
|
||||||
|
},
|
||||||
|
}
|
@@ -0,0 +1 @@
|
|||||||
|
{"code":200,"data":{"bodyParts":[],"symptoms":[],"symptomCauses":[]},"message":null}
|
1
public/api.vgomap.com/api/Classify/All
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"code":200,"data":{"id":"1958120048849719296","name":"镔鑫钢铁","themeId":1,"cover":"vgo-1258766855.cos.ap-nanjing.myqcloud.com/saas/general/2cec3fcb-ae54-4c62-9fbe-2e0e856ad64c.jpg","industry":"园区","center":[119.289706,35.094287],"address":"江苏省连云港市赣榆区柘汪镇九号路","remark":"江苏省连云港市赣榆区柘汪镇镔鑫钢铁集团","creationTime":"2025-08-20T18:52:54.4150509","templateId":"d6aee0aa-0c20-4ded-2cf3-08ddcf3ee146","needLogin":true,"other":"{\"theme\":\"\"}","version":null,"tenantId":"1958108977858482176"},"message":null}
|
1
public/api.vgomap.com/api/Map/Data/1958120048849719296
Normal file
1
public/api.vgomap.com/api/ShortcutNavigation/All
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"code":200,"data":[{"name":"出入口","color":"#5aa787","icon":null,"img":"vgo-1258766855.cos.ap-nanjing.myqcloud.com/saas/general/9fc92e30-a68e-4d21-bed5-bd3713a45788.png","activeImg":"","sortNo":0,"customerUserId":606,"language":"{}","id":214},{"name":"停车场","color":"#5a7fa7","icon":null,"img":"vgo-1258766855.cos.ap-nanjing.myqcloud.com/saas/general/808e7440-1773-4e44-b214-3057b32249ac.png","activeImg":"","sortNo":0,"customerUserId":606,"language":"{}","id":215},{"name":"原料","color":"#685AA0","icon":null,"img":"vgo-1258766855.cos.ap-nanjing.myqcloud.com/saas/general/8b14c5a5-cf5e-41c1-84f0-bd59774ea8c6.png","activeImg":"","sortNo":0,"customerUserId":606,"language":null,"id":217},{"name":"成品","color":"#A0685A","icon":null,"img":"vgo-1258766855.cos.ap-nanjing.myqcloud.com/saas/general/a18fb3c1-55bc-4216-9da5-d4fb53a81529.png","activeImg":"","sortNo":0,"customerUserId":606,"language":null,"id":218},{"name":"废钢","color":"#579FA2","icon":null,"img":"vgo-1258766855.cos.ap-nanjing.myqcloud.com/saas/general/0197630c-067c-4b09-8bbf-51a997c0c136.png","activeImg":"","sortNo":0,"customerUserId":606,"language":null,"id":219}],"message":null}
|
15
public/config.js
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
// 外部配置文件 - 这个文件不会被打包到代码中,可以在部署后修改
|
||||||
|
window.APP_CONFIG = {
|
||||||
|
// API配置
|
||||||
|
api: {
|
||||||
|
baseUrl: 'https://api.your-production-domain.com/api',
|
||||||
|
timeout: 30000,
|
||||||
|
retryCount: 3,
|
||||||
|
retryDelay: 1000
|
||||||
|
},
|
||||||
|
// 其他可能需要在运行时修改的配置项
|
||||||
|
app: {
|
||||||
|
name: '仓库管理操作端',
|
||||||
|
version: '1.0.0'
|
||||||
|
}
|
||||||
|
};
|
539
public/fonts/demo.css
Normal file
@@ -0,0 +1,539 @@
|
|||||||
|
/* Logo 字体 */
|
||||||
|
@font-face {
|
||||||
|
font-family: "iconfont logo";
|
||||||
|
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
|
||||||
|
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
|
||||||
|
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
|
||||||
|
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
|
||||||
|
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
font-family: "iconfont logo";
|
||||||
|
font-size: 160px;
|
||||||
|
font-style: normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* tabs */
|
||||||
|
.nav-tabs {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-tabs .nav-more {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
height: 42px;
|
||||||
|
line-height: 42px;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tabs {
|
||||||
|
border-bottom: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tabs li {
|
||||||
|
cursor: pointer;
|
||||||
|
width: 100px;
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 16px;
|
||||||
|
border-bottom: 2px solid transparent;
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
margin-bottom: -1px;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#tabs .active {
|
||||||
|
border-bottom-color: #f00;
|
||||||
|
color: #222;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-container .content {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 页面布局 */
|
||||||
|
.main {
|
||||||
|
padding: 30px 100px;
|
||||||
|
width: 960px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main .logo {
|
||||||
|
color: #333;
|
||||||
|
text-align: left;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
line-height: 1;
|
||||||
|
height: 110px;
|
||||||
|
margin-top: -50px;
|
||||||
|
overflow: hidden;
|
||||||
|
*zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main .logo a {
|
||||||
|
font-size: 160px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.helps {
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.helps pre {
|
||||||
|
padding: 20px;
|
||||||
|
margin: 10px 0;
|
||||||
|
border: solid 1px #e7e1cd;
|
||||||
|
background-color: #fffdef;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists {
|
||||||
|
width: 100% !important;
|
||||||
|
overflow: hidden;
|
||||||
|
*zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists li {
|
||||||
|
width: 100px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-right: 20px;
|
||||||
|
text-align: center;
|
||||||
|
list-style: none !important;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists li .code-name {
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists .icon {
|
||||||
|
display: block;
|
||||||
|
height: 100px;
|
||||||
|
line-height: 100px;
|
||||||
|
font-size: 42px;
|
||||||
|
margin: 10px auto;
|
||||||
|
color: #333;
|
||||||
|
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
|
||||||
|
-moz-transition: font-size 0.25s linear, width 0.25s linear;
|
||||||
|
transition: font-size 0.25s linear, width 0.25s linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists .icon:hover {
|
||||||
|
font-size: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists .svg-icon {
|
||||||
|
/* 通过设置 font-size 来改变图标大小 */
|
||||||
|
width: 1em;
|
||||||
|
/* 图标和文字相邻时,垂直对齐 */
|
||||||
|
vertical-align: -0.15em;
|
||||||
|
/* 通过设置 color 来改变 SVG 的颜色/fill */
|
||||||
|
fill: currentColor;
|
||||||
|
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
|
||||||
|
normalize.css 中也包含这行 */
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists li .name,
|
||||||
|
.icon_lists li .code-name {
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* markdown 样式 */
|
||||||
|
.markdown {
|
||||||
|
color: #666;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 1.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown img {
|
||||||
|
vertical-align: middle;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h1 {
|
||||||
|
color: #404040;
|
||||||
|
font-weight: 500;
|
||||||
|
line-height: 40px;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h2,
|
||||||
|
.markdown h3,
|
||||||
|
.markdown h4,
|
||||||
|
.markdown h5,
|
||||||
|
.markdown h6 {
|
||||||
|
color: #404040;
|
||||||
|
margin: 1.6em 0 0.6em 0;
|
||||||
|
font-weight: 500;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h1 {
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h2 {
|
||||||
|
font-size: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h3 {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h4 {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h5 {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h6 {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown hr {
|
||||||
|
height: 1px;
|
||||||
|
border: 0;
|
||||||
|
background: #e9e9e9;
|
||||||
|
margin: 16px 0;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown p {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>p,
|
||||||
|
.markdown>blockquote,
|
||||||
|
.markdown>.highlight,
|
||||||
|
.markdown>ol,
|
||||||
|
.markdown>ul {
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown ul>li {
|
||||||
|
list-style: circle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>ul li,
|
||||||
|
.markdown blockquote ul>li {
|
||||||
|
margin-left: 20px;
|
||||||
|
padding-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>ul li p,
|
||||||
|
.markdown>ol li p {
|
||||||
|
margin: 0.6em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown ol>li {
|
||||||
|
list-style: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>ol li,
|
||||||
|
.markdown blockquote ol>li {
|
||||||
|
margin-left: 20px;
|
||||||
|
padding-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown code {
|
||||||
|
margin: 0 3px;
|
||||||
|
padding: 0 5px;
|
||||||
|
background: #eee;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown strong,
|
||||||
|
.markdown b {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0px;
|
||||||
|
empty-cells: show;
|
||||||
|
border: 1px solid #e9e9e9;
|
||||||
|
width: 95%;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>table th {
|
||||||
|
white-space: nowrap;
|
||||||
|
color: #333;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>table th,
|
||||||
|
.markdown>table td {
|
||||||
|
border: 1px solid #e9e9e9;
|
||||||
|
padding: 8px 16px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>table th {
|
||||||
|
background: #F7F7F7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown blockquote {
|
||||||
|
font-size: 90%;
|
||||||
|
color: #999;
|
||||||
|
border-left: 4px solid #e9e9e9;
|
||||||
|
padding-left: 0.8em;
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown blockquote p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown .anchor {
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 0.3s ease;
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown .waiting {
|
||||||
|
color: #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h1:hover .anchor,
|
||||||
|
.markdown h2:hover .anchor,
|
||||||
|
.markdown h3:hover .anchor,
|
||||||
|
.markdown h4:hover .anchor,
|
||||||
|
.markdown h5:hover .anchor,
|
||||||
|
.markdown h6:hover .anchor {
|
||||||
|
opacity: 1;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>br,
|
||||||
|
.markdown>p>br {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.hljs {
|
||||||
|
display: block;
|
||||||
|
background: white;
|
||||||
|
padding: 0.5em;
|
||||||
|
color: #333333;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-comment,
|
||||||
|
.hljs-meta {
|
||||||
|
color: #969896;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-string,
|
||||||
|
.hljs-variable,
|
||||||
|
.hljs-template-variable,
|
||||||
|
.hljs-strong,
|
||||||
|
.hljs-emphasis,
|
||||||
|
.hljs-quote {
|
||||||
|
color: #df5000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-keyword,
|
||||||
|
.hljs-selector-tag,
|
||||||
|
.hljs-type {
|
||||||
|
color: #a71d5d;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-literal,
|
||||||
|
.hljs-symbol,
|
||||||
|
.hljs-bullet,
|
||||||
|
.hljs-attribute {
|
||||||
|
color: #0086b3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-section,
|
||||||
|
.hljs-name {
|
||||||
|
color: #63a35c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-tag {
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-title,
|
||||||
|
.hljs-attr,
|
||||||
|
.hljs-selector-id,
|
||||||
|
.hljs-selector-class,
|
||||||
|
.hljs-selector-attr,
|
||||||
|
.hljs-selector-pseudo {
|
||||||
|
color: #795da3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-addition {
|
||||||
|
color: #55a532;
|
||||||
|
background-color: #eaffea;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-deletion {
|
||||||
|
color: #bd2c00;
|
||||||
|
background-color: #ffecec;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-link {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 代码高亮 */
|
||||||
|
/* PrismJS 1.15.0
|
||||||
|
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
|
||||||
|
/**
|
||||||
|
* prism.js default theme for JavaScript, CSS and HTML
|
||||||
|
* Based on dabblet (http://dabblet.com)
|
||||||
|
* @author Lea Verou
|
||||||
|
*/
|
||||||
|
code[class*="language-"],
|
||||||
|
pre[class*="language-"] {
|
||||||
|
color: black;
|
||||||
|
background: none;
|
||||||
|
text-shadow: 0 1px white;
|
||||||
|
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
word-wrap: normal;
|
||||||
|
line-height: 1.5;
|
||||||
|
|
||||||
|
-moz-tab-size: 4;
|
||||||
|
-o-tab-size: 4;
|
||||||
|
tab-size: 4;
|
||||||
|
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-moz-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre[class*="language-"]::-moz-selection,
|
||||||
|
pre[class*="language-"] ::-moz-selection,
|
||||||
|
code[class*="language-"]::-moz-selection,
|
||||||
|
code[class*="language-"] ::-moz-selection {
|
||||||
|
text-shadow: none;
|
||||||
|
background: #b3d4fc;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre[class*="language-"]::selection,
|
||||||
|
pre[class*="language-"] ::selection,
|
||||||
|
code[class*="language-"]::selection,
|
||||||
|
code[class*="language-"] ::selection {
|
||||||
|
text-shadow: none;
|
||||||
|
background: #b3d4fc;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
|
||||||
|
code[class*="language-"],
|
||||||
|
pre[class*="language-"] {
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Code blocks */
|
||||||
|
pre[class*="language-"] {
|
||||||
|
padding: 1em;
|
||||||
|
margin: .5em 0;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
:not(pre)>code[class*="language-"],
|
||||||
|
pre[class*="language-"] {
|
||||||
|
background: #f5f2f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Inline code */
|
||||||
|
:not(pre)>code[class*="language-"] {
|
||||||
|
padding: .1em;
|
||||||
|
border-radius: .3em;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.comment,
|
||||||
|
.token.prolog,
|
||||||
|
.token.doctype,
|
||||||
|
.token.cdata {
|
||||||
|
color: slategray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.punctuation {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.namespace {
|
||||||
|
opacity: .7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.property,
|
||||||
|
.token.tag,
|
||||||
|
.token.boolean,
|
||||||
|
.token.number,
|
||||||
|
.token.constant,
|
||||||
|
.token.symbol,
|
||||||
|
.token.deleted {
|
||||||
|
color: #905;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.selector,
|
||||||
|
.token.attr-name,
|
||||||
|
.token.string,
|
||||||
|
.token.char,
|
||||||
|
.token.builtin,
|
||||||
|
.token.inserted {
|
||||||
|
color: #690;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.operator,
|
||||||
|
.token.entity,
|
||||||
|
.token.url,
|
||||||
|
.language-css .token.string,
|
||||||
|
.style .token.string {
|
||||||
|
color: #9a6e3a;
|
||||||
|
background: hsla(0, 0%, 100%, .5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.atrule,
|
||||||
|
.token.attr-value,
|
||||||
|
.token.keyword {
|
||||||
|
color: #07a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.function,
|
||||||
|
.token.class-name {
|
||||||
|
color: #DD4A68;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.regex,
|
||||||
|
.token.important,
|
||||||
|
.token.variable {
|
||||||
|
color: #e90;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.important,
|
||||||
|
.token.bold {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.italic {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.entity {
|
||||||
|
cursor: help;
|
||||||
|
}
|
9043
public/fonts/demo_index.html
Normal file
1555
public/fonts/iconfont.css
Normal file
1
public/fonts/iconfont.js
Normal file
2704
public/fonts/iconfont.json
Normal file
BIN
public/fonts/iconfont.ttf
Normal file
BIN
public/fonts/iconfont.woff
Normal file
BIN
public/fonts/iconfont.woff2
Normal file
After Width: | Height: | Size: 810 B |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 675 B |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 344 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 643 B |
After Width: | Height: | Size: 284 B |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 675 B |
After Width: | Height: | Size: 457 B |
After Width: | Height: | Size: 923 B |
After Width: | Height: | Size: 602 B |
After Width: | Height: | Size: 629 B |
After Width: | Height: | Size: 810 B |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 804 B |
After Width: | Height: | Size: 796 B |
After Width: | Height: | Size: 621 B |
After Width: | Height: | Size: 662 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 675 B |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 806 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 628 B |
After Width: | Height: | Size: 532 B |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 619 B |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 1009 B |
After Width: | Height: | Size: 831 B |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 881 B |
After Width: | Height: | Size: 984 B |
After Width: | Height: | Size: 532 B |
After Width: | Height: | Size: 966 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 937 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 928 B |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 494 B |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 923 B |
After Width: | Height: | Size: 795 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 662 B |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 620 B |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 844 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 711 B |