TenantDrive/README.md

2.8 KiB
Raw Blame History

网盘租户系统

技术栈

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