Files
fc/dev/project/library/imports/59/59ec0b4e-70f5-489e-9643-647b552a8cec.js
T
2026-05-24 10:21:26 +08:00

113 lines
2.6 KiB
JavaScript

"use strict";
cc._RF.push(module, '59ec0tOcPVInpZDZHtVKozs', 'bridge.jumper.window');
// Scripts/zbridge/cmps/bridge.jumper.window.js
"use strict";
/******************************************************************
* Copyright(C) 2019 - 2020 Nx Studio
*
* 功能/窗体跳转按钮
*
* 2018.05.18
******************************************************************/
var TDefine = require("trace.define");
var TTT = TDefine.TraceType;
cc.Class({
"extends": cc.Component,
properties: {
wndName: {
"default": "",
displayName: "窗体名"
},
sourceId: {
"default": 0,
displayName: "来源(功能)编号"
},
param1: {
"default": "",
displayName: "参数(p1)"
},
param2: {
"default": "",
displayName: "参数(p2)"
},
touchAudio: {
"default": null,
type: cc.AudioClip,
displayName: "触摸音"
},
interval: {
"default": 0.2,
displayName: "点击间隔(秒)"
},
// 埋点
idType: {
"default": TTT.btnClicked,
type: TTT,
displayName: "埋点类型"
},
btnName: {
"default": "",
displayName: "按钮名"
}
},
// 编辑器特性
editor: {
// requireComponent 参数用来指定当前组件的依赖组件
requireComponent: cc.Button,
// menu 用来将当前组件添加到组件菜单中,方便用户查找
menu: "老版桥接/功能(窗体)跳转"
},
// 显示
onEnable: function onEnable() {
this.node.on("click", this.onClicked, this);
},
// 隐藏
onDisable: function onDisable() {
this.node.off("click", this.onClicked, this);
},
// 点击
onClicked: function onClicked() {
// 音效
if (this.touchAudio) {
nx.audio.playSFX(this.touchAudio, false);
}
// 点击间隔
var now = cc.sys.now();
if (typeof this.lastClickTime == "number") {
var ms = this.interval * 1000;
if (now - this.lastClickTime < ms) {
return;
}
}
this.lastClickTime = now;
var args = {
p1: this.param1,
p2: this.param2
};
// 直接打开
if (nx.dt.strNEmpty(this.wndName)) {
nx.bridge.createPanel(this.wndName, args);
return;
}
// 跳转
var sid = parseInt(this.sourceId);
if (nx.dt.numGood(sid)) {
nx.bridge.jumper.jump2Window(sid, args);
} else {
nx.bridge.jumper.jump2WindowByKey(sid, args);
}
// 埋点
if (nx.mTrace && this.idType > 0 && nx.dt.strNEmpty(this.btnName)) {
nx.mTrace.trace(this.idType, this.btnName);
}
}
});
cc._RF.pop();