socar-microapps

2.0.1 • Public • Published

socar-microapps

注册子应用,接收基座下发的数据,保持于基座通信

/**
 * 即 vue vuex
 * vuexstore import { createStore } from 'vuex'
 */
import {
    store as vuexstore
} from 'vuexstore'

/**
 * 开发相关配置
 */
import {
    devDepConfig
} from '@/config'

import {
    microAppRegister,
    generateAppRegister
} from 'socar-microapps'

import {
    createApp
} from 'vue'

let app = createApp(App)
const appRegister = generateAppRegister(vuexstore)

microAppRegister({
    vuexstore,
    dataListener() {
        appRegister.register(({
            token
        }) => {
            supplier.updateToken(token)
        })
    },
    appInstall(exchangeTokenHandler) {
        /**
         * @var {string} 微应用名称
         */
        let microAppName = 'microApp'
        if (process.env.NODE_ENV === 'development') {
            // 开发模式下,非基座独立运行
            vuexstore.dispatch('app/ACTION_SET_INIT_STATE', true)
        } else {
            // 正式
            appRegister.register(
                ({
                    token,
                    scope,
                    resourceScope,
                    apiUrl,
                    appId,
                    appName
                }) => {
                    // 设置数据层启动参数
                    supplier.setExecuteArgs({
                        token,
                        host: apiUrl, // 正式接口地址
                        exchangeToken: exchangeTokenHandler
                    })

                    microAppName = appName

                    SoCarDomain.registeredScope([...scope], resourceScope)
                }
            )
        }

        app.use(vuexstore)
        // 初始化后依次挂载
        // app.use(router)
        // Element.install(app)
        // app.use(directives)
        app.use(SocarIcon)
        console.print.pretty(`微应用 ${microAppName} 初始完成`)
    }
})

changelog

2.0.0

破坏性更新, 弃用之前支持qiankun的功能代码,改为使用 microApp。

2.0.1

新增传递 appId 属性数据

Dependents (0)

Package Sidebar

Install

npm i socar-microapps

Weekly Downloads

0

Version

2.0.1

License

MIT

Unpacked Size

290 kB

Total Files

22

Last publish

Collaborators

  • lichonglou