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 | ... | ... |