72 lines
2.8 KiB
Markdown
72 lines
2.8 KiB
Markdown
# 网盘租户系统
|
||
## 技术栈
|
||
flask
|
||
|
||
# 功能
|
||
## 管理员系统
|
||
1. 添加网盘登录信息变量,每个账号环境变量隔离
|
||
2. 选择添加后的网盘,可以编辑、删除、分享
|
||
2.1 如果选择分享,则生成外链供用户使用
|
||
2.2 外链格式为/exlink/xxxxx,其中xxxxx为不重复的随机字符串
|
||
2.3 外链配置支持有效期,过期后外链失效
|
||
2.4 外链配置支持访问次数,访问次数用完后外链失效
|
||
3. 网盘账号管理
|
||
3.1 支持多种网盘类型(阿里云盘、百度网盘等)
|
||
3.2 每个账号可设置独立的环境变量(如API密钥、访问令牌等)
|
||
3.3 账号状态监控(在线/离线、剩余容量等)
|
||
|
||
4. 外链高级管理
|
||
4.1 外链访问日志记录(IP、时间、访问结果)
|
||
4.2 外链权限控制(下载/预览/列表权限)
|
||
4.3 外链密码保护功能
|
||
4.4 批量生成和管理外链
|
||
|
||
5. 统计分析
|
||
5.1 外链使用情况统计图表
|
||
|
||
## 用户系统
|
||
1. 用户使用外链访问后,页面显示剩余次数,到期时间倒计时
|
||
2. 用户每成功登录一次,剩余次数-1
|
||
|
||
## 数据库设计
|
||
1. 网盘驱动表
|
||
1. 网盘服务商名称-唯一
|
||
2. 环境变量配置-JSON格式
|
||
3. 备注
|
||
2. 用户网盘表
|
||
1. 从#1表里面去重获取
|
||
2. 登录配置-JSON格式
|
||
3. 备注
|
||
3. 外链表
|
||
1. 网盘名称: 从#2里获取已有网盘
|
||
2. 总额度: 数字
|
||
3. 已使用额度: 数字
|
||
4. 外链编码: 随机uuid-不重复
|
||
5. 备注
|
||
|
||
|
||
|
||
完善外链管理功能
|
||
注意:不要轻易更改 datebase.py
|
||
1. 点击添加外链弹出模态框,网盘类型从[所有网盘服务商]获取里边的provider_name展示到下拉框
|
||
2. 当选中后,通过选项在[网盘账号管理]里筛选当前选项的网盘驱动账号
|
||
3. 配置完成点击保存后,生成外链地址例如 /exlink/ + uuid
|
||
4. 每访问#3获取的外链地址1次,相应的在剩余次数里-1,当次数为0时候[1. 外链显示禁用。2. 访问外链提示已经禁用]
|
||
|
||
|
||
问题
|
||
1. 添加外链并且保存后弹出两条信息,一条成功、一条”外链添加失败: 缺少必要的drive_id参数“
|
||
2. 网盘外链功能
|
||
1. 功能我已经实现,在index.html里
|
||
2. 复制一份作为网盘外链页面,每点击外链页面的【开始扫码】按钮[xpath为//*[@id="scan-button"]],并且扫码成功,则外链剩余次数-1
|
||
3. 页面显示剩余次数和剩余时间倒计时【例如:剩余时间 x时x分x秒,如果有天,前面加x天】
|
||
|
||
|
||
问题
|
||
1. 外链页面
|
||
正确:每扫码成功,并且登录成功,次数-1。
|
||
错误:访问一次,次数-1
|
||
2. 添加外链时候,需要配置到期时间,访问外链页面需要根据到期时间显示倒计时
|
||
|
||
添加网盘外链报错
|
||
创建外链错误: table external_links has no column named expiry_time |