Files
fc/dev/project/assets/Scripts/mod/payment/cmp/cmp.payment.recharge.page.js
T
2026-05-23 22:10:14 +08:00

131 lines
3.5 KiB
JavaScript

/******************************************************************
*
* 支付页
*
******************************************************************/
const MenuPage = require( "cmp.com.menu.page" );
const RoleController = require( "role_controller" );
const Payment = require( "payment.mod" );
const SVCList = require( "nx.fx.sv.expand" );
cc.Class( {
extends: MenuPage,
properties: {
nodVipLev: { default: null, type: cc.Node },
lstGoods: { default: null, type: SVCList },
},
// 载入
onLoad: function() {
// 模板隐藏
// nx.gui.hideAllChildren( this.lstGoods, "" );
},
onEnable: function(){
// 视图监听
this.vbind( [
[ "RechargeList", this.onRechargeListFresh.bind( this ) ]
] );
// 角色属性监听
// this.role = RoleController.getInstance().getRoleVo();
// this.handler = this.role.bind( EventId.UPDATE_ROLE_ATTRIBUTE, ( _key, _val ) => {
// this.onVipChange( _key, _val );
// } );
// this.onVipChange();
},
// 关闭
onDisable: function() {
// 视图监听解除
this.vunbind();
// // 角色属性监听解除
// if( this.role && this.handler ) {
// this.role.unbind( this.handler );
// this.handler = null;
// this.role = null;
// }
},
onVipChange: function( _key, _val ){
let vip = RoleController.getInstance().getRoleVo().vip_lev;
nx.gui.setString( this.nodVipLev, "panel/level/txt", vip );
let total = vip+1 < 13 ? game.configs.vip_data.data_get_reward[vip+1].gold :game.configs.vip_data.data_get_reward[vip].gold ;
let now = RoleController.getInstance().getRoleVo().vip_exp;
nx.gui.setString( this.nodVipLev, "panel/prog", now + "/" + total );
let cmp = nx.gui.getComponent( this.nodVipLev, "panel/bar", cc.ProgressBar );
if( cmp ){
cmp.progress = parseFloat( now / total );
}
nx.gui.setStringRich( this.nodVipLev, "panel/tip", nx.text.format( "ChargeTip", ( vip + 1 ) < 13 ? ( total - now ) : 0, ( vip + 1 ) < 13 ? ( vip + 1 ) : vip ) );
},
// 更新充值项
updateGoods: function() {
// // 空
// if( nx.dt.arrEmpty( this.goods ) ) {
// nx.gui.hideAllChildren( this.lstGoods, "" );
// return;
// }
let chd = nx.gui.find( this.lstGoods.bindSCV, "view/content" ).children;
if( nx.dt.arrEmpty( chd ) ){
this.lstGoods.rebuild( this.goods );
}else{
for (let i = 0; i < this.goods.length; i++) {
let info = this.goods[i];
let nod = chd[i];
let cmp = nod.svItem;
if( cmp ){
if( cmp.mdata != info ){
cmp.rebind( i, info );
}
}
}
}
},
// 充值項改变
onRechargeListFresh: function( _list ) {
this.goods = _list || [];
this.goods.sort( Utils.tableLowerSorter( [ "need_rmb" ] ) )
this.updateGoods();
},
// 点击充值项
onTouchItem: function( _item ) {
if( nx.dt.objEmpty( _item.mdata ) ) {
return;
}
// GM临时发送
// let msg = "pay " + _item.good.id;
// VIP.getInstance().SendProtocal( 10399, {
// msg:msg
// } );
Payment.getInstance().reqPayment( _item.mdata.id );
},
} );