Files
fc/dev/project/assets/Scripts/mod/acts/month/cmp.act.month.js
T

146 lines
3.9 KiB
JavaScript
Raw Normal View History

2026-05-23 22:10:14 +08:00
/******************************************************************
*
* 月卡
*
******************************************************************/
const BasePage = require( "act.page.base" );
const Payment = require( "payment.mod" );
cc.Class( {
extends: BasePage,
properties: {
card1: { default: null, type: cc.Node },
card2: { default: null, type: cc.Node },
},
// 初始化
build: function( _data ) {
this._super( _data );
// 无效
if( !this.mod ) {
this.card1.active = false;
this.card2.active = false;
return;
}
// 活动监听
this.mod.vbind( this, [
[ "monthCard1", this.freshCard1.bind( this ) ],
[ "monthCard2", this.freshCard2.bind( this ) ],
] );
// 请求月卡信息
this.mod.reqMonthData();
},
// 销毁
onDestroy: function() {
// 活动监听解除
if( this.mod ) {
this.mod.vunbind( this );
}
this._super();
},
// 卡更新
freshCard1: function( _info ) {
this.freshCard( 1, _info );
},
// 卡更新
freshCard2: function( _info ) {
this.freshCard( 2, _info );
},
// 卡更新
freshCard: function( _type, _info ) {
let card = ( _type == 1 ) ? this.card1 : this.card2;
if( !card || nx.dt.objEmpty( _info ) ) {
return;
}
// 配置缺失
const data = game.configs.charge_data.data_constant;
if( !data ) {
nx.error( "月卡配置缺失!" );
return;
}
// 未激活
if( _info.is_reward == 0 ) {
nx.gui.setActive( card, "reward", false );
nx.gui.setActive( card, "active", false );
let node = nx.gui.setActive( card, "goto", true );
let key = ( _type == 1 ) ? "month_card1_sun" : "month_card2_sun";
let val = data[key].val;
nx.gui.setString( node, "tip/arr/total", Payment.getInstance().fmtPrice( val ) );
nx.gui.setString( node, "acc/total", Payment.getInstance().transPrice( val ) );
nx.gui.setString( node, "acc/cur", Payment.getInstance().transPrice( _info.acc ) );
return;
}
// 待激活
if( _info.is_reward == 3 ) {
nx.gui.setActive( card, "reward", false );
nx.gui.setActive( card, "goto", false );
nx.gui.setActive( card, "active", true );
return;
}
nx.gui.setActive( card, "goto", false );
nx.gui.setActive( card, "active", false );
let node = nx.gui.setActive( card, "reward", true );
// 生效时间段
let start = nx.bridge.time.toLocalMD( _info.start_time );
let end = nx.bridge.time.toLocalMD( _info.end_time );
nx.gui.setString( node, "tip/arr/date", start + " - " + end );
// 领取天数
nx.gui.setString( node, "acc/cur", _info.days );
let have = ( _info.is_reward == 1 );
nx.gui.setActive( node, "get", have );
nx.gui.setActive( node, "got", !have );
},
// 点击激活
onTouchActive: function( _type ) {
console.log( "Active:" + parseInt( _type ) );
nx.bridge.createPanel( "WndPayment", { key: "recharge" } );
this.scheduleOnce( () => {
nx.bridge.closePanel( "WndActs" );
}, 0.5 );
},
// 激活祝福
onTouchActiveReward: function( _type ) {
let type = parseInt( _type );
this.mod.reqActiveCard( type, ( _ret, _data ) => {
} );
},
// 点击领取
onTouchGet: function( _type ) {
let type = parseInt( _type );
this.mod.reqMonthReward( type, ( _ret, _data ) => {
} );
},
// 点击特权
onTouchVipRight: function() {
nx.bridge.createPanel( "WndPayment", { key: "vip" } );
},
} );