⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: ‘Decompress current Excalidraw file’. For more info check in plugin settings under ‘Saving’
Excalidraw Data
Text Elements
乾坤生命周期 (子应用)
bootstrap(props)
mount(props)\n设置 microStore.accountId\n设置 microStore.microInstance
unmount(props)\nmessage.destroy()
utils/user.ts — initUser
PATH_WHITE_LIST_WITHOUT_LOGIN\n当前路径是否免登?
直接 return
login(LOGIN_PATH, SID)\n@ad/uc 登录校验
跳转 /welcome?redirectUrl=…
fetchUserInfo()\n/rest/n/esp/web/user/info
setUserInfo() 填充 GlobalStore\nuser/account/whiteList/whiteListConfig/generalConfig
initCommonParams()\n初始化埋点公共参数
uc sdk 自动重定向
Modal.error() 提示\n+ 跳 /welcome
是
否
未登录
已登录
result=109 登录态失效
result=业务错误码
microInit() — 子应用轻量初始化
initAllLogger()
initEntrySrc()
await initUserForMicro(global)\n仅拉用户信息,跳过 UC 登录
window.esp_AccountId = microStore.accountId
oldRender()
defaultInit() — 完整初始化
setMainJsStart()\n雷达首屏计时
init(UC SDK)\n配置登录拦截器
initAllLogger()\n初始化 radar/weblogger
initEntrySrc()\n存储入口来源到 localStorage
启动 7s 渲染超时监控
await initUser(global, history)\n拉取用户信息
getSystemVersion()\n判断 V2/V3 版本
global.getABTestList()\nglobal.fetchUserQuota()
when(isFmpSended)\n首屏后加水印
oldRender() → 渲染 React 树
app.tsx — render() 入口
render(oldRender)
isMicro?\n__POWERED_BY_QIANKUN__
microInit()
defaultInit()
是 (子应用模式)
否 (独立部署)