# 开发工具
- 前端:angular.js
- 后端:springMVC
- 数据库:mysql
# 礼品管理
- 礼品与产品关联
- 商家在添加设备后,通过设备关联的产品,自动拉取礼品的信息,
- 要给不同的商家配置同一款游戏的不同的礼品方案,要通过新增产品的方式实现(包括不提供礼品方案)
- 商家端.商家管理.礼品信息:自动获取礼品列表,在页面上显示(去掉新增按钮)
- 商家端.商家管理.礼品信息:"编辑"功能自动关联礼品管理的编辑礼品.
- 商家端.商家管理.礼品信息:"删除"功能自动关联礼品管理的删除礼品.
- 商家端.礼品管理:删除礼品功能使用逻辑删除.('禁用'按钮改为'删除')
# machineID
- 设计原则
- machineID不能重复
- 商家ID要明码显示
- 不能被猜到生成算法
- 不能由一个machineID推演其它的machineID
- 玩家扫码后通过machineID关联商家,以支持后续的支付操作等.
- machineID不可刷
- 生成方法
- 组成结构: 9位的商家ID + 加密字符.
- 加密字符: 服务器时间戳 + 10位的随机码(取值范围0-9,a-z,A-Z).
- 存储方式: 9位的商家ID和加密字符分开存储
- 生成途径
- 通过管理端创建设备后生成(自动弹出提示窗).
- 创建设备成功后,弹出生成machineID提示窗,在提示窗口中可以查看并拷贝.
- 通过"编辑设备"可以查看该设备的machineID.
- 存储位置
- 客户端保存在配置文件中(人工手动操作)
- 服务器通过管理端配置
- 操作流程
- 第一步: 创建商家
- 第二步: 创建店面
- 第三步: 创建设备, 生成machineID
- 第四步: 将machineID拷贝到本地配置文件中(人工手动操作)
- 验证流程
- 截取前9位,与所有商家的ID进行对比,找到对应商家之后,再对比加密字符.
- 异常处理
- 如果machineID无法匹配或不存在,在客户端输出machineID异常消息,
并显示MachineID码,同时打印到屏幕.
# 商家二维码
- 规则设计
- 通过扫描商家的二维码来绑定商家,支持后续的付款操作等等
- 通过扫描商家的二维码是实现关注童游公众号的一种途径
- 二维码的组成结构是: 童游公众号网址 + 商家的ID
- 二维码可以(主要途径)通过管理端生成
- 商家二维码不可刷新
- 二维码生成的操作流程
- 第一步: 在管理端已创建的商家管理模块中选择二维码页面
- 第二步: 保存并打印二维码
- 第三步: 将二维码随设备一起发送给商家,商家自行粘贴到设备上
- 扫码流程:
- 扫码后自动弹出充值页
- 填写充值金额,点击充值后,自动跳转到支付页
- 支付页面支付成功后,弹出付款成功页面,点击确认后会自动进入玩家二维码页
- 关注公众号选项勾选(默认是勾选的),点击"确定"会自动关注童游公众号
- 玩家手动将关注公众号选项取消勾选,将不会自动关注童游公众号
- 在二维码页面玩家可以通过设备扫玩家码进行游戏