import DataService from "../../framework/wxsdk/service/DataService"; import GameService from "../../framework/wxsdk/service/GameService"; import WxPay from "../../framework/wxsdk/wx/WxPay"; import SDKApiPlus from "./SDKApiPlus"; export default class GameServicePlus extends GameService { memberSave(content: string, params: any = {}) { return SDKApiPlus.memberSave({ uid: DataService.I.UserId, token: DataService.I.Token, content, ...params }); } memberGet() { return SDKApiPlus.memberGet({ uid: DataService.I.UserId, token: DataService.I.Token }); } memberSesetAup() { return SDKApiPlus.memberSesetAup({ uid: DataService.I.UserId, token: DataService.I.Token }); } memberClear() { return SDKApiPlus.memberClear({ uid: DataService.I.UserId, token: DataService.I.Token }); } getGameNotice() { return SDKApiPlus.notice(); } mail() { return SDKApiPlus.mail({ uid: DataService.I.UserId, token: DataService.I.Token }); } /** * 改变邮件状态 * @param id id为0或不传id时为 一键领取、一键删除 * @param status 1已读 2领取 3删除。如同时修改多个状态格式:1,2 * @returns */ updateMailStatus(id: number, status: string) { return SDKApiPlus.mailStatus({ id, status, uid: DataService.I.UserId, token: DataService.I.Token }); } getQRcode() { return SDKApiPlus.QRcode(); } convertCDkey(cdkey: string) { return SDKApiPlus.cdkey({ uid: DataService.I.UserId, token: DataService.I.Token, cdkey: cdkey }); } clearData() { return SDKApiPlus.clearData({ uid: DataService.I.UserId, token: DataService.I.Token }); } goodsList() { return SDKApiPlus.goodsList({ uid: DataService.I.UserId, token: DataService.I.Token }); } createOrder(goodid: string) { return SDKApiPlus.createOrder({ uid: DataService.I.UserId, token: DataService.I.Token, goodid }); } queryOrder(no: string) { return SDKApiPlus.queryOrder({ uid: DataService.I.UserId, token: DataService.I.Token, no }); } confirmOrder(no: string) { return SDKApiPlus.confirmOrder({ uid: DataService.I.UserId, token: DataService.I.Token, no }); } /** * 支付 * @param params * @param opts * @returns */ pay(params: { payid: string, goodid: string, money: number; orderid: string }, opts: any = {}) { return WxPay.I.pay(params, opts); } /** * 订单查询 */ orderQuery(source) { return SDKApiPlus.orderQuery({ ...this.buildParams(), source }); } /** * 订单查询 */ preorder(goodid: string, orderid: string) { return SDKApiPlus.preorder({ ...this.buildParams2(), token: DataService.I.Token, goodid, orderid }); } /** * 获取玩家历史存档 * @param uid * @param token */ getUserHistory(uid: string, token: string) { return SDKApiPlus.getUserHistory({ uid: uid, token: token }); } /** * 获取玩家历史存档 * @param data //需要包含uid,token */ saveUserHistory(data: any) { return SDKApiPlus.saveUserHistory(data); } /** * 重置GM标识 */ setAup(typ: number = 0) { return SDKApiPlus.setAup({ uid: DataService.I.UserId, token: DataService.I.Token, typ }); } /** * 获取分享图片 * @param items 2,1,0|3,1,1|3,1,1|3,1,1|3,1,1格式:2,1,0(类型,id,领取状态)领取状态:1已领取0未领取 * @param zoom 图片缩放比例 * @returns */ getShareImage(items: string, zoom: number = 1) { return SDKApiPlus.getShareImg({ uid: DataService.I.UserId, token: DataService.I.Token, items, zoom }); } /** * 获取我的今日分享 * @param refresh 是否刷新 */ getShare(refresh?: number) { let req = { uid: DataService.I.UserId, token: DataService.I.Token }; if (refresh) { req['refresh'] = refresh; } return SDKApiPlus.getShare(req); } /** * 获取好友分享详情 * @param id 分享id * @param date 分享日期 格式:20220524 */ getShareInfo(id: number, date: string) { return SDKApiPlus.getShareInfo({ uid: DataService.I.UserId, token: DataService.I.Token, id, date }); } /** * 领取好友分享 * @param id 分享id * @param date 分享日期 格式:20220524 * @param itemid 分享选项ID */ getShareReward(id: number, date: string, itemid: number) { return SDKApiPlus.receiveShare({ uid: DataService.I.UserId, token: DataService.I.Token, id, date, itemid }); } /** * 领取额外进度奖励 * @param id 分享id * @param date 分享日期 格式:20220524 */ getProgressReward(id: number, date: string) { return SDKApiPlus.getProgressReward({ uid: DataService.I.UserId, token: DataService.I.Token, id, date }); } saveStory(key: string, data: string) { // return SDKApiPlus.saveStory({ // id: UserManager.I.curStory.id, // lv: UserManager.I.curStory.lv, // fbid: UserManager.I.curStory.fbid, // fbindex: UserManager.I.curStory.fbindex, // data, // uid: DataService.I.UserId, // token: DataService.I.Token, // }); } /** * 我的邀请详情 * @returns */ getInviteInfo() { return SDKApiPlus.getInviteInfo({ uid: DataService.I.UserId, token: DataService.I.Token }); } /** * 领取邀请奖励 * @param id 挡位id */ receiveInvite(id: number) { return SDKApiPlus.receiveInvite({ uid: DataService.I.UserId, token: DataService.I.Token, id }); } /** * 心跳 */ beatheart() { return SDKApiPlus.heartbeat({ uid: DataService.I.UserId, token: DataService.I.Token }); } /** * 周卡/月卡列表 */ recCardList() { return SDKApiPlus.recCardList({ uid: DataService.I.UserId, token: DataService.I.Token }); } /** * 领取周卡/月卡奖励 * @param typ 第几天 week周 month月 */ recCardReward(typ: string) { return SDKApiPlus.recCardReward({ uid: DataService.I.UserId, token: DataService.I.Token, typ }); } /** * 领取基金列表 */ recGrowthList() { return SDKApiPlus.recGrowthList({ uid: DataService.I.UserId, token: DataService.I.Token }); } /** * 领取基金列表 * @param goodid 购买的基金商品ID * @param level 等级 */ recGrowthReward(goodid: string, level: number) { return SDKApiPlus.recGrowthReward({ uid: DataService.I.UserId, token: DataService.I.Token, goodid, level }); } /** * 获取无尽礼包数据 */ recEndlessList(groupId: string) { return SDKApiPlus.recEndlessList({ uid: DataService.I.UserId, token: DataService.I.Token, group_id: groupId }); } /** * 领取无尽礼包 */ recEndlessReward(groupId: string, id: string, date: string) { return SDKApiPlus.recEndlessReward({ uid: DataService.I.UserId, token: DataService.I.Token, group_id: groupId, id, date }); } /** * 获取新手礼包数据 */ getNewbieGiftData() { return SDKApiPlus.getNewbieGiftData({ uid: DataService.I.UserId, token: DataService.I.Token }); } /** * 领取新手礼包 * @param days 第几天 */ recNewbieGift(days: string) { return SDKApiPlus.recNewbieGift({ uid: DataService.I.UserId, token: DataService.I.Token, days }); } /** * 订阅消息 * @param tmplId 订阅ID * @param message 订阅内容 * @param sendtime 订阅发送时间s二选一参数 * @param times 订阅延迟时间s二选一参数 * @param status 1取消以前相同模板信息,默认为0不取消 */ async sendSubScribe(tmplId: string, message: string, sendtime: number, times: number = 0, status: number = 1) { let uid = +DataService.I.UserId; let token = DataService.I.Token + ''; let openid = DataService.I.OpenId + ''; let data = { uid, token, openid, status, message: encodeURIComponent(message), temid: tmplId }; if (times) { data["times"] = times; } else { data["sendtime"] = Math.floor(sendtime); } let back = await SDKApiPlus.sendsubscribe(data) return back; } /** * 取消订阅消息 * @param tmplId 订阅ID */ async cancelSubscribe(tmplId: string) { let uid = +DataService.I.UserId; let token = DataService.I.Token + ''; let openid = DataService.I.OpenId + ''; let data = { uid, token, openid, temid: tmplId }; let back = await SDKApiPlus.cancelSubscribe(data) return back; } /** * 自定义活动 * @param id 活动ID(后台的ID) */ activityCustom(id?: string) { return SDKApiPlus.activityCustom({ id }); } /** * 添加排行榜 * @param typ 游戏端自定义排行标识 * @param fraction 分数 如果上报的分数小于以前上报的分数,则不会更新 * @param rankData 扩展字段 * @returns */ rankAddV2(typ: string, fraction: number, rankData?: string) { return SDKApiPlus.rankAddV2({ typ, fraction, rankData, uid: DataService.I.UserId, token: DataService.I.Token }); } /** * 排行榜列表 * @param percent percent等于1 的时候会返回排行榜总人数和自己的当前排名 */ rankListV2(typ: string, percent: number = 0) { return SDKApiPlus.rankListV2({ typ, percent, uid: DataService.I.UserId, token: DataService.I.Token }); } /** * 活动排行榜配置 * @param name 游戏端自定义排行标识 */ activityRankConfig(name: string) { return SDKApiPlus.activityRankConfig({ name, uid: DataService.I.UserId, token: DataService.I.Token }); } /** * 活动排行榜添加分数 * @param name 游戏端自定义排行标识 * @param score 分数 * @param extend 扩展 */ activityRankAdd(name: string, score: number, extend: string) { return SDKApiPlus.activityRankAdd({ name, score, extend, uid: DataService.I.UserId, token: DataService.I.Token }); } /** * 活动排行榜 * @param name 游戏端自定义排行标识 */ activityRankList(name: string) { return SDKApiPlus.activityRankList({ name, uid: DataService.I.UserId, token: DataService.I.Token }); } /** * 活动排行榜奖励 * @param name 游戏端自定义排行标识 */ activityRankReward(name: string) { return SDKApiPlus.activityRankReward({ name, uid: DataService.I.UserId, token: DataService.I.Token }); } static instance: GameServicePlus; static get I(): GameServicePlus { return this.instance || (this.instance = new GameServicePlus()); } }