|
@@ -6054,11 +6054,165 @@
|
|
|
}
|
|
|
UIModeSelection.uiName = "UIModeSelection";
|
|
|
|
|
|
+ class GlobalManager {
|
|
|
+ constructor() {
|
|
|
+ }
|
|
|
+ registerMethod(name, method) {
|
|
|
+ console.log('zh: 注册全局方法', name);
|
|
|
+ this[name] = method;
|
|
|
+ }
|
|
|
+ callMethod(name, ...args) {
|
|
|
+ console.log('zh: 调用全局方法', name);
|
|
|
+ if (this[name]) {
|
|
|
+ return this[name](...args);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ console.error(`zh: 全局方法 Method ${name} not found`);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ GlobalManager.instance = new GlobalManager();
|
|
|
+
|
|
|
+ class JSBridgeUtils {
|
|
|
+ constructor() { }
|
|
|
+ static get instance() {
|
|
|
+ if (!this._instance) {
|
|
|
+ this._instance = new JSBridgeUtils();
|
|
|
+ }
|
|
|
+ return this._instance;
|
|
|
+ }
|
|
|
+ initBridge() {
|
|
|
+ if (!Laya.Browser.onAndroid) {
|
|
|
+ console.log('zh:非android dev');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let cfg = window['conchConfig'];
|
|
|
+ if (cfg) {
|
|
|
+ var os = cfg.getOS();
|
|
|
+ if (os == "Conch-android") {
|
|
|
+ this.bridge = window['PlatformClass'].createClass("demo.JSBridge");
|
|
|
+ if (this.bridge) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ testAd1() {
|
|
|
+ if (!Laya.Browser.onAndroid) {
|
|
|
+ console.log('zh:非android dev');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (!this.initBridge()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let rs = this.bridge.call("testString", "hello");
|
|
|
+ console.log('zh:testString rs=' + rs);
|
|
|
+ }
|
|
|
+ testAdCallBack() {
|
|
|
+ if (!this.initBridge()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ console.log("zh:testAdCallBack start");
|
|
|
+ const defaultObj = { code: 200, msg: "req update Ui" };
|
|
|
+ const reqObj = { code: 300, msg: "hello java ui" };
|
|
|
+ this.bridge.callWithBack((rsStr) => {
|
|
|
+ const rsObj = JSON.parse(rsStr);
|
|
|
+ console.log(`zh:testAsyncCallback js收到java返回值=${rsStr}`);
|
|
|
+ }, "testAsyncCallback", JSON.stringify(reqObj));
|
|
|
+ }
|
|
|
+ showInternAd(mark) {
|
|
|
+ if (!Laya.Browser.onAndroid) {
|
|
|
+ console.log('zh:非android dev');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (!this.initBridge()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let rs = this.bridge.call("showInternAd", mark);
|
|
|
+ console.log('zh:showInternAd rs= ' + rs + ' ,mark=' + mark);
|
|
|
+ try {
|
|
|
+ const result = JSON.parse(rs);
|
|
|
+ if (result.code === 200) {
|
|
|
+ console.log("zh:广告显示成功");
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ console.warn("zh:广告显示失败:", result.msg);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (e) {
|
|
|
+ console.error("zh:解析桥接返回值失败:", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ showRewardAd(mark) {
|
|
|
+ if (!Laya.Browser.onAndroid) {
|
|
|
+ console.log('zh:非android dev');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (!this.initBridge()) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let rs = this.bridge.call("showRewardAd", mark);
|
|
|
+ console.log('zh:showRewardAd rs= ' + rs + ' ,mark=' + mark);
|
|
|
+ try {
|
|
|
+ const result = JSON.parse(rs);
|
|
|
+ if (result.code === 200) {
|
|
|
+ console.log("zh:广告显示成功");
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ console.warn("zh:广告显示失败:", result.msg);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (e) {
|
|
|
+ console.error("zh:解析桥接返回值失败:", e);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ nativeCallJs(msg) {
|
|
|
+ console.log("zh:nativeCallJs received data: 1111", msg);
|
|
|
+ if (msg === 'Ad1') {
|
|
|
+ GlobalManager.instance.callMethod('Ad1');
|
|
|
+ console.log("zh: Ad1 奖励发送成功");
|
|
|
+ }
|
|
|
+ else if (msg === 'Ad2') {
|
|
|
+ GlobalManager.instance.callMethod('Ad2');
|
|
|
+ console.log("zh: Ad2 奖励发送成功");
|
|
|
+ }
|
|
|
+ else if (msg === 'Ad3') {
|
|
|
+ GlobalManager.instance.callMethod('Ad3');
|
|
|
+ console.log("zh: Ad3 奖励发送成功");
|
|
|
+ }
|
|
|
+ else if (msg === 'Ad4') {
|
|
|
+ GlobalManager.instance.callMethod('Ad4');
|
|
|
+ console.log("zh: Ad4 奖励发送成功");
|
|
|
+ }
|
|
|
+ else if (msg === 'Ad5') {
|
|
|
+ console.log("zh: Ad5 奖励发送成功");
|
|
|
+ GlobalManager.instance.callMethod('Ad5');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
class UIMain extends UIBase {
|
|
|
constructor() {
|
|
|
super();
|
|
|
this.firstEnter = true;
|
|
|
}
|
|
|
+ nativeCallJs(msg) {
|
|
|
+ let t = msg;
|
|
|
+ console.log("zh:ts 奖励开始发放-", t);
|
|
|
+ GlobalManager.instance.callMethod(msg);
|
|
|
+ }
|
|
|
onConstructor() {
|
|
|
this.ui = ui_UIMain.createInstance();
|
|
|
this.contentPane = this.ui;
|
|
@@ -6083,6 +6237,7 @@
|
|
|
this.onGetUserInfo();
|
|
|
this.ui.n83.visible = false;
|
|
|
Moyu.setShareInfo("8Ball Fury", ["台球", "万宁", "桌球"], '2300002254');
|
|
|
+ window['nativeCallJs'] = this.nativeCallJs.bind(this);
|
|
|
}
|
|
|
changeSecretary(curUse) {
|
|
|
let name = cfgTable.secretaryshopData[curUse + 1].spine;
|
|
@@ -6238,9 +6393,15 @@
|
|
|
}
|
|
|
startGlobal() {
|
|
|
xGame.uiMgr.Show(UIMsg, "Coming Soon");
|
|
|
+ JSBridgeUtils.instance.showInternAd('全球');
|
|
|
}
|
|
|
startWeekly() {
|
|
|
xGame.uiMgr.Show(UIMsg, "Coming Soon");
|
|
|
+ GlobalManager.instance.registerMethod('zhouSaiMonth', this.zhouSaiMonth);
|
|
|
+ JSBridgeUtils.instance.showRewardAd('zhouSaiMonth');
|
|
|
+ }
|
|
|
+ zhouSaiMonth() {
|
|
|
+ console.log('zh: zhouSaiMonth 被调用');
|
|
|
}
|
|
|
startPlaceBall() {
|
|
|
xGame.uiMgr.Show(UILevelDisplay);
|
|
@@ -10245,12 +10406,18 @@
|
|
|
this.checkFree();
|
|
|
}
|
|
|
else {
|
|
|
- Moyu.sendDataEvent("turntable");
|
|
|
- Moyu.showVideoAd(() => {
|
|
|
- this.beginDraw();
|
|
|
- }, EAdType.draw);
|
|
|
+ GlobalManager.instance.registerMethod('qjff_chouJiang', this.qjff_chouJiang);
|
|
|
+ if (JSBridgeUtils.instance.showRewardAd('qjff_chouJiang')) {
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ console.log('zh:AD 失败,直接发放奖励');
|
|
|
+ this.qjff_chouJiang;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ qjff_chouJiang() {
|
|
|
+ this.beginDraw();
|
|
|
+ }
|
|
|
beginDraw() {
|
|
|
this.ui.myNode.flashNode.c1.selectedIndex = 0;
|
|
|
this.ui.drawBtn.touchable = false;
|
|
@@ -19668,12 +19835,18 @@
|
|
|
this.checkFree();
|
|
|
}
|
|
|
else {
|
|
|
- Moyu.sendDataEvent("turntable");
|
|
|
- Moyu.showVideoAd(() => {
|
|
|
- this.beginDraw();
|
|
|
- }, EAdType.draw);
|
|
|
+ GlobalManager.instance.registerMethod('qjff_chouJiang', this.qjff_chouJiang);
|
|
|
+ if (JSBridgeUtils.instance.showRewardAd('qjff_chouJiang')) {
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ console.log('zh:AD 失败,直接发放奖励');
|
|
|
+ this.qjff_chouJiang;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ qjff_chouJiang() {
|
|
|
+ this.beginDraw();
|
|
|
+ }
|
|
|
beginDraw() {
|
|
|
this.ui.myNode.flashNode.c1.selectedIndex = 0;
|
|
|
this.ui.drawBtn.touchable = false;
|
|
@@ -20481,6 +20654,11 @@
|
|
|
super();
|
|
|
this.firstEnter = true;
|
|
|
}
|
|
|
+ nativeCallJs(msg) {
|
|
|
+ let t = msg;
|
|
|
+ console.log("zh:ts 奖励开始发放-", t);
|
|
|
+ GlobalManager.instance.callMethod(msg);
|
|
|
+ }
|
|
|
onConstructor() {
|
|
|
this.ui = ui_UIMain.createInstance();
|
|
|
this.contentPane = this.ui;
|
|
@@ -20505,6 +20683,7 @@
|
|
|
this.onGetUserInfo();
|
|
|
this.ui.n83.visible = false;
|
|
|
Moyu.setShareInfo("8Ball Fury", ["台球", "万宁", "桌球"], '2300002254');
|
|
|
+ window['nativeCallJs'] = this.nativeCallJs.bind(this);
|
|
|
}
|
|
|
changeSecretary(curUse) {
|
|
|
let name = cfgTable.secretaryshopData[curUse + 1].spine;
|
|
@@ -20660,9 +20839,15 @@
|
|
|
}
|
|
|
startGlobal() {
|
|
|
xGame.uiMgr.Show(UIMsg$1, "Coming Soon");
|
|
|
+ JSBridgeUtils.instance.showInternAd('全球');
|
|
|
}
|
|
|
startWeekly() {
|
|
|
xGame.uiMgr.Show(UIMsg$1, "Coming Soon");
|
|
|
+ GlobalManager.instance.registerMethod('zhouSaiMonth', this.zhouSaiMonth);
|
|
|
+ JSBridgeUtils.instance.showRewardAd('zhouSaiMonth');
|
|
|
+ }
|
|
|
+ zhouSaiMonth() {
|
|
|
+ console.log('zh: zhouSaiMonth 被调用');
|
|
|
}
|
|
|
startPlaceBall() {
|
|
|
xGame.uiMgr.Show(UILevelDisplay$1);
|