mirror of
https://github.com/eyebluecn/tank-front
synced 2024-04-21 12:31:55 +00:00
add readme change and delete some redundant file.
This commit is contained in:
@@ -16,6 +16,11 @@
|
||||
|
||||
如果您觉得蓝眼云盘对您有帮助,请不要吝惜您的star :smile:
|
||||
|
||||
###技术栈
|
||||
|
||||
vue2.0 + vue-router + vuex + vue-resource + webpack + es6 + less
|
||||
|
||||
|
||||
### 运行
|
||||
|
||||
```
|
||||
@@ -32,7 +37,18 @@ npm run build
|
||||
```
|
||||
打包的结果在`dist`文件夹下,将该文件夹下的内容放置在[后端tank](https://github.com/eyebluecn/tank)的`build/html`文件夹下即可。
|
||||
|
||||
#### 更多详细配置请参考[后端说明](https://github.com/eyebluecn/tank)
|
||||
|
||||
###配套后端
|
||||
此项目有配套后端项目,对golang感兴趣的同学可以猛戳 [配套后端tank](https://github.com/eyebluecn/tank)
|
||||
|
||||
##### 更多详细配置请参考[后端说明](https://github.com/eyebluecn/tank)
|
||||
|
||||
###总结
|
||||
1、 蓝眼的宗旨是专注于开源精致而优雅的软件,所以在代码的构建过程中我们不停地思考与迭代,追求最优质的代码。
|
||||
|
||||
2、 蓝眼云盘前端代码的构建完全面向对象,可扩展能力强,涉及多用户,多权限功能。
|
||||
|
||||
3、 蓝眼云盘后端采用了更贴近底层golang语言,更加适用于文件传输类的软件,速度更快,用户体验更好。
|
||||
|
||||
### Contribution
|
||||
|
||||
@@ -40,6 +56,119 @@ npm run build
|
||||
|
||||
如果您也想参与进来,请尽情的fork, star, post issue, pull requests
|
||||
|
||||
###部分截图
|
||||

|
||||
|
||||

|
||||
|
||||
###项目布局
|
||||
|
||||
```
|
||||
├── build // webpack配置文件
|
||||
├── config // 项目打包路径及反向代理配置
|
||||
├── doc // vue-cli创建后配置文档
|
||||
├── node_modules // 依赖包存放目录
|
||||
├── screenshots // 项目部分截图
|
||||
├── node_modules // 依赖包存放目录
|
||||
├── static // 打包文件存放目录
|
||||
├── src // 源码目录
|
||||
│ ├── assets // 静态资源
|
||||
│ │ ├── css // css目录
|
||||
│ │ │ ├── bootstrap // bootstrap全局less
|
||||
│ │ │ ├── global // 自定义全局less
|
||||
│ │ │ ├── inspinia // 引用外部插件less
|
||||
│ │ │ ├── mixin // bootstrap部分样式
|
||||
│ │ │ ├── app.less // less入口文件
|
||||
│ │ ├── img // 静态图片存放目录
|
||||
│ ├── backyard // 组件目录
|
||||
│ │ ├── index // 首页
|
||||
│ │ │ ├── Index.vue // 首页组件
|
||||
│ │ ├── layout // 布局
|
||||
│ │ │ ├── BottomNavigation.vue // 尾部布局组件
|
||||
│ │ │ ├── SideMenu.vue // 侧边栏菜单组件
|
||||
│ │ │ ├── SideNavigation.vue // 侧边栏布局组件
|
||||
│ │ │ ├── TopNavigation.vue // 头部布局组件
|
||||
│ │ ├── matter // 文件
|
||||
│ │ │ ├── widget
|
||||
│ │ │ │ ├── Director.js // 单个文件的导演类
|
||||
│ │ │ │ ├── FolderTree.vue // 文件夹递归树组件
|
||||
│ │ │ │ ├── MatterImage.vue // 图片类型文件上传组件
|
||||
│ │ │ │ ├── MatterPanel.vue // 单文件或文件夹个体
|
||||
│ │ │ │ ├── MoveBatchPanel.vue // 批量文件移动组件
|
||||
│ │ │ │ ├── UploadMatterPanel.vue // 文件上传组件
|
||||
│ │ │ ├── List.vue // 文件列表组件
|
||||
│ │ ├── preference // 个性化
|
||||
│ │ │ ├── Edit.vue // 个性化编辑组件
|
||||
│ │ │ ├── Index.vue // 个性化显示组件
|
||||
│ │ ├── user // 用户
|
||||
│ │ │ ├── widget
|
||||
│ │ │ │ ├── UserInputSelection.vue // 异步用户模糊单选组件
|
||||
│ │ │ ├── ChangePassword.vue // 用户修改密码组件
|
||||
│ │ │ ├── Create.vue // 创建用户组件
|
||||
│ │ │ ├── Detail.vue // 用户详情组件
|
||||
│ │ │ ├── List.vue // 用户列表组件
|
||||
│ │ │ ├── Login.vue // 用户登录组件
|
||||
│ │ ├── widget // 与页面有关的公用组件
|
||||
│ │ │ ├── CreateSaveButton.vue // 保存创建按钮组件
|
||||
│ │ │ ├── LoadingFrame.vue // 框架加载组件
|
||||
│ │ ├── Frame.vue // 大框架组件
|
||||
│ ├── common // 公共目录
|
||||
│ │ ├── directive // 自定义指令
|
||||
│ │ │ ├── directive.js // 验证规则指令
|
||||
│ │ ├── filter // 过滤器
|
||||
│ │ │ ├── index.js // 过滤器入口文件
|
||||
│ │ │ ├── number.js // 数字格式过滤器
|
||||
│ │ │ ├── str.js // 字符串格式过滤器
|
||||
│ │ │ ├── time.js // 时间格式过滤器
|
||||
│ │ │ ├── validate.js // 正则表达式
|
||||
│ │ ├── fork // 引用外部插件
|
||||
│ │ ├── frontend // 菜单
|
||||
│ │ │ ├── Menu.js // 菜单类
|
||||
│ │ │ ├── MenuManager.js // 菜单管理
|
||||
│ │ ├── model // 类模型目录
|
||||
│ │ │ ├── base // 基
|
||||
│ │ │ │ ├── Base.js // 基类
|
||||
│ │ │ │ ├── BaseEntity.js // 实体基类
|
||||
│ │ │ │ ├── Filter.js // 过滤器类
|
||||
│ │ │ │ ├── Pager.js // 分页类
|
||||
│ │ │ ├── feature // 权限
|
||||
│ │ │ │ ├── FeatureType.js // 权限点类
|
||||
│ │ │ ├── matter // 文件
|
||||
│ │ │ │ ├── Matter.js // 文件类
|
||||
│ │ │ ├── preference // 个性化
|
||||
│ │ │ │ ├── Preference.js // 个性化类
|
||||
│ │ │ ├── user // 用户
|
||||
│ │ │ │ ├── User.js // 用户类
|
||||
│ │ ├── router // 路由
|
||||
│ │ │ ├── index.js // 路由入口文件
|
||||
│ │ ├── util // 通用
|
||||
│ │ │ ├── MimeUtil.js // 后缀名判别文件
|
||||
│ │ │ ├── Utils.js // 客户端判别文件
|
||||
│ │ ├── vuex // vuex状态管理
|
||||
│ │ │ ├── index.js // vuex入口文件
|
||||
│ │ ├── widget // 公用轮子文件(里面存放各种通用型轮子)
|
||||
│ │ │ ├── filter // 筛选
|
||||
│ │ │ │ ├── NbFilter.vue // 筛选入口组件
|
||||
│ │ │ │ ├── NbFilterCheck.vue // 单/多项选择筛选
|
||||
│ │ │ │ ├── NbFilterDateTime.vue // 时间筛选
|
||||
│ │ │ │ ├── NbFilterHttpInputSelection.vue // 异步输入筛选
|
||||
│ │ │ │ ├── NbFilterHttpSelection.vue // 异步下拉筛选
|
||||
│ │ │ │ ├── NbFilterMultiSelection.vue // 多选下拉筛选
|
||||
│ │ │ │ ├── NbFilterSelection.vue // 下拉筛选
|
||||
│ │ │ │ ├── NbFilterSort.vue // 布尔值筛选
|
||||
│ │ │ ├── NbBtnDropdown.vue // 按钮下拉组件
|
||||
│ │ │ ├── NbCheckbox.vue // 复选框组件
|
||||
│ │ │ ├── NbExpanding.vue // 收缩展开组件
|
||||
│ │ │ ├── NbPager.vue // 分页组件
|
||||
│ │ │ ├── NbRadio.vue // 单选框组件
|
||||
│ │ │ ├── NbSlidePanel.vue // 动画组件
|
||||
│ │ │ ├── NbSwitcher.vue // 开关按钮组件
|
||||
│ ├── App.vue // 页面入口文件
|
||||
│ ├── main.js // js入口文件
|
||||
|
||||
|
||||
```
|
||||
|
||||
### License
|
||||
|
||||
[MIT](http://opensource.org/licenses/MIT)
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 55 KiB |
@@ -1,87 +0,0 @@
|
||||
<template>
|
||||
|
||||
<el-select v-model="userUuidValue" class="w300" clearable placeholder="请选择用户">
|
||||
<el-option
|
||||
v-for="item in selection"
|
||||
:key="item.uuid"
|
||||
:label="item.username"
|
||||
:value="item.uuid">
|
||||
</el-option>
|
||||
<template>
|
||||
<div>
|
||||
<NbPager :pager="pager" :callback="refresh"/>
|
||||
</div>
|
||||
</template>
|
||||
</el-select>
|
||||
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import Pager from '../../../common/model/base/Pager'
|
||||
import NbPager from '../../../common/widget/NbPager.vue'
|
||||
import User from '../../../common/model/user/User'
|
||||
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
pager: new Pager(User, 5),
|
||||
userUuidValue: '',
|
||||
selection: []
|
||||
}
|
||||
},
|
||||
props:{
|
||||
initFilter: {
|
||||
type: Object,
|
||||
required: false
|
||||
},
|
||||
initUser: {
|
||||
type: User,
|
||||
required: false
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
'userUuidValue'(newVal,oldVal){
|
||||
this.$emit('currentUserChange',newVal)
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
refresh(searchCallback){
|
||||
let that = this
|
||||
this.pager.httpFastPage(function () {
|
||||
that.selection = that.pager.data
|
||||
typeof searchCallback === 'function' && searchCallback()
|
||||
})
|
||||
}
|
||||
},
|
||||
components:{
|
||||
NbPager
|
||||
},
|
||||
mounted(){
|
||||
let that = this
|
||||
if(this.initFilter){
|
||||
for (let key in this.initFilter) {
|
||||
this.pager.setFilterValue(key, this.initFilter[key]);
|
||||
}
|
||||
}
|
||||
this.refresh(function () {
|
||||
if(that.initUser){
|
||||
|
||||
/*for(let i = 0; i < that.selection.length; i++){
|
||||
if(i.uuid === that.initUser.uuid){
|
||||
that.userUuidValue = that.initUser.uuid
|
||||
return
|
||||
}
|
||||
}*/
|
||||
|
||||
that.userUuidValue = that.initUser.uuid
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<style lang="less" rel="stylesheet/less">
|
||||
|
||||
</style>
|
||||
@@ -1,41 +0,0 @@
|
||||
<template>
|
||||
<div class="animated fadeIn">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="pedia-navigation">
|
||||
<span class="item active">自家轮子demo</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
}
|
||||
},
|
||||
props: {},
|
||||
watch: {},
|
||||
computed: {},
|
||||
components: {
|
||||
},
|
||||
methods: {},
|
||||
mounted() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="less" rel="stylesheet/less">
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
let MoneyType = {
|
||||
CASH: 'CASH',
|
||||
DISCOUNT: 'DISCOUNT'
|
||||
}
|
||||
|
||||
let MoneyTypeMap = {
|
||||
CASH: {
|
||||
name: '按金额',
|
||||
value: 'CASH',
|
||||
style: 'success'
|
||||
},
|
||||
DISCOUNT: {
|
||||
name: '打折扣',
|
||||
value: 'DISCOUNT',
|
||||
style: 'primary'
|
||||
}
|
||||
}
|
||||
|
||||
let MoneyTypeList = []
|
||||
for (let key in MoneyTypeMap) {
|
||||
if (MoneyTypeMap.hasOwnProperty(key)) {
|
||||
MoneyTypeList.push(MoneyTypeMap[key])
|
||||
}
|
||||
}
|
||||
|
||||
export { MoneyType, MoneyTypeMap, MoneyTypeList }
|
||||
@@ -1,32 +0,0 @@
|
||||
let Platform = {
|
||||
ANDROID: 'ANDROID',
|
||||
IOS: 'IOS',
|
||||
WEB: 'WEB'
|
||||
}
|
||||
|
||||
let PlatformMap = {
|
||||
ANDROID: {
|
||||
name: 'android端',
|
||||
value: 'ANDROID',
|
||||
icon: 'fa-android'
|
||||
},
|
||||
IOS: {
|
||||
name: 'ios端',
|
||||
value: 'IOS',
|
||||
icon: 'fa-apple'
|
||||
},
|
||||
WEB: {
|
||||
name: 'web端',
|
||||
value: 'WEB',
|
||||
icon: 'fa-edge'
|
||||
}
|
||||
}
|
||||
|
||||
let PlatformList = []
|
||||
for (let key in PlatformMap) {
|
||||
if (PlatformMap.hasOwnProperty(key)) {
|
||||
PlatformList.push(PlatformMap[key])
|
||||
}
|
||||
}
|
||||
|
||||
export { Platform, PlatformMap, PlatformList }
|
||||
Reference in New Issue
Block a user