⚠ 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()

是 (子应用模式)

否 (独立部署)