1.0.8 • Published 6 months ago

@mbfff/iframe-adapter v1.0.8

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

@mbfff/iframe-adapter

适配选人组件 iframe 通信插件

安装

pnpm i @mbfff/iframe-adapter

使用

Vue3

<script lang="ts" setup>
    import { ref, onBeforeUnmount } from 'vue'
    import IframeAdapter from '@mbfff/iframe-adapter'

    // 组件url
    const url = `http://xxx`
    // 组件初始值
    const selectList = ref([
        {
            id: '1',
            empName: '张三',
            mobile: '12345678901',
        },
    ])
    const iframeAdapter = IframeAdapter.getInstance({
        url,
        userInfo: {
            empId: '1',
            onconUUID: '1',
            enterCode: '1',
        },
        onSubmit: data => {
            console.log('用户选择的数据:', data)
        },
        onClose: () => {
            console.log('用户取消选择')
        },
    })

    const handleSelect = () => {
        iframeAdapter.show(selectList.value)
    }

    onBeforeUnmount(() => {
        iframeAdapter?.destroy()
    })
</script>

<template>
    <div class="m-page-su-example">
        <el-button type="primary" @click="handleSelect">选择联系人</el-button>

        <div>所选人员数据: {{ selectList }}</div>
    </div>
</template>

<style lang="scss" scoped>
    .m-page-su-example {
        width: 100%;
        height: 100vh;
        padding: 15px;
    }
</style>

API

  • getInstance(options:IframeAdapterOptions):获取实例,options 配置项

    interface IframeAdapterOptions {
        url: string // 要嵌入的地址
        userInfo: {
            empId: string | number // 员工id
            onconUUID: string // uuid
            enterCode: string // 企业编码
        } // 用户信息
        width?: string // iframe宽度-pc端生效,默认800px
        height?: string // iframe高度-pc端生效,默认600px
        borderRadius?: string // iframe圆角-pc端生效,默认8px
        onSubmit: (data: any) => void // 提交操作回调
        onClose?: () => void // 关闭页面回调
    }
  • show(initData:InitDataItem[]):组件展示,initData 初始化数据

    interface InitDataItem {
        id: string | number // 员工id
        empName: string // 员工姓名
        mobile: string // 手机号
        [k: string]: any
    }
  • hide():组件隐藏

  • destroy():组件销毁

1.0.8

6 months ago

1.0.7

6 months ago

1.0.6

6 months ago

1.0.5

6 months ago

1.0.4

6 months ago

1.0.3

6 months ago

1.0.2

6 months ago

1.0.1

7 months ago

1.0.0

7 months ago