From 3e6f38ee3de8a9fccf157112ecafdeb1a83e639c Mon Sep 17 00:00:00 2001 From: 宋庆平 Date: Tue, 26 Apr 2022 16:08:38 +0800 Subject: [PATCH] X --- sdk/SDKTools.ts | 26 ++++++++++++++++++++------ sdk/shareTools.ts | 1 - wxsdk/base/SDKConst.ts | 11 ++++++----- wxsdk/http/SDKApi.ts | 1 + wxsdk/http/SDKHttp.ts | 2 +- wxsdk/lib/sdk.d.ts | 1 + wxsdk/service/DataService.ts | 12 ++++++++++++ wxsdk/service/GameService.ts | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- wxsdk/service/LogService.ts | 20 +++++++++++++++----- wxsdk/service/entity/SdkData.ts | 2 ++ wxsdk/share/SDKVideo.ts | 7 ++++++- wxsdk/wx/WxInit.ts | 2 +- wxsdk/wx/WxLogin.ts | 3 ++- wxsdk/wx/WxPay.ts | 24 +++++++++++++----------- 14 files changed, 128 insertions(+), 35 deletions(-) diff --git a/sdk/SDKTools.ts b/sdk/SDKTools.ts index df43072..bf86589 100644 --- a/sdk/SDKTools.ts +++ b/sdk/SDKTools.ts @@ -17,6 +17,10 @@ export class SDKTools { return WXSDK.data.envEnum; } + static get data() { + return WXSDK.data; + } + static get scene() { return WXSDK.data.scene; } @@ -26,7 +30,7 @@ export class SDKTools { static get channel() { return WXSDK.data.channelId; } - static get openId() { + static get openId() { return WXSDK.data.openId; } @@ -314,26 +318,36 @@ export class SDKTools { * @param opts * @returns */ - static pay(params: { money: number; source:string }, opts: any = {}) { + static pay(params: {payid:string, goodid:string, money: number; orderid: string }, opts: any = {}) { return WXSDK.game.pay(params, opts) } /** * 检测支付是否成功 */ - static orderQuery(source:string) { + static orderQuery(source: string) { return WXSDK.game.orderQuery(source) } - + /** + * 获取支付方式 + * @param goodid 商品id + * @param orderid 订单号 + * @returns + */ + static preorder(goodid:string,orderid:string) { + return WXSDK.game.preorder(goodid,orderid) + } + + /** * 用户创角 * @param role_name 角色名称 * @param region 区服 */ - static role(role_name: string,region:string) { + static role(role_name: string, region: string) { return WXSDK.stat.role(role_name, region) } - + } diff --git a/sdk/shareTools.ts b/sdk/shareTools.ts index 4720bd7..6e5775d 100644 --- a/sdk/shareTools.ts +++ b/sdk/shareTools.ts @@ -90,5 +90,4 @@ export class ShareTools { export enum ShareKey { - } diff --git a/wxsdk/base/SDKConst.ts b/wxsdk/base/SDKConst.ts index 442e6f8..8e640fd 100644 --- a/wxsdk/base/SDKConst.ts +++ b/wxsdk/base/SDKConst.ts @@ -1,10 +1,10 @@ // 游戏配置数据 只需要改动这里的配置信息 // 游戏配置数据 只需要改动这里的配置信息 export const GAMEDATA = { - game_id: '10060', - channel_id: '10060', + game_id: '10045', + channel_id: '10045', version: '1.0.0', - appkey: 'dd2bd347b23befef947c6d95de0d6cc9', + appkey: '6c7d8ee586f3c4a1a6b5c84554f49079', interstitialAdId: 'adunit-e8f80e01fb6e1b8e',//插屏ID bannerId: 'adunit-cc8fff6dee9188d4',//banner gridId: '',//格子 @@ -95,8 +95,9 @@ export const HostKeys = { adList: 'api/adplan/list', //广告计划列表 //订单 - orderReport: 'api/order/report', //订单信息上报 - orderQuery: 'api/order/query' //订单信息查询 + orderReport: 'api/order/v2/mimas', //订单信息上报 + orderQuery: 'api/order/query', //订单信息查询 + preorder: 'api/order/v2/preorder' //获取支付方式 }; // 本地存储keys diff --git a/wxsdk/http/SDKApi.ts b/wxsdk/http/SDKApi.ts index 642ff42..9a5f9f8 100644 --- a/wxsdk/http/SDKApi.ts +++ b/wxsdk/http/SDKApi.ts @@ -64,4 +64,5 @@ export class SDKApi { public static pay = (...args) => SDKHttp.httpPost(`${DataService.I.OrderApi}${HostKeys.orderReport}`, ...args); public static orderQuery = (...args) => SDKHttp.httpPost(`${DataService.I.OrderApi}${HostKeys.orderQuery}`, ...args); + public static preorder = (...args) => SDKHttp.httpPost(`${DataService.I.OrderApi}${HostKeys.preorder}`, ...args); } diff --git a/wxsdk/http/SDKHttp.ts b/wxsdk/http/SDKHttp.ts index 8ba4968..f44b3e6 100644 --- a/wxsdk/http/SDKHttp.ts +++ b/wxsdk/http/SDKHttp.ts @@ -9,7 +9,7 @@ export default class SDKHttp { ver: GAMEDATA.version, gameid: GAMEDATA.game_id, sign_type: 'md5', - time_stamp: (Math.floor(Date.now() / 1000)) + '', + time_stamp: (Math.floor(Date.now() / 1000)) + '' } // if (url.indexOf('totalrank')>-1) { diff --git a/wxsdk/lib/sdk.d.ts b/wxsdk/lib/sdk.d.ts index 0a7f870..fa4ee08 100644 --- a/wxsdk/lib/sdk.d.ts +++ b/wxsdk/lib/sdk.d.ts @@ -381,6 +381,7 @@ interface _LoginInnerData { refToken?:string; expire?:number; isnew?:number + logindays?:number } /** diff --git a/wxsdk/service/DataService.ts b/wxsdk/service/DataService.ts index 6091f8b..cd27a8a 100644 --- a/wxsdk/service/DataService.ts +++ b/wxsdk/service/DataService.ts @@ -57,6 +57,9 @@ export default class DataService { if (data.hasOwnProperty('isnew')) this.setIsnew(data.isnew); + + if (data.hasOwnProperty('logindays')) + this.setLogindays(data.logindays); } @@ -78,6 +81,15 @@ export default class DataService { return this; } + get logindays(){ + return this._data.logindays; + } + + setLogindays(val: any) { + this.setValue('logindays', val); + return this; + } + get Scene() { return this._data.scene || 0; diff --git a/wxsdk/service/GameService.ts b/wxsdk/service/GameService.ts index 3357651..80f1b3e 100644 --- a/wxsdk/service/GameService.ts +++ b/wxsdk/service/GameService.ts @@ -4,6 +4,7 @@ import { GAMEDATA, __LOG__ } from "../base/SDKConst"; import WxLogin from "../wx/WxLogin"; import WxApi from "../wx/WxApi"; import WxPay from "../wx/WxPay"; +import WxSystem from "../wx/WxSystem"; export default class GameService { @@ -103,7 +104,7 @@ export default class GameService { * @param opts * @returns */ - pay(params: { money: number; source:string}, opts: any = {}) { + pay(params: {payid:string, goodid:string, money: number; orderid: string }, opts: any = {}) { return WxPay.I.pay(params, opts); } /** @@ -115,21 +116,65 @@ export default class GameService { source }); } + /** + * 订单查询 + */ + preorder(goodid: string, orderid: string) { + return SDKApi.preorder({ + ...this.buildParams2(), + token: DataService.I.Token, + goodid, orderid + }); + } + + /** + * 构建登录/弱登录公用参数 + */ + private buildParams2() { + let gameid = GAMEDATA.game_id; + let channel = DataService.I.ChannelId; + let brand = WxSystem.I.brand; + let model = WxSystem.I.model; + let version = WxSystem.I.version; + let system = WxSystem.I.system; + let platform = WxSystem.I.platform == "android" ? "android" : "ios"; + let sdkversion = WxSystem.I.SDKVersion; + let scene = DataService.I.Scene + ''; + let uid = DataService.I.UserId; + let env = DataService.I.EnvEnum === 1 ? 'pre' : 'prod'; + let logindays = DataService.I.logindays; + return { + gameid, + channel, + brand, + model, + version, + system, + platform, + sdkversion, + scene, + uid, + env, + logindays + }; + } /** * 构建登录/弱登录公用参数 */ - private buildParams() { + private buildParams() { let gameid = GAMEDATA.game_id; let channel = DataService.I.ChannelId; let uid = DataService.I.UserId; let token = DataService.I.Token; + let logindays = DataService.I.logindays; return { gameid, channel, uid, - token + token, + logindays }; } diff --git a/wxsdk/service/LogService.ts b/wxsdk/service/LogService.ts index 01df79f..fe830ff 100644 --- a/wxsdk/service/LogService.ts +++ b/wxsdk/service/LogService.ts @@ -132,6 +132,12 @@ export default class LogService { itemvalue = options[k]; } } + } else if (typeof options === 'string') { + var opts = options; + options = { from: opts }; + + itemkey = 'from'; + itemvalue = opts; } // !this.isLogin && await PromiseSame.get(SDKTools.login, 'login') let fun = () => SDKApi.dot({ @@ -197,7 +203,7 @@ export default class LogService { * @param times 时间 * @param perc 失败时的完成进度 (浮点数) */ - async levelEnd(stageid, stagename, pattern, event, times,perc?) { + async levelEnd(stageid, stagename, pattern, event, times, perc?) { let fun = () => SDKApi.level({ ...this.buildParams(), stageid, @@ -273,15 +279,17 @@ export default class LogService { * @param adid * @param adtyp * @param adstatus + * @param times 视频关闭时间 */ - adStat(videokey: string, adid: string, adtyp: DOT_AD_TYPE, adstatus: DOT_AD_STATUS) { + adStat(videokey: string, adid: string, adtyp: DOT_AD_TYPE, adstatus: DOT_AD_STATUS, times?) { let fun = () => SDKApi.adStat({ ...this.buildParams(), videokey, adplat: "1", adid, adtyp, - adstatus + adstatus, + times }) this.checkLogin(fun); } @@ -427,7 +435,7 @@ export default class LogService { * @param role_name 角色名称 * @param region 区服 */ - role(role_name: string,region:string) { + role(role_name: string, region: string) { let fun = () => SDKApi.role({ ...this.buildParams(), role_name, @@ -453,6 +461,7 @@ export default class LogService { let scene = DataService.I.Scene + ''; let uid = this.UserId; let env = DataService.I.EnvEnum === 1 ? 'pre' : 'prod'; + let logindays = DataService.I.logindays; return { gameid, channel, @@ -465,7 +474,8 @@ export default class LogService { sdkversion, scene, uid, - env + env, + logindays }; } diff --git a/wxsdk/service/entity/SdkData.ts b/wxsdk/service/entity/SdkData.ts index ebef0eb..783dd77 100644 --- a/wxsdk/service/entity/SdkData.ts +++ b/wxsdk/service/entity/SdkData.ts @@ -36,6 +36,7 @@ export default class SdkData { public isCross: boolean; // 是否开启交叉悬浮框推广位 public isDrawer: boolean; // 是否开启交叉抽屉推广位 public isGuessLike: boolean; // 是否开启交叉猜你喜欢推广位 + public logindays:number; constructor() { this.token = ''; @@ -72,6 +73,7 @@ export default class SdkData { this.isCross = false; this.isDrawer = false; this.isGuessLike = false; + this.logindays = 0; } } diff --git a/wxsdk/share/SDKVideo.ts b/wxsdk/share/SDKVideo.ts index af4cbb4..5b06413 100644 --- a/wxsdk/share/SDKVideo.ts +++ b/wxsdk/share/SDKVideo.ts @@ -13,6 +13,7 @@ export default class SDKVideo { private videoAd: any; private videoKey: string; private adUnitId: string; + private show_time: number = 0; constructor() { this.videoKey = ''; @@ -140,9 +141,11 @@ export default class SDKVideo { LogService.I.adStat(this.videoKey, this.adUnitId, DOT_AD_TYPE.video, DOT_AD_STATUS.show) if (that.videoAd.isReady()) { + that.show_time = Date.now(); await that.videoAd.show(); } else { that.videoAd.load().then(() => { + that.show_time = Date.now(); that.videoAd.show(); }).catch(that.handleError) } @@ -164,7 +167,9 @@ export default class SDKVideo { LogService.I.adStat(that.videoKey, that.adUnitId, DOT_AD_TYPE.video, DOT_AD_STATUS.complete) that.resolve && that.resolve({ type: 2 }); } else { - LogService.I.adStat(that.videoKey, that.adUnitId, DOT_AD_TYPE.video, DOT_AD_STATUS.interrupt) + let t = Math.floor((Date.now() - that.show_time) / 1000); + // console.log("视频关闭时间:", t) + LogService.I.adStat(that.videoKey, that.adUnitId, DOT_AD_TYPE.video, DOT_AD_STATUS.interrupt, t) that.reject && that.reject({ ...ShareVideoError.VideoQuit }); } that.videoAd.offClose(that.handleClose); diff --git a/wxsdk/wx/WxInit.ts b/wxsdk/wx/WxInit.ts index 6124e54..1af0e4f 100644 --- a/wxsdk/wx/WxInit.ts +++ b/wxsdk/wx/WxInit.ts @@ -23,7 +23,7 @@ export default class WxInit { init() { let { platform } = WxSystem.I.SystemData; let launchData = WxLaunch.I.LaunchData; - console.log("启动信息", launchData) + console.log("启动信息", launchData); let { query, scene, referrerInfo } = launchData; let { invite_type, diff --git a/wxsdk/wx/WxLogin.ts b/wxsdk/wx/WxLogin.ts index 0f9864d..b0ab07f 100644 --- a/wxsdk/wx/WxLogin.ts +++ b/wxsdk/wx/WxLogin.ts @@ -94,7 +94,7 @@ export default class WxLogin { if (data) { // 设置登录信息 if (data.data) { - let { channel, uid, firstlogin, token, reftoken, openid, expire, isnew, gameconfig } = data.data; + let { channel, uid, firstlogin, token, reftoken, openid, expire, isnew, gameconfig,logindays } = data.data; LogService.I.setLogind({ channel, userId: uid, @@ -104,6 +104,7 @@ export default class WxLogin { token, refToken: reftoken, expire, + logindays }); OnlineService.I.setData(gameconfig) LogService.I.active(); diff --git a/wxsdk/wx/WxPay.ts b/wxsdk/wx/WxPay.ts index 827da86..1b2844f 100644 --- a/wxsdk/wx/WxPay.ts +++ b/wxsdk/wx/WxPay.ts @@ -9,11 +9,11 @@ export default class WxPay { /** * 发起支付 */ - pay(params: { money: number; source:string}, opts: any = {}): Promise { + pay(params: { payid: string, goodid: string, money: number; orderid: string }, opts: any = {}): Promise { return new Promise((resolve, reject) => { let { Mode, OfferId, ZoneId, CurrencyType, Platform } = GAMEDATA.MidasPay; // 环境配置,0:米大师正式环境 1:米大师沙箱环境 - let env =1;// DataService.I.EnvEnum === EnvCode.Prod ? 0 : 1; + let env = DataService.I.EnvEnum === EnvCode.Prod ? 0 : 1; // 平台类型,android or ios,config.js有配置走配置,否则判断系统id let platform = Platform || (DataService.I.SystemId === 0 ? 'ios' : 'android'); let pms = { @@ -32,22 +32,24 @@ export default class WxPay { }); } - private async handlePaySuccess(data: { money: number;source:string, platform: string }, opts: any, resolve: any, reject: any) { + private async handlePaySuccess(data: { payid: string, goodid: string, money: number; orderid: string, platform: string }, opts: any, resolve: any, reject: any) { // let code = await WxApi.I.login(); - let extend =""; - for(let key in opts){ - extend +=(`${key}=${opts[key]}&`) + let extend = ""; + for (let key in opts) { + extend += (`${key}=${opts[key]}&`) } - extend = extend.substring(0,extend.length-1); + extend = extend.substring(0, extend.length - 1); extend = encodeURIComponent(extend); let params = { ...this.buildParams(), ...opts, extend, - source:data.source, - type:1, - amount: data.money * 100, + midasenv: DataService.I.EnvEnum === EnvCode.Prod ? 0 : 1, + orderid: data.orderid, + payid: data.payid, goodid: data.goodid, + type: 1, + money: data.money * 100, platform: data.platform }; SDKApi.pay(params) @@ -56,7 +58,7 @@ export default class WxPay { } private handlePayError(err: any, reject: any) { - console.log("支付失败",JSON.stringify(err)); + console.log("支付失败", JSON.stringify(err)); reject(err); } -- libgit2 0.21.0