四端上传
This commit is contained in:
1 parent
25bbb5f9c8
commit
c6e2cb4d5b
276 files changed
+17812
-3
No files matched your search
@@ -0,0 +1,42 @@
|
||||
// app.js
|
||||
const api = require('./utils/api');
|
||||
const store = require('./utils/store');
|
||||
|
||||
App({
|
||||
globalData: {
|
||||
/** 初始化完成的 Promise,页面 onLoad 里等它即可,避免首屏读不到数据 */
|
||||
ready: null,
|
||||
},
|
||||
|
||||
onLaunch() {
|
||||
this.globalData.ready = this.bootstrap();
|
||||
},
|
||||
|
||||
/**
|
||||
* 启动流程:配置再静默登录,最后拉已购课程。
|
||||
*
|
||||
* 每一步失败都不阻断启动:配置缺失时用兜底文案,登录失败时按未登录渲染。
|
||||
* 旧版本在页面 data 里同步读缓存、而缓存由异步写入,首次安装必然报错,这里不再重蹈。
|
||||
*/
|
||||
bootstrap() {
|
||||
const tasks = [
|
||||
api
|
||||
.getConfig()
|
||||
.then((cfg) => store.setSiteConfig(cfg))
|
||||
.catch((err) => console.warn('[app] 配置加载失败', err)),
|
||||
|
||||
api
|
||||
.login()
|
||||
.then(() => api.getEntitlements())
|
||||
.then((list) => store.setEntitlements(list))
|
||||
.catch((err) => console.warn('[app] 登录或权益加载失败', err)),
|
||||
];
|
||||
return Promise.all(tasks);
|
||||
},
|
||||
|
||||
/** 页面调用它确保初始化完成。 */
|
||||
ready() {
|
||||
return this.globalData.ready || Promise.resolve();
|
||||
},
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user