# @zhuquejs/huangque

> 提供非同源页面通信方式、高效简洁

Latest version **0.0.3** (published 2023-12-06) · ISC license · 0 weekly downloads

## Install

```sh
npm install @zhuquejs/huangque
pnpm add @zhuquejs/huangque
yarn add @zhuquejs/huangque
bun add @zhuquejs/huangque
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.3 |
| Published | 2023-12-06 |
| First published | 2023-12-06 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 196 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | sakurasz |
| Keywords | logger |

## Links

- npm: https://www.npmjs.com/package/@zhuquejs/huangque
- npm.io page: https://npm.io/package/@zhuquejs/huangque

## Alternatives

- [cli-color](https://npm.io/package/cli-color.md) — 3.4M weekly downloads
- [log](https://npm.io/package/log.md) — 1.3M weekly downloads
- [logstash-client](https://npm.io/package/logstash-client.md) — 4.5K weekly downloads
- [@nocobase/plugin-logger](https://npm.io/package/@nocobase/plugin-logger.md) — 2.0K weekly downloads
- [child-process-debug](https://npm.io/package/child-process-debug.md) — 695 weekly downloads

## Recent versions

- 0.0.3 (latest) — 2023-12-06
- 0.0.2 — 2023-12-06
- 0.0.1 — 2023-12-06

## README

# huangque 黄雀
> 非同源、同源窗口通信方案，主从模式，一主可以对应一从或多从

# 安装
 ```bash
 npm install @zhuequejs/huangque
 ```
# 模式
## 主从结构  
> 允许一主对应一从或多从的结构进行通信
  
![这是图片](./docs/images/huangque.png "Magic Gardens")
# 用法

## 主页面
```ts
import { MessageMaster, MessageType } from '@zhuequejs/huangque'
// 创建master
const messageMaster = new MessageMaster(true)
// 订阅name=_test_1的slave的消息，消息类型MessageType.MESSAGE_SLAVE_READY，callback
messageMaster.subscribeMessage('_test_1', MessageType.MESSAGE_SLAVE_READY, (message) => {console.log(message);})
// 开始监听
messageMaster.startEventListener()
// 启动窗口,url和slave_name
messageMaster.createSlaveWindow(url, '_test_1')
```
## 从页面
```ts
import { MessageSlave, MessageType } from '@zhuequejs/huangque'
// 创建slave，传入它的名称
const messageSlave = new MessageSlave('_test_1')
// slave订阅消息
messageSlave.subscribeMessage(MessageType.MESSAGE_SLAVE_READY, (message) => {console.log(message);})
// 开始监听
messageSlave.startEventListener()
// 向master发送已准备的状态消息，主从开始通信
messageSlave.postMessage(MessageType.MESSAGE_SLAVE_READY)
```

---
_Source: https://npm.io/package/@zhuquejs/huangque · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
