Commit 3e6f38ee3de8a9fccf157112ecafdeb1a83e639c

Authored by 宋庆平
1 parent b9a9b899

X

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
... ... @@ -90,5 +90,4 @@ export class ShareTools {
90 90  
91 91  
92 92 export enum ShareKey {
93   -
94 93 }
... ...
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
... ... @@ -381,6 +381,7 @@ interface _LoginInnerData {
381 381 refToken?:string;
382 382 expire?:number;
383 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 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  
... ...