Commit 3e6f38ee3de8a9fccf157112ecafdeb1a83e639c
1 parent
b9a9b899
Exists in
master
and in
3 other branches
X
Showing
14 changed files
with
128 additions
and
35 deletions
Show diff stats
sdk/SDKTools.ts
... | ... | @@ -17,6 +17,10 @@ export class SDKTools { |
17 | 17 | return WXSDK.data.envEnum; |
18 | 18 | } |
19 | 19 | |
20 | + static get data() { | |
21 | + return WXSDK.data; | |
22 | + } | |
23 | + | |
20 | 24 | static get scene() { |
21 | 25 | return WXSDK.data.scene; |
22 | 26 | } |
... | ... | @@ -26,7 +30,7 @@ export class SDKTools { |
26 | 30 | static get channel() { |
27 | 31 | return WXSDK.data.channelId; |
28 | 32 | } |
29 | - static get openId() { | |
33 | + static get openId() { | |
30 | 34 | return WXSDK.data.openId; |
31 | 35 | } |
32 | 36 | |
... | ... | @@ -314,26 +318,36 @@ export class SDKTools { |
314 | 318 | * @param opts |
315 | 319 | * @returns |
316 | 320 | */ |
317 | - static pay(params: { money: number; source:string }, opts: any = {}) { | |
321 | + static pay(params: {payid:string, goodid:string, money: number; orderid: string }, opts: any = {}) { | |
318 | 322 | return WXSDK.game.pay(params, opts) |
319 | 323 | } |
320 | 324 | /** |
321 | 325 | * 检测支付是否成功 |
322 | 326 | */ |
323 | - static orderQuery(source:string) { | |
327 | + static orderQuery(source: string) { | |
324 | 328 | return WXSDK.game.orderQuery(source) |
325 | 329 | } |
326 | 330 | |
327 | - | |
331 | + /** | |
332 | + * 获取支付方式 | |
333 | + * @param goodid 商品id | |
334 | + * @param orderid 订单号 | |
335 | + * @returns | |
336 | + */ | |
337 | + static preorder(goodid:string,orderid:string) { | |
338 | + return WXSDK.game.preorder(goodid,orderid) | |
339 | + } | |
340 | + | |
341 | + | |
328 | 342 | /** |
329 | 343 | * 用户创角 |
330 | 344 | * @param role_name 角色名称 |
331 | 345 | * @param region 区服 |
332 | 346 | */ |
333 | - static role(role_name: string,region:string) { | |
347 | + static role(role_name: string, region: string) { | |
334 | 348 | return WXSDK.stat.role(role_name, region) |
335 | 349 | } |
336 | - | |
350 | + | |
337 | 351 | |
338 | 352 | } |
339 | 353 | ... | ... |
sdk/shareTools.ts
wxsdk/base/SDKConst.ts
1 | 1 | // 游戏配置数据 只需要改动这里的配置信息 |
2 | 2 | // 游戏配置数据 只需要改动这里的配置信息 |
3 | 3 | export const GAMEDATA = { |
4 | - game_id: '10060', | |
5 | - channel_id: '10060', | |
4 | + game_id: '10045', | |
5 | + channel_id: '10045', | |
6 | 6 | version: '1.0.0', |
7 | - appkey: 'dd2bd347b23befef947c6d95de0d6cc9', | |
7 | + appkey: '6c7d8ee586f3c4a1a6b5c84554f49079', | |
8 | 8 | interstitialAdId: 'adunit-e8f80e01fb6e1b8e',//插屏ID |
9 | 9 | bannerId: 'adunit-cc8fff6dee9188d4',//banner |
10 | 10 | gridId: '',//格子 |
... | ... | @@ -95,8 +95,9 @@ export const HostKeys = { |
95 | 95 | adList: 'api/adplan/list', //广告计划列表 |
96 | 96 | |
97 | 97 | //订单 |
98 | - orderReport: 'api/order/report', //订单信息上报 | |
99 | - orderQuery: 'api/order/query' //订单信息查询 | |
98 | + orderReport: 'api/order/v2/mimas', //订单信息上报 | |
99 | + orderQuery: 'api/order/query', //订单信息查询 | |
100 | + preorder: 'api/order/v2/preorder' //获取支付方式 | |
100 | 101 | }; |
101 | 102 | |
102 | 103 | // 本地存储keys | ... | ... |
wxsdk/http/SDKApi.ts
... | ... | @@ -64,4 +64,5 @@ export class SDKApi { |
64 | 64 | public static pay = (...args) => SDKHttp.httpPost(`${DataService.I.OrderApi}${HostKeys.orderReport}`, ...args); |
65 | 65 | |
66 | 66 | public static orderQuery = (...args) => SDKHttp.httpPost(`${DataService.I.OrderApi}${HostKeys.orderQuery}`, ...args); |
67 | + public static preorder = (...args) => SDKHttp.httpPost(`${DataService.I.OrderApi}${HostKeys.preorder}`, ...args); | |
67 | 68 | } | ... | ... |
wxsdk/http/SDKHttp.ts
... | ... | @@ -9,7 +9,7 @@ export default class SDKHttp { |
9 | 9 | ver: GAMEDATA.version, |
10 | 10 | gameid: GAMEDATA.game_id, |
11 | 11 | sign_type: 'md5', |
12 | - time_stamp: (Math.floor(Date.now() / 1000)) + '', | |
12 | + time_stamp: (Math.floor(Date.now() / 1000)) + '' | |
13 | 13 | } |
14 | 14 | |
15 | 15 | // if (url.indexOf('totalrank')>-1) { | ... | ... |
wxsdk/lib/sdk.d.ts
wxsdk/service/DataService.ts
... | ... | @@ -57,6 +57,9 @@ export default class DataService { |
57 | 57 | |
58 | 58 | if (data.hasOwnProperty('isnew')) |
59 | 59 | this.setIsnew(data.isnew); |
60 | + | |
61 | + if (data.hasOwnProperty('logindays')) | |
62 | + this.setLogindays(data.logindays); | |
60 | 63 | |
61 | 64 | } |
62 | 65 | |
... | ... | @@ -78,6 +81,15 @@ export default class DataService { |
78 | 81 | return this; |
79 | 82 | } |
80 | 83 | |
84 | + get logindays(){ | |
85 | + return this._data.logindays; | |
86 | + } | |
87 | + | |
88 | + setLogindays(val: any) { | |
89 | + this.setValue('logindays', val); | |
90 | + return this; | |
91 | + } | |
92 | + | |
81 | 93 | |
82 | 94 | get Scene() { |
83 | 95 | return this._data.scene || 0; | ... | ... |
wxsdk/service/GameService.ts
... | ... | @@ -4,6 +4,7 @@ import { GAMEDATA, __LOG__ } from "../base/SDKConst"; |
4 | 4 | import WxLogin from "../wx/WxLogin"; |
5 | 5 | import WxApi from "../wx/WxApi"; |
6 | 6 | import WxPay from "../wx/WxPay"; |
7 | +import WxSystem from "../wx/WxSystem"; | |
7 | 8 | |
8 | 9 | |
9 | 10 | export default class GameService { |
... | ... | @@ -103,7 +104,7 @@ export default class GameService { |
103 | 104 | * @param opts |
104 | 105 | * @returns |
105 | 106 | */ |
106 | - pay(params: { money: number; source:string}, opts: any = {}) { | |
107 | + pay(params: {payid:string, goodid:string, money: number; orderid: string }, opts: any = {}) { | |
107 | 108 | return WxPay.I.pay(params, opts); |
108 | 109 | } |
109 | 110 | /** |
... | ... | @@ -115,21 +116,65 @@ export default class GameService { |
115 | 116 | source |
116 | 117 | }); |
117 | 118 | } |
119 | + /** | |
120 | + * 订单查询 | |
121 | + */ | |
122 | + preorder(goodid: string, orderid: string) { | |
123 | + return SDKApi.preorder({ | |
124 | + ...this.buildParams2(), | |
125 | + token: DataService.I.Token, | |
126 | + goodid, orderid | |
127 | + }); | |
128 | + } | |
129 | + | |
130 | + /** | |
131 | + * 构建登录/弱登录公用参数 | |
132 | + */ | |
133 | + private buildParams2() { | |
134 | + let gameid = GAMEDATA.game_id; | |
135 | + let channel = DataService.I.ChannelId; | |
136 | + let brand = WxSystem.I.brand; | |
137 | + let model = WxSystem.I.model; | |
138 | + let version = WxSystem.I.version; | |
139 | + let system = WxSystem.I.system; | |
140 | + let platform = WxSystem.I.platform == "android" ? "android" : "ios"; | |
141 | + let sdkversion = WxSystem.I.SDKVersion; | |
142 | + let scene = DataService.I.Scene + ''; | |
143 | + let uid = DataService.I.UserId; | |
144 | + let env = DataService.I.EnvEnum === 1 ? 'pre' : 'prod'; | |
145 | + let logindays = DataService.I.logindays; | |
146 | + return { | |
147 | + gameid, | |
148 | + channel, | |
149 | + brand, | |
150 | + model, | |
151 | + version, | |
152 | + system, | |
153 | + platform, | |
154 | + sdkversion, | |
155 | + scene, | |
156 | + uid, | |
157 | + env, | |
158 | + logindays | |
159 | + }; | |
160 | + } | |
118 | 161 | |
119 | 162 | |
120 | 163 | /** |
121 | 164 | * 构建登录/弱登录公用参数 |
122 | 165 | */ |
123 | - private buildParams() { | |
166 | + private buildParams() { | |
124 | 167 | let gameid = GAMEDATA.game_id; |
125 | 168 | let channel = DataService.I.ChannelId; |
126 | 169 | let uid = DataService.I.UserId; |
127 | 170 | let token = DataService.I.Token; |
171 | + let logindays = DataService.I.logindays; | |
128 | 172 | return { |
129 | 173 | gameid, |
130 | 174 | channel, |
131 | 175 | uid, |
132 | - token | |
176 | + token, | |
177 | + logindays | |
133 | 178 | }; |
134 | 179 | } |
135 | 180 | ... | ... |
wxsdk/service/LogService.ts
... | ... | @@ -132,6 +132,12 @@ export default class LogService { |
132 | 132 | itemvalue = options[k]; |
133 | 133 | } |
134 | 134 | } |
135 | + } else if (typeof options === 'string') { | |
136 | + var opts = options; | |
137 | + options = { from: opts }; | |
138 | + | |
139 | + itemkey = 'from'; | |
140 | + itemvalue = opts; | |
135 | 141 | } |
136 | 142 | // !this.isLogin && await PromiseSame.get(SDKTools.login, 'login') |
137 | 143 | let fun = () => SDKApi.dot({ |
... | ... | @@ -197,7 +203,7 @@ export default class LogService { |
197 | 203 | * @param times 时间 |
198 | 204 | * @param perc 失败时的完成进度 (浮点数) |
199 | 205 | */ |
200 | - async levelEnd(stageid, stagename, pattern, event, times,perc?) { | |
206 | + async levelEnd(stageid, stagename, pattern, event, times, perc?) { | |
201 | 207 | let fun = () => SDKApi.level({ |
202 | 208 | ...this.buildParams(), |
203 | 209 | stageid, |
... | ... | @@ -273,15 +279,17 @@ export default class LogService { |
273 | 279 | * @param adid |
274 | 280 | * @param adtyp |
275 | 281 | * @param adstatus |
282 | + * @param times 视频关闭时间 | |
276 | 283 | */ |
277 | - adStat(videokey: string, adid: string, adtyp: DOT_AD_TYPE, adstatus: DOT_AD_STATUS) { | |
284 | + adStat(videokey: string, adid: string, adtyp: DOT_AD_TYPE, adstatus: DOT_AD_STATUS, times?) { | |
278 | 285 | let fun = () => SDKApi.adStat({ |
279 | 286 | ...this.buildParams(), |
280 | 287 | videokey, |
281 | 288 | adplat: "1", |
282 | 289 | adid, |
283 | 290 | adtyp, |
284 | - adstatus | |
291 | + adstatus, | |
292 | + times | |
285 | 293 | }) |
286 | 294 | this.checkLogin(fun); |
287 | 295 | } |
... | ... | @@ -427,7 +435,7 @@ export default class LogService { |
427 | 435 | * @param role_name 角色名称 |
428 | 436 | * @param region 区服 |
429 | 437 | */ |
430 | - role(role_name: string,region:string) { | |
438 | + role(role_name: string, region: string) { | |
431 | 439 | let fun = () => SDKApi.role({ |
432 | 440 | ...this.buildParams(), |
433 | 441 | role_name, |
... | ... | @@ -453,6 +461,7 @@ export default class LogService { |
453 | 461 | let scene = DataService.I.Scene + ''; |
454 | 462 | let uid = this.UserId; |
455 | 463 | let env = DataService.I.EnvEnum === 1 ? 'pre' : 'prod'; |
464 | + let logindays = DataService.I.logindays; | |
456 | 465 | return { |
457 | 466 | gameid, |
458 | 467 | channel, |
... | ... | @@ -465,7 +474,8 @@ export default class LogService { |
465 | 474 | sdkversion, |
466 | 475 | scene, |
467 | 476 | uid, |
468 | - env | |
477 | + env, | |
478 | + logindays | |
469 | 479 | }; |
470 | 480 | } |
471 | 481 | ... | ... |
wxsdk/service/entity/SdkData.ts
... | ... | @@ -36,6 +36,7 @@ export default class SdkData { |
36 | 36 | public isCross: boolean; // 是否开启交叉悬浮框推广位 |
37 | 37 | public isDrawer: boolean; // 是否开启交叉抽屉推广位 |
38 | 38 | public isGuessLike: boolean; // 是否开启交叉猜你喜欢推广位 |
39 | + public logindays:number; | |
39 | 40 | |
40 | 41 | constructor() { |
41 | 42 | this.token = ''; |
... | ... | @@ -72,6 +73,7 @@ export default class SdkData { |
72 | 73 | this.isCross = false; |
73 | 74 | this.isDrawer = false; |
74 | 75 | this.isGuessLike = false; |
76 | + this.logindays = 0; | |
75 | 77 | } |
76 | 78 | } |
77 | 79 | ... | ... |
wxsdk/share/SDKVideo.ts
... | ... | @@ -13,6 +13,7 @@ export default class SDKVideo { |
13 | 13 | private videoAd: any; |
14 | 14 | private videoKey: string; |
15 | 15 | private adUnitId: string; |
16 | + private show_time: number = 0; | |
16 | 17 | |
17 | 18 | constructor() { |
18 | 19 | this.videoKey = ''; |
... | ... | @@ -140,9 +141,11 @@ export default class SDKVideo { |
140 | 141 | LogService.I.adStat(this.videoKey, this.adUnitId, DOT_AD_TYPE.video, DOT_AD_STATUS.show) |
141 | 142 | |
142 | 143 | if (that.videoAd.isReady()) { |
144 | + that.show_time = Date.now(); | |
143 | 145 | await that.videoAd.show(); |
144 | 146 | } else { |
145 | 147 | that.videoAd.load().then(() => { |
148 | + that.show_time = Date.now(); | |
146 | 149 | that.videoAd.show(); |
147 | 150 | }).catch(that.handleError) |
148 | 151 | } |
... | ... | @@ -164,7 +167,9 @@ export default class SDKVideo { |
164 | 167 | LogService.I.adStat(that.videoKey, that.adUnitId, DOT_AD_TYPE.video, DOT_AD_STATUS.complete) |
165 | 168 | that.resolve && that.resolve({ type: 2 }); |
166 | 169 | } else { |
167 | - LogService.I.adStat(that.videoKey, that.adUnitId, DOT_AD_TYPE.video, DOT_AD_STATUS.interrupt) | |
170 | + let t = Math.floor((Date.now() - that.show_time) / 1000); | |
171 | + // console.log("视频关闭时间:", t) | |
172 | + LogService.I.adStat(that.videoKey, that.adUnitId, DOT_AD_TYPE.video, DOT_AD_STATUS.interrupt, t) | |
168 | 173 | that.reject && that.reject({ ...ShareVideoError.VideoQuit }); |
169 | 174 | } |
170 | 175 | that.videoAd.offClose(that.handleClose); | ... | ... |
wxsdk/wx/WxInit.ts
... | ... | @@ -23,7 +23,7 @@ export default class WxInit { |
23 | 23 | init() { |
24 | 24 | let { platform } = WxSystem.I.SystemData; |
25 | 25 | let launchData = WxLaunch.I.LaunchData; |
26 | - console.log("启动信息", launchData) | |
26 | + console.log("启动信息", launchData); | |
27 | 27 | let { query, scene, referrerInfo } = launchData; |
28 | 28 | let { |
29 | 29 | invite_type, | ... | ... |
wxsdk/wx/WxLogin.ts
... | ... | @@ -94,7 +94,7 @@ export default class WxLogin { |
94 | 94 | if (data) { |
95 | 95 | // 设置登录信息 |
96 | 96 | if (data.data) { |
97 | - let { channel, uid, firstlogin, token, reftoken, openid, expire, isnew, gameconfig } = data.data; | |
97 | + let { channel, uid, firstlogin, token, reftoken, openid, expire, isnew, gameconfig,logindays } = data.data; | |
98 | 98 | LogService.I.setLogind({ |
99 | 99 | channel, |
100 | 100 | userId: uid, |
... | ... | @@ -104,6 +104,7 @@ export default class WxLogin { |
104 | 104 | token, |
105 | 105 | refToken: reftoken, |
106 | 106 | expire, |
107 | + logindays | |
107 | 108 | }); |
108 | 109 | OnlineService.I.setData(gameconfig) |
109 | 110 | LogService.I.active(); | ... | ... |
wxsdk/wx/WxPay.ts
... | ... | @@ -9,11 +9,11 @@ export default class WxPay { |
9 | 9 | /** |
10 | 10 | * 发起支付 |
11 | 11 | */ |
12 | - pay(params: { money: number; source:string}, opts: any = {}): Promise<any> { | |
12 | + pay(params: { payid: string, goodid: string, money: number; orderid: string }, opts: any = {}): Promise<any> { | |
13 | 13 | return new Promise((resolve, reject) => { |
14 | 14 | let { Mode, OfferId, ZoneId, CurrencyType, Platform } = GAMEDATA.MidasPay; |
15 | 15 | // 环境配置,0:米大师正式环境 1:米大师沙箱环境 |
16 | - let env =1;// DataService.I.EnvEnum === EnvCode.Prod ? 0 : 1; | |
16 | + let env = DataService.I.EnvEnum === EnvCode.Prod ? 0 : 1; | |
17 | 17 | // 平台类型,android or ios,config.js有配置走配置,否则判断系统id |
18 | 18 | let platform = Platform || (DataService.I.SystemId === 0 ? 'ios' : 'android'); |
19 | 19 | let pms = { |
... | ... | @@ -32,22 +32,24 @@ export default class WxPay { |
32 | 32 | }); |
33 | 33 | } |
34 | 34 | |
35 | - private async handlePaySuccess(data: { money: number;source:string, platform: string }, opts: any, resolve: any, reject: any) { | |
35 | + private async handlePaySuccess(data: { payid: string, goodid: string, money: number; orderid: string, platform: string }, opts: any, resolve: any, reject: any) { | |
36 | 36 | // let code = await WxApi.I.login(); |
37 | 37 | |
38 | - let extend =""; | |
39 | - for(let key in opts){ | |
40 | - extend +=(`${key}=${opts[key]}&`) | |
38 | + let extend = ""; | |
39 | + for (let key in opts) { | |
40 | + extend += (`${key}=${opts[key]}&`) | |
41 | 41 | } |
42 | - extend = extend.substring(0,extend.length-1); | |
42 | + extend = extend.substring(0, extend.length - 1); | |
43 | 43 | extend = encodeURIComponent(extend); |
44 | 44 | let params = { |
45 | 45 | ...this.buildParams(), |
46 | 46 | ...opts, |
47 | 47 | extend, |
48 | - source:data.source, | |
49 | - type:1, | |
50 | - amount: data.money * 100, | |
48 | + midasenv: DataService.I.EnvEnum === EnvCode.Prod ? 0 : 1, | |
49 | + orderid: data.orderid, | |
50 | + payid: data.payid, goodid: data.goodid, | |
51 | + type: 1, | |
52 | + money: data.money * 100, | |
51 | 53 | platform: data.platform |
52 | 54 | }; |
53 | 55 | SDKApi.pay(params) |
... | ... | @@ -56,7 +58,7 @@ export default class WxPay { |
56 | 58 | } |
57 | 59 | |
58 | 60 | private handlePayError(err: any, reject: any) { |
59 | - console.log("支付失败",JSON.stringify(err)); | |
61 | + console.log("支付失败", JSON.stringify(err)); | |
60 | 62 | reject(err); |
61 | 63 | } |
62 | 64 | ... | ... |