123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 |
- /**
- * 凤起充值
- */
- import { __PayData } from "../game/data/sdata/SManage";
- import FqLogin from "../login/FqLogin";
- import Main from "../main/Main";
- import { HttpStateType, ReveData } from "../util/CHttp";
- /**
- * 友盟 广告事件定义
- */
- export const UM_EVENT_ID = cc.Enum({
- ad_pdl_t_0: 'ad_pdl_t_0',//潘多拉铁盒广告开始
- ad_pdl_t_1: 'ad_pdl_t_1',//潘多拉铁盒广告观看结束
- ad_pdl_m_0: 'ad_pdl_m_0',//潘多拉魔盒广告开始
- ad_pdl_m_1: 'ad_pdl_m_1',//潘多拉魔盒广告观看结束
- ad_power_0: 'ad_power_0',//看广告购买体力
- ad_power_1: 'ad_power_1',//看广告购买体力
- ad_money_0: 'ad_money_0',//看广告购买金币
- ad_money_1: 'ad_money_1',//看广告购买金币
- ad_fuhuo_0: 'ad_fuhuo_0',//复活
- ad_fuhuo_1: 'ad_fuhuo_1',//复活
- ad_color_2_0: 'ad_color_2_0',//2关颜色灯
- ad_color_2_1: 'ad_color_2_1',//2关颜色灯
- ad_color_5_0: 'ad_color_5_0',//5关颜色灯
- ad_color_5_1: 'ad_color_5_1',//5关颜色灯
- ad_wish_0: 'ad_wish_0',//每日祝福
- ad_wish_1: 'ad_wish_1',//每日祝福
- });
- export default class FqPay {
- public main: Main;
- public _payData: __PayData;
- /**
- * 充值回调
- * result : 0 成功 -1 失败
- */
- public callback: (result: number) => void;
- private orderId:number;//订单id
- constructor(main: Main) {
- this.main = main
- }
- /**
- *
- * @param id 商品id
- */
- public pay(payData: __PayData, callback: (result: number) => void) {
- this.callback = callback
- this._payData = payData
- //创建订单
- this.createOrder((orderId) => {
- this.orderId = orderId
- this.openFqPay('' + orderId)
- })
- }
- /**
- * 创建订单
- * @param callback
- */
- private createOrder(callback: (orderId: number) => void) {
- let msg = {
- payId: this._payData.id
- }
- this.main.gameHttp.sendJson('pay/v1/createOrder', msg, (state, reve: ReveData) => {
- this.main.stopLoad();
- if (state == HttpStateType.SUCCESS) {
- if (reve.retCode == 0) {
- callback(reve.data.orderId)
- } else {
- this.main.showTips(reve.message);
- }
- } else {
- this.main.showTips('网络异常');
- }
- });
- }
- /**
- * String productCode = json.getString("productCode");
- String orderAmount = json.getString("orderAmount");
- String subject = json.getString("subject");
- String roleName = json.getString("roleName");
- String cpBillNo = json.getString("cpBillNo");
- String serverId = json.getString("serverId");
- String extraInfo = json.getString("extraInfo");
- paymentInfo.setOrderAmount(orderAmount); //订单金额 必须字段
- paymentInfo.setSubject(subject); //商品名 必须字段
- paymentInfo.setRoleName(roleName); //角色名 必须字段
- paymentInfo.setCpBillNo(cpBillNo); //CP订单号 必须字段
- paymentInfo.setUid(uid); //登录时成功拿到的UID 必须字段
- paymentInfo.setServerId(serverId); //区服ID 必须字段
- paymentInfo.setExtraInfo(extraInfo); //拓展信息 必须字段
- * @param orderId
- */
- private openFqPay(orderId: string) {
- let player = this.main.player
- let user = this.main.userData
- let msg = {
- productCode:''+this._payData.id,
- productCodeAndroid:this._payData.googleId,
- productCodeIos:this._payData.iosId,
- orderAmount:''+this._payData.usd,
- subject:''+this._payData.name,
- roleName:player.role.name,
- cpBillNo:''+orderId,
- serverId:''+user.zone.id,
- extraInfo:''+orderId
- }
- if(cc.sys.isNative){
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- let myself = this
- window._fqAndroidPayCallback = (str) => {
- console.log('window._fqAndroidPayCallback', str)
- myself.getPay()
- return '1'
- }
-
- let className = "com/funqueue/android/xsdmx/MainActivity";
- let methodName = "pay";
- let methodSignature = "(Ljava/lang/String;)V";
- jsb.reflection.callStaticMethod(className, methodName, methodSignature, JSON.stringify(msg));
- } else if (cc.sys.os === cc.sys.OS_IOS || cc.sys.os === cc.sys.OS_OSX) {
- let myself = this
- window._fqIosPayCallback = (str)=>{
- console.log('window._fqIosPayCallback' , str)
- myself.getPay()
- return '1'
- }
- jsb.reflection.callStaticMethod('AppController', 'pay:',JSON.stringify(msg));
- }
- }
-
- }
- private getPay() {
- let msg = {
- orderId: this.orderId
- }
- this.main.gameHttp.sendJson('pay/v1/checkPay', msg, (state, reve: ReveData) => {
- this.main.stopLoad();
- if (state == HttpStateType.SUCCESS) {
- if (reve.retCode == 0) {
- this.callback(0)
- this.main.showReward(reve)
- } else {
- this.main.showTips(reve.message);
- }
- } else {
- this.main.showTips('网络异常');
- }
- });
- }
- /**
- * 用户观看视频
- * result : -1:广告还未准备好
- * 0:广告未播放完
- * 1:播放完成,给奖励
- */
- public adVideo(callback:(result: number)=>void,eventId1:string,eventId2:string){
- cc.log('用户观看视频 adVideo');
- this.callback = callback;
- if(cc.sys.isNative){
- if (cc.sys.os === cc.sys.OS_ANDROID) {
- FqLogin.commitEvent(eventId1,'','')
- let myself = this
- window._fqAndroidAdCallback = (str) => {
- console.log('window._fqAndroidAdCallback', str)
- if(str == '1'){
- myself.callback(1)
- FqLogin.commitEvent(eventId2,'','')
- }else if(str == '-1'){
- myself.callback(-1)
- }else{
- myself.callback(0)
- }
- return '1'
- }
-
- let className = "com/funqueue/android/xsdmx/MainActivity";
- let methodName = "showRewardedVideo";
- let methodSignature = "(Ljava/lang/String;)V";
- jsb.reflection.callStaticMethod(className, methodName, methodSignature, ' jlsp1');
- } else if (cc.sys.os === cc.sys.OS_IOS) {
- FqLogin.commitEvent(eventId1,'','')
- let myself = this
- window._fqIosAdCallback = (str)=>{
- console.log('window._fqIosAdCallback' , str)
- if(str == '1'){
- FqLogin.commitEvent(eventId2,'','')
- myself.callback(1)
- }else if(str == '-1'){
- myself.callback(-1)
- }else{
- myself.callback(0)
- }
- return '1'
- }
- jsb.reflection.callStaticMethod('AppController', 'showRewardedVideo:','jlsp1');
- }else{
- this.callback(1)
- }
- }else{
- this.callback(1)
- }
-
- }
- }
|