2.0.9 • Published 7 days ago

post-bridge v2.0.9

Weekly downloads
-
License
MIT
Repository
-
Last release
7 days ago

post-bridge

Version: 2

重新封装 postMessage,使其更易用。 A simple package to make post-message easily to use.

how to install ?

yarn add post-bridge
# or
npm i post-bridge

how to use ?

import postBridge from 'post-bridge';

/**
 * @param { json } configure - 对 `Bridge` 进行设置
 *  @prop { string } namespace - 必填, 表示当前 `Bridge` 实例的名称
 *  @prop { object } target - 默认: window, 表示发送 `postMessage` 的目标(对象)
 *  @prop { object } origin - 默认: window, 表示发送 `postMessage` 的来源(对象)
 * @param { json } handlers - `Bridge` 生命周期函数
 *  @method onConnect - 成功建立连接时触发
 *  @method onAnswer - 发送消息时,响应成功或失败时触发
 *  @method onSend - 发送消息前触发,可对发送数据进行加工处理
 * ======== ======== ========
 */
const Bridge = new postBridge(
  // Configure
  { namespace: `sample`, target: window.parent },

  // Handlers
  {
    // 成功建立连接时触发
    onConnect(scope) {
      console.log(scope);
    },

    // 发送消息时,响应成功或失败时触发
    onAnswer({ origin, space, timeout }) {
      if (timeout) {
        return console.error(`Response Timeout !!`);
      }
      console.log(`Send Message from ${origin} to ${space}`);
    },

    // 发送消息前触发,可对发送数据进行加工处理
    onSend(data) {
      return data;
    }
  }
);

/**
 * @name 监听消息
 * @param { string } space - 监听来自 `命名空间` 的消息
 * @param { function } action - 所监听消息的回调函数
 * ======== ======== ========
 */
Bridge.on('test', (data) => {
  console.log(data.say); // hello world !!
});

/**
 * @name 发送消息
 * @param { string } space - 向 `命名空间` 发送消息
 * @param { json } data - 所发送消息的数据实体
 * ======== ======== ========
 */
Bridge.send('test', { say: `hello world !!` });
2.0.9

7 days ago

2.0.3

17 days ago

2.0.2

17 days ago

2.0.5

17 days ago

2.0.4

17 days ago

2.0.7

16 days ago

2.0.6

16 days ago

2.0.8

16 days ago

2.0.1

18 days ago

2.0.0-alpha.1

19 days ago

2.0.0

19 days ago

1.2.12

3 months ago

1.2.13

3 months ago

1.2.14

3 months ago

1.2.10

3 months ago

1.2.11

3 months ago

1.2.9

3 months ago

1.2.8

4 months ago

1.2.7

4 months ago

1.2.6

4 months ago

1.2.5

4 months ago

1.2.4

4 months ago

1.2.3

3 years ago

1.2.0

3 years ago

1.2.1

3 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.0.1

5 years ago