diff --git a/miniprogram/core/Module.ts b/miniprogram/core/Module.ts index 5a5c559..f3ea5d4 100644 --- a/miniprogram/core/Module.ts +++ b/miniprogram/core/Module.ts @@ -491,6 +491,27 @@ class Manager { }) } + /** + * 异步页面加载 + * + * *注意* + * 页面模块加载后,必须手动执行 loadAllModule + * loadAllModule Modular 才会真正的被加载 + * 模块加载后可以处理逻辑绑定 + */ + public static async PageAsync(): Promise<{ + manager: Manager, + query: Record + }> { + return new Promise((solve) => { + Page({ + async onLoad(query) { + let manager = new Manager(this); + await solve({ manager, query }); + } + }) + }); + } } export { Manager, Modular, AnyWXContext, WXContext, ILifetime} \ No newline at end of file diff --git a/miniprogram/pages/Account/Account.ts b/miniprogram/pages/Account/Account.ts index 8c36bd4..8fd3723 100644 --- a/miniprogram/pages/Account/Account.ts +++ b/miniprogram/pages/Account/Account.ts @@ -4,9 +4,23 @@ import { MainFunction } from "./MainFunction"; import { FunctionList } from "./FunctionList"; import { Mask } from "../../modular/Mask/Mask"; -Manager.Page((manager) => { +(async () => { + + // 初始化页面 + const { manager, query } = await Manager.PageAsync(); + + // 添加蒙版 Modular const mask = manager.addModule(Mask, "mask"); + + // 添加 UserCard Modular manager.addModule(UserCard, "userCard", { mask }); + + // 添加 MainFunction Modular manager.addModule(MainFunction, "mainFunction"); + + // 添加 FunctionList Modular manager.addModule(FunctionList, "functionList"); -}); \ No newline at end of file + + // 初始化全部 Modular + await manager.loadAllModule(query); +})(); \ No newline at end of file diff --git a/miniprogram/pages/Timetable/TestCore.ts b/miniprogram/pages/Timetable/TestCore.ts index 6a81997..b5ae9d5 100644 --- a/miniprogram/pages/Timetable/TestCore.ts +++ b/miniprogram/pages/Timetable/TestCore.ts @@ -28,12 +28,12 @@ implements Partial { s.set("be", 12); }, 1000) - new Login().param({studentId: "1806240113", password: "qazxsw123"}) - .request().wait({ - ok: (w) => {console.log("ok", w)}, - no: (w) => {console.log("no", w)}, - done: (w) => {console.log("done", w)} - }); + // new Login().param({studentId: "1806240113", password: ""}) + // .request().wait({ + // ok: (w) => {console.log("ok", w)}, + // no: (w) => {console.log("no", w)}, + // done: (w) => {console.log("done", w)} + // }); } } diff --git a/miniprogram/pages/Timetable/Timetable.ts b/miniprogram/pages/Timetable/Timetable.ts index 05c0898..44eb192 100644 --- a/miniprogram/pages/Timetable/Timetable.ts +++ b/miniprogram/pages/Timetable/Timetable.ts @@ -6,7 +6,17 @@ import { TestCore } from "./TestCore"; * 此页面使用 Manager 进行模块化管理 * 若要添加先功能请先定义 Modular 并添加至 Manager */ -Manager.Page((manager)=>{ +(async () => { + + // 初始化页面 + const { manager, query } = await Manager.PageAsync(); + + // 添加 StatusBar Modular manager.addModule(StatusBar, "statusBar"); + + // 添加 TestCore Modular manager.addModule(TestCore, "testCore"); -}) \ No newline at end of file + + // 初始化全部 Modular + await manager.loadAllModule(query); +})() \ No newline at end of file