# cloud-disk **Repository Path**: ake1205_admin_admin_admin/cloud-disk ## Basic Information - **Project Name**: cloud-disk - **Description**: go xorm go-zero - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-08 - **Last Updated**: 2023-11-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 使用到的命令 ```text # 安装goctl go install github.com/zeromicro/go-zero/tools/goctl@latest go get -u github.com/zeromicro/go-zero@latest # 创建API服务 根目录下面执行 goctl api new core # 启动服务 cd core go run core.go -f etc/core-api.yaml # 使用api文件生成代码 goctl api go -api core.api -dir . -style go_zero # 安装minio docker run -p 9000:9000 -p 9001:9001 -d --name minio \ -v /docker/minio/disk1:/mnt/disk1 \ -v /docker/minio/disk2:/mnt/disk2 \ -v /docker/minio/disk3:/mnt/disk3 \ -v /docker/minio/disk4:/mnt/disk4 \ -e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=88888888" minio/minio server /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4 --console-address ":9001" ``` ## 其他快捷键 ```text # 打开当前已经打开的所有文件 ctrl+E ``` ## 系统模块 - [x] 用户模块 - [x] 密码登录 - [x] 刷新Authorization - [x] 邮箱注册 - [x] 用户详情 - [x] 用户容量 - [x] 存储池模块 - [x] 中心存储池资源管理 - [x] 文件上传 - [x] 文件秒传 - [x] 文件分片上传 - [x] 对接 MinIO - [ ] 对接阿里对象存储 - [x] 个人存储池资源管理 - [x] 文件关联存储 - [x] 文件列表 - [x] 文件名称修改 - [x] 文件夹创建 - [x] 文件删除 - [x] 文件移动 - [x] 文件分享模块 - [x] 创建分享记录 - [x] 获取资源详情 - [x] 资源保存 ## 建表语句 ```mysql create table if not exists repository_pool ( id int auto_increment primary key, identity varchar(36) null, hash varchar(32) null comment ' 文件的唯一标识 ', name varchar(255) null comment ' 文件名称 ', ext varchar(30) null comment ' 扩展名 ', size int null comment ' 文件大小 ', path varchar(255) null comment ' 文件路径 ', created_at datetime null comment ' 文件创建时间 ', updated_at datetime null comment ' 文件修改时间 ', deleted_at datetime null comment ' 文件删除时间 ' ) comment ' 存储池 '; create table if not exists share_basic ( id int auto_increment comment ' 分享表 ID' primary key, identity varchar(36) null comment ' 公共池中唯一标识 ', repository_identity varchar(36) null comment ' 公共池中的唯一标识 ', expired_time int null comment ' 失效时间,单位秒, 【0- 永不失效】', click_num int null comment ' 点击次数 ', created_at datetime null comment ' 分享创建时间 ', updated_at datetime null comment ' 分享更新时间 ', deleted_at datetime null comment ' 分享删除时间 ' ) comment ' 文件分享表 '; create table if not exists user_basic ( id int auto_increment comment ' 用户表 ID' primary key, identity varchar(36) null comment ' 用户唯一标识 ', name varchar(256) null comment ' 用户登录名称 ', password varchar(32) null comment ' 用户密码 ', email varchar(100) null comment ' 注册邮箱 ', created_at datetime null comment ' 用户创建时间 ', updated_at datetime null comment ' 用户信息更新时间 ', deleted_at datetime null comment ' 用户删除时间 ' ) comment ' 用户表 '; create table if not exists user_repository ( id int auto_increment primary key, identity varchar(36) null, user_identity varchar(36) null, parent_id int null comment ' 用户上传父级 ID', repository_identity varchar(36) null comment ' 关联中心存储池的标识 ', name varchar(255) null comment ' 文件名称 ', ext varchar(30) null comment ' 扩展名 (显示文件夹类型等信息)', created_at datetime null comment ' 文件创建时间 ', updated_at datetime null comment ' 文件修改时间 ', deleted_at datetime null comment ' 文件删除时间 ' ) comment ' 个人存储池 '; ``` ## 接口文档查看 ### Go-Zero 接口文档生成 [https://github.com/zeromicro/goctl-swagger](https://github.com/zeromicro/goctl-swagger) 安装 ```shell GOPROXY=https://goproxy.cn/,direct go install github.com/zeromicro/goctl-swagger@latest ``` 生成 json 文件 ```shell goctl api plugin -plugin goctl-swagger="swagger -filename user.json" -api user.api -dir . ``` ### 接口文档查看 [https://github.com/go-swagger/go-swagger/releases](https://github.com/go-swagger/go-swagger/releases) 下载后进入 $GOPATH\bin 将下载的可执行文件放到目录下,名称改为`go-swagger`之后. 转到core目录下,执行 ```shell go-swagger serve -F=swagger core.json ``` 然后访问 `http://localhost:3992/docs` 即可查看后端接口文档