Commit 3e6f38ee3de8a9fccf157112ecafdeb1a83e639c

Authored by 宋庆平
1 parent b9a9b899

X

sdk/SDKTools.ts
@@ -17,6 +17,10 @@ export class SDKTools { @@ -17,6 +17,10 @@ export class SDKTools {
17 return WXSDK.data.envEnum; 17 return WXSDK.data.envEnum;
18 } 18 }
19 19
  20 + static get data() {
  21 + return WXSDK.data;
  22 + }
  23 +
20 static get scene() { 24 static get scene() {
21 return WXSDK.data.scene; 25 return WXSDK.data.scene;
22 } 26 }
@@ -26,7 +30,7 @@ export class SDKTools { @@ -26,7 +30,7 @@ export class SDKTools {
26 static get channel() { 30 static get channel() {
27 return WXSDK.data.channelId; 31 return WXSDK.data.channelId;
28 } 32 }
29 - static get openId() { 33 + static get openId() {
30 return WXSDK.data.openId; 34 return WXSDK.data.openId;
31 } 35 }
32 36
@@ -314,26 +318,36 @@ export class SDKTools { @@ -314,26 +318,36 @@ export class SDKTools {
314 * @param opts 318 * @param opts
315 * @returns 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 return WXSDK.game.pay(params, opts) 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 return WXSDK.game.orderQuery(source) 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 * @param role_name 角色名称 344 * @param role_name 角色名称
331 * @param region 区服 345 * @param region 区服
332 */ 346 */
333 - static role(role_name: string,region:string) { 347 + static role(role_name: string, region: string) {
334 return WXSDK.stat.role(role_name, region) 348 return WXSDK.stat.role(role_name, region)
335 } 349 }
336 - 350 +
337 351
338 } 352 }
339 353
sdk/shareTools.ts
@@ -90,5 +90,4 @@ export class ShareTools { @@ -90,5 +90,4 @@ export class ShareTools {
90 90
91 91
92 export enum ShareKey { 92 export enum ShareKey {
93 -  
94 } 93 }
wxsdk/base/SDKConst.ts
1 // 游戏配置数据 只需要改动这里的配置信息 1 // 游戏配置数据 只需要改动这里的配置信息
2 // 游戏配置数据 只需要改动这里的配置信息 2 // 游戏配置数据 只需要改动这里的配置信息
3 export const GAMEDATA = { 3 export const GAMEDATA = {
4 - game_id: '10060',  
5 - channel_id: '10060', 4 + game_id: '10045',
  5 + channel_id: '10045',
6 version: '1.0.0', 6 version: '1.0.0',
7 - appkey: 'dd2bd347b23befef947c6d95de0d6cc9', 7 + appkey: '6c7d8ee586f3c4a1a6b5c84554f49079',
8 interstitialAdId: 'adunit-e8f80e01fb6e1b8e',//插屏ID 8 interstitialAdId: 'adunit-e8f80e01fb6e1b8e',//插屏ID
9 bannerId: 'adunit-cc8fff6dee9188d4',//banner 9 bannerId: 'adunit-cc8fff6dee9188d4',//banner
10 gridId: '',//格子 10 gridId: '',//格子
@@ -95,8 +95,9 @@ export const HostKeys = { @@ -95,8 +95,9 @@ export const HostKeys = {
95 adList: 'api/adplan/list', //广告计划列表 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 // 本地存储keys 103 // 本地存储keys
wxsdk/http/SDKApi.ts
@@ -64,4 +64,5 @@ export class SDKApi { @@ -64,4 +64,5 @@ export class SDKApi {
64 public static pay = (...args) => SDKHttp.httpPost(`${DataService.I.OrderApi}${HostKeys.orderReport}`, ...args); 64 public static pay = (...args) => SDKHttp.httpPost(`${DataService.I.OrderApi}${HostKeys.orderReport}`, ...args);
65 65
66 public static orderQuery = (...args) => SDKHttp.httpPost(`${DataService.I.OrderApi}${HostKeys.orderQuery}`, ...args); 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,7 +9,7 @@ export default class SDKHttp {
9 ver: GAMEDATA.version, 9 ver: GAMEDATA.version,
10 gameid: GAMEDATA.game_id, 10 gameid: GAMEDATA.game_id,
11 sign_type: 'md5', 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 // if (url.indexOf('totalrank')>-1) { 15 // if (url.indexOf('totalrank')>-1) {
wxsdk/lib/sdk.d.ts
@@ -381,6 +381,7 @@ interface _LoginInnerData { @@ -381,6 +381,7 @@ interface _LoginInnerData {
381 refToken?:string; 381 refToken?:string;
382 expire?:number; 382 expire?:number;
383 isnew?:number 383 isnew?:number
  384 + logindays?:number
384 } 385 }
385 386
386 /** 387 /**
wxsdk/service/DataService.ts
@@ -57,6 +57,9 @@ export default class DataService { @@ -57,6 +57,9 @@ export default class DataService {
57 57
58 if (data.hasOwnProperty('isnew')) 58 if (data.hasOwnProperty('isnew'))
59 this.setIsnew(data.isnew); 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,6 +81,15 @@ export default class DataService {
78 return this; 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 get Scene() { 94 get Scene() {
83 return this._data.scene || 0; 95 return this._data.scene || 0;
wxsdk/service/GameService.ts
@@ -4,6 +4,7 @@ import { GAMEDATA, __LOG__ } from "../base/SDKConst"; @@ -4,6 +4,7 @@ import { GAMEDATA, __LOG__ } from "../base/SDKConst";
4 import WxLogin from "../wx/WxLogin"; 4 import WxLogin from "../wx/WxLogin";
5 import WxApi from "../wx/WxApi"; 5 import WxApi from "../wx/WxApi";
6 import WxPay from "../wx/WxPay"; 6 import WxPay from "../wx/WxPay";
  7 +import WxSystem from "../wx/WxSystem";
7 8
8 9
9 export default class GameService { 10 export default class GameService {
@@ -103,7 +104,7 @@ export default class GameService { @@ -103,7 +104,7 @@ export default class GameService {
103 * @param opts 104 * @param opts
104 * @returns 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 return WxPay.I.pay(params, opts); 108 return WxPay.I.pay(params, opts);
108 } 109 }
109 /** 110 /**
@@ -115,21 +116,65 @@ export default class GameService { @@ -115,21 +116,65 @@ export default class GameService {
115 source 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 let gameid = GAMEDATA.game_id; 167 let gameid = GAMEDATA.game_id;
125 let channel = DataService.I.ChannelId; 168 let channel = DataService.I.ChannelId;
126 let uid = DataService.I.UserId; 169 let uid = DataService.I.UserId;
127 let token = DataService.I.Token; 170 let token = DataService.I.Token;
  171 + let logindays = DataService.I.logindays;
128 return { 172 return {
129 gameid, 173 gameid,
130 channel, 174 channel,
131 uid, 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,6 +132,12 @@ export default class LogService {
132 itemvalue = options[k]; 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 // !this.isLogin && await PromiseSame.get(SDKTools.login, 'login') 142 // !this.isLogin && await PromiseSame.get(SDKTools.login, 'login')
137 let fun = () => SDKApi.dot({ 143 let fun = () => SDKApi.dot({
@@ -197,7 +203,7 @@ export default class LogService { @@ -197,7 +203,7 @@ export default class LogService {
197 * @param times 时间 203 * @param times 时间
198 * @param perc 失败时的完成进度 (浮点数) 204 * @param perc 失败时的完成进度 (浮点数)
199 */ 205 */
200 - async levelEnd(stageid, stagename, pattern, event, times,perc?) { 206 + async levelEnd(stageid, stagename, pattern, event, times, perc?) {
201 let fun = () => SDKApi.level({ 207 let fun = () => SDKApi.level({
202 ...this.buildParams(), 208 ...this.buildParams(),
203 stageid, 209 stageid,
@@ -273,15 +279,17 @@ export default class LogService { @@ -273,15 +279,17 @@ export default class LogService {
273 * @param adid 279 * @param adid
274 * @param adtyp 280 * @param adtyp
275 * @param adstatus 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 let fun = () => SDKApi.adStat({ 285 let fun = () => SDKApi.adStat({
279 ...this.buildParams(), 286 ...this.buildParams(),
280 videokey, 287 videokey,
281 adplat: "1", 288 adplat: "1",
282 adid, 289 adid,
283 adtyp, 290 adtyp,
284 - adstatus 291 + adstatus,
  292 + times
285 }) 293 })
286 this.checkLogin(fun); 294 this.checkLogin(fun);
287 } 295 }
@@ -427,7 +435,7 @@ export default class LogService { @@ -427,7 +435,7 @@ export default class LogService {
427 * @param role_name 角色名称 435 * @param role_name 角色名称
428 * @param region 区服 436 * @param region 区服
429 */ 437 */
430 - role(role_name: string,region:string) { 438 + role(role_name: string, region: string) {
431 let fun = () => SDKApi.role({ 439 let fun = () => SDKApi.role({
432 ...this.buildParams(), 440 ...this.buildParams(),
433 role_name, 441 role_name,
@@ -453,6 +461,7 @@ export default class LogService { @@ -453,6 +461,7 @@ export default class LogService {
453 let scene = DataService.I.Scene + ''; 461 let scene = DataService.I.Scene + '';
454 let uid = this.UserId; 462 let uid = this.UserId;
455 let env = DataService.I.EnvEnum === 1 ? 'pre' : 'prod'; 463 let env = DataService.I.EnvEnum === 1 ? 'pre' : 'prod';
  464 + let logindays = DataService.I.logindays;
456 return { 465 return {
457 gameid, 466 gameid,
458 channel, 467 channel,
@@ -465,7 +474,8 @@ export default class LogService { @@ -465,7 +474,8 @@ export default class LogService {
465 sdkversion, 474 sdkversion,
466 scene, 475 scene,
467 uid, 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,6 +36,7 @@ export default class SdkData {
36 public isCross: boolean; // 是否开启交叉悬浮框推广位 36 public isCross: boolean; // 是否开启交叉悬浮框推广位
37 public isDrawer: boolean; // 是否开启交叉抽屉推广位 37 public isDrawer: boolean; // 是否开启交叉抽屉推广位
38 public isGuessLike: boolean; // 是否开启交叉猜你喜欢推广位 38 public isGuessLike: boolean; // 是否开启交叉猜你喜欢推广位
  39 + public logindays:number;
39 40
40 constructor() { 41 constructor() {
41 this.token = ''; 42 this.token = '';
@@ -72,6 +73,7 @@ export default class SdkData { @@ -72,6 +73,7 @@ export default class SdkData {
72 this.isCross = false; 73 this.isCross = false;
73 this.isDrawer = false; 74 this.isDrawer = false;
74 this.isGuessLike = false; 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,6 +13,7 @@ export default class SDKVideo {
13 private videoAd: any; 13 private videoAd: any;
14 private videoKey: string; 14 private videoKey: string;
15 private adUnitId: string; 15 private adUnitId: string;
  16 + private show_time: number = 0;
16 17
17 constructor() { 18 constructor() {
18 this.videoKey = ''; 19 this.videoKey = '';
@@ -140,9 +141,11 @@ export default class SDKVideo { @@ -140,9 +141,11 @@ export default class SDKVideo {
140 LogService.I.adStat(this.videoKey, this.adUnitId, DOT_AD_TYPE.video, DOT_AD_STATUS.show) 141 LogService.I.adStat(this.videoKey, this.adUnitId, DOT_AD_TYPE.video, DOT_AD_STATUS.show)
141 142
142 if (that.videoAd.isReady()) { 143 if (that.videoAd.isReady()) {
  144 + that.show_time = Date.now();
143 await that.videoAd.show(); 145 await that.videoAd.show();
144 } else { 146 } else {
145 that.videoAd.load().then(() => { 147 that.videoAd.load().then(() => {
  148 + that.show_time = Date.now();
146 that.videoAd.show(); 149 that.videoAd.show();
147 }).catch(that.handleError) 150 }).catch(that.handleError)
148 } 151 }
@@ -164,7 +167,9 @@ export default class SDKVideo { @@ -164,7 +167,9 @@ export default class SDKVideo {
164 LogService.I.adStat(that.videoKey, that.adUnitId, DOT_AD_TYPE.video, DOT_AD_STATUS.complete) 167 LogService.I.adStat(that.videoKey, that.adUnitId, DOT_AD_TYPE.video, DOT_AD_STATUS.complete)
165 that.resolve && that.resolve({ type: 2 }); 168 that.resolve && that.resolve({ type: 2 });
166 } else { 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 that.reject && that.reject({ ...ShareVideoError.VideoQuit }); 173 that.reject && that.reject({ ...ShareVideoError.VideoQuit });
169 } 174 }
170 that.videoAd.offClose(that.handleClose); 175 that.videoAd.offClose(that.handleClose);
wxsdk/wx/WxInit.ts
@@ -23,7 +23,7 @@ export default class WxInit { @@ -23,7 +23,7 @@ export default class WxInit {
23 init() { 23 init() {
24 let { platform } = WxSystem.I.SystemData; 24 let { platform } = WxSystem.I.SystemData;
25 let launchData = WxLaunch.I.LaunchData; 25 let launchData = WxLaunch.I.LaunchData;
26 - console.log("启动信息", launchData) 26 + console.log("启动信息", launchData);
27 let { query, scene, referrerInfo } = launchData; 27 let { query, scene, referrerInfo } = launchData;
28 let { 28 let {
29 invite_type, 29 invite_type,
wxsdk/wx/WxLogin.ts
@@ -94,7 +94,7 @@ export default class WxLogin { @@ -94,7 +94,7 @@ export default class WxLogin {
94 if (data) { 94 if (data) {
95 // 设置登录信息 95 // 设置登录信息
96 if (data.data) { 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 LogService.I.setLogind({ 98 LogService.I.setLogind({
99 channel, 99 channel,
100 userId: uid, 100 userId: uid,
@@ -104,6 +104,7 @@ export default class WxLogin { @@ -104,6 +104,7 @@ export default class WxLogin {
104 token, 104 token,
105 refToken: reftoken, 105 refToken: reftoken,
106 expire, 106 expire,
  107 + logindays
107 }); 108 });
108 OnlineService.I.setData(gameconfig) 109 OnlineService.I.setData(gameconfig)
109 LogService.I.active(); 110 LogService.I.active();
wxsdk/wx/WxPay.ts
@@ -9,11 +9,11 @@ export default class WxPay { @@ -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 return new Promise((resolve, reject) => { 13 return new Promise((resolve, reject) => {
14 let { Mode, OfferId, ZoneId, CurrencyType, Platform } = GAMEDATA.MidasPay; 14 let { Mode, OfferId, ZoneId, CurrencyType, Platform } = GAMEDATA.MidasPay;
15 // 环境配置,0:米大师正式环境 1:米大师沙箱环境 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 // 平台类型,android or ios,config.js有配置走配置,否则判断系统id 17 // 平台类型,android or ios,config.js有配置走配置,否则判断系统id
18 let platform = Platform || (DataService.I.SystemId === 0 ? 'ios' : 'android'); 18 let platform = Platform || (DataService.I.SystemId === 0 ? 'ios' : 'android');
19 let pms = { 19 let pms = {
@@ -32,22 +32,24 @@ export default class WxPay { @@ -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 // let code = await WxApi.I.login(); 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 extend = encodeURIComponent(extend); 43 extend = encodeURIComponent(extend);
44 let params = { 44 let params = {
45 ...this.buildParams(), 45 ...this.buildParams(),
46 ...opts, 46 ...opts,
47 extend, 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 platform: data.platform 53 platform: data.platform
52 }; 54 };
53 SDKApi.pay(params) 55 SDKApi.pay(params)
@@ -56,7 +58,7 @@ export default class WxPay { @@ -56,7 +58,7 @@ export default class WxPay {
56 } 58 }
57 59
58 private handlePayError(err: any, reject: any) { 60 private handlePayError(err: any, reject: any) {
59 - console.log("支付失败",JSON.stringify(err)); 61 + console.log("支付失败", JSON.stringify(err));
60 reject(err); 62 reject(err);
61 } 63 }
62 64