# 開發工具
- 前端: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
- 二維碼可以(主要途徑)通過管理端生成
- 商家二維碼不可刷新
- 二維碼生成的操作流程
- 第一步: 在管理端已創建的商家管理模塊中選擇二維碼頁面
- 第二步: 保存并打印二維碼
- 第三步: 將二維碼隨設備一起發送給商家,商家自行粘貼到設備上
- 掃碼流程:
- 掃碼后自動彈出充值頁
- 填寫充值金額,點擊充值后,自動跳轉到支付頁
- 支付頁面支付成功后,彈出付款成功頁面,點擊確認后會自動進入玩家二維碼頁
- 關注公眾號選項勾選(默認是勾選的),點擊"確定"會自動關注童游公眾號
- 玩家手動將關注公眾號選項取消勾選,將不會自動關注童游公眾號
- 在二維碼頁面玩家可以通過設備掃玩家碼進行游戲