激活码
TubeX激活码主要应用于桌面端微信的AI接入,用户可以通过申请免费获取7天时长的免费激活码,也可以通过付款的方式进行购买。
数据结构
| 字段 | code | buy_time | activation_time | api_key | wehchat | token | expiry_time | status | |
|---|---|---|---|---|---|---|---|---|---|
| 名称 | 激活码 | 购买时间 | 激活时间 | API KEY | 绑定微信 | token消耗量 | 过期时间 | 状态 | 绑定邮箱 |
| 数据类型 | string | number | number | string | string | number | number | number | string |
激活码状态
- 0:未激活
- 1:已激活
- 2:封禁
业务逻辑
激活码的前提是基于Dify的API KEY,只有当库存中有足够多的API KEY的情况下才能生成激活码,当用户获取到激活码后,在桌面端应用中复制粘贴,点击激活。之后桌面端会向服务器端申请获取整体字段并写入本地配置文件。每次桌面端在向AI发起请求时会读取该本地配置文件,当程序发现
时间过期后会自动删除本地配置,并在前端显示当前激活码已过期。
当用户申请7天免费试用激活码的时候,系统会检测数据库中是否已经有相同email的激活码,如果已经有了则返回您已经申请过激活码,当用户进行充值后,系统会进行判定两种情况:
- 如果用户邮箱没有申请过激活码,则生成一个全新的激活码给到用户;
- 如果用户邮箱已经已经申请过激活码,则对该生成码的过期时间进行延长,用户在桌面端软件中再次点击
激活按钮即可。
D1数据库测试
读取测试
SELECT * FROM activation_code
写入测试
INSERT INTO activation_code (code, status,email,buy_time,activation_time,expiry_time,apikey,wechat,token) VALUES ('xxxx', 0, 'ss@gaml.com',1,1,1,'yyyy','xss',0)