Przeglądaj źródła

新增商店协议/调试协议

neo 1 rok temu
rodzic
commit
e393ae994a

+ 8 - 4
proto-lib/all_socket.lua

@@ -1,9 +1,10 @@
1 1
 -- 服务端热更新使用
2 2
 -- 协议最大ID 32766
3
-package.loaded[PROTO_ROOT .. "proto-lib.proto_socket"] = nil -- 1000~1999
4
-package.loaded[PROTO_ROOT .. "proto-lib.proto_user"] = nil -- 2000~2999
5
-package.loaded[PROTO_ROOT .. "proto-lib.proto_bag"] = nil -- 5000~5999
6
-package.loaded[PROTO_ROOT .. "proto-lib.proto_test"] = nil -- 9000~9999
3
+package.loaded[PROTO_ROOT .. "proto-lib.proto_socket"] = nil
4
+package.loaded[PROTO_ROOT .. "proto-lib.proto_user"] = nil
5
+package.loaded[PROTO_ROOT .. "proto-lib.proto_bag"] = nil
6
+package.loaded[PROTO_ROOT .. "proto-lib.proto_test"] = nil
7
+package.loaded[PROTO_ROOT .. "proto-lib.proto_shop"] = nil
7 8
 
8 9
 -- 其他协议
9 10
 -- proto-lib.proto_http -- 31000~31999
@@ -13,16 +14,19 @@ local proto_socket = require(PROTO_ROOT .. "proto-lib.proto_socket")
13 14
 local proto_user = require(PROTO_ROOT .. "proto-lib.proto_user")
14 15
 local proto_bag = require(PROTO_ROOT .. "proto-lib.proto_bag")
15 16
 local proto_test = require(PROTO_ROOT .. "proto-lib.proto_test")
17
+local proto_shop = require(PROTO_ROOT .. "proto-lib.proto_shop")
16 18
 
17 19
 local c2s = proto_socket.c2s
18 20
 c2s = c2s .. proto_user.c2s
19 21
 c2s = c2s .. proto_bag.c2s
20 22
 c2s = c2s .. proto_test.c2s
23
+c2s = c2s .. proto_shop.c2s
21 24
 
22 25
 local s2c = proto_socket.s2c
23 26
 s2c = s2c .. proto_user.s2c
24 27
 s2c = s2c .. proto_bag.s2c
25 28
 s2c = s2c .. proto_test.s2c
29
+s2c = s2c .. proto_shop.s2c
26 30
 
27 31
 local proto = {
28 32
     c2s = c2s,

+ 66 - 0
proto-lib/proto_shop.lua

@@ -0,0 +1,66 @@
1
+-- 商品相关协议 2100~2199
2
+
3
+local proto_struct = [[
4
+]]
5
+
6
+local proto_c2s =
7
+    [[
8
+    # 代币购买商品
9
+    shop_buy_goods 2100 {
10
+        request {
11
+            goodsId 0: integer              # 商品ID
12
+            count 1: integer                # 购买数量,空则为1
13
+        }
14
+        response {
15
+            code 0: integer
16
+        }
17
+    }
18
+
19
+    # 轮询订单结果
20
+    shop_get_order 2101 {
21
+        request {
22
+            orderId 0: string               # 订单ID
23
+        }
24
+        response {
25
+            code 0: integer
26
+            orderInfo 1: DataOrder          # 订单结果
27
+        }
28
+    }
29
+
30
+    # 下单前 - 商品物品选择
31
+    shop_pre_order 2102 {
32
+        request {
33
+            goodsId 0: integer              # 商品ID
34
+            customItems 1: *DataItem        # 商品定制物品列表(数量与商品配置一致)
35
+        }
36
+        response {
37
+            code 0: integer
38
+        }
39
+    }
40
+]]
41
+
42
+local proto_s2c =
43
+    [[
44
+    # 推送商城购买订单结果
45
+    on_shop_order 2100 {
46
+        request {
47
+            orderInfo 0: DataOrder      # 订单数据
48
+        }
49
+    }
50
+
51
+    # 购买结果
52
+    on_shop_buy_goods 2302 {
53
+        request {
54
+            goodsId 0: integer              # 商品ID
55
+            items 1: *DataItem              # 商品发放物品列表
56
+            giftItems 2: *DataItem          # 赠送发放物品列表
57
+        }
58
+    }
59
+]]
60
+
61
+local proto = {
62
+    c2s = proto_struct .. proto_c2s,
63
+    s2c = proto_struct .. proto_s2c
64
+}
65
+
66
+return proto

+ 13 - 0
proto-lib/proto_struct.lua

@@ -25,6 +25,19 @@ local proto_struct =
25 25
         registerVersion 5: string       # 注册版本
26 26
         activeDays 6: integer           # 活跃天数
27 27
     }
28
+    
29
+    # 订单信息
30
+    .DataOrder {
31
+        status 0: integer               # 订单状态, 1表示成功!
32
+        orderId 1: string               # 订单ID
33
+        gid 2: integer                  # 商品ID
34
+        items 3: *DataItem              # 商品发放物品列表
35
+        giftItems 4: *DataItem          # 赠送发放物品列表
36
+        errMsg 5: string                # 失败原因字符串!
37
+        payName 6: string               # SDK支付名称 比如:cmpay
38
+        errCode 7: string               # SDK支付方回调错误码, 可能有,可能没有
39
+        amount 8: integer               # 实际订单金额,单位分,要转字符串
40
+    }
28 41
 ]]
29 42
 
30 43
 return proto_struct

+ 41 - 1
proto-lib/proto_test.lua

@@ -1,8 +1,47 @@
1
+-- 测试工具相关协议 2200~2299
1 2
 local proto_struct = [[
2 3
 ]]
3 4
 
4
-local proto_c2s = [[
5
+local proto_c2s =
6
+    [[
7
+        # 玩家修改个人系统时间GM
8
+        test_debug_system_time 2200 {
9
+            request {
10
+                uid 0: integer
11
+                time 1: integer                 # 玩家修改的时间戳
12
+                reset 2: integer                # 是否重置,0(空):重置,1:系统时间,2:设置注册时间,3:退出标准时间
13
+            }
14
+            response {
15
+                code 0: integer                 # 返回码
16
+                sysTime 1: integer              # 服务器时间
17
+                debugTime 2: integer            # 调试时间(固定)
18
+            }
19
+        }
20
+
21
+        #请求给玩家增减物品GM
22
+        test_add_items 2201 {
23
+            request {
24
+                uid 0: integer
25
+                items 1: *DataItem              # 物品列表
26
+            }
27
+            response {
28
+                code 0: integer
29
+            }
30
+        }
31
+
32
+        # 测试支付接口
33
+        test_pay_goods 2202 {
34
+            request {
35
+                orderId 0: string               # 订单号 时间戳_渠道_玩家ID_商品ID
36
+                payName 1: string               # 支付名称wxpay cmpay...
37
+                status 2: boolean               # 订单成功 true, 失败 false
38
+                resMsg 3: string                # 订单状态解释
39
+                amount 4: integer               # 实际订单金额,单位分
40
+            }
41
+            response {
42
+                code 0: integer                 #
43
+            }
44
+        }
5 45
 ]]
6 46
 
7 47
 local proto_s2c = [[