🔐 软件授权平台

帮助文档

本指南将详细介绍软件授权流程、数据备份方法、授权管理操作以及本网站的各项功能使用方式。

📋 平台简介

本平台是一个软件授权管理平台,核心功能包括:

  • 授权码生成与验证:管理员为用户生成授权码,软件通过机器码 + 授权码配对完成激活与验证
  • 时间期限控制:每条授权码设定明确的到期时间,服务器与本地应用均会检查
  • 数据备份管理:授权有效期内,用户可上传、下载、管理 SQLite 数据库备份
  • 用户与管理员系统:支持注册、登录、修改密码,管理员可管理所有用户、授权与备份

🔄 授权流程一览

从授权生成到软件激活的完整流程如下:

1. 用户注册并登录本网站
2. 用户在软件中获取机器码(软件自动生成)
3. 用户将机器码提供给管理员
4. 管理员登录后台 → 填写应用名称 + 机器码 + 授权终止时间 → 生成授权码
5. 管理员将授权码发送给用户
6. 用户在软件中输入授权码
7. 软件调用服务器 API 完成激活 → 服务器验证授权码与机器码配对并检查有效期
8. 激活成功 → 软件正常运行
9. 每次启动软件时自动调用校验 API → 确认授权仍然有效

🔑 1. 获取机器码

每台设备运行软件时会自动生成一个唯一的机器码(最长 128 位字符串),用于绑定设备与授权。

用户在软件界面中找到"获取机器码"或类似功能按钮,复制机器码字符串。

注意:机器码与设备硬件绑定,更换设备后机器码会变化,需要管理员重新生成授权码。

📝 2. 申请授权码

用户将机器码提供给管理员,管理员在后台生成授权码时需要填写:

字段说明
应用名称软件的名称,如"奶茶店管理",便于管理员区分管理
机器码用户提供的设备机器码
授权终止时间授权到期时间,可设定 1 个月、几个月或几年
备注(可选)管理员备注信息

系统会自动生成一个 32 位的授权码(由字母和数字组成)。

✅ 3. 激活授权

用户收到授权码后,在软件中输入:

  1. 打开软件,进入授权/激活页面
  2. 软件会自动显示本机的机器码(无需手动输入)
  3. 输入管理员提供的授权码
  4. 点击"激活"按钮
  5. 软件调用 POST /api/license/activate 接口完成激活

激活成功后,软件将显示:

  • ✅ 授权状态:已激活
  • 📅 到期时间:YYYY-MM-DD
  • ⏳ 剩余天数:XX 天

🔍 4. 授权校验

软件每次启动时,会自动调用 POST /api/license/verify 接口校验授权是否仍然有效。

校验逻辑:

  • 检查授权码与机器码是否配对
  • 检查授权状态是否为 active(已激活)
  • 检查当前时间是否在授权终止时间之前

如果三者均满足,返回 valid: true;否则返回 valid: false 并附带原因。

提示:授权过期后,软件将无法正常使用,需要联系管理员续期或重新生成授权码。

⚠️ 常见问题

问题解决方法
授权码与机器码不匹配检查是否将正确的授权码输入了对应的设备,联系管理员确认
授权已过期联系管理员重新生成或延长授权终止时间
授权已被吊销联系管理员了解原因并重新获取授权
无法连接服务器检查网络连接,确认服务器地址是否正确
更换设备后无法激活新设备的机器码不同,需联系管理员用新机器码重新生成授权码

💾 数据备份概述

授权有效期内,用户可以将软件的 SQLite 数据库文件上传到服务器进行备份管理。支持的操作:

  • 上传备份:将本地 SQLite 文件上传到服务器
  • 查看列表:查看所有已上传的备份文件
  • 下载备份:将备份文件下载到本地
  • 删除备份:删除不再需要的备份
前提条件:进行备份操作前,必须拥有一条状态为"已激活"且"未过期"的授权。授权过期后所有备份 API 将返回 403 错误。

📤 上传备份

方式一:网页上传

  1. 登录后进入「数据备份」页面
  2. 在"选择授权"下拉框中选择一条有效授权
  3. 在"上传 SQLite 备份"区域点击选择文件(支持 .db / .sqlite / .sqlite3 格式)
  4. 可选填写备注信息
  5. 点击"上传"按钮

方式二:API 上传

import requests

headers = {"Authorization": "Bearer your_token_here"}
files = {"file": open("data.db", "rb")}
data = {"license_code": "你的授权码", "remark": "每日备份"}
resp = requests.post("http://your-server:8080/api/backups/upload",
                     headers=headers, files=files, data=data)
print(resp.json())
限制:单个备份文件最大 50MB,仅支持 SQLite 格式。

📥 下载与删除备份

下载:在备份列表中,点击对应备份的"下载"按钮,或将备份 ID 通过 API 下载:

# 下载指定备份
GET /api/backups/{id}/download
Header: Authorization: Bearer your_token

删除:在备份列表中点击"删除"按钮,或通过 API 删除:

# 删除指定备份
DELETE /api/backups/{id}
Header: Authorization: Bearer your_token

⚙️ 管理员后台

管理员登录后可在「后台管理」页面进行以下操作:

模块功能说明
用户管理搜索用户按用户名模糊搜索
启用/禁用用户切换用户状态,禁用后用户无法登录
删除用户永久删除用户账户
授权管理生成授权码填写应用名称、机器码、授权终止时间 → 生成 32 位授权码
搜索授权按授权码 / 应用名称 / 机器码模糊搜索,可按状态筛选
修改授权状态将授权设为 active / expired / revoked
删除授权永久删除授权记录
备份管理搜索备份按应用名称 / 授权码 / 文件名模糊搜索
查看备份查看所有用户的备份文件

🔑 生成授权码详解

  1. 进入「后台管理」→「授权码」标签页
  2. 点击"+ 生成授权码"按钮
  3. 填写表单:
    • 应用名称:如"奶茶店管理"、"宠物店系统"等
    • 机器码:粘贴用户提供的机器码字符串
    • 授权终止时间:选择日期时间(如 2025-12-31 23:59)
    • 备注(可选):如"客户A-一年授权"
  4. 点击"生成"按钮 → 系统返回一个 32 位授权码
  5. 将授权码发送给用户

📊 授权状态说明

状态颜色含义
已激活绿色授权码已与机器码配对,且在有效期内
已过期红色当前时间已超过授权终止时间
已吊销黄色管理员手动吊销,授权失效
未激活灰色授权码尚未被激活(未与机器码配对)

🏠 首页

首页展示平台介绍与核心功能说明。未登录用户可在此快速跳转到注册或登录页面。

📝 注册与登录

注册:

  1. 点击导航栏"注册"链接进入注册页面
  2. 填写用户名、邮箱、密码
  3. 点击"注册"按钮完成注册

登录:

  1. 点击导航栏"登录"链接进入登录页面
  2. 输入用户名或邮箱 + 密码
  3. 点击"登录"按钮完成登录

修改密码:

登录后,点击导航栏"修改密码"链接,在弹窗中输入旧密码和新密码即可修改。管理员和普通用户均可自行修改密码。

📊 用户中心

登录后点击"用户中心"进入,可查看当前用户名下的所有授权信息,包括:

  • 应用名称
  • 授权码
  • 授权状态(已激活 / 已过期 / 已吊销)
  • 到期时间
  • 剩余天数

💾 数据备份页面

登录后点击"数据备份"进入。该页面提供三步式操作:

  1. 选择授权:从下拉框中选择一条有效授权(必须已激活且未过期)
  2. 上传备份:选择本地 SQLite 文件上传,可添加备注
  3. 管理备份:在列表中查看、下载或删除已有备份

⚙️ 后台管理页面

管理员专属页面,普通用户不可见。包含三个标签页:

  • 用户:搜索、启用/禁用、删除用户
  • 授权码:生成、搜索、修改状态、删除授权码
  • 备份:搜索并查看所有用户的数据备份

顶部还显示统计数据概览(用户数、授权数、备份数等)。

📄 API 文档

API 文档页面仍可通过直接访问 /docs 路径访问,包含完整的接口说明和代码示例。开发者可参考此文档进行软件客户端的集成对接。