feat:奇文网盘前端

This commit is contained in:
LiWeiJie 2024-08-26 09:43:30 +08:00
commit 228e11a2ad
197 changed files with 51783 additions and 0 deletions

12
.babelrc Normal file
View File

@ -0,0 +1,12 @@
{
"presets": [["@babel/preset-env", { "modules": false }]],
"plugins": [
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
]
]
}

21
.gitignore vendored Normal file
View File

@ -0,0 +1,21 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
# .vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

11
.prettierrc.js Normal file
View File

@ -0,0 +1,11 @@
module.exports = {
printWidth: 80, // 每行最大字符数为 80, 如果超出则换行
tabWidth: 2, // 一个制表符等于的空格数
useTabs: true, // 使用 tab 缩进
singleQuote: true, // 使用单引号
semi: false, // 代码结尾不加分号
trailingComma: 'none', // 不自动添加逗号
bracketSpacing: true, // 控制对象字面量的空格输出
jsxBracketSameLine: false, // 将多行jsx的>放到下一行
endOfLine: 'auto'
}

63
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,63 @@
{
// #editor.tabSize# #editor.insertSpaces#
"editor.detectIndentation": false,
//
"editor.tabSize": 2,
//
"editor.formatOnSave": true,
//
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},
//
"diffEditor.ignoreTrimWhitespace": false,
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode" // 使 prettier
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode" // 使 prettier
},
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode" // 使 prettier
},
"[stylus]": {
"editor.defaultFormatter": "thisismanta.stylus-supremacy"
},
// stylus Supremacy
"stylusSupremacy.insertColons": true, //
"stylusSupremacy.insertSemicolons": true, //
"stylusSupremacy.insertBraces": true, //
"stylusSupremacy.insertNewLineAroundImports": true, // import
"stylusSupremacy.insertNewLineAroundBlocks": false, //
// HTML 80,
"html.format.wrapLineLength": 80,
// JavaScript ()
"javascript.format.insertSpaceBeforeFunctionParenthesis": false,
// Vetur
"vetur.format.defaultFormatterOptions": {
"prettier": {
"semi": false, //
"singleQuote": true, // 使
"trailingComma": "none" //
}
},
/*
prettier
*/
// 80
"prettier.printWidth": 80,
//
"prettier.semi": false,
// 使
"prettier.singleQuote": true,
//
"prettier.trailingComma": "none",
//
"prettier.arrowParens": "avoid"
}

View File

@ -0,0 +1,67 @@
version: '1.0'
name: pipeline-20220519
displayName: pipeline-20220519
triggers:
trigger: manual
push:
branches:
prefix:
- ''
stages:
- name: stage-f911a4d4
displayName: 编译
strategy: naturally
trigger: auto
executor: []
steps:
- step: build@nodejs
name: build_nodejs
displayName: Nodejs 构建
nodeVersion: 14.16.0
commands:
- '# 设置NPM源提升安装速度'
- ''
- npm config set registry https://registry.npmmirror.com
- ''
- ''
- ''
- '# 执行编译命令'
- ''
- npm install && npm run build
artifacts:
- name: BUILD_ARTIFACT
path:
- ./dist
caches:
- ~/.npm
- ~/.yarn
strategy:
retry: '0'
- name: stage-dbe565b9
displayName: 部署
strategy: naturally
trigger: auto
executor: []
steps:
- step: deploy@agent
name: deploy_agent
displayName: 主机部署
hostGroupID:
ID: qiwen
hostID:
- 4e449710-088b-4e36-acd7-bcf7958ffcda
deployArtifact:
- source: build
name: qiwen-file-web
target: ~/gitee_go/deploy/qiwen-file-web
dependArtifact: BUILD_ARTIFACT
script:
- '# 请在此输入部署脚本如启动Java应用如下'
- '# nohup java -jar test.jar > nohup.out &'
- cd ~/gitee_go/deploy/qiwen-file-web
- tar -zxvf qiwen-file-web.tar.gz
- rm -rf /home/html/file
- cp -r dist /home/html/file
- ' echo ''Hello Gitee!'''
strategy:
retry: '0'

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020 MAC
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

370
README.md Normal file
View File

@ -0,0 +1,370 @@
<p align="center">
<a href="http://fileos.qiwenshare.com/"><img width="30%" src="https://images.gitee.com/uploads/images/2021/0511/141109_0a709933_947714.png" ></a>
</p>
<p align="center">
<strong>基于Spring Boot + VUE CLI@3 框架开发的分布式文件系统,旨在为用户和企业提供一个简单、方便的文件存储方案,能够以完善的目录结构体系,对文件进行管理 。</strong>
</p>
<p align="center">
<a target="_blank" href="https://baike.baidu.com/item/MIT%E8%AE%B8%E5%8F%AF%E8%AF%81/6671281?fr=aladdin">
<img src="https://img.shields.io/:license-MIT-blue.svg" />
</a>
<a target="_blank" href="https://www.oracle.com/technetwork/java/javase/downloads/index.html">
<img src="https://img.shields.io/badge/JDK-8+-green.svg" />
</a>
<a target="_blank" href="https://gitee.com/mingSoft/MCMS/stargazers">
<img src="https://gitee.com/qiwen-cloud/qiwen-file/badge/star.svg?theme=dark" alt='gitee star'/>
</a>
</p>
<p align="center">
<a href="http://pan.qiwenshare.com/" target="_blank">在线演示环境</a> &nbsp;|
<a href="https://pan.qiwenshare.com/docs/guide/deploying.html#%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E" target="_blank">安装指导</a>&nbsp;|
<a href="https://pan.qiwenshare.com/docs/" target="_blank">说明文档</a> |
<a href="https://www.qiwenshare.com/essay/detail/1190" target="_blank">课程链接</a> |
<a href="https://pan.qiwenshare.com/docs/log/backend.html" target="_blank">更新日志</a>
</p>
---
## 开源说明
系统 100%开源
本软件遵循 MIT 开源协议
**您可以在其基础上继续进行开发来完善其功能,成为本项目的贡献者之一**
**您也可以以该项目作为脚手架,进行其他项目的开发**
## 功能介绍
### 用户操作
1. 用户注册
1. 用户登录
### 基本文件操作
| 操作 | 文件 | 文件夹 | 单个 | 批量 | 备注 |
| :----- | :--: | :----: | :--: | :--: | -------------------------------------------------------------------------------------------------------- |
| 创建 | √ | √ | √ | ⚪ | 创建 Word、Excel、PowerPoint 在线文件 |
| 删除 | √ | √ | √ | √ | |
| 上传 | √ | √ | √ | √ | **拖拽**上传、**粘贴截图**上传 |
| 重命名 | √ | √ | √ | ⚪ | |
| 移动 | √ | √ | √ | √ | |
| 复制 | √ | ⚪ | √ | ⚪ | |
| 解压缩 | √ | ⚪ | √ | ⚪ | **ZIP、RAR** |
| 预览 | √ | ⚪ | √ | ⚪ | 支持图片、视频、音频在线预览<br />支持 PDF、JSON、TXT、HTML 等常用文本文件<br />支持 Office 文件在线预览 |
| 分享 | √ | √ | √ | √ | 支持有效期、提取码 |
| 搜索 | √ | √ | ⚪ | ⚪ | 支持 ElasticSearch 文件名称模糊搜索 |
### 特色功能
| 功能 | 描述 |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| office 在线编辑 | Word、Excel、PowerPoint 文档的在线创建、**在线编辑**、协同编辑功能<br />集成 [OnlyOffice](https://api.onlyoffice.com/),安装方式参考 [安装 ONLYOFFICE](https://www.qiwenshare.com/essay/detail/1208) |
| markdown 在线编辑 | 支持 **markdown** 文件在线预览、编辑、保存功能<br />集成 [mavon-editor](https://www.npmjs.com/package/mavon-editor) ,已内置到前端工程中 |
| 代码在线编辑 | 支持 **C、C++、C#、Java、JavaScript、HTML、CSS、Less、Sass、Stylus** <br />等常用代码类文件的在线预览、编辑、保存<br />集成 [vue-codemirror](https://github.com/surmon-china/vue-codemirror),已内置到前端工程中,<br />可参考 [codemirror](https://codemirror.net/index.html) 官网说明添加更多语言 |
| 文件分类查看 | 图片、视频、音乐、文档、其他,分类查看更快捷 |
| 多种查看模式 | 支持网格模式、列表模式、时间线模式<br />网格模式下图标支持手动控制显示大小 |
| 回收站 | 删除文件自动移入回收站,支持在回收站中彻底删除、还原文件 |
| 多种存储方式 | 基于奇文社区自研框架 [UFOP](https://gitee.com/qiwen-cloud/ufop-spring-boot-starter),实现文件多样化存储。<br/>支持**本地**磁盘、**阿里云 OSS** 对象存储、**FastDFS** 存储、**MinIO** 存储、<br />**七牛云 KODO** 对象存储,点击查看配置方式[存储方式配置](https://pan.qiwenshare.com/docs/config/#%E5%AD%98%E5%82%A8%E6%96%B9%E5%BC%8F%E9%85%8D%E7%BD%AE) |
| 支持分片上传 | 基于奇文社区自研框架 [UFOP](https://gitee.com/qiwen-cloud/ufop-spring-boot-starter), 实现文件分片上传。<br />集成优秀开源项目 [vue-simple-uploader](https://github.com/simple-uploader/vue-uploader/blob/master/README_zh-CN.md) |
| 支持极速秒传 | 计算文件 MD5实现极速秒传效果提高上传效率 |
| 支持断点续传 | 同一个文件,当上传过程中网络中断,可以从断点处继续上传 |
| 实时进度显示 | 页面实时显示上传文件进度、速度、结果等信息 |
| 存储容量显示 | 可实时显示文件存储占用情况及总存储容量 |
## 源码地址
| 项目名称 | 源码地址 |
| ------------ | -------------------------------------------------------------------------------------------- |
| 奇文网盘前端 | [https://gitee.com/qiwen-cloud/qiwen-file-web](https://gitee.com/qiwen-cloud/qiwen-file-web) |
| 奇文网盘后台 | [https://gitee.com/qiwen-cloud/qiwen-file](https://gitee.com/qiwen-cloud/qiwen-file) |
## 分支说明
| | master | develop | vue3/typescript/master | vue3/typescript/develop |
| ------------- | ---------- | ---------- | ---------------------- | ----------------------- |
| 稳定性 | 稳定分支 | 开发分支 | 稳定分支 | 开发分支 |
| Vue.js 版本 | Vue 2 | Vue 2 | Vue 3 | Vue 3 |
| 脚手架 | @vue/cli 5 | @vue/cli 5 | Vite | Vite |
| 路由 | vue-router | vue-router | vue-router@4 | vue-router@4 |
| 状态管理器 | Vuex | Vuex | Pinia | Pinia |
| UI 组件库 | Element UI | Element UI | Element Plus | Element Plus |
| JavaScript 库 | JavaScript | JavaScript | TypeScript | TypeScript |
| XHR 请求 | Axios | Axios | Axios | Axios |
分支合并路径为:
1. develop -> master
2. vue3/typescript/develop -> vue3/typescript/master
目前 vue2 相关的两个分支已趋于稳定vue3 相关的两个分支正在快速迭代中……
**注意**:如果需要从 **vue2** 相关的分支切换到 **vue3** 相关的分支,建议您在本地再次 clone 此工程,在两个工程中切换到不同 vue 版本对应的分支,并执行`npm install`、`npm run dev` 、`npm run build` 等安装、运行、打包命令,来生成 `node_modules``dist` 部署包以避免由于脚手架、Vue 版本、状态管理器的不同,带来的运行和打包矛盾。
## 网络拓扑图
![网络拓扑图](https://pan.qiwenshare.com/docs/img/guide/web-expand.png)
## 软件架构
该项目采用前后端分离的方式进行开发和部署,主要用到以下关键技术
**前端**Element UI、Vue CLI@3、Node.js、Webpack
**后台**Spring Boot、MyBatis、JPA、JWT
**数据库** : MySQL
**数据结构**:递归算法,树的遍历和插入...
## 使用说明
1、本项目为前端代码
2、下载后台代码可以访问该地址进行拉取[qiwen-file](https://gitee.com/qiwen-cloud/qiwen-file)
## 部署说明
请移步奇文社区查看 [手把手教你部署奇文网盘](https://www.qiwenshare.com/essay/detail/169)
## 部分功能截图
### 1. 网盘主页
#### 1.1 页面布局
- 左侧分类栏区域:展示文件类型,分为我的文件、回收站和我的分享三大类,切换分类可以查看文件,底部显示已占用存储空间。
1. 点击左侧分类栏中的**全部**,右侧文件列表会随面包屑导航栏中的当前位置变化而变化,调用后台接口,传参当前位置 & 分页数据,获取当前路径下 & 当前页的文件列表。
2. 点击左侧分类栏中的**图片、文档、视频、音乐、其他**,面包屑导航栏将显示当前文件类型,右侧文件列表会随左侧分类栏的切换而变化,调用后台接口,传参当前点击的文件类型 & 分页数据,获取当前文件类型 & 当前页的文件列表。
3. 点击左侧分类栏中的**回收站**,右侧文件列表显示回收站中的文件。
4. 点击左侧分类栏中的**我的分享**,右侧文件列表显示个人分享过的文件。
- 顶部文件操作区域:包括对文件的操作按钮组、文件查看模式切换按钮组、设置文件显示列按钮
- 中间面包屑导航栏:标识当前位于的目录。点击层级,可以回到任意一层目录;**点击面包屑导航栏后面的空白处,可以手动输入路径以便快速进入指定目录**。
- 右侧文件展示区域:展示形式会随文件查看模式而改变;底部分页组件。
<img src="https://pan.qiwenshare.com/docs/img/guide/function/home.png" alt="网盘主页">
#### 1.2 布局调整功能
左侧菜单栏可折叠,可控制当前表格中列的显示和隐藏
<img src="https://pan.qiwenshare.com/docs/img/guide/function/fold.gif" alt="折叠功能">
#### 1.3 文件图标大小调整
在网格模式和时间线模式下,支持手动调整图标大小:
<img src="https://pan.qiwenshare.com/docs/img/guide/function/adjustIconSize.gif" alt="图标大小调整">
### 2. 路径导航
点击目录跳转到该文件夹内部,在面包屑导航栏后面空白处点击,可以**输入路径**,快速到达指定路径(此功能仅支持在 **我的文件 - 全部** 分类下使用)
<img src="https://pan.qiwenshare.com/docs/img/guide/function/breadCrumb.gif" alt="路径导航">
### 3. 三种查看模式
文件查看支持三种展示模式:列表、网格和时间线模式
#### 3.1 列表模式
<img src="https://pan.qiwenshare.com/docs/img/guide/function/list.png" alt="列表模式">
#### 3.2 网格模式
<img src="https://pan.qiwenshare.com/docs/img/guide/function/grid.png" alt="网格模式">
#### 3.3 时间线模式
时间线模式目前仅在左侧分类栏选择图片时才支持,我们会尽快支持其他类型的文件
<img src="https://pan.qiwenshare.com/docs/img/guide/function/timeline.png" alt="时间线模式">
### 4. 文件操作
文件操作结合了电脑客户端的操作方式,支持任何文件右键唤起操作列表,或勾选文件并点击顶部相关批量操作按钮。
#### 4.1 新建文件夹
<img src="https://pan.qiwenshare.com/docs/img/guide/function/createFolder.gif" alt="创建文件夹">
#### 4.2 文件移动
支持文件单个和批量移动,选择目录后,点击确定即可移动文件到目标路径,同时在弹框中提供新建文件夹功能。
<img src="https://pan.qiwenshare.com/docs/img/guide/function/moveFile.gif" alt="文件移动">
#### 4.3 文件在线解压缩
支持 ZIP 和 RAR 格式的文件在线解压缩,支持三种解压方式:
1. 解压到当前文件夹
2. 解压到以当前压缩文件命名的文件夹内
3. 解压到指定文件夹
<img src="https://pan.qiwenshare.com/docs/img/guide/function/unzip.gif" alt="文件在线解压缩">
#### 4.4 文件搜索
支持文件名搜索文件,搜索功能后台配置请查看顶部导航栏`配置-后台项目配置-文件搜索配置`
<img src="https://pan.qiwenshare.com/docs/img/guide/function/search.gif" alt="文件搜索">
#### 4.5 批量操作功能
在列表和网格模式下,提供了批量操作功能,可以对文件进行批量删除、移动和下载。
<img src="https://pan.qiwenshare.com/docs/img/guide/function/batch.gif" alt="批量操作">
### 5. 三种文件上传方式
#### 5.1 文件 & 文件夹分片上传
支持**文件**和**文件夹**上传。文件采用**分片上传**,集成了 [simiple-uplader](https://github.com/simple-uploader/Uploader/blob/develop/README_zh-CN.md#uploader) 的文件**秒传**、**断点续传**功能,此插件的具体配置项可以查看该项目的官方文档。
<img src="https://pan.qiwenshare.com/docs/img/guide/function/uploadFileAndFold.gif" alt="文件上传">
#### 5.2 拖拽上传
支持全屏区域拖拽上传文件。
<img src="https://pan.qiwenshare.com/docs/img/guide/function/uploadFileDrop.gif" alt="文件拖拽上传">
#### 5.3 截图粘贴上传
直接使用任何截图工具截图后,在拖拽区域使用 Ctrl + V 粘贴图片,点击上传图片即可上传。
<img src="https://pan.qiwenshare.com/docs/img/guide/function/pasteUpload.png" alt="截图粘贴上传">
### 6. 文件回收站
提供文件回收站功能,支持彻底删除和还原文件。
<img src="https://pan.qiwenshare.com/docs/img/guide/function/recycle.png" alt="文件回收站">
### 7. 文件分享
#### 7.1 单个或批量文件分享
1. 支持单个和批量分享文件给他人:
<img src="https://pan.qiwenshare.com/docs/img/guide/function/share.png" alt="单个或批量分享文件">
2. 可以选择过期时间和是否需要提取码:
<img src="https://pan.qiwenshare.com/docs/img/guide/function/selectDate.png" alt="过期时间和是否需要提取码">
3. 提供快捷复制链接及提取码给他人:
<img src="https://pan.qiwenshare.com/docs/img/guide/function/copyLink.png" alt="生成分享链接">
粘贴分享链接及提取码效果:
```
分享链接http://localhost:8080/share/363196ac9fd94371b9f47cb24f042d9f
提取码967617
复制链接到浏览器中并输入提取码即可查看文件
```
4. 他人查看分享内容,并支持保存到网盘功能:
<img src="https://pan.qiwenshare.com/docs/img/guide/function/saveShareFile.png" alt="查看他人分享">
#### 7.2 查看已分享过的文件列表
支持在列表中快捷复制当次的分享链接及提取码,并标注分享时间和过期状态:
<img src="https://pan.qiwenshare.com/docs/img/guide/function/shareList.png" alt="我的分享">
### 8. 文件在线预览 & 编辑
#### 8.1 office 在线预览 & 编辑
本地启动时office 文件在线预览需要在本地搭建 [only office](https://www.qiwenshare.com/essay/detail/1208) 服务;
线上部署时office 文件在线预览需要在服务器上搭建 [only office](https://www.qiwenshare.com/essay/detail/1208) 服务;
例如word 文件在线预览:
<img src="https://pan.qiwenshare.com/docs/img/guide/function/preview.png" alt="文件在线预览">
例如word 文件在线编辑:
<img src="https://pan.qiwenshare.com/docs/img/guide/function/edit.png" alt="文件在线编辑">
#### 8.2 markdown 在线预览 & 编辑
支持 **markdown** 文件在线预览、编辑、保存功能,集成 [mavon-editor](https://www.npmjs.com/package/mavon-editor) ,已内置到前端工程中
<img src="https://pan.qiwenshare.com/docs/img/guide/function/markdown.png" alt="mavon-editor 代码编辑器">
#### 8.3 代码类文件在线预览 & 编辑
支持 **C、C++、C#、Java、JavaScript、HTML、CSS、Less、Sass、Stylus ……** 等常用代码类文件的在线预览、编辑、保存
集成 [vue-codemirror](https://github.com/surmon-china/vue-codemirror),已内置到前端工程中,可参考 [codemirror](https://codemirror.net/index.html) 官网说明添加更多语言
<img src="https://pan.qiwenshare.com/docs/img/guide/function/codemirror.png" alt="codemirror 代码编辑器">
#### 8.4 视频在线预览
文件类型为视频时,点击即可打开预览窗口,展示播放列表,支持快进、后退、暂停、倍速播放、全屏播放、下载视频和折叠播放列表。
视频播放器使用了 [vue-video-player](https://github.com/surmon-china/vue-video-player) ,具体配置项请查看该项目的官方文档,外层播放列表和操作栏为自行封装的。
<img src="https://pan.qiwenshare.com/docs/img/guide/function/video.png" alt="视频在线预览">
#### 8.5 音频在线播放
MP3 格式的文件支持在线播放。
<img src="https://pan.qiwenshare.com/docs/img/guide/function/audio.png" alt="音频在线播放">
### 9. 移动端支持
除过在线编辑之外,其他的功能均支持在移动端操作 [指南-功能展示-移动端支持](https://pan.qiwenshare.com/docs/guide/function.html#%E7%A7%BB%E5%8A%A8%E7%AB%AF%E6%94%AF%E6%8C%81)
## 联系我们
如您有问题,请加入 QQ 群咨询
**QQ 交流群**、**微信公众号 **或 **Gitee** 请扫描下面二维码
<div style="display: flex; text-align: center;">
<div style="width: 30%; margin-right: 5%">
<p>奇文社区 QQ 群3群</p>
<img src="https://pan.qiwenshare.com/docs/img/guide/contact/QQ.png" alt="交流群">
</div>
<div style="width: 30%; margin-right: 5%">
<p>微信公众号</p>
<img src="https://pan.qiwenshare.com/docs/img/guide/contact/wechat.png" alt="交流群">
</div>
<div style="width: 30%;">
<p>Gitee 社区</p>
<img src="https://pan.qiwenshare.com/docs/img/guide/contact/Gitee.png" alt="交流群">
</div>
</div>
项目的发展离不开你的支持,如果觉得这个项目帮助到了你,请点击评论区上方的捐赠,请作者喝杯咖啡吧!
<img src="https://pan.qiwenshare.com/docs/img/guide/contact/agree.png" alt="捐赠">
## 鸣谢
此项目的开发离不开其他优秀开源项目的支持,在此感谢以下开源项目:
- [vue-simple-uploader](https://github.com/simple-uploader/vue-uploader/blob/master/README_zh-CN.md):一款基于 [simple-uploader.js](https://github.com/simple-uploader/Uploader/blob/develop/README_zh-CN.md) 开发的适用于 Vue.js 的分片上传插件
- [vue-video-player](https://github.com/surmon-china/vue-video-player):一款基于 [video.js](https://docs.videojs.com/) 开发的视频播放组件
## 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
## 码云特技
1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

5
babel.config.js Normal file
View File

@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}

14
jsconfig.json Normal file
View File

@ -0,0 +1,14 @@
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": ["src/*"],
"_v/*": ["src/views/*"],
"_c/*": ["src/components/*"],
"_a/*": ["src/assets/*"],
"_r": ["src/request/*"],
"_public": ["public/*"]
}
},
"exclude": ["node_modules", "dist"]
}

33956
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

71
package.json Normal file
View File

@ -0,0 +1,71 @@
{
"name": "qiwen-file-web",
"version": "1.4.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve --open",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"canvas-nest.js": "^2.0.4",
"core-js": "^3.6.5",
"element-ui": "^2.15.5",
"js-base64": "^3.7.2",
"js-cookie": "^2.2.1",
"mavon-editor": "^2.10.1",
"qs": "^6.8.0",
"spark-md5": "^3.0.1",
"vue": "^2.6.10",
"vue-codemirror": "^4.0.6",
"vue-router": "^3.0.3",
"vue-simple-uploader": "^0.7.6",
"vuex": "^3.0.1"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.5.13",
"@vue/cli-plugin-eslint": "^4.5.13",
"@vue/cli-service": "^4.5.13",
"axios": "^0.18.1",
"babel-eslint": "^10.1.0",
"babel-plugin-component": "^1.1.1",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2",
"prettier": "^2.4.1",
"style-resources-loader": "^1.2.1",
"stylus": "^0.54.7",
"stylus-loader": "^3.0.2",
"video.js": "^7.18.1",
"vue-cli-plugin-axios": "0.0.4",
"vue-cli-plugin-element": "^1.0.1",
"vue-cli-plugin-style-resources-loader": "^0.1.5",
"vue-template-compiler": "^2.6.10"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"rules": {
"no-console": "off",
"no-debugger": "off",
"no-mixed-spaces-and-tabs": "off"
},
"parserOptions": {
"parser": "babel-eslint"
}
},
"postcss": {
"plugins": {
"autoprefixer": {}
}
},
"browserslist": [
"> 1%",
"last 2 versions"
]
}

View File

@ -0,0 +1,92 @@
/*
Name: Tomorrow Night
Author: 小鲤鱼听听
*/
.cm-s-tomorrow-night.CodeMirror {
background: #1d1f21;
color: #c5c8c6;
}
.cm-s-tomorrow-night div.CodeMirror-selected {
background: #2d2d2d;
}
.cm-s-tomorrow-night .CodeMirror-line::selection,
.cm-s-tomorrow-night .CodeMirror-line > span::selection,
.cm-s-tomorrow-night .CodeMirror-line > span > span::selection {
background: rgba(45, 45, 45, 0.99);
}
.cm-s-tomorrow-night .CodeMirror-line::-moz-selection,
.cm-s-tomorrow-night .CodeMirror-line > span::-moz-selection,
.cm-s-tomorrow-night .CodeMirror-line > span > span::-moz-selection {
background: rgba(45, 45, 45, 0.99);
}
.cm-s-tomorrow-night .CodeMirror-gutters {
background: #1d1f21;
border-right: 0px;
}
.cm-s-tomorrow-night .CodeMirror-guttermarker {
color: #cc6666;
}
.cm-s-tomorrow-night .CodeMirror-guttermarker-subtle {
color: #777;
}
.cm-s-tomorrow-night .CodeMirror-linenumber {
color: #515151;
}
.cm-s-tomorrow-night .CodeMirror-cursor {
border-left: 1px solid #6a6a6a;
}
.cm-s-tomorrow-night span.cm-comment {
color: #969896;
}
.cm-s-tomorrow-night span.cm-atom {
color: #a16a94;
}
.cm-s-tomorrow-night span.cm-number {
color: #de935f;
}
.cm-s-tomorrow-night span.cm-property {
color: #81a2be;
}
.cm-s-tomorrow-night span.cm-attribute {
color: #99cc99;
}
.cm-s-tomorrow-night span.cm-keyword {
color: #b294bb;
}
.cm-s-tomorrow-night span.cm-string {
color: #ffcc66;
}
.cm-s-tomorrow-night span.cm-variable {
color: #99cc99;
}
.cm-s-tomorrow-night span.cm-variable-2 {
color: #3c8ddf;
}
.cm-s-tomorrow-night span.cm-def {
color: #f99157;
}
.cm-s-tomorrow-night span.cm-bracket {
color: #cccccc;
}
.cm-s-tomorrow-night span.cm-tag {
color: #cc6666;
}
.cm-s-tomorrow-night span.cm-link {
color: #a16a94;
}
.cm-s-tomorrow-night span.cm-error {
background: #cc6666;
color: #6a6a6a;
}
.cm-s-tomorrow-night .CodeMirror-activeline-background {
background: #343600;
}
.cm-s-tomorrow-night .CodeMirror-matchingbracket {
text-decoration: underline;
color: white !important;
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

23
public/index.html Normal file
View File

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, user-scalable=yes">
<meta name="keywords" content="">
<meta name="description" content="">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
</head>
<body>
<noscript>
<strong>We're sorry but the web site doesn't work
properly without JavaScript enabled. Please enable it to
continue.</strong>
</noscript>
<div id="app"></div>
</body>
</html>

View File

@ -0,0 +1,711 @@
@font-face {
font-family: octicons-link;
src: url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==)
format('woff');
}
.markdown-body {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
line-height: 1.5;
color: #303133;
font-size: 16px;
line-height: 1.5;
word-wrap: break-word;
}
.markdown-body .pl-c {
color: #6a737d;
}
.markdown-body .pl-c1,
.markdown-body .pl-s .pl-v {
color: #005cc5;
}
.markdown-body .pl-e,
.markdown-body .pl-en {
color: #6f42c1;
}
.markdown-body .pl-smi,
.markdown-body .pl-s .pl-s1 {
color: #303133;
}
.markdown-body .pl-ent {
color: #22863a;
}
.markdown-body .pl-k {
color: #d73a49;
}
.markdown-body .pl-s,
.markdown-body .pl-pds,
.markdown-body .pl-s .pl-pse .pl-s1,
.markdown-body .pl-sr,
.markdown-body .pl-sr .pl-cce,
.markdown-body .pl-sr .pl-sre,
.markdown-body .pl-sr .pl-sra {
color: #032f62;
}
.markdown-body .pl-v,
.markdown-body .pl-smw {
color: #e36209;
}
.markdown-body .pl-bu {
color: #b31d28;
}
.markdown-body .pl-ii {
color: #fafbfc;
background-color: #b31d28;
}
.markdown-body .pl-c2 {
color: #fafbfc;
background-color: #d73a49;
}
.markdown-body .pl-c2::before {
content: '^M';
}
.markdown-body .pl-sr .pl-cce {
font-weight: bold;
color: #22863a;
}
.markdown-body .pl-ml {
color: #735c0f;
}
.markdown-body .pl-mh,
.markdown-body .pl-mh .pl-en,
.markdown-body .pl-ms {
font-weight: bold;
color: #005cc5;
}
.markdown-body .pl-mi {
font-style: italic;
color: #303133;
}
.markdown-body .pl-mb {
font-weight: bold;
color: #303133;
}
.markdown-body .pl-md {
color: #b31d28;
background-color: #ffeef0;
}
.markdown-body .pl-mi1 {
color: #22863a;
background-color: #f0fff4;
}
.markdown-body .pl-mc {
color: #e36209;
background-color: #ffebda;
}
.markdown-body .pl-mi2 {
color: #f6f8fa;
background-color: #005cc5;
}
.markdown-body .pl-mdr {
font-weight: bold;
color: #6f42c1;
}
.markdown-body .pl-ba {
color: #586069;
}
.markdown-body .pl-sg {
color: #959da5;
}
.markdown-body .pl-corl {
text-decoration: underline;
color: #032f62;
}
.markdown-body .octicon {
display: inline-block;
vertical-align: text-top;
fill: currentColor;
}
.markdown-body a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
.markdown-body a:active,
.markdown-body a:hover {
outline-width: 0;
}
.markdown-body strong {
font-weight: inherit;
}
.markdown-body strong {
font-weight: bolder;
}
.markdown-body h1 {
font-size: 2em;
margin: 0.67em 0;
}
.markdown-body img {
border-style: none;
}
.markdown-body svg:not(:root) {
overflow: hidden;
}
.markdown-body code,
.markdown-body kbd,
.markdown-body pre {
font-family: monospace, monospace;
font-size: 1em;
}
.markdown-body hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
.markdown-body input {
font: inherit;
margin: 0;
}
.markdown-body input {
overflow: visible;
}
.markdown-body [type='checkbox'] {
box-sizing: border-box;
padding: 0;
}
.markdown-body * {
box-sizing: border-box;
}
.markdown-body input {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
.markdown-body a {
color: #0366d6;
text-decoration: none;
}
.markdown-body a:hover {
text-decoration: underline;
}
.markdown-body strong {
font-weight: 600;
}
.markdown-body hr {
height: 0;
margin: 15px 0;
overflow: hidden;
background: transparent;
border: 0;
border-bottom: 1px solid #dfe2e5;
}
.markdown-body hr::before {
display: table;
content: '';
}
.markdown-body hr::after {
display: table;
clear: both;
content: '';
}
.markdown-body table {
border-spacing: 0;
border-collapse: collapse;
}
.markdown-body td,
.markdown-body th {
padding: 0;
}
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
margin-top: 0;
margin-bottom: 0;
}
.markdown-body h1 {
font-size: 32px;
font-weight: 600;
}
.markdown-body h2 {
font-size: 24px;
font-weight: 600;
}
.markdown-body h3 {
font-size: 20px;
font-weight: 600;
}
.markdown-body h4 {
font-size: 16px;
font-weight: 600;
}
.markdown-body h5 {
font-size: 14px;
font-weight: 600;
}
.markdown-body h6 {
font-size: 12px;
font-weight: 600;
}
.markdown-body p {
margin-top: 0;
margin-bottom: 10px;
}
.markdown-body blockquote {
margin: 0;
}
.markdown-body ul,
.markdown-body ol {
padding-left: 0;
margin-top: 0;
margin-bottom: 0;
}
.markdown-body ol ol,
.markdown-body ul ol {
list-style-type: lower-roman;
}
.markdown-body ul ul ol,
.markdown-body ul ol ol,
.markdown-body ol ul ol,
.markdown-body ol ol ol {
list-style-type: lower-alpha;
}
.markdown-body dd {
margin-left: 0;
}
.markdown-body code {
font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier,
monospace;
font-size: 12px;
}
.markdown-body pre {
margin-top: 0;
margin-bottom: 0;
font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier,
monospace;
font-size: 12px;
}
.markdown-body .octicon {
vertical-align: text-bottom;
}
.markdown-body .pl-0 {
padding-left: 0 !important;
}
.markdown-body .pl-1 {
padding-left: 4px !important;
}
.markdown-body .pl-2 {
padding-left: 8px !important;
}
.markdown-body .pl-3 {
padding-left: 16px !important;
}
.markdown-body .pl-4 {
padding-left: 24px !important;
}
.markdown-body .pl-5 {
padding-left: 32px !important;
}
.markdown-body .pl-6 {
padding-left: 40px !important;
}
.markdown-body::before {
display: table;
content: '';
}
.markdown-body::after {
display: table;
clear: both;
content: '';
}
.markdown-body > *:first-child {
margin-top: 0 !important;
}
.markdown-body > *:last-child {
margin-bottom: 0 !important;
}
.markdown-body a:not([href]) {
color: inherit;
text-decoration: none;
}
.markdown-body .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.markdown-body .anchor:focus {
outline: none;
}
.markdown-body p,
.markdown-body blockquote,
.markdown-body ul,
.markdown-body ol,
.markdown-body dl,
.markdown-body table,
.markdown-body pre {
margin-top: 0;
margin-bottom: 16px;
}
.markdown-body hr {
height: 0.25em;
padding: 0;
margin: 24px 0;
background-color: #e1e4e8;
border: 0;
}
.markdown-body blockquote {
padding: 0 1em;
color: #6a737d;
border-left: 0.25em solid #dfe2e5;
}
.markdown-body blockquote > :first-child {
margin-top: 0;
}
.markdown-body blockquote > :last-child {
margin-bottom: 0;
}
.markdown-body kbd {
display: inline-block;
padding: 3px 5px;
font-size: 11px;
line-height: 10px;
color: #444d56;
vertical-align: middle;
background-color: #fafbfc;
border: solid 1px #c6cbd1;
border-bottom-color: #959da5;
border-radius: 4px;
box-shadow: inset 0 -1px 0 #959da5;
}
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 600;
line-height: 1.25;
}
.markdown-body h1 .octicon-link,
.markdown-body h2 .octicon-link,
.markdown-body h3 .octicon-link,
.markdown-body h4 .octicon-link,
.markdown-body h5 .octicon-link,
.markdown-body h6 .octicon-link {
color: #1b1f23;
vertical-align: middle;
visibility: hidden;
}
.markdown-body h1:hover .anchor,
.markdown-body h2:hover .anchor,
.markdown-body h3:hover .anchor,
.markdown-body h4:hover .anchor,
.markdown-body h5:hover .anchor,
.markdown-body h6:hover .anchor {
text-decoration: none;
}
.markdown-body h1:hover .anchor .octicon-link,
.markdown-body h2:hover .anchor .octicon-link,
.markdown-body h3:hover .anchor .octicon-link,
.markdown-body h4:hover .anchor .octicon-link,
.markdown-body h5:hover .anchor .octicon-link,
.markdown-body h6:hover .anchor .octicon-link {
visibility: visible;
}
.markdown-body h1 {
padding-bottom: 0.3em;
font-size: 2em;
border-bottom: 1px solid #eaecef;
}
.markdown-body h2 {
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid #eaecef;
}
.markdown-body h3 {
font-size: 1.25em;
}
.markdown-body h4 {
font-size: 1em;
}
.markdown-body h5 {
font-size: 0.875em;
}
.markdown-body h6 {
font-size: 0.85em;
color: #6a737d;
}
.markdown-body ul,
.markdown-body ol {
padding-left: 2em;
}
.markdown-body ul ul,
.markdown-body ul ol,
.markdown-body ol ol,
.markdown-body ol ul {
margin-top: 0;
margin-bottom: 0;
}
.markdown-body li > p {
margin-top: 16px;
}
.markdown-body li + li {
margin-top: 0.25em;
}
.markdown-body dl {
padding: 0;
}
.markdown-body dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
font-style: italic;
font-weight: 600;
}
.markdown-body dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.markdown-body table {
display: block;
width: 100%;
overflow: auto;
}
.markdown-body table th {
font-weight: 600;
}
.markdown-body table th,
.markdown-body table td {
padding: 6px 13px;
border: 1px solid #dfe2e5;
}
.markdown-body table tr {
background-color: #fff;
border-top: 1px solid #c6cbd1;
}
.markdown-body table tr:nth-child(2n) {
background-color: #f6f8fa;
}
.markdown-body img {
max-width: 100%;
box-sizing: content-box;
background-color: #fff;
}
.markdown-body img[align='right'] {
padding-left: 20px;
}
.markdown-body img[align='left'] {
padding-right: 20px;
}
.markdown-body code {
padding: 0;
padding-top: 0.2em;
padding-bottom: 0.2em;
margin: 0;
font-size: 16px;
background-color: rgba(27, 31, 35, 0.05);
border-radius: 4px;
}
.markdown-body code::before,
.markdown-body code::after {
letter-spacing: -0.2em;
content: '\00a0';
}
.markdown-body pre {
word-wrap: normal;
}
.markdown-body pre > code {
padding: 0;
margin: 0;
font-size: 100%;
word-break: normal;
white-space: pre;
background: transparent;
border: 0;
}
.markdown-body .highlight {
margin-bottom: 16px;
}
.markdown-body .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.markdown-body .highlight pre,
.markdown-body pre {
overflow: auto;
font-size: 16px;
line-height: 1.45;
background-color: #f6f8fa;
border-radius: 4px;
}
.markdown-body pre code {
display: inline;
max-width: auto;
padding: 0;
margin: 0;
overflow: visible;
line-height: inherit;
word-wrap: normal;
background-color: transparent;
border: 0;
}
.markdown-body pre code::before,
.markdown-body pre code::after {
content: normal;
}
.markdown-body .full-commit .btn-outline:not(:disabled):hover {
color: #005cc5;
border-color: #005cc5;
}
.markdown-body kbd {
display: inline-block;
padding: 3px 5px;
font: 11px 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier,
monospace;
line-height: 10px;
color: #444d56;
vertical-align: middle;
background-color: #fafbfc;
border: solid 1px #d1d5da;
border-bottom-color: #c6cbd1;
border-radius: 4px;
box-shadow: inset 0 -1px 0 #c6cbd1;
}
.markdown-body :checked + .radio-label {
position: relative;
z-index: 1;
border-color: #0366d6;
}
.markdown-body .task-list-item {
list-style-type: none;
}
.markdown-body .task-list-item + .task-list-item {
margin-top: 3px;
}
.markdown-body .task-list-item input {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.markdown-body hr {
border-bottom-color: #eee;
}

1
public/mavonEditor/css/katex.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,75 @@
/* Tomorrow Night Theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
/* Tomorrow Comment */
.hljs-comment,
.hljs-quote {
color: #969896;
}
/* Tomorrow Red */
.hljs-variable,
.hljs-template-variable,
.hljs-tag,
.hljs-name,
.hljs-selector-id,
.hljs-selector-class,
.hljs-regexp,
.hljs-deletion {
color: #cc6666;
}
/* Tomorrow Orange */
.hljs-number,
.hljs-built_in,
.hljs-builtin-name,
.hljs-literal,
.hljs-type,
.hljs-params,
.hljs-meta,
.hljs-link {
color: #de935f;
}
/* Tomorrow Yellow */
.hljs-attribute {
color: #f0c674;
}
/* Tomorrow Green */
.hljs-string,
.hljs-symbol,
.hljs-bullet,
.hljs-addition {
color: #b5bd68;
}
/* Tomorrow Blue */
.hljs-title,
.hljs-section {
color: #81a2be;
}
/* Tomorrow Purple */
.hljs-keyword,
.hljs-selector-tag {
color: #b294bb;
}
.hljs {
display: block;
overflow-x: auto;
background: #1d1f21;
color: #c5c8c6;
padding: 16px;
}
.hljs-emphasis {
font-style: italic;
}
.hljs-strong {
font-weight: bold;
}

1315
public/mavonEditor/js/highlight.min.js vendored Normal file

File diff suppressed because one or more lines are too long

6
public/mavonEditor/js/katex.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,322 @@
export default {
'1c': '1c',
abnf: 'abnf',
accesslog: 'accesslog',
actionscript: 'actionscript',
as: 'actionscript',
ada: 'ada',
apache: 'apache',
apacheconf: 'apache',
applescript: 'applescript',
osascript: 'applescript',
arduino: 'arduino',
armasm: 'armasm',
arm: 'armasm',
asciidoc: 'asciidoc',
adoc: 'asciidoc',
aspectj: 'aspectj',
autohotkey: 'autohotkey',
ahk: 'autohotkey',
autoit: 'autoit',
avrasm: 'avrasm',
awk: 'awk',
axapta: 'axapta',
bash: 'bash',
sh: 'bash',
zsh: 'bash',
basic: 'basic',
bnf: 'bnf',
brainfuck: 'brainfuck',
bf: 'brainfuck',
cal: 'cal',
capnproto: 'capnproto',
capnp: 'capnproto',
ceylon: 'ceylon',
clean: 'clean',
icl: 'clean',
dcl: 'clean',
'clojure-repl': 'clojure-repl',
clojure: 'clojure',
clj: 'clojure',
cmake: 'cmake',
'cmake.in': 'cmake',
coffeescript: 'coffeescript',
coffee: 'coffeescript',
cson: 'coffeescript',
iced: 'coffeescript',
coq: 'coq',
cos: 'cos',
cls: 'cos',
cpp: 'cpp',
c: 'cpp',
cc: 'cpp',
h: 'cpp',
'c++': 'cpp',
'h++': 'cpp',
hpp: 'cpp',
crmsh: 'crmsh',
crm: 'crmsh',
pcmk: 'crmsh',
crystal: 'crystal',
cr: 'crystal',
cs: 'cs',
csharp: 'cs',
csp: 'csp',
css: 'css',
d: 'd',
dart: 'dart',
delphi: 'delphi',
dpr: 'delphi',
dfm: 'delphi',
pas: 'delphi',
pascal: 'delphi',
freepascal: 'delphi',
lazarus: 'delphi',
lpr: 'delphi',
lfm: 'delphi',
diff: 'diff',
patch: 'diff',
django: 'django',
jinja: 'django',
dns: 'dns',
bind: 'dns',
zone: 'dns',
dockerfile: 'dockerfile',
docker: 'dockerfile',
dos: 'dos',
bat: 'dos',
cmd: 'dos',
dsconfig: 'dsconfig',
dts: 'dts',
dust: 'dust',
dst: 'dust',
ebnf: 'ebnf',
elixir: 'elixir',
elm: 'elm',
erb: 'erb',
'erlang-repl': 'erlang-repl',
erlang: 'erlang',
erl: 'erlang',
excel: 'excel',
xlsx: 'excel',
xls: 'excel',
fix: 'fix',
flix: 'flix',
fortran: 'fortran',
f90: 'fortran',
f95: 'fortran',
fsharp: 'fsharp',
fs: 'fsharp',
gams: 'gams',
gms: 'gams',
gauss: 'gauss',
gss: 'gauss',
gcode: 'gcode',
nc: 'gcode',
gherkin: 'gherkin',
feature: 'gherkin',
glsl: 'glsl',
go: 'go',
golang: 'go',
golo: 'golo',
gradle: 'gradle',
groovy: 'groovy',
haml: 'haml',
handlebars: 'handlebars',
hbs: 'handlebars',
'html.hbs': 'handlebars',
'html.handlebars': 'handlebars',
haskell: 'haskell',
hs: 'haskell',
haxe: 'haxe',
hx: 'haxe',
hsp: 'hsp',
htmlbars: 'htmlbars',
http: 'http',
https: 'http',
hy: 'hy',
hylang: 'hy',
inform7: 'inform7',
i7: 'inform7',
ini: 'ini',
toml: 'ini',
irpf90: 'irpf90',
java: 'java',
jsp: 'java',
javascript: 'javascript',
js: 'javascript',
jsx: 'javascript',
'jboss-cli': 'jboss-cli',
'wildfly-cli': 'jboss-cli',
json: 'json',
'julia-repl': 'julia-repl',
julia: 'julia',
kotlin: 'kotlin',
lasso: 'lasso',
ls: 'livescript',
lassoscript: 'lasso',
ldif: 'ldif',
leaf: 'leaf',
less: 'less',
lisp: 'lisp',
livecodeserver: 'livecodeserver',
livescript: 'livescript',
llvm: 'llvm',
lsl: 'lsl',
lua: 'lua',
makefile: 'makefile',
mk: 'makefile',
mak: 'makefile',
markdown: 'markdown',
md: 'markdown',
mkdown: 'markdown',
mkd: 'markdown',
mathematica: 'mathematica',
mma: 'mathematica',
matlab: 'matlab',
maxima: 'maxima',
mel: 'mel',
mercury: 'mercury',
m: 'mercury',
moo: 'mercury',
mipsasm: 'mipsasm',
mips: 'mipsasm',
mizar: 'mizar',
mojolicious: 'mojolicious',
monkey: 'monkey',
moonscript: 'moonscript',
moon: 'moonscript',
n1ql: 'n1ql',
nginx: 'nginx',
nginxconf: 'nginx',
nimrod: 'nimrod',
nim: 'nimrod',
nix: 'nix',
nixos: 'nix',
nsis: 'nsis',
objectivec: 'objectivec',
mm: 'objectivec',
objc: 'objectivec',
'obj-c': 'objectivec',
ocaml: 'ocaml',
ml: 'sml',
openscad: 'openscad',
scad: 'openscad',
oxygene: 'oxygene',
parser3: 'parser3',
perl: 'perl',
pl: 'perl',
pm: 'perl',
pf: 'pf',
'pf.conf': 'pf',
php: 'php',
php3: 'php',
php4: 'php',
php5: 'php',
php6: 'php',
pony: 'pony',
powershell: 'powershell',
ps: 'powershell',
processing: 'processing',
profile: 'profile',
prolog: 'prolog',
protobuf: 'protobuf',
puppet: 'puppet',
pp: 'puppet',
purebasic: 'purebasic',
pb: 'purebasic',
pbi: 'purebasic',
python: 'python',
py: 'python',
gyp: 'python',
q: 'q',
k: 'q',
kdb: 'q',
qml: 'qml',
qt: 'qml',
r: 'r',
rib: 'rib',
roboconf: 'roboconf',
graph: 'roboconf',
instances: 'roboconf',
routeros: 'routeros',
mikrotik: 'routeros',
rsl: 'rsl',
ruby: 'ruby',
rb: 'ruby',
gemspec: 'ruby',
podspec: 'ruby',
thor: 'ruby',
irb: 'ruby',
ruleslanguage: 'ruleslanguage',
rust: 'rust',
rs: 'rust',
scala: 'scala',
scheme: 'scheme',
scilab: 'scilab',
sci: 'scilab',
scss: 'scss',
shell: 'shell',
console: 'shell',
smali: 'smali',
smalltalk: 'smalltalk',
st: 'smalltalk',
sml: 'sml',
sqf: 'sqf',
sql: 'sql',
stan: 'stan',
stata: 'stata',
do: 'stata',
ado: 'stata',
step21: 'step21',
p21: 'step21',
step: 'step21',
stp: 'step21',
stylus: 'stylus',
styl: 'stylus',
subunit: 'subunit',
swift: 'swift',
taggerscript: 'taggerscript',
tap: 'tap',
tcl: 'tcl',
tk: 'tcl',
tex: 'tex',
thrift: 'thrift',
tp: 'tp',
twig: 'twig',
craftcms: 'twig',
typescript: 'typescript',
ts: 'typescript',
vala: 'vala',
vbnet: 'vbnet',
vb: 'vbnet',
'vbscript-html': 'vbscript-html',
vbscript: 'vbscript',
vbs: 'vbscript',
verilog: 'verilog',
v: 'verilog',
sv: 'verilog',
svh: 'verilog',
vhdl: 'vhdl',
vim: 'vim',
x86asm: 'x86asm',
xl: 'xl',
tao: 'xl',
xml: 'xml',
html: 'xml',
xhtml: 'xml',
rss: 'xml',
atom: 'xml',
xjb: 'xml',
xsd: 'xml',
xsl: 'xml',
plist: 'xml',
xquery: 'xquery',
xpath: 'xquery',
xq: 'xquery',
yaml: 'yaml',
yml: 'yaml',
YAML: 'yaml',
zephir: 'zephir',
zep: 'zephir'
}

79
src/App.vue Normal file
View File

@ -0,0 +1,79 @@
<template>
<div id="app">
<Header v-if="isHeaderShow" id="headWrapper"></Header>
<router-view class="main-content"></router-view>
<Footer v-if="isFooterShow"></Footer>
<el-backtop class="backtop" target="#app" title="回到顶部"></el-backtop>
</div>
</template>
<script>
import Header from '_c/Header.vue'
import Footer from '_c/Footer.vue'
export default {
name: 'App',
components: {
Header,
Footer
},
computed: {
//
isHeaderShow() {
let routerNameList = ['Onlyoffice', 'Error_401', 'Error_404', 'Error_500']
return routerNameList.includes(this.$route.name) ? false : true
},
//
isFooterShow() {
let routerNameList = [
'Onlyoffice',
'File',
'Share',
'Error_401',
'Error_404',
'Error_500'
]
return routerNameList.includes(this.$route.name) ? false : true
}
},
mounted() {
const that = this
window.addEventListener('resize', function () {
return (() => {
that.$store.commit('changeScreenWidth', document.body.clientWidth)
})()
})
document
.querySelector('meta[name="keywords"]')
.setAttribute(
'content',
process.env.NODE_ENV === 'production' &&
location.host.indexOf('.qiwenshare.com') !== -1
? this.$config.siteName
: '网盘名称'
)
}
}
</script>
<style lang="stylus" scoped>
@import '~_a/styles/varibles.styl';
#app {
height: 100%;
overflow-x: hidden;
-webkit-text-size-adjust: none;
overflow-y: auto;
>>> .el-backtop {
background-color: $Success;
color: #fff;
z-index: 3;
}
.main-content {
flex: 1;
width: 90%;
min-height: calc(100vh - 70px);
margin: 0 auto;
display: flex;
}
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1650850638380" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="40824" width="200" height="200" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
</style></defs><path d="M192 384h640a42.666667 42.666667 0 0 1 42.666667 42.666667v362.666666a42.666667 42.666667 0 0 1-42.666667 42.666667H192v106.666667a21.333333 21.333333 0 0 0 21.333333 21.333333h725.333334a21.333333 21.333333 0 0 0 21.333333-21.333333V308.821333L949.909333 298.666667h-126.528A98.048 98.048 0 0 1 725.333333 200.618667V72.661333L716.714667 64H213.333333a21.333333 21.333333 0 0 0-21.333333 21.333333v298.666667zM128 832H42.666667a42.666667 42.666667 0 0 1-42.666667-42.666667V426.666667a42.666667 42.666667 0 0 1 42.666667-42.666667h85.333333V85.333333a85.333333 85.333333 0 0 1 85.333333-85.333333h530.026667L1024 282.453333V938.666667a85.333333 85.333333 0 0 1-85.333333 85.333333H213.333333a85.333333 85.333333 0 0 1-85.333333-85.333333v-106.666667z m91.989333-359.509333v40.704h140.16L261.845333 746.666667h47.616l96-238.08v-36.096h-185.472z m221.952 0v38.4h147.072l-158.592 200.448V746.666667h226.176v-38.4H489.173333l158.208-200.064v-35.712h-205.44z" fill="#57C1FF" p-id="40825"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1648199339714" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1481" width="24" height="24" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
</style></defs><path d="M535.601129 0h68.997178v95.247413h349.200376c19.747883 0.842897 41.301976 0 58.400753 12.041392 12.041392 17.580433 10.596425 39.977422 12.041392 60.206962q-0.963311 310.186265 0 619.890875c0 34.67921 3.130762 70.080903-3.97366 104.158043-4.575729 24.805268-33.715898 25.407338-53.10254 26.250235H605.32079V1023.518344h-72.248353C355.100659 991.006585 177.490122 960.541863 0 928.752587V95.367827C178.573848 63.578551 357.147695 32.270931 535.601129 0z" fill="#207245" p-id="1482"></path><path d="M604.598307 131.010348h383.879586v750.058326H604.598307v-71.405457h93.079962v-83.326434h-93.079962v-48.165569h93.079962v-82.844779h-93.079962v-47.5635h93.079962v-83.446848h-93.079962v-48.16557h93.079962v-82.724365h-93.079962v-48.165569h93.079962v-82.844779h-93.079962z" fill="#FFFFFF" p-id="1483"></path><path d="M744.278457 202.415804h162.799624v83.326435H744.278457z" fill="#207245" p-id="1484"></path><path d="M344.504233 314.039511q39.616181-2.889934 79.111948-4.936971-46.600188 97.655691-93.802446 195.190969c31.90969 66.588899 64.662277 132.455315 96.331138 199.52587l-84.289746-5.418626c-19.747883-49.73095-43.830668-97.655691-58.039511-149.674507-15.774224 48.165569-38.412041 94.043274-56.594544 141.365946-25.407338 0-50.935089-1.444967-76.342427-2.528692 29.862653-60.206961 58.761994-120.413923 89.587959-179.777987-26.250235-61.290687-54.908749-121.377234-81.881468-182.427093l76.703669-4.455316c17.339605 46.600188 36.124177 92.477893 50.573848 140.282221 16.135466-50.694262 39.254939-98.257761 58.64158-147.145814z" fill="#FFFFFF" p-id="1485"></path><path d="M744.278457 333.426152h162.799624v83.326435H744.278457zM744.278457 464.316087h162.799624v83.446848H744.278457zM744.278457 595.326435h162.799624v83.326434H744.278457zM744.278457 726.336783h162.799624v83.326434H744.278457z" fill="#207245" p-id="1486"></path></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1651997466360" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1318" width="200" height="200" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
</style></defs><path d="M766.1 57.2c-0.8-0.8-1.6-1.4-2.4-2.2l-50-50c-2.8-2.8-8.2-5-12.1-5H286c-58.1 0-105.4 47.2-105.4 105.1v465.5h82.5V105.1c0-12.4 10.5-22.9 22.9-22.9h364.4v152c0 58 47.3 105.1 105.4 105.1h152.4v579.5c0 12.4-10.5 22.9-22.9 22.9H286c-12.4 0-22.9-10.5-22.9-22.9v-57.9h-82.5v57.9c0 58 47.3 105.1 105.4 105.1h599.2c58.1 0 105.4-47.2 105.4-105.1V288.4c0-3.9-2.2-9.3-5-12l-50.2-50c-0.8-0.8-1.5-1.6-2.3-2.4l-167-166.8z m-33.2 177V129.1c0-3.9 2.2-4.8 5-2.1l125.3 125c2.8 2.8 1.8 5-2.1 5H755.8c-12.4 0.1-22.9-10.4-22.9-22.8z" p-id="1319" fill="#E6A23C"></path><path d="M421 666.4h-0.9c-0.4 4.4-1.3 8.7-2.6 12.8L400.2 732h40.3l-17.2-52.4c-1-3.4-1.8-7.8-2.3-13.2z" p-id="1320" fill="#E6A23C"></path><path d="M679.7 598.5H68c-15.1 0-27.5 12.3-27.5 27.4v180.6c0 15.1 12.4 27.4 27.5 27.4h611.7c15.1 0 27.5-12.3 27.5-27.4V626c0-15.1-12.4-27.5-27.5-27.5z m-460.3 107v26.4h-49.7v59.7h-32.2V640.3h86.2v26.4h-54v38.9h49.7z m118.4 86.1H249V640.3h32.2v124.9h56.5v26.4z m121.7 0l-11.3-34.7h-55l-11.1 34.7h-35l55.4-151.3h37.9l54.3 151.3h-35.2z m159-5.5c-11 5.4-25.4 8.1-43.1 8.1-22.8 0-40.9-6.8-54.2-20.5-13.4-13.6-20.1-31.8-20.1-54.5 0-23.9 7.5-43.4 22.4-58.6 14.9-15.2 34.2-22.8 57.9-22.8 14.8 0 27.1 1.9 37.1 5.8v31.2c-10.2-6-21.8-9-34.8-9-14.8 0-26.6 4.7-35.4 14.2-8.9 9.4-13.3 21.8-13.3 37 0 14.8 4.2 26.8 12.6 35.8 8.4 9 19.8 13.6 34.1 13.6 13.5 0 25.7-3.3 36.8-9.8v29.5z" p-id="1321" fill="#E6A23C"></path><path d="M582.1 140.8l-153 46.8c-18.5 5.3-33.6 24.6-33.6 43.1V392.1s-11.1-7.5-35.8-4c-36.3 5.2-65.7 33-65.7 62.2s29.4 47.1 65.7 41.9c36.3-5.1 62.9-32.1 62.9-61.3V293.1c0-13 15.6-18.5 15.6-18.5l135.3-42.4s15-5 15 8.8V351.7s-13.8-7.9-38.5-4.9c-36.3 4.4-65.7 31.6-65.7 60.8 0 29.2 29.4 47.7 65.7 43.3 36.3-4.4 65.7-31.6 65.7-60.8V164.8c0-18.6-15-29.3-33.6-24z" p-id="1322" fill="#E6A23C"></path></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1648199330263" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1279" width="24" height="24" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
</style></defs><path d="M538.731891 0h65.98683v107.168391c124.387582 0.722484 248.895579-1.324553 373.28316 0a40.699906 40.699906 0 0 1 45.034808 46.118533c2.047037 222.404516 0 444.929445 1.204139 667.454374-1.204139 24.082785 2.287865 50.694262-11.198495 72.248354-16.978363 12.041392-39.014111 10.957667-59.002822 12.041392-116.319849-0.60207-232.639699 0-349.200376 0V1023.518344h-72.248354C355.100659 990.886171 177.490122 960.662277 0 928.752587V95.488241C179.537159 63.698965 359.074318 31.30762 538.731891 0z" fill="#D24625" p-id="1280"></path><path d="M604.718721 142.931326H988.598307v726.216369H604.718721v-95.247413h279.239887v-47.563499H604.718721v-60.206962h279.239887v-46.96143H604.839135v-69.960489c46.118532 14.570085 98.619003 14.208843 139.800564-14.088429 44.553151-27.093133 67.793039-78.630292 71.646284-130.047036H663.119473c0-51.777987 0.60207-103.555974-0.963311-155.213547-19.145814 3.732832-38.171214 7.826905-57.196614 12.041392z" fill="#FFFFFF" p-id="1281"></path><path d="M686.35936 224.69238a165.689558 165.689558 0 0 1 153.16651 156.5381c-51.055503 0.60207-102.111007 0-153.286924 0 0.120414-52.380056 0.120414-104.278457 0.120414-156.5381z" fill="#D24625" p-id="1282"></path><path d="M186.64158 314.521167c63.21731 3.130762 139.680151-25.527752 192.662277 22.878645 50.092192 62.374412 36.84666 176.888053-37.44873 214.095955-26.370649 13.847601-56.714958 12.041392-85.373471 10.957667v139.68015l-69.238006-5.900282c-1.806209-127.157103-2.047037-254.434619-0.60207-381.712135z" fill="#FFFFFF" p-id="1283"></path><path d="M255.759172 378.942615c22.878645-0.963311 51.296331-5.298213 66.709313 16.737536a87.902164 87.902164 0 0 1 1.565381 78.148635c-13.245532 24.082785-43.228598 22.035748-66.468485 24.925682-2.408278-39.857008-2.167451-79.714017-1.806209-119.811853z" fill="#D24625" p-id="1284"></path></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1650850892160" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="41166" width="200" height="200" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
</style></defs><path d="M192 384h640a42.666667 42.666667 0 0 1 42.666667 42.666667v362.666666a42.666667 42.666667 0 0 1-42.666667 42.666667H192v106.666667a21.333333 21.333333 0 0 0 21.333333 21.333333h725.333334a21.333333 21.333333 0 0 0 21.333333-21.333333V308.821333L949.909333 298.666667h-126.528A98.048 98.048 0 0 1 725.333333 200.618667V72.661333L716.714667 64H213.333333a21.333333 21.333333 0 0 0-21.333333 21.333333v298.666667zM128 832H42.666667a42.666667 42.666667 0 0 1-42.666667-42.666667V426.666667a42.666667 42.666667 0 0 1 42.666667-42.666667h85.333333V85.333333a85.333333 85.333333 0 0 1 85.333333-85.333333h530.026667L1024 282.453333V938.666667a85.333333 85.333333 0 0 1-85.333333 85.333333H213.333333a85.333333 85.333333 0 0 1-85.333333-85.333333v-106.666667zM80.853333 472.490667v38.4h85.056V746.666667H208.426667V510.890667h85.034666v-38.4H80.853333z m317.269334 0L298.922667 746.666667h45.397333l23.637333-68.736h108.650667L500.224 746.666667h45.44l-99.2-274.176h-48.341333z m-17.450667 168.576l41.066667-120.192h1.450666l40.704 120.192h-83.221333z m190.421333-168.576V746.666667h42.517334v-111.744h67.221333c14.549333 0 25.813333 3.072 33.450667 9.984 7.253333 6.528 11.626667 17.28 13.077333 32.256l3.264 33.792c1.450667 15.36 5.098667 27.264 11.264 35.712h46.144c-8.704-9.984-14.165333-23.424-15.616-40.32l-4.352-44.16c-2.922667-26.88-15.637333-42.624-38.165333-48v-0.768a56.512 56.512 0 0 0 33.066666-24.192c7.253333-11.136 10.901333-23.808 10.901334-38.016 0-26.112-8.362667-46.08-24.341334-59.904-15.274667-12.672-36.352-18.816-62.869333-18.816H571.093333z m42.517334 38.4h67.221333c17.450667 0 30.165333 3.072 38.165333 9.984 8 6.528 11.989333 17.28 11.989334 32.256 0 13.824-3.989333 24.576-11.989334 32.256-8.725333 7.296-21.44 11.136-38.165333 11.136h-67.221333v-85.632z" fill="#BA4CD7" p-id="41167"></path></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1648199299550" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3869" width="24" height="24" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
</style></defs><path d="M535.119473 0h69.599248v95.247413C729.226717 96.331138 853.614299 93.92286 977.881468 96.331138a40.459078 40.459078 0 0 1 44.914393 45.516463c2.047037 234.566322 0 469.614299 1.204139 703.819379-1.204139 24.082785 2.287865 50.694262-11.318909 72.248354-16.978363 12.041392-38.893697 10.837253-58.761994 12.041392h-349.200376V1023.518344h-72.248354C354.980245 990.886171 177.490122 960.541863 0 928.752587V95.488241C178.33302 63.578551 356.786453 32.511759 535.119473 0z" fill="#2A5699" p-id="3870"></path><path d="M604.718721 131.010348H988.598307v761.979304H604.718721v-95.247413h302.479774v-48.165569H604.718721v-59.002822h302.479774v-48.16557H604.718721v-59.002822h302.479774v-48.165569H604.718721v-60.206961h302.479774V428.673565H604.718721v-60.206961h302.479774v-46.96143H604.718721v-59.604892h302.479774V214.336783H604.718721zM240.827846 341.373471c22.156162-1.324553 44.19191-2.287865 66.348071-3.492003 15.533396 80.4365 31.30762 160.632173 48.165569 240.827845 13.125118-82.724365 27.695202-165.087488 41.783632-247.571025 23.239887-0.842897 46.479774-2.167451 69.719661-3.612418-26.370649 115.356538-49.369708 231.796802-78.148636 346.430856-19.386642 10.355597-48.165569 0-71.52587 1.204139C301.034807 596.169332 283.093133 517.779868 269.245532 438.667921c-13.606773 76.944497-31.30762 153.16651-46.841016 229.508937-22.39699-1.204139-44.793979-2.528692-67.311383-4.094073-19.266228-104.760113-42.024459-208.918156-60.206962-313.919097 19.868297-0.963311 39.857008-1.806209 60.206962-2.528693 12.041392 75.860771 25.648166 151.360301 36.124177 227.341487 16.135466-77.907808 32.873001-155.695202 49.610536-233.603011z" fill="#FFFFFF" p-id="3871"></path></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 832 B

View File

@ -0,0 +1,25 @@
* {
margin: 0;
padding: 0;
box-sizing: border-box;
outline: 0;
font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB',
'Microsoft YaHei', '', Arial, sans-serif;
}
html {
height: 100%;
}
body {
height: 100%;
font-size: 16px;
overflow-x: hidden;
}
a {
text-decoration: none;
}
img {
vertical-align: middle;
}
p {
line-height: 24px;
}

View File

@ -0,0 +1,15 @@
// element UI
.el-dialog__wrapper {
.el-dialog {
margin-top: 9vh !important;
}
}
.el-avatar > img {
width: 100%;
}
.el-textarea__inner {
font-family: inherit;
}
.el-input__count {
line-height: 100%;
}

Some files were not shown because too many files have changed in this diff Show More