Commit d48c8e88 authored by liujiangnan's avatar liujiangnan

feat:调用原生获取资源

parent a50b58ce
...@@ -8,6 +8,8 @@ export default class NewClass extends middleLayerBase { ...@@ -8,6 +8,8 @@ export default class NewClass extends middleLayerBase {
role; role;
token; token;
course_id;
courseware_id;
// 统一释放异步资源的方法 // 统一释放异步资源的方法
async onLoad() { async onLoad() {
initAir(this); initAir(this);
...@@ -22,7 +24,24 @@ export default class NewClass extends middleLayerBase { ...@@ -22,7 +24,24 @@ 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');
this.loadOnlineCourseWare(23751); const jsonStr = this.callNativeFunction({
name: "loadSceneList",
value: "",
});
if (!jsonStr) {
console.error("没有jsonStr!!");
return;
}
const { bundleInfo } = JSON.parse(jsonStr);
this.token = bundleInfo.token;
this.course_id = bundleInfo.course_id;
this.courseware_id = bundleInfo.courseware_id;
if (!bundleInfo.token || !bundleInfo.course_id || !bundleInfo.courseware_id) {
console.error("缺少必要的参数!请检查是否传入了以下参数:course_id,courseware_id,toke");
return;
}
this.loadOnlineCourseWare(this.course_id, false, this.courseware_id);
} }
onHomeworkFinish(callBack, data = null) { onHomeworkFinish(callBack, data = null) {
...@@ -121,4 +140,38 @@ export default class NewClass extends middleLayerBase { ...@@ -121,4 +140,38 @@ export default class NewClass extends middleLayerBase {
); );
} }
} }
getQueryString (name) {
const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
const r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return null;
};
callNativeFunction(param) {
const paramStr = JSON.stringify(param);
if (cc.sys.isNative && cc.sys.os == cc.sys.OS_IOS) {
return jsb.reflection.callStaticMethod(
"CocosMng",
"cocosWithNativeProtocol:",
paramStr
);
} else if (cc.sys.isNative && cc.sys.os == cc.sys.OS_ANDROID) {
return jsb.reflection.callStaticMethod(
"com/iplayabc/cocos/AppActivity",
"cocosWithNativeProtocol",
"(Ljava/lang/String;)Ljava/lang/String;",
paramStr
);
} else {
console.error("非源生环境,需要从URL中获取必要的参数");
const token = this.getQueryString("token");
const course_id = this.getQueryString("course_id");
const courseware_id = this.getQueryString("courseware_id");
const resobj = { bundleInfo: {token,course_id,courseware_id}};
return JSON.stringify(resobj);
}
}
} }
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