Commit a50b58ce authored by liujiangnan's avatar liujiangnan

feat: 接口

parent f2032c4e
......@@ -7,6 +7,7 @@ const { ccclass, property } = cc._decorator;
export default class NewClass extends middleLayerBase {
role;
token;
// 统一释放异步资源的方法
async onLoad() {
initAir(this);
......@@ -21,14 +22,26 @@ export default class NewClass extends middleLayerBase {
cc.game.addPersistRootNode(this.node);
global.middleLayer = cc.find('middleLayer').getComponent('middleLayer');
// 预加载
cc.find(`middleLayer/preload`).active = false;
this.loadOnlineCourseWare(23751);
}
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() {
......@@ -44,20 +57,27 @@ export default class NewClass extends middleLayerBase {
this.log("===成功调用getData===" + JSON.stringify(data));
callback && callback(data);
}
(<any>window).courseware.sendAnswer = (answerObj) => {
this.log("===成功调用sendAnswer===" + JSON.stringify(answerObj));
this.callNetworkApiPost(`/api/dige/courseware/v1/${this.courseItem.id}/saveanswer`, answerObj, (data) => {
answerObj.callback && answerObj.callback(JSON.stringify(data.row));
});
(<any>window).courseware.stopTest = (callback) => {
(<any>window).courseware.hasCalledStartTest = false;
console.log(`===成功调用stopTest===`);
if (!callback) {
// 不传回调函数就表示取消评测
console.log(`===成功取消录音评测===`);
(<any>window).courseware.callOcMethod("stopTest", { isBreak: 1 });
return;
}
(<any>window).courseware.getAnswer = (queryObj, callback) => {
this.log("===成功调用getAnswer===" + JSON.stringify(queryObj));
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) {
(<any>window).air = {};
}
......@@ -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() {
if (cc.sys.isNative && cc.sys.os == cc.sys.OS_IOS) {
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