Commit 6e8deec1 authored by 范雪寒's avatar 范雪寒
parents 44973cb8 377a1fce
...@@ -1030,14 +1030,14 @@ ...@@ -1030,14 +1030,14 @@
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
"x": 0.5, "x": 0.48,
"y": 0.5 "y": 0.5
}, },
"_trs": { "_trs": {
"__type__": "TypedArray", "__type__": "TypedArray",
"ctor": "Float64Array", "ctor": "Float64Array",
"array": [ "array": [
0, -25.600000000000023,
0, 0,
0, 0,
0, 0,
...@@ -3822,8 +3822,8 @@ ...@@ -3822,8 +3822,8 @@
"__type__": "TypedArray", "__type__": "TypedArray",
"ctor": "Float64Array", "ctor": "Float64Array",
"array": [ "array": [
450.324, 445.858,
-195.849, -212.224,
0, 0,
0, 0,
0, 0,
...@@ -3993,8 +3993,8 @@ ...@@ -3993,8 +3993,8 @@
], ],
"_srcBlendFactor": 770, "_srcBlendFactor": 770,
"_dstBlendFactor": 771, "_dstBlendFactor": 771,
"_string": "加载资源", "_string": "获取设备信息",
"_N$string": "加载资源", "_N$string": "获取设备信息",
"_fontSize": 20, "_fontSize": 20,
"_lineHeight": 40, "_lineHeight": 40,
"_enableWrapText": false, "_enableWrapText": false,
...@@ -4177,7 +4177,7 @@ ...@@ -4177,7 +4177,7 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 462.25, "width": 440,
"height": 50.4 "height": 50.4
}, },
"_anchorPoint": { "_anchorPoint": {
...@@ -4229,8 +4229,8 @@ ...@@ -4229,8 +4229,8 @@
], ],
"_srcBlendFactor": 770, "_srcBlendFactor": 770,
"_dstBlendFactor": 771, "_dstBlendFactor": 771,
"_string": "线上测试1:请输入课件ID", "_string": "线上测试:请输入课件ID",
"_N$string": "线上测试1:请输入课件ID", "_N$string": "线上测试:请输入课件ID",
"_fontSize": 40, "_fontSize": 40,
"_lineHeight": 40, "_lineHeight": 40,
"_enableWrapText": true, "_enableWrapText": true,
...@@ -6780,6 +6780,33 @@ ...@@ -6780,6 +6780,33 @@
"_N$reverse": false, "_N$reverse": false,
"_id": "bc3W7j5EVJRaoW20bSToA3" "_id": "bc3W7j5EVJRaoW20bSToA3"
}, },
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 20
},
"_enabled": true,
"alignMode": 2,
"_target": null,
"_alignFlags": 45,
"_left": 0,
"_right": 0,
"_top": 0,
"_bottom": 0,
"_verticalCenter": 0,
"_horizontalCenter": 0,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 1058.88,
"_originalHeight": 469.62,
"_id": "c87OiuHMRI7YOL5SUoikbx"
},
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "ConsoleNode", "_name": "ConsoleNode",
......
const testMockData = {"eof":1,"file":"/storage/emulated/0/Android/data/com.example.oxford/cache/shengtong/gradeVoice.mp3","audioUrl":"https://staging-teach.cdn.ireadabc.com/db48d49e122ba65aa7c5ee56963418a6.mp3","result":{"duration":"2.470","fluency":100,"integrity":100,"kernel_version":"3.6.7","overall":99,"pronunciation":99,"resource_version":"2.3.6","rhythm":0,"speed":78},"tokenId":"621c32543327932cfc000002"};
const recordMockData = {"text":"what can i do for you","audioUrl":"https://staging-teach.cdn.ireadabc.com/368ad56174f85e2ff1f39f12bac5c693.mp3"};
export function initAir(_this) { export function initAir(_this) {
const realAir = { const realAir = {
...@@ -85,6 +87,9 @@ export function initAir(_this) { ...@@ -85,6 +87,9 @@ export function initAir(_this) {
_this.log(`===成功调用getAnswer=== queryObj == ${JSON.stringify(queryObj)}`); _this.log(`===成功调用getAnswer=== queryObj == ${JSON.stringify(queryObj)}`);
callback && callback(null); callback && callback(null);
}, },
addStar() {
_this.log(`===成功调用addStar===`);
},
getTemplates(callback) { getTemplates(callback) {
_this.log(`===成功调用getTemplates===`); _this.log(`===成功调用getTemplates===`);
callback && callback(null); callback && callback(null);
...@@ -102,8 +107,10 @@ export function initAir(_this) { ...@@ -102,8 +107,10 @@ export function initAir(_this) {
window.courseware.hasCalledStartRecord = true; window.courseware.hasCalledStartRecord = true;
window.courseware.callOcMethod("startRecord", { isSpeechToText }); window.courseware.callOcMethod("startRecord", { isSpeechToText });
}, },
stopRecord(callback) { stopRecord(callback1, callback2) {
// 传两个参数是为了兼容以前
window.courseware.hasCalledStartRecord = false; window.courseware.hasCalledStartRecord = false;
const callback = callback1 || callback2;
_this.log(`===成功调用stopRecord===`); _this.log(`===成功调用stopRecord===`);
if (!callback) { if (!callback) {
// 不传回调函数就表示取消评测 // 不传回调函数就表示取消评测
...@@ -160,16 +167,21 @@ export function initAir(_this) { ...@@ -160,16 +167,21 @@ export function initAir(_this) {
_this.log(`===成功调用getEngineInfo===`); _this.log(`===成功调用getEngineInfo===`);
// 调用原生获取机器信息 // 调用原生获取机器信息
window.air.getEngineInfoCallback = (res) => { window.air.getEngineInfoCallback = (res) => {
if(typeof(res) == 'string') {
window.air.engineInfo = res; window.air.engineInfo = res;
callback && callback(res);
} else {
window.air.engineInfo = JSON.stringify(res);
callback && callback(JSON.stringify(res)); callback && callback(JSON.stringify(res));
}
window.air.getEngineInfoCallback = null; window.air.getEngineInfoCallback = null;
}; };
window.courseware.callOcMethod("getEngineInfo", {}); window.courseware.callOcMethod("getEngineInfo", {});
}, },
openOsmo() { openOsmo(params = {}) {
window.courseware.hasCalledOpenOsmo = true; window.courseware.hasCalledOpenOsmo = true;
_this.log(`===成功调用openOsmo===`); _this.log(`===成功调用openOsmo===${JSON.stringify(params)}`);
window.courseware.callOcMethod("openOsmo", {}); window.courseware.callOcMethod("openOsmo", params);
}, },
closeOsmo() { closeOsmo() {
window.courseware.hasCalledOpenOsmo = false; window.courseware.hasCalledOpenOsmo = false;
...@@ -216,9 +228,17 @@ export function initAir(_this) { ...@@ -216,9 +228,17 @@ export function initAir(_this) {
} else if (cc.sys.isNative && cc.sys.os == cc.sys.OS_WINDOWS) { } else if (cc.sys.isNative && cc.sys.os == cc.sys.OS_WINDOWS) {
console.log('汪汪汪') console.log('汪汪汪')
} else { } else {
console.error('非源生环境'); console.error(`非源生环境,网页版不支持${method}方法,将返回此方法的Mock数据以便于网页版调试使用`);
if(method == 'getEngineInfo'){ if(method == 'getEngineInfo'){
window.air.getEngineInfoCallback({isDev: 1}); window.air.getEngineInfoCallback({isDev: 1, uuid: 'debug-xxxxxx-xxxxxx'});
} else if (method == 'startTest') {
} else if (method == 'stopTest') {
window.air.testCallBack(testMockData);
} else if (method == 'startRecord') {
} else if (method == 'stopRecord') {
window.air.recordCallBack(recordMockData);
} else{
console.error(`${method}方法还没有Mock数据,请联系技术支持人员添加`);
} }
} }
}, },
......
import { initAir } from "./air"; import { initAir } from "./air";
cc.Class({ cc.Class({
extends: cc.Component, extends: cc.Component,
properties: {}, properties: {
},
callNetworkApiPost(baseUrl, uri, data, callBack) { callNetworkApiPost(baseUrl, uri, data, callBack) {
this.getBaseUrl((baseUrl) => { this.getBaseUrl((baseUrl) => {
const xhr = new XMLHttpRequest(); const xhr = new XMLHttpRequest();
const url = `${baseUrl}${uri}`; const url = `${baseUrl}${uri}`;
xhr.open("POST", url, true); xhr.open("POST", url, true);
xhr.setRequestHeader("content-type", "application/json"); xhr.setRequestHeader('content-type', 'application/json');
xhr.onreadystatechange = () => { xhr.onreadystatechange = () => {
if (xhr.readyState == 4) { if (xhr.readyState == 4) {
callBack(JSON.parse(xhr.responseText)); callBack(JSON.parse(xhr.responseText));
} }
}; }
xhr.send(JSON.stringify(data)); xhr.send(JSON.stringify(data));
}); });
}, },
callNetworkApiGet(baseUrl, uri, data, callBack) { callNetworkApiGet(baseUrl, uri, data, callBack) {
this.getBaseUrl((baseUrl) => { this.getBaseUrl((baseUrl) => {
let queryStr = "?"; let queryStr = '?';
const params = []; const params = [];
for (const key in data) { for (const key in data) {
if (Object.hasOwnProperty.call(data, key)) { if (Object.hasOwnProperty.call(data, key)) {
...@@ -30,19 +31,19 @@ cc.Class({ ...@@ -30,19 +31,19 @@ cc.Class({
queryStr += params.join("&"); queryStr += params.join("&");
const xhr = new XMLHttpRequest(); const xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => { xhr.onreadystatechange = () => {
if (xhr.readyState == 4 && xhr.status >= 200 && xhr.status < 400) { if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) {
callBack(xhr.responseText); callBack(xhr.responseText);
} }
}; };
const url = `${baseUrl}${uri}${queryStr}`; const url = `${baseUrl}${uri}${queryStr}`;
console.log("url = " + url); console.log('url = ' + url);
xhr.open("GET", url, true); xhr.open('GET', url, true);
xhr.send(); xhr.send();
}); });
}, },
callNetworkApiGetLocal(baseUrl, uri, data, callBack) { callNetworkApiGetLocal(baseUrl, uri, data, callBack) {
let queryStr = "?"; let queryStr = '?';
const params = []; const params = [];
for (const key in data) { for (const key in data) {
if (Object.hasOwnProperty.call(data, key)) { if (Object.hasOwnProperty.call(data, key)) {
...@@ -52,13 +53,13 @@ cc.Class({ ...@@ -52,13 +53,13 @@ cc.Class({
queryStr += params.join("&"); queryStr += params.join("&");
const xhr = new XMLHttpRequest(); const xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => { xhr.onreadystatechange = () => {
if (xhr.readyState == 4 && xhr.status >= 200 && xhr.status < 400) { if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) {
callBack(xhr.responseText); callBack(xhr.responseText);
} }
}; };
const url = `${baseUrl}${uri}${queryStr}`; const url = `${baseUrl}${uri}${queryStr}`;
console.log("url = " + url); console.log('url = ' + url);
xhr.open("GET", url, true); xhr.open('GET', url, true);
xhr.send(); xhr.send();
}, },
...@@ -71,23 +72,27 @@ cc.Class({ ...@@ -71,23 +72,27 @@ cc.Class({
onLoad() { onLoad() {
this.preloadCount = 0; this.preloadCount = 0;
this.loadedCount = 0; this.loadedCount = 0;
const ui = cc.find('middleLayer/ui');
ui.scale = Math.min(1, cc.view.getFrameSize().width/ui.width, cc.view.getFrameSize().height/ui.height);
initAir(this); initAir(this);
// this.preloadAll(); // this.preloadAll();
}, },
getBaseUrl(callback) { getBaseUrl(callback) {
if (window.air.engineInfo) { if(window.air.engineInfo){
if (window.air.engineInfo.isDev == 1) { const {isDev} = JSON.parse(window.air.engineInfo);
callback("https://staging-teach.ireadabc.com"); if(isDev==1){
} else { callback('https://staging-teach.ireadabc.com');
callback("https://iteachabc.com"); }else{
} callback('https://iteachabc.com');
} else { }
window.courseware.getEngineInfo(() => { }else{
if (window.air.engineInfo.isDev == 1) { window.courseware.getEngineInfo(()=>{
callback("https://staging-teach.ireadabc.com"); const {isDev} = JSON.parse(window.air.engineInfo);
} else { if(isDev==1){
callback("https://iteachabc.com"); callback('https://staging-teach.ireadabc.com');
}else{
callback('https://iteachabc.com');
} }
}); });
} }
...@@ -98,36 +103,26 @@ cc.Class({ ...@@ -98,36 +103,26 @@ cc.Class({
cc.game.addPersistRootNode(this.node); cc.game.addPersistRootNode(this.node);
this.initListener(); this.initListener();
const addressText = cc.find("middleLayer/ui/address"); const addressText = cc.find('middleLayer/ui/address');
const str = cc.sys.localStorage.getItem("ip"); const str = cc.sys.localStorage.getItem('ip');
console.log("str = " + str); console.log('str = ' + str);
if (str) { if (str) {
addressText.getComponent(cc.EditBox).string = str; addressText.getComponent(cc.EditBox).string = str;
} }
const nameText = cc.find("middleLayer/ui/bundleName"); const nameText = cc.find('middleLayer/ui/bundleName');
const bundleName = cc.sys.localStorage.getItem("bundleName"); const bundleName = cc.sys.localStorage.getItem('bundleName');
if (bundleName) { if (bundleName) {
nameText.getComponent(cc.EditBox).string = bundleName; nameText.getComponent(cc.EditBox).string = bundleName;
} }
const courseIdNode = cc.find("middleLayer/ui/courseId"); const courseIdNode = cc.find('middleLayer/ui/courseId');
const courseId = cc.sys.localStorage.getItem("courseId"); const courseId = cc.sys.localStorage.getItem('courseId');
if (courseId) { if (courseId) {
courseIdNode.getComponent(cc.EditBox).string = courseId; courseIdNode.getComponent(cc.EditBox).string = courseId;
} }
global.middleLayer = cc.find('middleLayer').getComponent('middleLayer');
const uiNode = cc.find("middleLayer/ui");
uiNode.parent.getComponent(cc.Widget).updateAlignment();
const scale = Math.min(
uiNode.parent.width / uiNode.width,
uiNode.parent.height / uiNode.height
);
console.log('scale = ' + scale);
uiNode.scale = scale;
global.middleLayer = cc.find("middleLayer").getComponent("middleLayer");
middleLayer.log("middleLayer.log('像这样在这里打log')"); middleLayer.log("middleLayer.log('像这样在这里打log')");
}, },
...@@ -139,57 +134,42 @@ cc.Class({ ...@@ -139,57 +134,42 @@ cc.Class({
} }
window.preloadBundleAndSourcesFlag = true; window.preloadBundleAndSourcesFlag = true;
cc.find("middleLayer/ui/ProgressLabel").active = true; cc.find("middleLayer/ui/ProgressLabel").active = true;
cc.find("middleLayer/ui/loadingProgress").active = true; cc.find('middleLayer/ui/loadingProgress').active = true;
let platform = "web_desktop"; let platform = "web_desktop";
if (cc.sys.os == cc.sys.OS_IOS) { if (cc.sys.os == cc.sys.OS_IOS) {
platform = "ios"; platform = "ios";
} else if (cc.sys.os == cc.sys.OS_ANDROID) { } else if (cc.sys.os == cc.sys.OS_ANDROID) {
platform = "android"; platform = "android";
} }
this.callNetworkApiGet( this.callNetworkApiGet(`http://staging-teach.ireadabc.com`, `/api/syllabus/v1/allbundles`, { orgid: 483, platform }, (datastr) => {
`http://staging-teach.ireadabc.com`,
`/api/syllabus/v1/allbundles`,
{ orgid: 483, platform },
(datastr) => {
const data = JSON.parse(datastr); const data = JSON.parse(datastr);
if (data.rows && data.rows.length > 0) { if (data.rows && data.rows.length > 0) {
this.preloadCount += data.rows.length; this.preloadCount += data.rows.length;
} }
this.callNetworkApiGet( this.callNetworkApiGet(`http://staging-teach.ireadabc.com`, `/api/syllabus/v1/allresources`, { orgid: 483 }, (datastr1) => {
`http://staging-teach.ireadabc.com`,
`/api/syllabus/v1/allresources`,
{ orgid: 483 },
(datastr1) => {
const data1 = JSON.parse(datastr1); const data1 = JSON.parse(datastr1);
if (data1.rows && data1.rows.length > 0) { if (data1.rows && data1.rows.length > 0) {
this.preloadCount += data1.rows.length; this.preloadCount += data1.rows.length;
} }
console.log("data.rows = " + JSON.stringify(data.rows)); console.log('data.rows = ' + JSON.stringify(data.rows));
this.batchPreloadScene(data.rows); this.batchPreloadScene(data.rows);
this.preloadSource(data1.rows); this.preloadSource(data1.rows);
} });
); });
}
);
}, },
preloadSourceImman() { preloadSourceImman() {
// 测试用 // 测试用
cc.find("middleLayer/ui/ProgressLabel").active = true; cc.find("middleLayer/ui/ProgressLabel").active = true;
cc.find("middleLayer/ui/loadingProgress").active = true; cc.find('middleLayer/ui/loadingProgress').active = true;
this.callNetworkApiGet( this.callNetworkApiGet(`http://staging-teach.ireadabc.com`, `/api/courseware/v1/getresources`, { courseid: 20894 }, (datastr1) => {
`http://staging-teach.ireadabc.com`,
`/api/courseware/v1/getresources`,
{ courseid: 20894 },
(datastr1) => {
const data1 = JSON.parse(datastr1); const data1 = JSON.parse(datastr1);
if (data1.rows && data1.rows.length > 0) { if (data1.rows && data1.rows.length > 0) {
this.preloadCount += data1.rows.length; this.preloadCount += data1.rows.length;
} }
this.log("data1.rows = " + JSON.stringify(data1.rows)); this.log('data1.rows = ' + JSON.stringify(data1.rows));
this.preloadSource(data1.rows); this.preloadSource(data1.rows);
} });
);
}, },
batchPreloadScene(scenes = []) { batchPreloadScene(scenes = []) {
...@@ -212,10 +192,7 @@ cc.Class({ ...@@ -212,10 +192,7 @@ cc.Class({
} }
return; return;
} }
cc.assetManager.loadBundle( cc.assetManager.loadBundle(scene.bondleUrl, { version: scene.version }, (err, bundle) => {
scene.bondleUrl,
{ version: scene.version },
(err, bundle) => {
console.log(`${scene.bondleUrl}---场景开始loadBundle----`); console.log(`${scene.bondleUrl}---场景开始loadBundle----`);
if (!bundle) { if (!bundle) {
_this.loadedCount++; _this.loadedCount++;
...@@ -228,10 +205,7 @@ cc.Class({ ...@@ -228,10 +205,7 @@ cc.Class({
} }
return; return;
} }
bundle.preloadScene( bundle.preloadScene(scene.sceneName, () => { }, () => {
scene.sceneName,
() => {},
() => {
console.log(`${scene.sceneName}场景预加载结束`); console.log(`${scene.sceneName}场景预加载结束`);
_this.loadedCount++; _this.loadedCount++;
_this.updateProcessBar(); _this.updateProcessBar();
...@@ -241,11 +215,9 @@ cc.Class({ ...@@ -241,11 +215,9 @@ cc.Class({
load(); load();
}, 1); }, 1);
} }
});
});
} }
);
}
);
};
if (scenes && scenes.length > 0) { if (scenes && scenes.length > 0) {
load(); load();
...@@ -260,7 +232,7 @@ cc.Class({ ...@@ -260,7 +232,7 @@ cc.Class({
for (let i = 0; i < tempArr.length; i++) { for (let i = 0; i < tempArr.length; i++) {
cc.assetManager.loadRemote(tempArr[i], (err, texture) => { cc.assetManager.loadRemote(tempArr[i], (err, texture) => {
if (err) { if (err) {
console.log(err); console.log(err)
} }
this.loadedCount++; this.loadedCount++;
this.updateProcessBar(); this.updateProcessBar();
...@@ -269,23 +241,20 @@ cc.Class({ ...@@ -269,23 +241,20 @@ cc.Class({
} }
}); });
} }
}; }
batchLoad(); batchLoad();
}, },
updateProcessBar() { updateProcessBar() {
const label = cc const label = cc.find("middleLayer/ui/ProgressLabel").getComponent(cc.Label);
.find("middleLayer/ui/ProgressLabel") const loadingProgress = cc.find('middleLayer/ui/loadingProgress');
.getComponent(cc.Label);
const loadingProgress = cc.find("middleLayer/ui/loadingProgress");
label.string = `正在加载:${this.loadedCount} / ${this.preloadCount}`; label.string = `正在加载:${this.loadedCount} / ${this.preloadCount}`;
if (this.loadedCount > this.preloadCount * 0.99) { if (this.loadedCount > this.preloadCount * 0.99) {
cc.find("middleLayer/ui/ProgressLabel").active = false; cc.find("middleLayer/ui/ProgressLabel").active = false;
loadingProgress.active = false; loadingProgress.active = false;
this.showLog("资源全部加载完成"); this.showLog("资源全部加载完成");
} }
loadingProgress.getComponent(cc.ProgressBar).progress = loadingProgress.getComponent(cc.ProgressBar).progress = this.loadedCount / this.preloadCount;
this.loadedCount / this.preloadCount;
}, },
asyncDelayLog(str) { asyncDelayLog(str) {
...@@ -298,10 +267,10 @@ cc.Class({ ...@@ -298,10 +267,10 @@ cc.Class({
}, },
initListener() { initListener() {
const exitBtn = cc.find("middleLayer/ExitBtn"); const exitBtn = cc.find('middleLayer/ExitBtn');
exitBtn.on("click", () => { exitBtn.on('click', () => {
cc.find("middleLayer/BtnRight").active = false; cc.find('middleLayer/BtnRight').active = false;
cc.find("middleLayer/BtnLeft").active = false; cc.find('middleLayer/BtnLeft').active = false;
cc.tween(exitBtn) cc.tween(exitBtn)
.to(0.1, { scaleX: 0.4, scaleY: 0.6 }) .to(0.1, { scaleX: 0.4, scaleY: 0.6 })
...@@ -313,58 +282,68 @@ cc.Class({ ...@@ -313,58 +282,68 @@ cc.Class({
// cc.director.getScene().destroy(); // cc.director.getScene().destroy();
cc.audioEngine.stopAll(); cc.audioEngine.stopAll();
window.courseware.freeAllOcMethod(); window.courseware.freeAllOcMethod();
cc.director.loadScene("debug_shell", null, null, (err, scene) => {}); const flag = cc.director.loadScene("debug_shell", null, null, (err, scene) => {
});
if(!flag){
// 没有壳的情况下,直接加载中间层场景
cc.director.loadScene("middleLayer_for_debug", null, null, (err, scene) => {
});
}
}) })
.start(); .start();
}); });
cc.find("middleLayer/BtnRight").on("click", () => { cc.find('middleLayer/BtnRight').on('click', () => {
this.goNextPage(); this.goNextPage();
}); });
cc.find("middleLayer/BtnLeft").on("click", () => { cc.find('middleLayer/BtnLeft').on('click', () => {
this.goPrePage(); this.goPrePage();
}); });
cc.find("middleLayer/ui/BtnOpenOsmo").on("click", () => { cc.find('middleLayer/ui/BtnOpenOsmo').on('click', () => {
window.courseware.openOsmo(); window.courseware.openOsmo();
}); });
cc.find("middleLayer/ui/BtnCloseOsmo").on("click", () => { cc.find('middleLayer/ui/BtnCloseOsmo').on('click', () => {
window.courseware.closeOsmo(); window.courseware.closeOsmo();
}); });
cc.find("middleLayer/ui/BtnOpenRecord").on("click", () => { cc.find('middleLayer/ui/BtnOpenRecord').on('click', () => {
window.courseware.startRecord(1); window.courseware.startRecord(1);
}); });
cc.find("middleLayer/ui/BtnCloseRecord").on("click", () => { cc.find('middleLayer/ui/BtnCloseRecord').on('click', () => {
window.courseware.stopRecord((res) => { window.courseware.stopRecord(res => {
this.log("--------录音返回结果 stopRecord ------------"); this.log('--------录音返回结果 stopRecord ------------');
this.log(JSON.stringify(res)); this.log(res)
this.log("------------------------------"); this.log('------------------------------');
this.log(`录音的文本是${JSON.parse(res).text}`);
this.log(`录音的音频URL是${JSON.parse(res).audioUrl}`);
}); });
}); });
cc.find("middleLayer/ui/BtnOpenTest").on("click", () => { cc.find('middleLayer/ui/BtnOpenTest').on('click', () => {
window.courseware.startTest(""); window.courseware.startTest('apple');
}); });
cc.find("middleLayer/ui/BtnCloseTest").on("click", () => { cc.find('middleLayer/ui/BtnCloseTest').on('click', () => {
window.courseware.stopTest((res) => { window.courseware.stopTest(res => {
this.log("--------录音评测返回结果 stopTest ---------"); this.log('--------录音评测返回结果 stopTest ---------');
this.log(JSON.stringify(res)); this.log(res)
this.log("------------------------------"); this.log('------------------------------');
this.log(`录音apple的评分是${JSON.parse(res).result.overall}`);
this.log(`录音apple的音频URL是${JSON.parse(res).audioUrl}`);
}); });
}); });
const BtnStartLocal = cc.find("middleLayer/ui/BtnStartLocal"); const BtnStartLocal = cc.find('middleLayer/ui/BtnStartLocal');
BtnStartLocal.on("click", () => { BtnStartLocal.on('click', () => {
const addressText = cc.find("middleLayer/ui/address"); const addressText = cc.find('middleLayer/ui/address');
const str = addressText.getComponent(cc.EditBox).string; const str = addressText.getComponent(cc.EditBox).string;
cc.sys.localStorage.setItem("ip", str); cc.sys.localStorage.setItem('ip', str);
const address = str.split(":")[0]; const address = str.split(':')[0];
const port = str.split(":")[0] | 8081; const port = str.split(':')[0] | 8081;
this.localMode = true; this.localMode = true;
this.loadLocalBundle(address, port); this.loadLocalBundle(address, port);
this.showWaitingLetters(); this.showWaitingLetters();
...@@ -372,46 +351,55 @@ cc.Class({ ...@@ -372,46 +351,55 @@ cc.Class({
this.showDebugUI(); this.showDebugUI();
}); });
const BtnStartOnline = cc.find("middleLayer/ui/BtnStartOnline"); const BtnStartOnline = cc.find('middleLayer/ui/BtnStartOnline');
BtnStartOnline.on("click", () => { BtnStartOnline.on('click', () => {
const nameText = cc.find("middleLayer/ui/bundleName"); const nameText = cc.find('middleLayer/ui/bundleName');
const bundleName = nameText.getComponent(cc.EditBox).string; const bundleName = nameText.getComponent(cc.EditBox).string;
cc.sys.localStorage.setItem("bundleName", bundleName); cc.sys.localStorage.setItem('bundleName', bundleName);
this.loadOnlineBundle(bundleName); this.loadOnlineBundle(bundleName);
this.showDebugUI(); this.showDebugUI();
}); });
const BtnStartCourseWare = cc.find("middleLayer/ui/BtnStartCourseWare"); const BtnStartCourseWare = cc.find('middleLayer/ui/BtnStartCourseWare');
BtnStartCourseWare.on("click", () => { BtnStartCourseWare.on('click', () => {
const courseIdNode = cc.find("middleLayer/ui/courseId"); const courseIdNode = cc.find('middleLayer/ui/courseId');
const courseId = courseIdNode.getComponent(cc.EditBox).string; const courseId = courseIdNode.getComponent(cc.EditBox).string;
cc.sys.localStorage.setItem("courseId", courseId); cc.sys.localStorage.setItem('courseId', courseId);
this.loadOnlineCourseWare(courseId); this.loadOnlineCourseWare(courseId);
this.showDebugUI(); this.showDebugUI();
}); });
const BtnLoad = cc.find("middleLayer/ui/BtnLoad"); const BtnLoad = cc.find('middleLayer/ui/BtnLoad');
BtnLoad.on("click", () => { BtnLoad.on('click', () => {
this.preloadCount = 0;
this.loadedCount = 0; // 测试获取设备信息
cc.find("middleLayer/ui/ProgressLabel").active = true; window.courseware.getEngineInfo(res => {
cc.find("middleLayer/ui/loadingProgress").active = true; this.log('--------getEngineInfo返回结果---------');
// this.preloadAll(); this.log(res)
this.preloadSourceImman(); this.log('------------------------------');
}); });
const btnClose = cc.find("middleLayer/ConsoleNode/BtnClose"); // 测试预加载资源
const btnOpen = cc.find("middleLayer/ConsoleNode/BtnOpen"); // this.preloadCount = 0;
const consoleNode = cc.find("middleLayer/ConsoleNode/Console"); // this.loadedCount = 0;
const consoleBg = cc.find("middleLayer/ConsoleNode/bg"); // cc.find("middleLayer/ui/ProgressLabel").active = true;
btnOpen.on("click", () => { // cc.find('middleLayer/ui/loadingProgress').active = true;
// // this.preloadAll();
// this.preloadSourceImman();
});
const btnClose = cc.find('middleLayer/ConsoleNode/BtnClose');
const btnOpen = cc.find('middleLayer/ConsoleNode/BtnOpen');
const consoleNode = cc.find('middleLayer/ConsoleNode/Console');
const consoleBg = cc.find('middleLayer/ConsoleNode/bg');
btnOpen.on('click', () => {
btnClose.active = true; btnClose.active = true;
btnOpen.active = false; btnOpen.active = false;
consoleNode.active = true; consoleNode.active = true;
consoleBg.active = true; consoleBg.active = true;
}); });
btnClose.on("click", () => { btnClose.on('click', () => {
btnClose.active = false; btnClose.active = false;
btnOpen.active = true; btnOpen.active = true;
consoleNode.active = false; consoleNode.active = false;
...@@ -426,12 +414,7 @@ cc.Class({ ...@@ -426,12 +414,7 @@ cc.Class({
this.goTarIndexPage(this.courseIndex + 1); this.goTarIndexPage(this.courseIndex + 1);
}, },
goTarIndexPage(index) { goTarIndexPage(index) {
if ( if (!this.courses || index == this.courseIndex || index < 0 || index > this.courses.length - 1) {
!this.courses ||
index == this.courseIndex ||
index < 0 ||
index > this.courses.length - 1
) {
return; return;
} }
...@@ -440,39 +423,35 @@ cc.Class({ ...@@ -440,39 +423,35 @@ cc.Class({
this.courseIndex = index; this.courseIndex = index;
this.courseItem = this.courses[this.courseIndex]; this.courseItem = this.courses[this.courseIndex];
if (this.courseIndex == 0) { if (this.courseIndex == 0) {
cc.find("middleLayer/BtnLeft").active = false; cc.find('middleLayer/BtnLeft').active = false;
} else { } else {
cc.find("middleLayer/BtnLeft").active = false; cc.find('middleLayer/BtnLeft').active = false;
} }
if (this.courseIndex == this.courses.length - 1) { if (this.courseIndex == this.courses.length - 1) {
cc.find("middleLayer/BtnRight").active = false; cc.find('middleLayer/BtnRight').active = false;
} else { } else {
cc.find("middleLayer/BtnRight").active = true; cc.find('middleLayer/BtnRight').active = true;
} }
this.loadPageBundle(); this.loadPageBundle();
}, },
log(str) { log(str) {
const logStr = `${new Date().toLocaleString()}: ${str}`; const logStr = `${new Date().toLocaleString()}: ${str}`;
console.log(logStr); console.log(logStr);
const content = cc.instantiate(cc.find("middleLayer/ConsoleNode/content")); const content = cc.instantiate(cc.find('middleLayer/ConsoleNode/content'));
content.active = true; content.active = true;
const label = content.getChildByName("label"); const label = content.getChildByName('label');
label.getComponent(cc.Label).string = logStr; label.getComponent(cc.Label).string = logStr;
const consoleContent = cc.find("middleLayer/ConsoleNode/Console/content"); const consoleContent = cc.find('middleLayer/ConsoleNode/Console/content');
consoleContent.addChild(content); consoleContent.addChild(content);
consoleContent.getComponent(cc.Layout).updateLayout(); consoleContent.getComponent(cc.Layout).updateLayout();
}, },
hideUI() { hideUI() {
cc.find("middleLayer/ui").active = false; cc.find('middleLayer/ui').active = false;
}, },
loadOnlineBundle(bundleName) { loadOnlineBundle(bundleName) {
this.hideUI(); this.hideUI();
this.showWaitingLetters(); this.showWaitingLetters();
this.callNetworkApiGet( this.callNetworkApiGet(`http://staging-teach.ireadabc.com`, `/api/template/v1/${bundleName}`, {}, (datastr) => {
`http://staging-teach.ireadabc.com`,
`/api/template/v1/${bundleName}`,
{},
(datastr) => {
const data = JSON.parse(datastr); const data = JSON.parse(datastr);
let configData = null; let configData = null;
if (cc.sys.os == cc.sys.OS_IOS) { if (cc.sys.os == cc.sys.OS_IOS) {
...@@ -486,8 +465,7 @@ cc.Class({ ...@@ -486,8 +465,7 @@ cc.Class({
const version = configData.version; const version = configData.version;
const bondleUrl = configData.bondleUrl; const bondleUrl = configData.bondleUrl;
this.loadBundle(sceneName, version, bondleUrl); this.loadBundle(sceneName, version, bondleUrl);
} });
);
}, },
courses: null, courses: null,
courseIndex: 0, courseIndex: 0,
...@@ -500,42 +478,29 @@ cc.Class({ ...@@ -500,42 +478,29 @@ cc.Class({
if (linkFlag === true) { if (linkFlag === true) {
api = `/api/courseware/v1/${courseId}/eq/level/list`; api = `/api/courseware/v1/${courseId}/eq/level/list`;
} }
this.callNetworkApiGet( this.callNetworkApiGet(`http://staging-teach.ireadabc.com`, api, {}, (datastr) => {
`http://staging-teach.ireadabc.com`,
api,
{},
(datastr) => {
const data = JSON.parse(datastr); const data = JSON.parse(datastr);
if (data.rows && data.rows.length > 0) { if (data.rows && data.rows.length > 0) {
this.courses = data.rows; this.courses = data.rows;
this.courseIndex = data.index || 0; this.courseIndex = data.index || 0;
this.courseItem = data.rows[this.courseIndex]; this.courseItem = data.rows[this.courseIndex];
} }
if ( if (this.courses && this.courses.length > 1 && this.courseIndex <= this.courses.length - 1) {
this.courses && cc.find('middleLayer/BtnRight').active = true;
this.courses.length > 1 &&
this.courseIndex <= this.courses.length - 1
) {
cc.find("middleLayer/BtnRight").active = true;
} }
if (this.courseIndex > 0) { if (this.courseIndex > 0) {
cc.find("middleLayer/BtnLeft").active = false; cc.find('middleLayer/BtnLeft').active = false;
} }
this.reWriteAir(); this.reWriteAir();
this.loadPageBundle(); this.loadPageBundle();
} });
);
}, },
loadLocalBundle(address, port) { loadLocalBundle(address, port) {
this.callNetworkApiGetLocal( this.callNetworkApiGetLocal(`http://${address}:${port}`, '/dist/config.json', {}, (datastr) => {
`http://${address}:${port}`,
"/dist/config.json",
{},
(datastr) => {
const data = JSON.parse(datastr); const data = JSON.parse(datastr);
let sceneName = ""; let sceneName = '';
let version = ""; let version = '';
let bondleUrl = ""; let bondleUrl = '';
if (cc.sys.os == cc.sys.OS_IOS) { if (cc.sys.os == cc.sys.OS_IOS) {
sceneName = data.ios.sceneName; sceneName = data.ios.sceneName;
version = data.ios.version; version = data.ios.version;
...@@ -550,13 +515,10 @@ cc.Class({ ...@@ -550,13 +515,10 @@ cc.Class({
bondleUrl = `http://${address}:${port}/dist/web_desktop/`; bondleUrl = `http://${address}:${port}/dist/web_desktop/`;
} }
this.loadBundle(sceneName, version, bondleUrl); this.loadBundle(sceneName, version, bondleUrl);
} });
);
}, },
loadPageBundle() { loadPageBundle() {
let sceneName, let sceneName, version, bondleUrl = "";
version,
bondleUrl = "";
if (cc.sys.os == cc.sys.OS_IOS) { if (cc.sys.os == cc.sys.OS_IOS) {
sceneName = this.courseItem.conf.ios.sceneName; sceneName = this.courseItem.conf.ios.sceneName;
version = this.courseItem.conf.ios.version; version = this.courseItem.conf.ios.version;
...@@ -577,23 +539,20 @@ cc.Class({ ...@@ -577,23 +539,20 @@ cc.Class({
this.currentBundleInfo = { sceneName, version, bondleUrl }; this.currentBundleInfo = { sceneName, version, bondleUrl };
this.showMask(); this.showMask();
this.showWaitingLetters(); this.showWaitingLetters();
cc.assetManager.loadBundle( cc.assetManager.loadBundle(bondleUrl, { version: version }, async (err, bundle) => {
bondleUrl,
{ version: version },
async (err, bundle) => {
if (err) { if (err) {
return this.asyncDelayLog(err); return this.asyncDelayLog(err);
} }
bundle.loadScene(sceneName, null, null, (err, scene) => { bundle.loadScene(sceneName, null, null, (err, scene) => {
if (err) { if (err) {
this.asyncDelayLog("err: ", err); this.asyncDelayLog('err: ', err);
} }
cc.audioEngine.stopAll(); cc.audioEngine.stopAll();
cc.director.runScene(scene, null, () => { cc.director.runScene(scene, null, () => {
console.log("sceneName = " + sceneName); console.log('sceneName = ' + sceneName);
const Canvas = cc.find("Canvas"); const Canvas = cc.find('Canvas');
const middleLayer = cc.find("middleLayer"); const middleLayer = cc.find('middleLayer');
cc.find("middleLayer/ExitBtn").active = true; cc.find('middleLayer/ExitBtn').active = true;
this.hideWaitingLetters(); this.hideWaitingLetters();
this.hideMask(); this.hideMask();
Canvas.getComponent(cc.Widget).updateAlignment(); Canvas.getComponent(cc.Widget).updateAlignment();
...@@ -601,8 +560,7 @@ cc.Class({ ...@@ -601,8 +560,7 @@ cc.Class({
// this.showLog('middleLayer.scale = ' + middleLayer.scale); // this.showLog('middleLayer.scale = ' + middleLayer.scale);
}); });
}); });
} });
);
}, },
reloadBundle() { reloadBundle() {
...@@ -612,13 +570,16 @@ cc.Class({ ...@@ -612,13 +570,16 @@ cc.Class({
}, },
showMask() { showMask() {
const mask = cc.find("middleLayer/mask"); const mask = cc.find('middleLayer/mask');
mask.active = true; mask.active = true;
cc.tween(mask).set({ opacity: 0 }).to(0.5, { opacity: 0 }).start(); cc.tween(mask)
.set({ opacity: 0 })
.to(0.5, { opacity: 0 })
.start();
}, },
hideMask() { hideMask() {
const mask = cc.find("middleLayer/mask"); const mask = cc.find('middleLayer/mask');
mask.stopAllActions(); mask.stopAllActions();
cc.tween(mask) cc.tween(mask)
.set({ opacity: 0 }) .set({ opacity: 0 })
...@@ -637,102 +598,82 @@ cc.Class({ ...@@ -637,102 +598,82 @@ cc.Class({
} }
this.log("===成功调用getData===" + this.courseItem.data); this.log("===成功调用getData===" + this.courseItem.data);
callback && callback(data); callback && callback(data);
}; }
window.courseware.nextPage = () => { window.courseware.nextPage = () => {
this.goNextPage(); this.goNextPage();
}; }
window.courseware.beforePage = () => { window.courseware.beforePage = () => {
this.goPrePage(); this.goPrePage();
}; }
window.courseware.sendAnswer = (answerObj) => { window.courseware.sendAnswer = (answerObj) => {
this.log("===成功调用sendAnswer===" + JSON.stringify(answerObj)); this.log("===成功调用sendAnswer===" + JSON.stringify(answerObj));
this.callNetworkApiPost( this.callNetworkApiPost(`http://staging-teach.ireadabc.com`, `/api/oxford/courseware/v1/${this.courseItem.id}/saveanswer`, answerObj, (data) => {
`http://staging-teach.ireadabc.com`,
`/api/oxford/courseware/v1/${this.courseItem.id}/saveanswer`,
answerObj,
(data) => {
answerObj.callback && answerObj.callback(JSON.stringify(data.row)); answerObj.callback && answerObj.callback(JSON.stringify(data.row));
});
} }
);
};
window.courseware.getAnswer = (queryObj, callback) => { window.courseware.getAnswer = (queryObj, callback) => {
this.log("===成功调用getAnswer===" + JSON.stringify(queryObj)); this.log("===成功调用getAnswer===" + JSON.stringify(queryObj));
this.callNetworkApiGet( this.callNetworkApiGet(`http://staging-teach.ireadabc.com`, `/api/oxford/courseware/v1/${this.courseItem.id}/getanswer`, queryObj, (datastr) => {
`http://staging-teach.ireadabc.com`,
`/api/oxford/courseware/v1/${this.courseItem.id}/getanswer`,
queryObj,
(datastr) => {
const data = JSON.parse(datastr); const data = JSON.parse(datastr);
callback && callback(JSON.stringify(data.rows)); callback && callback(JSON.stringify(data.rows));
});
} }
);
};
}, },
callNativeFunction(param) { callNativeFunction(param) {
const paramStr = JSON.stringify(param); const paramStr = JSON.stringify(param);
if (cc.sys.isNative && cc.sys.os == cc.sys.OS_IOS) { if (cc.sys.isNative && cc.sys.os == cc.sys.OS_IOS) {
return jsb.reflection.callStaticMethod( return jsb.reflection.callStaticMethod('CocosMng', 'cocosWithNativeProtocol:', paramStr);
"CocosMng",
"cocosWithNativeProtocol:",
paramStr
);
} else if (cc.sys.isNative && cc.sys.os == cc.sys.OS_ANDROID) { } else if (cc.sys.isNative && cc.sys.os == cc.sys.OS_ANDROID) {
return jsb.reflection.callStaticMethod( return jsb.reflection.callStaticMethod('com/iplayabc/cocos/AppActivity', 'cocosWithNativeProtocol', '(Ljava/lang/String;)Ljava/lang/String;', paramStr);
"com/iplayabc/cocos/AppActivity",
"cocosWithNativeProtocol",
"(Ljava/lang/String;)Ljava/lang/String;",
paramStr
);
} else if (cc.sys.isNative && cc.sys.os == cc.sys.OS_WINDOWS) { } else if (cc.sys.isNative && cc.sys.os == cc.sys.OS_WINDOWS) {
console.log("汪汪汪"); console.log('汪汪汪')
} else { } else {
console.error("非源生环境"); console.error('非源生环境11');
} }
}, },
showWaitingLetters() { showWaitingLetters() {
if (this.isShowWaiting) { if (this.isShowWaiting) {
return; return;
} }
this.isShowWaiting = true; this.isShowWaiting = true;
const layout = cc.find("middleLayer/layout"); const layout = cc.find('middleLayer/layout');
layout.removeAllChildren(); layout.removeAllChildren();
const canvas = cc.find("Canvas"); const canvas = cc.find("Canvas");
const bg = layout.addComponent(cc.Graphics); const bg = layout.addComponent(cc.Graphics);
bg.fillRect( bg.fillRect(-canvas.width / 2, -canvas.height / 2, canvas.width, canvas.height);
-canvas.width / 2,
-canvas.height / 2,
canvas.width, const laodingLayer = cc.find('middleLayer/loadingLayer');
canvas.height
);
const laodingLayer = cc.find("middleLayer/loadingLayer");
laodingLayer.active = true; laodingLayer.active = true;
const loading = cc.find("middleLayer/loadingLayer/loading"); const loading = cc.find('middleLayer/loadingLayer/loading');
const anim = loading.getComponent(cc.Animation); const anim = loading.getComponent(cc.Animation)
anim.play("loading"); anim.play('loading')
const script = cc const script = cc.find('middleLayer/loadingLayer/progress').getComponent('progressScript');
.find("middleLayer/loadingLayer/progress")
.getComponent("progressScript");
script.setProgress(0); script.setProgress(0);
const id = setInterval(() => { const id = setInterval(() => {
console.log("changeObj.value: ", changeObj.value); // console.log('changeObj.value: ', changeObj.value);
script.setProgress(changeObj.value); script.setProgress(changeObj.value);
}, 1); }, 1);
const changeObj = { value: 0 }; const changeObj = {value: 0};
cc.tween(changeObj) cc.tween(changeObj)
.to(5, { value: 0.9 }) .to(5, {value: 0.9})
.call(() => { .call(() => {
clearInterval(id); clearInterval(id);
}) })
.start(); .start();
// const colorList = this.getRainbowColorList(); // const colorList = this.getRainbowColorList();
// const layout = cc.find('middleLayer/layout'); // const layout = cc.find('middleLayer/layout');
// layout.removeAllChildren(); // layout.removeAllChildren();
...@@ -757,13 +698,15 @@ cc.Class({ ...@@ -757,13 +698,15 @@ cc.Class({
// return width + node.width; // return width + node.width;
// }, 0); // }, 0);
// layout.width = totalWidth; // layout.width = totalWidth;
}, },
hideWaitingLetters() { hideWaitingLetters() {
const layout = cc.find("middleLayer/layout");
const layout = cc.find('middleLayer/layout');
layout.active = false; layout.active = false;
const laodingLayer = cc.find("middleLayer/loadingLayer"); const laodingLayer = cc.find('middleLayer/loadingLayer');
laodingLayer.active = false; laodingLayer.active = false;
}, },
...@@ -780,7 +723,7 @@ cc.Class({ ...@@ -780,7 +723,7 @@ cc.Class({
}, },
showDebugUI() { showDebugUI() {
cc.find("middleLayer/ConsoleNode/BtnOpen").active = true; cc.find('middleLayer/ConsoleNode/BtnOpen').active = true;
}, },
showOneLog() { showOneLog() {
...@@ -796,7 +739,10 @@ cc.Class({ ...@@ -796,7 +739,10 @@ cc.Class({
node.x = this.node.width / 4; node.x = this.node.width / 4;
node.y = -this.node.height / 2; node.y = -this.node.height / 2;
node.parent = this.node; node.parent = this.node;
cc.tween(node).to(5, { y: this.node.height }).removeSelf().start(); cc.tween(node)
.to(5, { y: this.node.height })
.removeSelf()
.start();
setTimeout(() => { setTimeout(() => {
this.logList.shift(); this.logList.shift();
this.showOneLog(); this.showOneLog();
...@@ -806,9 +752,9 @@ cc.Class({ ...@@ -806,9 +752,9 @@ cc.Class({
exit() { exit() {
cc.game.removePersistRootNode(this.node); cc.game.removePersistRootNode(this.node);
cc.director.loadScene("emptyScene", () => { cc.director.loadScene("emptyScene", () => {
this.callNativeFunction({ name: "exit", value: "" }); this.callNativeFunction({ name: 'exit', value: '' });
}); });
}, },
getRainbowColorList() { getRainbowColorList() {
return [ return [
...@@ -830,5 +776,5 @@ cc.Class({ ...@@ -830,5 +776,5 @@ cc.Class({
cc.color(255, 128, 0), cc.color(255, 128, 0),
cc.color(255, 255, 0), cc.color(255, 255, 0),
]; ];
}, }
}); });
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment