工具按照功能点进行卡密设计指南-- 需求分析思路讲解nodeJS封装好工具类开箱即用

卡密设计指南

背景

设计一个自动化脚本工具,其中集合多中类型的脚本,需要对单独的项目功能进行卡密操作。

环境

  • 语言:nodeJs
  • 环境:Windows

字典

  • 卡密:用于充值自动化脚本对应项目功能点的秘钥,由服务商生成,客户导入使用。
  • 项目功能点:每个脚本对应一个项目功能点,比如某音刷数据、某书刷数据。
  • 项目功能点数据:一个对象数组的数据结构,其中对象属性包含了功能点appName以及功能点到期时间

1. 细节分析

主要的考虑点有以下几点:

  • 项目功能点的唯一性
  • 每台机器的唯一性
  • 安全性(对称加密)

1.1 项目功能点的唯一性

自动化脚本工具需要的是对单一功能进行管控,所以这边设计了一个变量,为对象数组结构,方便扩展,由于功能点是已知的。

默认项目功能点数据,程序数据初始化用。

[{
   
    // 对应功能点名称
    appName:"app1",
    // 到期时间
   	expirationTime:"19710101",
}]

1.2 机器唯一性

这边通过了nodeJS自带的os库,采取了机器的基本设置,以及MAC地址,以此作为唯一标识。

const os = require('os');
const {
    execSync } = require('child_process');

function getMachineUniqueInfo() {
   
    const networkInterfaces = os.networkInterfaces();
    let macAddress;
    for (const interfaceKey in networkInterfaces) {
   
        const networkInterface = networkInterfaces[interfaceKey];
        const interfaceInfo = networkInterface.find(info => !info.internal && info.mac !== '00:00:00:00:00:00');
        if (interfaceInfo) {
   
            macAddress = interfaceInfo.mac;
            break;
        }
    }

    const cpuInfo = os.cpus()[0].model;
    const arch = os.arch()
    const diskSerialNumber = execSync('wmic diskdrive get serialnumber').toString().split('\n'
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
系统 1. 确定系统需求 首先,我们需要确定这套卡密验证系统的需求,包括: - 支持生成卡密 - 支持校验卡密 - 支持使用卡密后的处理(如记录使用情况、更新卡密状态等) 2. 设计数据库结构 根据系统需求,我们需要设计一套数据库结构,其中至少包括以下表: - 卡密表:包括卡密编号、卡密状态、卡密类型等字段 - 订单表:包括订单编号、订单状态、订单金额等字段 - 使用记录表:包括使用记录编号、卡密编号、使用时间等字段 3. 开发后端接口 接下来,我们需要开发一套后端接口,包括: - 生成卡密接口:根据用户传入的卡密类型、数量等信息生成卡密,并插入卡密表中 - 校验卡密接口:根据用户传入的卡密编号和订单编号,判断卡密是否可用,并更新卡密状态和订单状态 - 使用记录接口:记录卡密的使用情况,包括卡密编号、使用时间等信息 4. 开发前端页面 最后,我们需要开发一套前端页面,包括: - 生成卡密页面:用户可以在该页面选择卡密类型、数量等信息,并提交生成卡密请求 - 校验卡密页面:用户可以在该页面输入卡密编号和订单编号,进行卡密校验 - 使用记录页面:管理员可以在该页面查看卡密的使用记录,包括卡密编号、使用时间等信息 总之,使用nodejs开发一套卡密验证系统需要考虑数据库结构设计、后端接口开发、前端页面开发等多个方面,需要有一定的技术实力和项目经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Penk是个码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值