Skip to content

helloforrestworld/Wangpan-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

微云总结

预览 标签(空格分隔): 微云

[TOC]

截图

添加删除 进入文件夹 复制移动 拖拽移动 回收站 布局转换 ##功能分析

  1. 点击文件夹

选中:

1单击文件夹选中文件夹(取消其他文件夹选择),单击图片打开图片; 2点击云盘空白地方取消所有选择; 3.多选:Ctrl+鼠标点击 选中多个文件;

  1. 全选功能键
  2. 新建文件夹

点击新建文件夹按钮弹出新文件夹并要求输入名字.

--添加成功: 检测名字没有重复,通过==>数据交互; --添加失败:名字重复了,移除元素节点;

  1. 重命名
  • 重命名按钮和直接点击文件名称都能调出重命名.
  • 能否重命名?

当选中的是一个文件的时候可以重命名. 没有选中或选择了多个文件重不能重命名.

  • 确认重命名
  • 鼠标失去焦点或者按回车键,确认重命名.
  • 检测新名字是否重复 重复则失败,否则命名成功.
  1. 删除功能
  • 确认:移动到回收站.
  • 取消:取消删除.
  1. 布局转换

文件竖排列,并多了一些文件信息项.

  1. 搜索功能

搜索本文件目录下的文件 如果找到文件名称变黄色,点击文件名称取消样式

  1. 菜单功能 1.菜单弹出:
    • 鼠标在文件身上调出菜单:
      • 弹出:删除、重命名、移动到、复制、粘贴
      • 该文件默认被选中,可以进行相关操作
    • 当在空白地方调出:
      • 弹出:新建、上传(没添加)、粘贴
    • 当在回收站调出:
      • 弹出:删除、重命名、移动到

2.菜单新增功能:

  • 移动到:弹出移动位置选择框 + 判断能否移动: -失败: 移动到 本目录、自身子目录

  • 复制:复制当前文件选中的文件

  • 粘贴:粘贴到当前文件夹

  • 小细节: 1.移动和粘贴重名问题:

    • 弹出选择框
    • 选择框内容: a.有几个文件重名了,分别是哪些 b.可以分别对文件进行不同操作(覆盖、新建副本、忽略) c.确定操作、或取消移动

    2.副本名字规则: + 一个文件副本 :文件1(1),文件1(2),文件1(3); + 如果删除文件1(2),下次覆盖 出来的还是文件1(2); + 如果用户本身建立了文件1(4),那么下次覆盖自动建立的副本则是文件1(4);

9.其他功能:
  * 鼠标画框可以选中文件
  * 拖动文件
        - 拖动一个或者多个,可直接拖进文件夹内
        - 拖动到目录,可自动打开目录,松手则移动到该文件内
	
  * 回收站:
   - 删除:直接删除数据;
   - 移动:可还原文件;
   - 清空回收站:回收站 所有文件清除

##小总结 ###问题: 1.移动判断 是否移动到自己子集 只能循环递归?
>点击的时候先将拿到的id push到数组里面 然后循环那个数组也可以

2.新建副本名字规则怎么做更好? >找到要覆盖的文件,在文件后面加(1)。 循环当前目录,如果重名了(1+1)。 递归循环,直到没有重复。 ###注意: 1.变量挂载 到自身属性上 2.尽可能少的全局变量 3.选中的时候先push到一个数组里面 确定删除 重名命的时候才与数据交互 4.事件管理:

a.分析好事件确切是什么时候发生的,是down还是up,不要全都写click b.动作完成,清除相关事件,例如画框时,鼠标抬起后,清除mouseup,mousemove c.尽量用Dom2级事件

5.代码函数化:

把一些需要实现的功能划分成一个个函数

###难点:

//生成目录结构 //如何对数据复制(深拷贝) //移动和粘贴如何 找到重复项 并且 整理添加到弹出框内 //删除数据函数 //根据class找父级的递归 //新建副本起名规则 //自定义的确认框基本做不到阻塞代码的运行

###比较烦:

//在不同位置 生成不同的菜单 //当移动或者复制 名字重复的时候 弹出所有重复项的处理框

Releases

No releases published

Packages

No packages published