基础信息
- 现在有一种经营模式,就是从国外steam平台扫货,然后在网易BUFF平台卖掉。
- 为了更好的辅助扫货,需要先在网易buff平台进行选品,然后根据选品结果去国外steam平台进行扫货
- 我们现在想做一个这样的软件卖给用户,(防破解,定要防止用户对客户端进行破解,提高破解难度)
软件需求
软件需求分为两个部分: 公司web管理端、用户exe客户端
用户exe客户端
- 用户exe运行在windows操作系统下,支持在线手动升级,支持根据公司管理端的配置,强制自动升级
- 用户使用卡密激活软件使用时间,软件时间到期后,exe中所有的功能不可使用(除卡密充值功能),正在运行的后台进程(选品、扫货)也需要立即终止。等用户卡密充值后,exe功能使用恢复正常
- 为了防止用户单账号多机器使用,用户第一次登录后,记录用户的机器码,后续用户只能在这个机器上登录该账号。但是为了方便用户机器损坏等其他情况,需要切换机器使用我们的exe软件。提供机器码解绑功能,解绑后,该机器上的exe自动退出,并且正运行在这台机器中的进程(选品、扫货)也需要立即终止
- exe客户端界面做成自适应的啊,方便用户对exe窗口放大缩小,功能界面都可使用
- exe客户端界面左右界面都有个水印,水印图片可以使用
client-tauri/public/youdangdang/bg-waterprint.jpg
- exe客户端软件的图标及操作界面上的图标可以使用
client-tauri/public/youdangdang/logo.png
- exe客户端提供登录界面,登录界面左右布局:左边是通知公告的显示及详情查看,通知公告按照重要性排列、创建时间倒序排列。通知公告可能存在很多个,所以要支持纵向滚动条。右侧就是注册、登录、找回密码、机器解绑、充值功能。
- 注册功能有这些字段:用户名、密码、邮箱、卡密
- 登录功能有这些字段:用户名、密码
- 机器解绑有这些字段:用户名、密码
- 找回密码:输入用户名、邮箱,点击找回,后端服务比对用户名和邮箱正确后,将用户的密码修改一个密码,将密码发给用户。用户后续可自行在主页中修改密码
- 充值功能:输入用户名、密码、卡密,对用户账号进行充值
- exe登录成功后,进入到exe主页。主页顶部栏中左边有logo,软件名称,右边当前用户名称(剩余时间格式59天12小时10分钟)。内容区域是左右布局模式,左边是菜单栏,点击左侧菜单栏,在右侧区域展示这个菜单对应的界面信息
- 左侧第一个菜单栏为充值:充值页上部分展示卡密激活功能(用户输入新的卡密),点击激活就可以充值时间。下部分展示用户的充值记录按照充值时间倒序排列:序号、充值时长、充值卡密、充值时间。还提供一个刷新按钮,点击刷新按钮,就可以对充值记录进行查询
- steam账号管理模块:在这里可以允许用户输入用户steam的账号、steam密码、SteamID、上传密钥文件。这些信息只存储在用户本地,不上传到服务器。也明确告知用户这些信息存储在本地。
- 选品模块:选品模块需要对选品参数进行配置。配置项很多,建议是一个个的tab页方便用户进行操作。包括:
- 品类:是一个列表,序号、选择框、品类编码、品类名称 。 用户可以选中要筛选的物品的品类然后保存,后续就按照这个品类进行筛选
- 品质:是一个列表:序号、选择框、品质编码、品质名称 。 用户可以选中要筛选的物品的品质然后保存,后续就按照这个品质进行筛选
- 类别:是一个列表:序号、选择框、类别编码、类别名称 。 用户可以选中要筛选的物品的类别然后保存,后续就按照这个类别进行筛选
- 外观:是一个列表:序号、选择框、外观编码、外观名称 。 用户可以选中要筛选的物品的外观然后保存,后续就按照这个外观进行筛选
- 收藏品:是一个列表:序号、选择框、收藏品编码、收藏品名称 。 用户可以选中要筛选的物品的收藏品然后保存,后续就按照这个收藏品进行筛选
- 剔除不选的产品id列表,支持新增,修改,删除。 列表中序号、产品id、产品名称,操作栏(修改,删除)。
- 选品配置:这个里面包括了选品的各项配置信息,包括 选品最低价、选品最高价、选品排序模式(包括四种选择,分别为默认、价格升序、价格降序、在售数量升序),选品停止条(包括两种选择,分别为按照成果数量、按照扫描数量),选品成果数量配置,选品扫描数量配置,选品接口每页请求数量,选品接口暂停时间(秒),选品接口最大请求多少页,选品商品参考价调整系数%,每天定时执行时间的配置(值为17:57,17:58,17:59)多个值的目的是为了假设某一次没成功,尝试3次,销售数量配置。
- 选品日志:在这里实时展示选品进程的日志信息
- 选品数据:记录用户历次选品的所有商品数据信息,包括商品id、商品名称、磨损最低价、磨损最高价、全磨损区域、扫货价、判断价、时间 。 支持添加、修改、删除。
- 两个按钮:开启选品、暂停选品,(暂不实现待完善)点击开启选品会调用我们的选品后端服务,由我们的后端选品服务基于BUFF的数据给用户返回选品数据。
- 扫货模块:扫货模块也需要对扫货参数进行配置 ,建议是一个个的tab页方便用户进行操作.包括:
- 扫货账号配置:steam账号、steam密码、steamid、steam临时密钥文件
- 扫货API池配置:这个tab页先空着,未来会调用IP池的接口,根据接口在确定配置项。暂不实现
- 扫货配置:扫货时长、扫货间隔时间、扫货线程数、选品商品扫货价调整系数%
- 扫货日志:在这里实时展示扫货进程的日志信息
- 两个按钮:开启扫货、暂停扫货。(暂不实现待完善)点击开启扫货会调用本地的浏览器及其他的服务去完成扫货操作,
- 公告模块
- 展示后台公告,支持检索功能,支持查看详情功能,通知公告按照重要性排列、创建时间倒序排列
- 设置模块, 设置模块包括多个功能
- 个人信息查看:在这里可以看见个人的用户名、邮箱等信息
- 软件版本信息:查看软件名称、版本信息、提供一个检查更新按钮
- 密码修改功能
- 退出登录功能
- exe在使用有效期内,如果用户已经登录了,就不需要再登录了,下次打开exe直接免登录
- 重要 exe文件一定要防破解
client-tauri 这个工程已经实现了登录的功能和部分框架的功能了
- 安全的个人思考
- 每次心跳都校验下用户有效期,如果客户端超过10次校验失败,默认退出。每次心跳将用户的有效期实时返回给客户端
- 心跳校验设置一套复杂的入参和出参,包括当前时间,软件特征码,用户信息、主机信息等元素
- 心跳时候,将最新的公钥传给客户端
- 每次请求也都校验下用户有效期
公司web管理端
- 登录界面
- 仪表盘
- 管理员管理
- 用户管理
- 软件管理
- 支持client强制升级配置,当配置了,用户必须升级后才可以使用
- 功能设置:
- 限制用户每天的选品数量
- :(暂不实现待完善) 用户选品的某些参数,会在用户设置的基础上在叠加一个系数
- 卡密管理
- 密钥管理
- 日志管理
- 公告管理
- 管理员账号默认:admin,密码默认:admin123
admin admin工程已经实现了一大部分的公司web管理端功能了
后端服务
- 后端服务:除了处理BUFF数据接口服务和选品后端的服务,其他的服务都在这个后端服务中实现
backend这个工程已经实现了一部分的后端服务功能了
- 处理BUFF数据接口的服务:(暂不实现待完善)这个功能等开发时候再完善具体的需求
- BUFF现在开放了API接口,我们会根据BUFF平台提供的API接口,每个周期内同步到我们的数据库中,给用户选品使用
- 选品后端服务: (暂不实现待完善)这个功能等开发时候再完善具体的需求
- 根据用户的选品配置,将符合用户选品条件的商品数据返回给用户。
- 建设一个统一的后台API端,所有的接口都在一起建设
- 接口的出入参需要加密,可以进行配置是否对出入参进行加密,这样方便研发调试和生产上线
- API的公钥和私钥进行定时更新
- 是指一套标准的API接口标准,通过完善的API标准辅助产品的安全性,不会被破解或者被接口拦截激活的场景出现
项目目录结构介绍
技术数字员工 在这个文件夹用于保存技术相关文档,同时内部会设置一个技术数字员工.md文档,由这个md文档来指导整个项目的技术路线及研发落地(包括技术框架、代码研发、部署测试)
设计数字员工 在这个文件夹用于保存设计相关文档,同时内部会设置一个设计数字员工.md文档,由这个md文档来规划整个项目的设计工作(包括功能设计、原型图设计)
需求数字员工 在这个文件夹用于保存需求相关文档,同时内部会设置一个需求数字员工.md文档,由这个md文档来跟用户对整个需求进行确认,输出完善的项需求文档
admin 这个工程是已经开发部分功能的公司web管理端
backend这个工程是配合admin工程、client1.0、client-tauri工程的服务,功能部分实现
client-tauri 这个工程是已经开发的客户的exe客户端
client1.0这个工程是在client-tauri之前准备使用的客户的exe客户端工程,考虑到这个工程技术框架实现难度大,开发复杂,就放弃了,已经开发了一部分功能了
logo图片素材 这个文件夹下面存储着公司logo相关图片信息
old-buff 这是以前给客户开发的一款在buff选品、在buff扫货的软件,暂时就放在这里
SteamAuth和SteamDesktopAuthenticator 这两个工程是github上开源的项目,后续我们的steam上购买商品后,需要参考这两个工程实现商品的购买确认操作。
mysql数据库信息
125.122.32.114 3306
root用户的密码 Buff123456
数据库名称: buff