Commit a50b58ce authored by liujiangnan's avatar liujiangnan

feat: 接口

parent f2032c4e
...@@ -7,6 +7,7 @@ const { ccclass, property } = cc._decorator; ...@@ -7,6 +7,7 @@ const { ccclass, property } = cc._decorator;
export default class NewClass extends middleLayerBase { export default class NewClass extends middleLayerBase {
role; role;
token;
// 统一释放异步资源的方法 // 统一释放异步资源的方法
async onLoad() { async onLoad() {
initAir(this); initAir(this);
...@@ -21,14 +22,26 @@ export default class NewClass extends middleLayerBase { ...@@ -21,14 +22,26 @@ export default class NewClass extends middleLayerBase {
cc.game.addPersistRootNode(this.node); cc.game.addPersistRootNode(this.node);
global.middleLayer = cc.find('middleLayer').getComponent('middleLayer'); global.middleLayer = cc.find('middleLayer').getComponent('middleLayer');
// 预加载
cc.find(`middleLayer/preload`).active = false;
this.loadOnlineCourseWare(23751); this.loadOnlineCourseWare(23751);
} }
onHomeworkFinish(callBack, data = null) { onHomeworkFinish(callBack, data = null) {
// TODO 上报总成绩 if (!this.token) {
return;
}
if (typeof (callBack) == 'object') {
data = callBack;
}
this.callNetworkApiPost(`/api/dige/v1/user/report`, {
token: this.token,
syllabus_id: this.courseItem.course_id,
courseware_id: this.courseItem.id,
template_name: this.courseItem.template_name,
study_duration: Date.now() - this.courseOpenTimeStamp,
result: JSON.stringify(data),
}, res => {
callBack && callBack(res);
});
} }
initListener() { initListener() {
...@@ -44,20 +57,27 @@ export default class NewClass extends middleLayerBase { ...@@ -44,20 +57,27 @@ export default class NewClass extends middleLayerBase {
this.log("===成功调用getData===" + JSON.stringify(data)); this.log("===成功调用getData===" + JSON.stringify(data));
callback && callback(data); callback && callback(data);
} }
(<any>window).courseware.sendAnswer = (answerObj) => { (<any>window).courseware.stopTest = (callback) => {
this.log("===成功调用sendAnswer===" + JSON.stringify(answerObj)); (<any>window).courseware.hasCalledStartTest = false;
this.callNetworkApiPost(`/api/dige/courseware/v1/${this.courseItem.id}/saveanswer`, answerObj, (data) => { console.log(`===成功调用stopTest===`);
answerObj.callback && answerObj.callback(JSON.stringify(data.row)); if (!callback) {
}); // 不传回调函数就表示取消评测
} console.log(`===成功取消录音评测===`);
(<any>window).courseware.getAnswer = (queryObj, callback) => { (<any>window).courseware.callOcMethod("stopTest", { isBreak: 1 });
this.log("===成功调用getAnswer===" + JSON.stringify(queryObj)); return;
this.callNetworkApiGet(`/api/dige/courseware/v1/${this.courseItem.id}/getanswer`, queryObj, (datastr) => { }
const data = JSON.parse(datastr); // 结束录音
callback && callback(JSON.stringify(data.rows)); (<any>window).air.testCallBack = (res) => {
}); res = typeof (res) == 'string' ? res : JSON.stringify(res);
console.log(`===成功调用testCallBack=== res == ${res}`);
this.saveRecordResult(res);
callback && callback(res);
(<any>window).air.testCallBack = null;
};
(<any>window).courseware.callOcMethod("stopTest", {});
} }
if (!(<any>window).air) { if (!(<any>window).air) {
(<any>window).air = {}; (<any>window).air = {};
} }
...@@ -70,6 +90,20 @@ export default class NewClass extends middleLayerBase { ...@@ -70,6 +90,20 @@ export default class NewClass extends middleLayerBase {
} }
} }
saveRecordResult(recordResult) {
if (!this.token) {
return;
}
const result = JSON.parse(recordResult);
this.callNetworkApiPost(`/api/dige/v1/record/save`, {
token: this.token,
syllabus_id: this.courseItem.course_id,
courseware_id: this.courseItem.id,
record_url: result.audioUrl,
test_result: recordResult
}, () => { });
}
onMiddleLayerLoadingFinish() { onMiddleLayerLoadingFinish() {
if (cc.sys.isNative && cc.sys.os == cc.sys.OS_IOS) { if (cc.sys.isNative && cc.sys.os == cc.sys.OS_IOS) {
jsb.reflection.callStaticMethod( jsb.reflection.callStaticMethod(
......
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