# hymd-store-jsapi

> 酷店掌移动端jsapi

Latest version **1.12.7** (published 2024-02-29) · ISC license · 0 weekly downloads

## Install

```sh
npm install hymd-store-jsapi
pnpm add hymd-store-jsapi
yarn add hymd-store-jsapi
bun add hymd-store-jsapi
```

## Health

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

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

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.12.7 |
| Published | 2024-02-29 |
| First published | 2024-02-19 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 6 |
| Unpacked size | 234 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | windfly |
| Maintainers | xiaojiaoer |
| Keywords | lib, typescript |

## Links

- npm: https://www.npmjs.com/package/hymd-store-jsapi
- Repository: git@gitee.com:xiaozhij/cool-jsapi
- npm.io page: https://npm.io/package/hymd-store-jsapi

## Dependencies (6)

- [nanoid](https://npm.io/package/nanoid.md) ^3.2.0
- [crypto-js](https://npm.io/package/crypto-js.md) ^4.1.1
- [js-base64](https://npm.io/package/js-base64.md) ^3.7.5
- [lodash-es](https://npm.io/package/lodash-es.md) ^4.17.21
- [@babel/runtime](https://npm.io/package/@babel/runtime.md) ^7.17.0
- [babel-plugin-transform-remove-console](https://npm.io/package/babel-plugin-transform-remove-console.md) ^6.9.4

## Alternatives

- [@openai/codex-sdk](https://npm.io/package/@openai/codex-sdk.md) — 731.4K weekly downloads
- [babel-plugin-transform-react-jsx](https://npm.io/package/babel-plugin-transform-react-jsx.md) — 565.0K weekly downloads
- [babel-helper-remove-or-void](https://npm.io/package/babel-helper-remove-or-void.md) — 508.5K weekly downloads
- [@pnpm/store-controller-types](https://npm.io/package/@pnpm/store-controller-types.md) — 186.9K weekly downloads
- [react-native-signature-canvas](https://npm.io/package/react-native-signature-canvas.md) — 155.6K weekly downloads

## Recent versions

- 1.12.7 (latest) — 2024-02-29
- 1.12.6 — 2024-02-29
- 1.12.4 — 2024-02-29
- 1.12.3 — 2024-02-19
- 1.12.2 — 2024-02-19
- 1.12.1 — 2024-02-19
- 1.12.0 — 2024-02-19
- 1.11.0 — 2024-02-19

## README

# cool-sdk

## 使用
api接口的使用必须在页面中引入如下脚本:
```
npm install @cool/sdk --save
```
### 运行时环境

### 指令

### 接口api
接口api是对不同环境的接口的集合，统一使用native调用

## 通用api
通过api就是这个api在每个环境中都可以使用，区别于特定api，比如previewImage就是通用api，每个环境都有，createDing就是特定api，只有钉钉环境有


## 参考
- [钉钉相关api](https://open.dingtalk.com/document/orgapp-client/mini-program-jsapi-overview)
- 微信相关api
- [app相关api](https://coolvision.yuque.com/cool-fed/zlpqgd/kkgt6s)
- pc相关api


## 注意
1. 目前只能访问原生能力的方法，不能访问属性
2. 每一个原生方法都需要有回调
3. 返回值暂时不能支持promise
4. 通用api，比如previewImage，需要在参数中添加isNative这个属性
   1. 通用接口重写一下（h5有得，原生也有的，原生重写下）
5. 企业微信初始化配置暂时需要自己配置，未来会进行封装
6. 调用企业微信相关api，此api必须得注册好
7. 必须将router对象挂载在window中， window.router = router


## todoList
- 发布自动更新版本及生成版本记录
- [x] 支持promise
- [x] 原生路由和h5功能
- 企业微信初始化封装
- [x] 支持配置及并发上传图片， 配置上传地址等
- api接口测试预览(使用代理嵌入到原生环境中)
- [x] 调用传参和响应日志能力
- 初始化自动加载jsbridge脚本功能
- [x] 编辑图片功能
- [x] ts类型文件
- 全局变量冲突，比如window.dd.onMessage 与 window['getCommonData'], window.addEventListener("message")导致jsapi与项目的数据返回不正常


## FQA
1. 通信的全局变量冲突, 如何兼容, 暂时需要库里面的通信监听， 通过外部监听
   ```
   // 兼容app
    window['getCommonData'] = function(res) {
      cool.handleMessage?.(res)
      if (res.action === type) {
        // 安卓或ios结果与钉钉一致
        const result = paramsResultMapping(type, res)
        result.callbackId = callbackId
        successCbk(result);
      }
    };
   // 兼容dingding
   window.dd && (window.dd.onMessage = (data) => {
     // 
     cool.handleMessage?.(data)
   })
   // 兼容PC
   ```

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