有思俱乐部学习园地

硬盘系统说明


全局变量说明:

说明:此处为电脑端全局变量,手机端还未有全局变量,需要更改。

所有用户硬盘:

注:所有用户的网盘集合, 用户网盘数据前台存储的全局变量 该全局变量为一个数组  
例:US.Disk.Disks["张三"]; //张三的网盘信息,张三需要用guid表示,US.Disk.Disks["95f7bacc-0b3a-4265-a2ea-15e066b97bf7"]
例:US.Disk.Disks["李四"]; //李四的网盘信息,李四需要用guid表示,US.Disk.Disks["f6d7a4b6-e34c-4964-beed-24187b2cb1ba"]
US.Disk.Disks = [];
            

个人网盘数据结构:

注:当前操作用户的网盘数据,相当于US.Disk.Disks[userid]。
US.Disk.UserDisk = {};
US.Disk.UserDisk.files=[]   //该当前用户下面的所有网盘目录及文件的数据信息,结构参见"文件及文件夹数据实体"。以数组形式展示,
US.Disk.UserDisk.userinfo={}  //为当前用户基本信息集合,结构参见"用户信息".
US.Disk.UserDisk.folderid=""   //为当前打开目录的id 
US.Disk.UserDisk.view=""    //网盘展示文件的形式.列表形式展示值为"List",视图形式展示值为"Normal"
US.Disk.UserDisk.form=element  //窗体元素

//需要改变的老的数据结构
//  US.Disk.UserDisk[0]  0为该userid用户下面的所有网盘目录及文件的数据信息。以数组形式展示  
//  US.Disk.UserDisk[1]  1为其他额外信息数组
//  US.Disk.UserDisk[1][0] 0为当前用户基本信息集合,
//  US.Disk.UserDisk[1][1] 1为当前打开目录的id 
//  US.Disk.UserDisk[1][2]  2为用户id
//  US.Disk.UserDisk[1][3]  3未知
//  US.Disk.UserDisk[1][4]  4网盘展示文件的形式.例如列表形式展示,视图形式展示
//  US.Disk.UserDisk[2]     2为未知
//  US.Disk.UserDisk[3]     3为未知 
//  US.Disk.UserDisk[4]     4、数据与0的数据是一样的,但是这里是以object形式展示的,这里可以更快的通过id去找指定的文件或者目录 
//  US.Disk.UserDisk.pdiv   pdiv为当前网盘用户的弹框,这个是唯一的。
            

文件及文件夹数据实体:

//disk文件和文件夹实体,US.Disk.UserDisk里面的内容的数据结构。
U.Dk.M.Entity = function (directoryid, size, parentid, shortname, name, extendtype, serverurl, addtime, iconurl, deep, modifytime, encryt, filetype, descript, groupid, officevalue, userid, usernickname, username, imagehead) {
    this.UserDirectoryID = directoryid;    //文件id或者目录id
    this.UserDirectorySize = size;    //文件大小。
    this.UserDirectoryParentID = parentid;  //父亲id
    this.UserDirectoryName = shortname;   //文件名或者文件夹名,
    this.UserallDirectoryName = name;  //文件名或者文件夹名,会删除不要
    this.UserDirectoryExtendType = extendtype;  //文件扩展名,目录扩展名为folder,加密的目录也有一个标识。
    this.UserFilesServerName = serverurl; //文件服务器链接地址,需要统一加US.fs + filesinfo.UserDirectoryUrl   
    this.UserDirectoryAddTime = addtime;  //文件或者文件夹添加时间
    this.UserDirectoryUrl = iconurl; //文件服务器链接地址,缩略图,需要统一加US.fs + filesinfo.UserDirectoryUrl   
    this.UserDirectoryDeep = deep;//文件夹深度
    this.UserDirectoryModifyTime = modifytime; //文件或者文件夹修改时间
    this.UserDirectoryEncrypt = encryt;  //文件夹加密
    this.filetype = filetype;  //文件类型,文件夹为1,文件为0
    this.Descript = descript; //文件描述。例如图片,声音,视频的描述
    this.GroupID = groupid;  //群id,用于群文件
    this.UsOffice = officevalue; //文件内容。
    this.UserId = userid; //文件或者文件夹所属用户id
    this.UserNickName = usernickname;//文件或者文件夹所属用户昵称
    this.UserName = username;//文件或者文件夹所属用户账号
    this.UserThumbnailImageHead = imagehead;//文件或者文件夹所属用户头像
    this.Child = null; //文件夹中的子文件夹数组。
    this.parent = null;//文件或者文件夹的父亲
}
            

初始化目录结构:

//初始化一级目录的全局变量。即左边树目录结构。
US.Disk.InitTree = [
        [US.DG, 0, US.OG, "电脑", "我的文档", "folder", null, null, null, 1, null, null, 0, ""],
        [US.FG, 0, US.OG, "ftp", "Ftp文件传输", "folder", null, null, null, 1, null, null, 0, "", ""],
        [US.VG, 0, US.OG, "视频", "在线视频", "folder", null, null, null, 1, null, null, 0, ""],
        [US.PG, 0, US.OG, "相册", "图片、相册", "folder", null, null, null, 1, null, null, 0, ""],
        [US.MG, 0, US.OG, "音乐", "音乐收听", "folder", null, null, null, 1, null, null, 0, ""],
        [US.SG, 0, US.OG, "私密", "私密空间", "folder", null, null, null, 1, null, null, 0, "", true]
];
           

文件类型:

//文件类型全局变量。
US.Disk.FileType = {
    "image": ["jpg", "gif", "png", "bmp", "jpeg", "JPG", "GIF", "BMP", "PNG", "JPEG"],
    "music": ["mp3"],
    "video": ["wmv", "video", "ogg", "webm", "mp4"],
    "usword": ["uw"],  //互联办公word
    "usexcel": ["ue"], //互联办公Excel
    "text": ["rtf", "mht", "txt", "htm", "html", "wsh", "wsf", "cpp", "c", "css", "txt", "php", "cs", "java", "log", "sql", "jsp"]   //所有能用记事本打开的文件
}
           

应用程序类型:

//全局变量,应用程序类型,包含了应用扩展名,id,中文描述,图标的css名。
US.Disk.ApplicationTypes = {
    "image": {
        //图片类型的后缀
        "types": US.Disk.FileType.image,
        //该格式对应在网盘的目录id
        "directoryid": US.PG,
        //格式对应的名字
        "name": "图片",
        //格式对应的样式
        "classname": ["UD_SYVCOIT"]
    },
    "music": {
        //音乐类型的后缀
        "types": US.Disk.FileType.music,
        //该格式对应在网盘的目录id
        "directoryid": US.MG,
        //格式对应的名字
        "name": "音乐",
        //格式对应的样式
        "classname": ["UD_SYVCOIY", "UD_SYWRZOY", "UD_SYWLCY"]
    },
    "video": {
        //视频类型的后缀
        "types": US.Disk.FileType.video,
        //该格式对应在网盘的目录id
        "directoryid": US.VG,
        //格式对应的名字
        "name": "视频",
        //格式对应的样式
        "classname": ["UD_SYVCOIS", "UD_SYWRZOP", "UD_SYWLCP"]
    },
    "uw": {
        //互联办公word文档格式
        "types": US.Disk.FileType.usword,
        //该格式对应在网盘的目录id
        "directoryid": US.DG,
        //格式对应的名字
        "name": "文档",
        //格式对应的样式
        "classname": ["UD_SYVCOIW", "UD_SYWRZOD", "UD_SYWLCD"]
    },
    "ue": { 
        //互联办公Excel文档格式
        //视频类型的后缀
        "types": US.Disk.FileType.usexcel,
        //该格式对应在网盘的目录id
        "directoryid": US.NU,
        //格式对应的名字
        "name": "表格",
        //格式对应的样式
        "classname": ["UD_SYVCOIE", "UD_SYWRZOE", "UD_SYWLCE"]
    },
    "text": {
        //可以通过记事本打开的文件格式
        "types": US.Disk.FileType.text,
        //该格式对应在网盘的目录id
        "directoryid": US.NU,
        //格式对应的名字
        "name": "文档",
        //格式对应的样式
        "classname": ["UD_SYVCOIT", "UD_SYWRZON", "UD_SYWLCB"]
    },
    "folder": {
        //文件夹处理,一种是加密文件夹,一种是不加密
        "types": ["folder","folderencrypt"]
        //该格式对应在网盘的目录id
        "directoryid": US.NU,
        //格式对应的名字
        "name": "文件夹",
        //格式对应的样式
        "classname": ["", "UD_SYWRZOW", "UD_SYWLCW"]
    },
    "unknownfile": {
        //无法用应用打开的文件类型
        "types": [],
        //该格式对应在网盘的目录id
        "directoryid": US.DG,
        //格式对应的名字
        "name": "文件",
        //格式对应的样式
        "classname": ["UD_SYVCOIT", "UD_SYWRZON", "UD_SYWLCB"]
    }
}
           

后续工作说明:

                1、需要整理出暴露给外网用户的Api,标为浅蓝色。
                2、每一个接口需要有示例。
                3、需要标注存储过程逻辑
            

工作人员

 
作者:蔡旭升
信息录入:蔡旭升