add readme change and delete some redundant file.

This commit is contained in:
seaheart
2018-01-02 16:26:26 +08:00
parent fdc4c04224
commit 9c6cc758c7
7 changed files with 130 additions and 187 deletions
+130 -1
View File
@@ -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
###部分截图
![蓝眼云盘登录页面](https://raw.githubusercontent.com/eyebluecn/tank/master/build/doc/img/login.png)
![蓝眼云盘主要页面](https://raw.githubusercontent.com/eyebluecn/tank/master/build/doc/img/matters.png)
###项目布局
```
├── 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>
-41
View File
@@ -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>
-26
View File
@@ -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 }
-32
View File
@@ -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 }