├── .editorconfig ├── .github └── workflows │ └── nodejs.yml ├── .gitignore ├── .npmignore ├── CHANGELOG.md ├── LICENSE ├── README.en-US.md ├── README.md ├── package.json └── types ├── api ├── analytics.d.ts ├── bluetooth.d.ts ├── cache.d.ts ├── data.d.ts ├── device │ ├── accelerometer.d.ts │ ├── auth.d.ts │ ├── canIUse.d.ts │ ├── capture.d.ts │ ├── clipboard.d.ts │ ├── compass.d.ts │ ├── contact.d.ts │ ├── gyroscope.d.ts │ ├── index.d.ts │ ├── network.d.ts │ ├── phone.d.ts │ ├── scan.d.ts │ ├── screen.d.ts │ ├── settings.d.ts │ ├── shake.d.ts │ ├── system.d.ts │ ├── time.d.ts │ ├── version.d.ts │ └── vibrate.d.ts ├── file.d.ts ├── ibeacon.d.ts ├── index.d.ts ├── location.d.ts ├── media │ ├── audio.d.ts │ └── index.d.ts ├── menu.d.ts ├── network.d.ts ├── open │ ├── auth.d.ts │ ├── card.d.ts │ ├── cheat.d.ts │ ├── enjoy.d.ts │ ├── face.d.ts │ ├── getAuthUserInfo.d.ts │ ├── getLaunchOptionsSync.d.ts │ ├── getPhoneNumber.d.ts │ ├── imgRisk.d.ts │ ├── index.d.ts │ ├── navigate.d.ts │ ├── open.d.ts │ ├── paySignCenter.d.ts │ ├── text.d.ts │ ├── tradePay.d.ts │ ├── update.d.ts │ ├── webview.d.ts │ └── zhima.d.ts ├── scene.d.ts ├── share.d.ts └── ui │ ├── animation.d.ts │ ├── canvas.d.ts │ ├── city.d.ts │ ├── contact.d.ts │ ├── date.d.ts │ ├── feedback.d.ts │ ├── font.d.ts │ ├── index.d.ts │ ├── keyboard.d.ts │ ├── lottie.d.ts │ ├── map.d.ts │ ├── multiLevelSelect.d.ts │ ├── navigator.d.ts │ ├── optionsSelect.d.ts │ ├── pulldown.d.ts │ ├── query.d.ts │ ├── refresh.d.ts │ ├── scroll.d.ts │ ├── tabbar.d.ts │ └── window.d.ts ├── app.d.ts ├── common └── IFailResult.d.ts ├── component.d.ts ├── event.d.ts ├── global.d.ts ├── index.d.ts ├── page.d.ts ├── tsconfig.json └── tslint.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | -------------------------------------------------------------------------------- /.github/workflows/nodejs.yml: -------------------------------------------------------------------------------- 1 | name: Node CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | 8 | runs-on: ubuntu-latest 9 | 10 | strategy: 11 | matrix: 12 | node-version: [12.x] 13 | 14 | steps: 15 | - uses: actions/checkout@v1 16 | - name: Use Node.js ${{ matrix.node-version }} 17 | uses: actions/setup-node@v1 18 | with: 19 | node-version: ${{ matrix.node-version }} 20 | - name: npm install, lint 21 | run: | 22 | npm install 23 | npm run lint 24 | env: 25 | CI: true 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | package-lock.json 3 | .vscode 4 | .idea 5 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .gitignore 2 | .editorconfig 3 | .npmignore 4 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 0.1.7 2 | 3 | * **Bug Fix** 4 | 5 | - 修复 `IFailResult` 类型引入问题。 6 | 7 | # 0.1.6 8 | 9 | * **主要变更** 10 | 11 | - [+] `IGetFileInfoOptions` 的 `digestAlgorithm` 参数类型新增 `sha1`。 12 | - [+] 优化 `offAccelerometerChange`、`offUserCaptureScreen`、`offUserCaptureScreen`、`offCompassChange`、`offGyroscopeChange` 的返回类型。 13 | - [+] 完善 `my.scan` 参数。 14 | - [+] 引入 `audio` 文件。 15 | 16 | # 0.1.5 17 | 18 | * **主要变更** 19 | 20 | - [+] 增加 `my.createInnerAudioContext()`、`my.getLaunchOptionsSync()`、`my.createLottieContext()` 类型声明。 21 | 22 | # 0.1.4 23 | 24 | * **主要变更** 25 | 26 | - [+] 增加 `my.getExtConfigSync()`、`my.getAppIdSync()`、`my.getUpdateManager()`、`my.showSharePanel()` 类型声明。 27 | 28 | * **Refactor** 29 | 30 | - 将 `getApp` 返回的 `{ globalData: any; }` 重构成 `tinyapp.IGetAppResult`。 31 | 32 | * **Bug Fix** 33 | 34 | - 修复 animation 类型。 35 | 36 | # 0.1.3 37 | 38 | * **Bug Fix** 39 | - 修复 `IPreviewImageOptions` 的 `current` 属性为 `number` 类型; 40 | - 修复 `pageInstance.$spliceData` 和 `componentInstance.$spliceData` 没有回调函数的问题。 41 | 42 | # 0.0.2 43 | 44 | `2019-06-10` 45 | 46 | * **Bug Fix** 47 | - 将 destructiveBtnIndex 参数设为可选; 48 | - 删掉没有使用到且与新版 TypeScript 底层库冲突的 Omit 类型。 49 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT LICENSE 2 | 3 | Copyright (c) 2018-present Alipay.com, https://www.alipay.com/ 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | -------------------------------------------------------------------------------- /README.en-US.md: -------------------------------------------------------------------------------- 1 | # mini-types 2 | 3 | We have published a new version of type declarations: . 4 | 5 | it is more complete and accurate. 6 | 7 | --- 8 | 9 | > [中文版本](./README.md) 10 | 11 | [![npm package](https://img.shields.io/npm/v/mini-types.svg?style=flat-square)](https://www.npmjs.com/package/mini-types) 12 | [![GitHub stars](https://img.shields.io/github/stars/ant-mini-program/mini-types.svg)](https://github.com/ant-mini-program/mini-types/stargazers) 13 | [![GitHub forks](https://img.shields.io/github/forks/ant-mini-program/mini-types.svg)](https://github.com/ant-mini-program/mini-types/network/members) 14 | [![NPM downloads](https://img.shields.io/npm/dm/mini-types.svg?style=flat-square)](https://www.npmjs.com/package/mini-types) 15 | [![GitHub issues](https://img.shields.io/github/issues/ant-mini-program/mini-types.svg)](https://github.com/ant-mini-program/mini-types/issues) 16 | 17 | TypeScript declarations for Alipay's mini program. 18 | 19 | ## Install 20 | 21 | ``` 22 | npm install mini-types --save 23 | ``` 24 | 25 | ## Usage 26 | 27 | Specify `types` option in the `tsconfig.json` file. 28 | 29 | ```json 30 | { 31 | "compilerOptions": { 32 | "types" : ["mini-types"] 33 | } 34 | } 35 | ``` 36 | 37 | ## Contributing 38 | 39 | We welcome all contributions. You can submit any ideas as [pull requests](https://github.com/ant-mini-program/mini-types/pulls) or as a [GitHub issue](https://github.com/ant-mini-program/mini-types/issues). 40 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # mini-types 2 | 3 | 我们发布了新版的小程序类型文件:。 4 | 5 | 有更完整、更准确的小程序 API 定义,更实时的更新。 6 | 7 | --- 8 | 9 | > [English Version](./README.en-US.md) 10 | 11 | [![npm package](https://img.shields.io/npm/v/mini-types.svg?style=flat-square)](https://www.npmjs.com/package/mini-types) 12 | [![GitHub stars](https://img.shields.io/github/stars/ant-mini-program/mini-types.svg)](https://github.com/ant-mini-program/mini-types/stargazers) 13 | [![GitHub forks](https://img.shields.io/github/forks/ant-mini-program/mini-types.svg)](https://github.com/ant-mini-program/mini-types/network/members) 14 | [![NPM downloads](https://img.shields.io/npm/dm/mini-types.svg?style=flat-square)](https://www.npmjs.com/package/mini-types) 15 | [![GitHub issues](https://img.shields.io/github/issues/ant-mini-program/mini-types.svg)](https://github.com/ant-mini-program/mini-types/issues) 16 | 17 | 支付宝小程序 TypeScript 声明文件。 18 | 19 | ## 安装 20 | 21 | ``` 22 | npm install mini-types --save 23 | ``` 24 | 25 | ## 使用 26 | 27 | 在 `tsconfig.json` 文件中指定 `types` 配置。 28 | 29 | ```json 30 | { 31 | "compilerOptions": { 32 | "types" : ["mini-types"] 33 | } 34 | } 35 | ``` 36 | 37 | ## 贡献 38 | 39 | 如果你有好的意见或建议,欢迎给我们提 [issue](https://github.com/ant-mini-program/mini-types/issues)。 40 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mini-types", 3 | "version": "0.1.7", 4 | "description": "TypeScript declarations for Alipay's mini program.", 5 | "scripts": { 6 | "lint": "dtslint types", 7 | "ci": "npm run lint", 8 | "prepublishOnly": "npm run ci" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git@github.com:ant-mini-program/mini-types.git" 13 | }, 14 | "keywords": [ 15 | "tinyapp", 16 | "types" 17 | ], 18 | "license": "MIT", 19 | "devDependencies": { 20 | "dtslint": "3.6.4" 21 | }, 22 | "types": "./types/index.d.ts" 23 | } 24 | -------------------------------------------------------------------------------- /types/api/analytics.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 自定义分析 3 | */ 4 | 5 | declare namespace my { 6 | /** 7 | * 自定义分析数据的上报接口。使用前需要在小程序管理后台的事件管理中新建事件,并配置好事件名和字段。 8 | * 9 | * @param eventName 自定义事件名,需申请 10 | * @param data 上报的数据 11 | */ 12 | function reportAnalytics(eventName: string, data: Record): void; 13 | } 14 | -------------------------------------------------------------------------------- /types/api/bluetooth.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 蓝牙 3 | */ 4 | declare namespace my { 5 | interface IOpenBluetoothAdapterSuccessResult { 6 | /** 7 | * 是否支持 BLE 8 | */ 9 | readonly isSupportBLE: boolean; 10 | } 11 | 12 | interface IOpenBluetoothAdapterFailResult { 13 | /** 14 | * - 12:蓝牙未打开 15 | * - 13:与系统服务的链接暂时丢失 16 | * - 14:未授权支付宝使用蓝牙功能 17 | * - 15:未知错误 18 | */ 19 | readonly error: 12 | 13 | 14 | 15; 20 | } 21 | 22 | interface IOpenBluetoothAdapterOptions { 23 | /** 24 | * 不传的话默认是true,表示是否在离开当前页面时自动断开蓝牙(仅对android有效) 25 | */ 26 | autoClose?: boolean; 27 | 28 | /** 29 | * 调用成功的回调函数 30 | */ 31 | success?(res: IOpenBluetoothAdapterSuccessResult): void; 32 | 33 | /** 34 | * 调用失败的回调函数 35 | */ 36 | fail?(res: IOpenBluetoothAdapterFailResult): void; 37 | 38 | /** 39 | * 调用结束的回调函数(调用成功、失败都会执行) 40 | */ 41 | complete?(res: IOpenBluetoothAdapterSuccessResult | IOpenBluetoothAdapterFailResult): void; 42 | } 43 | 44 | /** 45 | * 初始化小程序蓝牙模块,生效周期为调用 [my.openBluetoothAdapter](#my.openBluetoothAdapter) 至调用 [my.closeBluetoothAdapter](#my.closeBluetoothAdapter) 或小程序被销毁为止。 46 | * 在小程序蓝牙适配器模块生效期间,开发者可以正常调用下面的小程序API,并会收到蓝牙模块相关的 on 事件回调。 47 | */ 48 | function openBluetoothAdapter(options?: IOpenBluetoothAdapterOptions): void; 49 | 50 | interface ICloseBluetoothAdapterOptions { 51 | /** 52 | * 调用成功的回调函数 53 | */ 54 | success?(res: any): void; 55 | 56 | /** 57 | * 调用失败的回调函数 58 | */ 59 | fail?(res: any): void; 60 | 61 | /** 62 | * 调用结束的回调函数(调用成功、失败都会执行) 63 | */ 64 | complete?(res: any): void; 65 | } 66 | 67 | /** 68 | * 关闭本机蓝牙模块。 69 | * 70 | * Bug & Tip 71 | * 1. tip: 调用该方法将断开所有已建立的蓝牙连接并释放系统资源。 72 | * 2. tip: 建议在结束小程序蓝牙流程时调用,与 my.openBluetoothAdapter 成对调用。 73 | * 3. tip: 调用 my.closeBluetoothAdapter 释放资源为异步操作,不建议使用 my.closeBluetoothAdapter 和 my.openBluetoothAdapter 作为异常处理流程(相当于先关闭再开启,重新初始化,效率低,易发生线程同步问题) 74 | */ 75 | function closeBluetoothAdapter(options?: ICloseBluetoothAdapterOptions): void; 76 | 77 | interface IGetBluetoothAdapterStateSuccessResult { 78 | /** 79 | * 是否正在搜索设备 80 | */ 81 | readonly discovering: boolean; 82 | 83 | /** 84 | * 蓝牙模块是否可用(需支持 BLE 并且蓝牙是打开状态) 85 | */ 86 | readonly available: boolean; 87 | } 88 | 89 | interface IGetBluetoothAdapterStateOptions { 90 | /** 91 | * 调用成功的回调函数 92 | */ 93 | success?(res: IGetBluetoothAdapterStateSuccessResult): void; 94 | 95 | /** 96 | * 调用失败的回调函数 97 | */ 98 | fail?(res: any): void; 99 | 100 | /** 101 | * 调用结束的回调函数(调用成功、失败都会执行) 102 | */ 103 | complete?(res: any): void; 104 | } 105 | 106 | /** 107 | * 获取本机蓝牙模块状态。 108 | */ 109 | function getBluetoothAdapterState(options: IGetBluetoothAdapterStateOptions): void; 110 | 111 | interface IStartBluetoothDevicesDiscoveryOptions { 112 | /** 113 | * 蓝牙设备主 service 的 uuid 列表 114 | */ 115 | services?: string[]; 116 | 117 | /** 118 | * 是否允许重复上报同一设备, 如果允许重复上报,则 onBluetoothDeviceFound 方法会多次上报同一设备,但是 RSSI 值会有不同 119 | */ 120 | allowDuplicatesKey?: boolean; 121 | 122 | /** 123 | * 上报设备的间隔,默认为0,意思是找到新设备立即上报,否则根据传入的间隔上报 124 | */ 125 | interval?: number; 126 | 127 | /** 128 | * 调用成功的回调函数 129 | */ 130 | success?(res: any): void; 131 | 132 | /** 133 | * 调用失败的回调函数 134 | */ 135 | fail?(res: any): void; 136 | 137 | /** 138 | * 调用结束的回调函数(调用成功、失败都会执行) 139 | */ 140 | complete?(res: any): void; 141 | } 142 | 143 | /** 144 | * 开始搜寻附近的蓝牙外围设备。搜索结果将在 [my.onBluetoothDeviceFound](#my.onBluetoothDeviceFound) 事件中返回。 145 | * 146 | * Bug & Tip 147 | * - tip: 该操作比较耗费系统资源,请在搜索并连接到设备后调用 stop 方法停止搜索。 148 | */ 149 | function startBluetoothDevicesDiscovery(options?: IStartBluetoothDevicesDiscoveryOptions): void; 150 | 151 | interface IStopBluetoothDevicesDiscoveryOptions { 152 | /** 153 | * 调用成功的回调函数 154 | */ 155 | success?(res: any): void; 156 | 157 | /** 158 | * 调用失败的回调函数 159 | */ 160 | fail?(res: any): void; 161 | 162 | /** 163 | * 调用结束的回调函数(调用成功、失败都会执行) 164 | */ 165 | complete?(res: any): void; 166 | } 167 | 168 | /** 169 | * 停止搜寻附近的蓝牙外围设备。 170 | */ 171 | function stopBluetoothDevicesDiscovery(options?: IStopBluetoothDevicesDiscoveryOptions): void; 172 | 173 | interface IBluetoothDevice { 174 | /** 175 | * 蓝牙设备名称,某些设备可能没有 176 | */ 177 | name: string; 178 | 179 | /** 180 | * 值与 name 一致 181 | * 182 | * @deprecated 183 | */ 184 | deviceName: string; 185 | 186 | /** 187 | * 广播设备名称 188 | */ 189 | localName: string; 190 | 191 | /** 192 | * 设备 Id 193 | */ 194 | deviceId: string; 195 | 196 | /** 197 | * 设备信号强度 198 | */ 199 | RSSI: number; 200 | 201 | /** 202 | * 设备的广播内容 203 | */ 204 | advertisData: string; 205 | 206 | /** 207 | * 设备的manufacturerData 208 | */ 209 | manufacturerData: string; 210 | } 211 | 212 | interface IGetBluetoothDevicesSuccessResult { 213 | /** 214 | * 已发现的设备列表 215 | */ 216 | readonly devices: ReadonlyArray>; 217 | } 218 | 219 | interface IGetBluetoothDevicesOptions { 220 | /** 221 | * 调用成功的回调函数 222 | */ 223 | success?(res: IGetBluetoothDevicesSuccessResult): void; 224 | 225 | /** 226 | * 调用失败的回调函数 227 | */ 228 | fail?(res: any): void; 229 | 230 | /** 231 | * 调用结束的回调函数(调用成功、失败都会执行) 232 | */ 233 | complete?(res: any): void; 234 | } 235 | 236 | /** 237 | * 获取所有已发现的蓝牙设备,包括已经和本机处于连接状态的设备。 238 | * 239 | * Bug & Tip 240 | * - tip: 模拟器可能无法获取 advertisData 及 RSSI,请使用真机调试 241 | * - tip: 开发者工具和 Android 上获取到的deviceId为设备 MAC 地址,iOS 上则为设备 uuid; 因此 deviceId 不能硬编码到代码中,需要分平台处理,iOS可根据设备属性(localName/advertisData/manufacturerData 等属性)进行动态匹配。 242 | */ 243 | function getBluetoothDevices(options: IGetBluetoothDevicesOptions): void; 244 | 245 | interface IGetConnectedBluetoothDevicesSuccessResult { 246 | /** 247 | * 已连接的设备列表 248 | */ 249 | readonly devices: ReadonlyArray>; 250 | } 251 | 252 | interface IGetConnectedBluetoothDevicesOptions { 253 | /** 254 | * 蓝牙设备主 service 的 uuid 列表 255 | */ 256 | services?: string[]; 257 | 258 | /** 259 | * 调用成功的回调函数 260 | */ 261 | success?(res: IGetConnectedBluetoothDevicesSuccessResult): void; 262 | 263 | /** 264 | * 调用失败的回调函数 265 | */ 266 | fail?(res: any): void; 267 | 268 | /** 269 | * 调用结束的回调函数(调用成功、失败都会执行) 270 | */ 271 | complete?(res: any): void; 272 | } 273 | 274 | /** 275 | * 获取处于已连接状态的设备。 276 | * 277 | * Bug & Tip 278 | * - tip: 如果传递的 services 为空,则返回所有的已经连接的设备。 279 | * - tip: Android 上获取到的deviceId为设备 MAC 地址,iOS 上则为设备 uuid。因此deviceId不能硬编码到代码中,需要区分处理。 280 | */ 281 | function getConnectedBluetoothDevices(options: IGetConnectedBluetoothDevicesOptions): void; 282 | 283 | interface IConnectBLEDeviceOptions { 284 | /** 285 | * 蓝牙设备id 286 | */ 287 | deviceId: string; 288 | 289 | /** 290 | * 调用成功的回调函数 291 | */ 292 | success?(res: any): void; 293 | 294 | /** 295 | * 调用失败的回调函数 296 | */ 297 | fail?(res: any): void; 298 | 299 | /** 300 | * 调用结束的回调函数(调用成功、失败都会执行) 301 | */ 302 | complete?(res: any): void; 303 | } 304 | 305 | /** 306 | * 连接低功耗蓝牙设备。 307 | * 308 | * Bug & Tip 309 | * - tip: 若小程序在之前已有搜索过某个蓝牙设备,可直接传入之前搜索获取的 deviceId 直接尝试连接该设备,无需进行搜索操作。 310 | * - tip: 若指定的蓝牙设备已经连接,重复连接直接返回成功。 311 | */ 312 | function connectBLEDevice(options: IConnectBLEDeviceOptions): void; 313 | 314 | interface IDisconnectBLEDeviceOptions { 315 | /** 316 | * 蓝牙设备id 317 | */ 318 | deviceId: string; 319 | 320 | /** 321 | * 调用成功的回调函数 322 | */ 323 | success?(res: any): void; 324 | 325 | /** 326 | * 调用失败的回调函数 327 | */ 328 | fail?(res: any): void; 329 | 330 | /** 331 | * 调用结束的回调函数(调用成功、失败都会执行) 332 | */ 333 | complete?(res: any): void; 334 | } 335 | 336 | /** 337 | * 断开与低功耗蓝牙设备的连接。 338 | * 339 | * Bug & Tip 340 | * - tip: 蓝牙连接随时可能断开,建议监听 [my.onBLEConnectionStateChanged](#my.onBLEConnectionStateChanged) 回调事件,当蓝牙设备断开时按需执行重连操作 341 | * - tip: 若对未连接的设备或已断开连接的设备调用数据读写操作的接口,会返回10006错误,详见错误码,建议进行重连操作 342 | */ 343 | function disconnectBLEDevice(options: IDisconnectBLEDeviceOptions): void; 344 | 345 | interface IWriteBLECharacteristicValueOptions { 346 | /** 347 | * 蓝牙设备 id,参考 device 对象 348 | */ 349 | deviceId: string; 350 | 351 | /** 352 | * 蓝牙特征值对应 service 的 uuid 353 | */ 354 | serviceId: string; 355 | 356 | /** 357 | * 蓝牙特征值的 uuid 358 | */ 359 | characteristicId: string; 360 | 361 | /** 362 | * 蓝牙设备特征值对应的值,16进制字符串,限制在20字节内 363 | */ 364 | value: string; 365 | 366 | /** 367 | * 调用成功的回调函数 368 | */ 369 | success?(res: any): void; 370 | 371 | /** 372 | * 调用失败的回调函数 373 | */ 374 | fail?(res: any): void; 375 | 376 | /** 377 | * 调用结束的回调函数(调用成功、失败都会执行) 378 | */ 379 | complete?(res: any): void; 380 | } 381 | 382 | /** 383 | * 向低功耗蓝牙设备特征值中写入数据。 384 | * 385 | * Bug & Tip 386 | * - tip: 设备的特征值必须支持 write 才可以成功调用,具体参照 characteristic 的 properties 属性。 387 | * - tip: 写入的二进制数据需要进行 hex 编码。 388 | */ 389 | function writeBLECharacteristicValue(options: IWriteBLECharacteristicValueOptions): void; 390 | 391 | interface IReadBLECharacteristicValueSuccessResult { 392 | /** 393 | * 设备特征值信息 394 | */ 395 | readonly characteristic: { 396 | /** 397 | * 蓝牙设备特征值的 uuid 398 | */ 399 | readonly characteristicId: string; 400 | 401 | /** 402 | * 蓝牙设备特征值对应服务的 uuid 403 | */ 404 | readonly serviceId: string; 405 | 406 | /** 407 | * 蓝牙设备特征值的value 408 | */ 409 | readonly value: string; 410 | }; 411 | } 412 | interface IReadBLECharacteristicValueOptions { 413 | /** 414 | * 蓝牙设备 id,参考 device 对象 415 | */ 416 | deviceId: string; 417 | 418 | /** 419 | * 蓝牙特征值对应 service 的 uuid 420 | */ 421 | serviceId: string; 422 | 423 | /** 424 | * 蓝牙特征值的 uuid 425 | */ 426 | characteristicId: string; 427 | 428 | /** 429 | * 调用成功的回调函数 430 | */ 431 | success?(res: IReadBLECharacteristicValueSuccessResult): void; 432 | 433 | /** 434 | * 调用失败的回调函数 435 | */ 436 | fail?(res: any): void; 437 | 438 | /** 439 | * 调用结束的回调函数(调用成功、失败都会执行) 440 | */ 441 | complete?(res: any): void; 442 | } 443 | 444 | /** 445 | * 读取低功耗蓝牙设备特征值中的数据。调用后在 [my.onBLECharacteristicValueChange()](#my.onBLECharacteristicValueChange) 事件中接收数据返回。 446 | * 447 | * Bug & Tip 448 | * - tip: 设备的特征值必须支持read才可以成功调用,具体参照 characteristic 的 properties 属性 449 | * - tip: 并行多次调用读写接口存在读写失败的可能性。 450 | * - tip: 如果读取超时,错误码 10015,[my.onBLECharacteristicValueChange](#my.onBLECharacteristicValueChange) 接口之后可能返回数据,需要接入方酌情处理。 451 | */ 452 | function readBLECharacteristicValue(options: IReadBLECharacteristicValueOptions): void; 453 | 454 | interface INotifyBLECharacteristicValueChangeOptions { 455 | /** 456 | * 蓝牙设备 id,参考 device 对象 457 | */ 458 | deviceId: string; 459 | 460 | /** 461 | * 蓝牙特征值对应 service 的 uuid 462 | */ 463 | serviceId: string; 464 | 465 | /** 466 | * 蓝牙特征值的 uuid 467 | */ 468 | characteristicId: string; 469 | 470 | /** 471 | * notify 的 descriptor 的 uuid (只有android 会用到,非必填,默认值00002902-0000-10008000-00805f9b34fb) 472 | */ 473 | descriptorId?: string; 474 | 475 | /** 476 | * 是否启用notify或indicate 477 | */ 478 | state?: boolean; 479 | 480 | /** 481 | * 调用成功的回调函数 482 | */ 483 | success?(res: any): void; 484 | 485 | /** 486 | * 调用失败的回调函数 487 | */ 488 | fail?(res: any): void; 489 | 490 | /** 491 | * 调用结束的回调函数(调用成功、失败都会执行) 492 | */ 493 | complete?(res: any): void; 494 | } 495 | 496 | /** 497 | * 启用低功耗蓝牙设备特征值变化时的 notify 功能。注意:设备的特征值必须支持 notify/indicate 才可以成功调用,具体参照 characteristic 的 properties 属性 另外,必须先启用 notify 才能监听到设备 characteristicValueChange 事件。 498 | * 499 | * Bug & Tip 500 | * - tip: 订阅操作成功后需要设备主动更新特征值的 value,才会触发 my.onBLECharacteristicValueChange 。 501 | * - tip: 订阅方式效率比较高,推荐使用订阅代替 read 方式。 502 | */ 503 | function notifyBLECharacteristicValueChange(options: INotifyBLECharacteristicValueChangeOptions): void; 504 | 505 | interface IGetBLEDeviceServicesSuccessResult { 506 | /** 507 | * 设备service 对象列表,详见下表特征值信息 508 | */ 509 | readonly services: ReadonlyArray<{ 510 | /** 511 | * 蓝牙设备服务的 uuid 512 | */ 513 | readonly serviceId: string; 514 | 515 | /** 516 | * 该服务是否为主服务 517 | */ 518 | readonly isPrimary: boolean; 519 | }>; 520 | } 521 | 522 | interface IGetBLEDeviceServicesOptions { 523 | /** 524 | * 蓝牙设备 id,参考 device 对象 525 | */ 526 | deviceId: string; 527 | 528 | /** 529 | * 调用成功的回调函数 530 | */ 531 | success?(res: IGetBLEDeviceServicesSuccessResult): void; 532 | 533 | /** 534 | * 调用失败的回调函数 535 | */ 536 | fail?(): void; 537 | 538 | /** 539 | * 调用结束的回调函数(调用成功、失败都会执行) 540 | */ 541 | complete?(): void; 542 | } 543 | 544 | /** 545 | * 获取蓝牙设备所有 service(服务) 546 | * 547 | * Bug & Tip 548 | * - tip: 建立连接后先执行 my.getBLEDeviceServices 与 my.getBLEDeviceCharacteristics 后再进行与蓝牙设备的数据交互。 549 | */ 550 | function getBLEDeviceServices(options: IGetBLEDeviceServicesOptions): void; 551 | 552 | interface IGetBLEDeviceCharacteristicsSuccessResult { 553 | /** 554 | * 设备特征值列 555 | */ 556 | readonly characteristics: ReadonlyArray<{ 557 | /** 558 | * 蓝牙设备特征值的 uuid 559 | */ 560 | readonly characteristicId: string; 561 | 562 | /** 563 | * 蓝牙设备特征值对应服务的 uuid 564 | */ 565 | readonly serviceId: string; 566 | 567 | /** 568 | * 蓝牙设备特征值对应的16进制值 569 | */ 570 | readonly value: string; 571 | 572 | /** 573 | * 该特征值支持的操作类型 574 | */ 575 | readonly properties: { 576 | /** 577 | * 该特征值是否支持 read 操作 578 | */ 579 | readonly read: boolean; 580 | 581 | /** 582 | * 该特征值是否支持 write 操作 583 | */ 584 | readonly write: boolean; 585 | 586 | /** 587 | * 该特征值是否支持 notify 操作 588 | */ 589 | readonly notify: boolean; 590 | 591 | /** 592 | * 该特征值是否支持 indicate 操作 593 | */ 594 | readonly indicate: boolean; 595 | }; 596 | }>; 597 | } 598 | 599 | interface IGetBLEDeviceCharacteristicsOptions { 600 | /** 601 | * 蓝牙设备 id,参考 device 对象 602 | */ 603 | deviceId: string; 604 | 605 | /** 606 | * 蓝牙特征值对应 service 的 uuid 607 | */ 608 | serviceId: string; 609 | 610 | /** 611 | * 调用成功的回调函数 612 | */ 613 | success?(res: IGetBLEDeviceCharacteristicsSuccessResult): void; 614 | 615 | /** 616 | * 调用失败的回调函数 617 | */ 618 | fail?(res: any): void; 619 | 620 | /** 621 | * 调用结束的回调函数(调用成功、失败都会执行) 622 | */ 623 | complete?(res: any): void; 624 | } 625 | 626 | /** 627 | * 获取蓝牙设备所有 characteristic(特征值) 628 | * 629 | * Bug & Tip 630 | * - tip: 建立连接后先执行 my.getBLEDeviceServices 与 my.getBLEDeviceCharacteristics 后再进行与蓝牙设备的数据交互。 631 | */ 632 | function getBLEDeviceCharacteristics(options: IGetBLEDeviceCharacteristicsOptions): void; 633 | 634 | interface IOnBluetoothDeviceFoundEvent { 635 | /** 636 | * 新搜索到的设备列表 637 | */ 638 | readonly devices: ReadonlyArray>; 639 | } 640 | 641 | /** 642 | * 搜索到新的蓝牙设备时触发此事件。 643 | * 644 | * Bug & Tip 645 | * - tip: 模拟器可能无法获取 advertisData 及 RSSI ,请使用真机调试。 646 | * - tip: 开发者工具和 Android 上获取到的deviceId为设备 MAC 地址,iOS 上则为设备 uuid。因此deviceId不能硬编码到代码中,需要分平台处理,iOS可根据设备属性(localName/advertisData/manufacturerData等)进行动态匹配。 647 | * - tip: 若在 my.onBluetoothDeviceFound 回调中包含了某个蓝牙设备,则此设备会添加到 my.getBluetoothDevices 接口获取到的数组中。 648 | */ 649 | function onBluetoothDeviceFound(callback: (res: IOnBluetoothDeviceFoundEvent) => void): void; 650 | 651 | /** 652 | * 移除寻找到新的蓝牙设备事件的监听。 653 | * 654 | * Bug & Tip 655 | * - tip: 为防止多次注册事件监听导致一次事件多次回调,建议每次调用on方法监听事件之前,先调用off方法,关闭之前的事件监听。 656 | */ 657 | function offBluetoothDeviceFound(): void; 658 | 659 | interface IOnBLECharacteristicValueChangeEvent { 660 | /** 661 | * 蓝牙设备 id,参考 device 对象 662 | */ 663 | readonly deviceId: string; 664 | 665 | /** 666 | * 蓝牙特征值对应 service 的 uuid 667 | */ 668 | readonly serviceId: string; 669 | 670 | /** 671 | * 蓝牙特征值的 uuid 672 | */ 673 | readonly characteristicId: string; 674 | 675 | /** 676 | * 特征值最新的16进制值 677 | */ 678 | readonly value: string; 679 | } 680 | 681 | /** 682 | * 监听低功耗蓝牙设备的特征值变化的事件。 683 | */ 684 | function onBLECharacteristicValueChange(callback: (res: IOnBLECharacteristicValueChangeEvent) => void): void; 685 | 686 | /** 687 | * 移除低功耗蓝牙设备的特征值变化事件的监听。 688 | */ 689 | function offBLECharacteristicValueChange(): void; 690 | 691 | interface IOnBLEConnectionStateChangedEvent { 692 | /** 693 | * 蓝牙设备 id,参考 device 对象 694 | */ 695 | readonly deviceId: string; 696 | 697 | /** 698 | * 连接目前的状态 699 | */ 700 | readonly connected: string; 701 | } 702 | 703 | /** 704 | * 监听低功耗蓝牙连接的错误事件,包括设备丢失,连接异常断开等。 705 | * 706 | * Bug & Tip 707 | * - tip: 为防止多次注册事件监听导致一次事件多次回调,建议每次调用on方法监听事件之前,先调用off方法,关闭之前的事件监听。 708 | */ 709 | function onBLEConnectionStateChanged(callback: (res: IOnBLEConnectionStateChangedEvent) => void): void; 710 | 711 | /** 712 | * 移除低功耗蓝牙连接状态变化事件的监听。 713 | * 714 | * Bug & Tip 715 | * - tip: 为防止多次注册事件监听导致一次事件多次回调,建议每次调用on方法监听事件之前,先调用off方法,关闭之前的事件监听。 716 | */ 717 | function offBLEConnectionStateChanged(): void; 718 | 719 | interface IOnBluetoothAdapterStateChangeEvent { 720 | /** 721 | * 蓝牙模块是否可用 722 | */ 723 | readonly available: boolean; 724 | 725 | /** 726 | * 蓝牙模块是否处于搜索状态 727 | */ 728 | readonly discovering: boolean; 729 | } 730 | 731 | /** 732 | * 监听本机蓝牙状态变化的事件。 733 | */ 734 | function onBluetoothAdapterStateChange(callback: (res: IOnBluetoothAdapterStateChangeEvent) => void): void; 735 | 736 | /** 737 | * 移除本机蓝牙状态变化的事件的监听。 738 | * 739 | * Bug & Tip 740 | * - tip: 为防止多次注册事件监听导致一次事件多次回调,建议每次调用on方法监听事件之前,先调用off方法,关闭之前的事件监听。 741 | */ 742 | function offBluetoothAdapterStateChange(): void; 743 | } 744 | -------------------------------------------------------------------------------- /types/api/cache.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 缓存 3 | * @description 4 | * - 缓存数据本地加密存储,通过API读取时会自动解密返回。 5 | * - 覆盖安装支付宝(不是先删除再安装),不会导致小程序缓存失效; 6 | * - 支付宝设置中心清除缓存不会导致小程序缓存失效; 7 | * - 小程序缓存默认具有支付宝账号和小程序id两级隔离; 8 | * - iOS支持iTunes备份。 9 | */ 10 | 11 | declare namespace my { 12 | interface ISetStorageOptions { 13 | /** 14 | * 缓存数据的key 15 | */ 16 | key: string; 17 | 18 | /** 19 | * 要缓存的数据 20 | */ 21 | data: string | Record; 22 | 23 | /** 24 | * 调用成功的回调函数 25 | */ 26 | success?(): void; 27 | 28 | /** 29 | * 调用失败的回调函数 30 | */ 31 | fail?(): void; 32 | 33 | /** 34 | * 调用结束的回调函数(调用成功、失败都会执行) 35 | */ 36 | complete?(): void; 37 | } 38 | 39 | /** 40 | * 将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的数据。 41 | * 42 | * > 支持内嵌webview的存储与小程序存储隔离,内嵌webview中指定key存储数据不会覆盖小程序自身相同key对应的数据 43 | * 44 | * > 注意:单条数据转换成字符串后,字符串长度最大200*1024。同一个支付宝用户,同一个小程序缓存总上限为10MB 45 | */ 46 | function setStorage(options: ISetStorageOptions): void; 47 | 48 | interface ISetStorageSyncOptions { 49 | /** 50 | * 缓存数据的key 51 | */ 52 | key: string; 53 | 54 | /** 55 | * 要缓存的数据 56 | */ 57 | data: string | Record; 58 | } 59 | 60 | /** 61 | * 同步将数据存储在本地缓存中指定的 key 中。 62 | */ 63 | function setStorageSync(options: ISetStorageSyncOptions): void; 64 | 65 | interface IGetStorageSuccessResult { 66 | /** 67 | * key对应的内容 68 | */ 69 | readonly data: string | Readonly>; 70 | } 71 | 72 | interface IGetStorageOptions { 73 | /** 74 | * 缓存数据的key 75 | */ 76 | key: string; 77 | 78 | /** 79 | * 调用成功的回调函数 80 | */ 81 | success?(res: IGetStorageSuccessResult): void; 82 | 83 | /** 84 | * 调用失败的回调函数 85 | */ 86 | fail?(): void; 87 | 88 | /** 89 | * 调用结束的回调函数(调用成功、失败都会执行) 90 | */ 91 | complete?(): void; 92 | } 93 | 94 | /** 95 | * 获取缓存数据。 96 | * 97 | * > 支持内嵌webview内缓与小程序缓存隔离,获取内嵌webview指定key的缓存不会同时返回小程序相同key下的缓存数据 98 | */ 99 | function getStorage(option: IGetStorageOptions): void; 100 | 101 | interface IGetStorageSyncOptions { 102 | /** 103 | * 缓存数据的key 104 | */ 105 | key: string; 106 | } 107 | 108 | /** 109 | * 同步获取缓存数据。 110 | */ 111 | function getStorageSync(options: IGetStorageSyncOptions): IGetStorageSuccessResult; 112 | 113 | interface IRemoveStorageOptions { 114 | /** 115 | * 缓存数据的key 116 | */ 117 | key: string; 118 | 119 | /** 120 | * 调用成功的回调函数 121 | */ 122 | success?(): void; 123 | 124 | /** 125 | * 调用失败的回调函数 126 | */ 127 | fail?(): void; 128 | 129 | /** 130 | * 调用结束的回调函数(调用成功、失败都会执行) 131 | */ 132 | complete?(): void; 133 | } 134 | 135 | /** 136 | * 删除缓存数据。 137 | * 138 | * > 移除内嵌webview的存储数据时不会移除当前小程序的存储数据 139 | */ 140 | function removeStorage(options: IRemoveStorageOptions): void; 141 | 142 | interface IRemoveStorageSyncOptions { 143 | /** 144 | * 缓存数据的key 145 | */ 146 | key: string; 147 | } 148 | 149 | /** 150 | * 同步删除缓存数据。 151 | */ 152 | function removeStorageSync(options: IRemoveStorageSyncOptions): void; 153 | 154 | /** 155 | * 清除本地数据缓存异步方法 参数 156 | */ 157 | interface IClearStorageOptions { 158 | /** 159 | * 调用成功的回调函数 160 | */ 161 | success?: () => void; 162 | /** 163 | * 调用失败的回调函数 164 | */ 165 | fail?: () => void; 166 | /** 167 | * 调用结束的回调函数(调用成功、失败都会执行) 168 | */ 169 | complete?: () => void; 170 | } 171 | /** 172 | * 清除本地数据缓存。 173 | * 174 | * > 清空内嵌内嵌webview的存储时不会同时清空当前小程序本身的存储数据 175 | */ 176 | function clearStorage(options?: IClearStorageOptions): void; 177 | 178 | /** 179 | * 同步清除本地数据缓存。 180 | */ 181 | function clearStorageSync(): void; 182 | 183 | interface IStorageInfo { 184 | /** 185 | * 当前storage中所有的key 186 | */ 187 | readonly keys: ReadonlyArray; 188 | 189 | /** 190 | * 当前占用的空间大小, 单位KB 191 | */ 192 | readonly currentSize: string; 193 | 194 | /** 195 | * 限制的空间大小,单位KB 196 | */ 197 | readonly limitSize: string; 198 | } 199 | 200 | interface IGetStorageInfoOptions { 201 | /** 202 | * 调用成功的回调函数 203 | */ 204 | success?(res: IStorageInfo): void; 205 | 206 | /** 207 | * 调用失败的回调函数 208 | */ 209 | fail?(): void; 210 | 211 | /** 212 | * 调用结束的回调函数(调用成功、失败都会执行) 213 | */ 214 | complete?(): void; 215 | } 216 | 217 | /** 218 | * 异步获取当前storage的相关信息。 219 | * 220 | * > 在内嵌webview内获取当前storage的相关信息不会获取到当前小程序storage的相关信息 221 | */ 222 | function getStorageInfo(options: IGetStorageInfoOptions): void; 223 | 224 | /** 225 | * 同步获取当前storage的相关信息。 226 | */ 227 | function getStorageInfoSync(): IStorageInfo; 228 | } 229 | -------------------------------------------------------------------------------- /types/api/data.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 数据安全 3 | */ 4 | declare namespace my { 5 | interface IRSASuccessResult { 6 | /** 7 | * 经过处理过后得到的文本,加密为Base64编码文本,解密为原始文本 8 | */ 9 | readonly text: string; 10 | } 11 | 12 | interface IRSAFailResult { 13 | /** 14 | * - 10:参数错误 15 | * - 11:key错误 16 | */ 17 | readonly error: 10 | 11; 18 | } 19 | 20 | interface IRSAOptions { 21 | /** 22 | * 使用rsa加密还是rsa解密,encrypt加密,decrypt解密 23 | */ 24 | action: 'encrypt' | 'decrypt'; 25 | 26 | /** 27 | * 要处理的文本,加密为原始文本,解密为Base64编码格式文本 28 | */ 29 | text: string; 30 | 31 | /** 32 | * rsa秘钥,加密使用公钥,解密使用私钥 33 | */ 34 | key: string; 35 | 36 | /** 37 | * 调用成功的回调函数 38 | */ 39 | success?(res: IRSASuccessResult): void; 40 | 41 | /** 42 | * 调用失败的回调函数 43 | */ 44 | fail?(res: IRSAFailResult): void; 45 | 46 | /** 47 | * 调用结束的回调函数(调用成功、失败都会执行) 48 | */ 49 | complete?(res: IRSASuccessResult | IRSAFailResult): void; 50 | } 51 | 52 | /** 53 | * 非对称加密。 54 | * 55 | * 注:加密与解密过程分别放置在客户端与服务端,且私钥放在服务端,私钥放在客户端易泄露将导致安全问题。 56 | */ 57 | function rsa(options: IRSAOptions): void; 58 | } 59 | -------------------------------------------------------------------------------- /types/api/device/accelerometer.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 加速度计 3 | */ 4 | declare namespace my { 5 | interface IOnAccelerometerChangeEvent { 6 | /** 7 | * X 轴 8 | */ 9 | readonly x: number; 10 | 11 | /** 12 | * Y 轴 13 | */ 14 | readonly y: number; 15 | 16 | /** 17 | * Z 轴 18 | */ 19 | readonly z: number; 20 | } 21 | 22 | /** 23 | * 监听加速度数据,回调间隔为500ms,接口调用后会自动开始监听,可使用my.offAccelermeterChange()停止监听。 24 | */ 25 | function onAccelerometerChange(cb: (res: IOnAccelerometerChangeEvent) => void): void; 26 | 27 | /** 28 | * 停止监听加速度数据。 29 | */ 30 | function offAccelerometerChange(callback?: (res: IOnAccelerometerChangeEvent) => void): void; 31 | } 32 | -------------------------------------------------------------------------------- /types/api/device/auth.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 权限引导 3 | */ 4 | declare namespace my { 5 | type AuthType = 'BACKGROUNDER' | 'SHORTCUT' | 'MICROPHONE' | 'ADDRESSBOOK' | 'CAMERA' 6 | | 'PHOTO' | 'NOTIFICATION' | 'SELFSTARTING' | 'LBSSERVICE' | 'LBS'; 7 | 8 | interface IShowAuthGuideOptions { 9 | /** 10 | * 引导的权限标识,用于标识该权限类型(如 LBS) 11 | * 12 | * - BACKGROUNDER:后台保活权限【Android】 13 | * - SHORTCUT:桌面快捷权限【Android】 14 | * - MICROPHONE:麦克风权限【iOS】 15 | * - ADDRESSBOOK:通讯录权限【iOS】 16 | * - CAMERA:相机权限【iOS】 17 | * - PHOTO:照片权限【iOS】 18 | * - NOTIFICATION:push通知栏权限【iOS】 19 | * - SELFSTARTING:自启动权限【Android】 20 | * - LBSSERVICE:lbs总开关【iOS】 21 | * - LBS:lbs开关(app)【iOS】 22 | */ 23 | authType: AuthType; 24 | } 25 | 26 | /** 27 | * 通过权限引导模块以图文等形式向用户弹出 Dialog,引导用户打开相应的权限。 28 | * 权限引导的核心是引导而非权限判断,调用时机应该在业务方确认所需权限被限制的时候;此外权限引导弹框受疲劳度等因素控制。 29 | */ 30 | function showAuthGuide(options: IShowAuthGuideOptions): void; 31 | } 32 | -------------------------------------------------------------------------------- /types/api/device/canIUse.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file canIUse 3 | */ 4 | declare namespace my { 5 | /** 6 | * 判断当前小程序的 API、入参或返回值、组件、属性等在当前版本是否支持。 7 | * 8 | * 参数使用 ${API}.${type}.${param}.${option} 或者 ${component}.${attribute}.${option} 方式来调用 9 | * 10 | * API 表示 api 名字 11 | * - type 取值 object/return/callback 表示 api 的判断类型 12 | * - param 表示参数的某一个属性名 13 | * - option 表示参数属性的具体属性值 14 | * - component 表示组件名称 15 | * - attribute 表示组件属性名 16 | * - option 表示组件属性值 17 | */ 18 | function canIUse(api: string): boolean; 19 | } 20 | -------------------------------------------------------------------------------- /types/api/device/capture.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 用户截屏事件 3 | */ 4 | declare namespace my { 5 | /** 6 | * 用于监听用户发起的主动截屏事件,可以接收到系统以及第三方截屏工具的截屏事件通知。 7 | * 返回值:{NBPageUrl: "https://{{appid}}.hybrid.alipay-eco.com/index.html#pages/index/index"} 8 | * 返回值用不到,这里不进行定义 9 | */ 10 | function onUserCaptureScreen(cb: () => void): void; 11 | 12 | /** 13 | * 取消监听截屏事件。一般需要与 my.onUserCaptureScreen 成对出现。 14 | */ 15 | function offUserCaptureScreen(callback?: (res: () => void) => void): void; 16 | } 17 | -------------------------------------------------------------------------------- /types/api/device/clipboard.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 剪贴板 3 | */ 4 | declare namespace my { 5 | interface IClipboardOptions { 6 | /** 7 | * 调用成功的回调函数 8 | */ 9 | success?(res: { text: string }): void; 10 | 11 | /** 12 | * 调用失败的回调函数 13 | */ 14 | fail?(): void; 15 | 16 | /** 17 | * 调用结束的回调函数(调用成功、失败都会执行) 18 | */ 19 | complete?(res: { text: string }): void; 20 | } 21 | 22 | interface ISetClipboardOptions { 23 | /** 24 | * 剪贴板内容 25 | */ 26 | text: string; 27 | /** 28 | * 调用失败的回调函数 29 | */ 30 | fail?(): void; 31 | 32 | /** 33 | * 调用结束的回调函数(调用成功、失败都会执行) 34 | */ 35 | complete?(res: { success: boolean }): void; 36 | /** 37 | * 调用成功的回调函数 38 | */ 39 | success?: (res: { success: boolean }) => void; 40 | } 41 | 42 | /** 43 | * 获取剪贴板数据。 44 | */ 45 | function getClipboard(options: IClipboardOptions): void; 46 | 47 | /** 48 | * 设置剪贴板数据。 49 | */ 50 | function setClipboard(options: ISetClipboardOptions): void; 51 | } 52 | -------------------------------------------------------------------------------- /types/api/device/compass.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 罗盘 3 | */ 4 | declare namespace my { 5 | interface IOnCompassChangeEvent { 6 | /** 7 | * 面对的方向与正北方向的度数[0,360) 8 | */ 9 | readonly direction: number; 10 | } 11 | 12 | /** 13 | * 监听罗盘数据,接口调用后会自动开始监听,回调间隔为500ms,可使用my.offCompassChange停止监听。 14 | */ 15 | function onCompassChange(cb: (res: IOnCompassChangeEvent) => void): void; 16 | 17 | /** 18 | * 停止监听罗盘数据。 19 | */ 20 | function offCompassChange(callback?: (res: IOnCompassChangeEvent) => void): void; 21 | } 22 | -------------------------------------------------------------------------------- /types/api/device/contact.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 添加手机联系人 3 | */ 4 | declare namespace my { 5 | type AddPhoneContactSuccessResult = { 6 | readonly success: true 7 | } | { 8 | /** 9 | * - 11:用户取消操作 10 | * - 3:调用失败,detail 加上详细信息 11 | */ 12 | readonly error: 11 | 3; 13 | 14 | /** 15 | * - fail cancel:用户取消操作 16 | * - fail ${detail}:调用失败,detail 加上详细信息 17 | */ 18 | readonly errorMessage: string; 19 | }; 20 | 21 | interface IAddPhoneContactOptions { 22 | /** 23 | * 头像本地文件路径 24 | */ 25 | photoFilePath?: string; 26 | 27 | /** 28 | * 昵称 29 | */ 30 | nickName?: string; 31 | 32 | /** 33 | * 姓氏 34 | */ 35 | lastName?: string; 36 | 37 | /** 38 | * 中间名 39 | */ 40 | middleName?: string; 41 | 42 | /** 43 | * 名字 44 | */ 45 | firstName?: string; 46 | 47 | /** 48 | * 备注 49 | */ 50 | remark?: string; 51 | 52 | /** 53 | * 手机号 54 | */ 55 | mobilePhoneNumber?: string; 56 | 57 | /** 58 | * 支付宝账号 59 | */ 60 | alipayAccount?: string; 61 | 62 | /** 63 | * 联系地址国家 64 | */ 65 | addressCountry?: string; 66 | 67 | /** 68 | * 联系地址省份 69 | */ 70 | addressState?: string; 71 | 72 | /** 73 | * 联系地址城市 74 | */ 75 | addressCity?: string; 76 | 77 | /** 78 | * 联系地址街道 79 | */ 80 | addressStreet?: string; 81 | 82 | /** 83 | * 联系地址邮政编码 84 | */ 85 | addressPostalCode?: string; 86 | 87 | /** 88 | * 公司 89 | */ 90 | organization?: string; 91 | 92 | /** 93 | * 职位 94 | */ 95 | title?: string; 96 | 97 | /** 98 | * 工作传真 99 | */ 100 | workFaxNumber?: string; 101 | 102 | /** 103 | * 工作电话 104 | */ 105 | workPhoneNumber?: string; 106 | 107 | /** 108 | * 公司电话 109 | */ 110 | hostNumber?: string; 111 | 112 | /** 113 | * 电子邮件 114 | */ 115 | email?: string; 116 | 117 | /** 118 | * 网站 119 | */ 120 | url?: string; 121 | 122 | /** 123 | * 工作地址国家 124 | */ 125 | workAddressCountry?: string; 126 | 127 | /** 128 | * 工作地址省份 129 | */ 130 | workAddressState?: string; 131 | 132 | /** 133 | * 工作地址城市 134 | */ 135 | workAddressCity?: string; 136 | 137 | /** 138 | * 工作地址街道 139 | */ 140 | workAddressStreet?: string; 141 | 142 | /** 143 | * 工作地址邮政编码 144 | */ 145 | workAddressPostalCode?: string; 146 | 147 | /** 148 | * 住宅传真 149 | */ 150 | homeFaxNumber?: string; 151 | 152 | /** 153 | * 住宅电话 154 | */ 155 | homePhoneNumber?: string; 156 | 157 | /** 158 | * 住宅地址国家 159 | */ 160 | homeAddressCountry?: string; 161 | 162 | /** 163 | * 住宅地址省份 164 | */ 165 | homeAddressState?: string; 166 | 167 | /** 168 | * 住宅地址城市 169 | */ 170 | homeAddressCity?: string; 171 | 172 | /** 173 | * 住宅地址街道 174 | */ 175 | homeAddressStreet?: string; 176 | 177 | /** 178 | * 住宅地址邮政编码 179 | */ 180 | homeAddressPostalCode?: string; 181 | 182 | /** 183 | * 调用成功的回调函数 184 | */ 185 | success?(res: AddPhoneContactSuccessResult): void; 186 | 187 | /** 188 | * 调用失败的回调函数 189 | */ 190 | fail?(): void; 191 | 192 | /** 193 | * 调用结束的回调函数(调用成功、失败都会执行) 194 | */ 195 | complete?(res?: AddPhoneContactSuccessResult): void; 196 | } 197 | 198 | /** 199 | * 用户可以选择将该表单以“创建新联系人”或“添加到现有联系人”的方式,写入到手机系统的通讯录。 200 | */ 201 | function addPhoneContact(options: IAddPhoneContactOptions): void; 202 | } 203 | -------------------------------------------------------------------------------- /types/api/device/gyroscope.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 陀螺仪 3 | */ 4 | declare namespace my { 5 | interface IOnGyroscopeChangeEvent { 6 | /** 7 | * x轴方向角速度 8 | */ 9 | readonly x: number; 10 | 11 | /** 12 | * y轴方向角速度 13 | */ 14 | readonly y: number; 15 | 16 | /** 17 | * z轴方向角速度 18 | */ 19 | readonly z: number; 20 | } 21 | 22 | /** 23 | * 监听陀螺仪数据变化事件,接口调用后会自动开始监听,回调间隔为500ms,可使用my.offGyroscopeChange()停止监听。 24 | */ 25 | function onGyroscopeChange(cb: (res: IOnGyroscopeChangeEvent) => void): void; 26 | 27 | /** 28 | * 停止监听陀螺仪数据。 29 | */ 30 | function offGyroscopeChange(callback?: (res: IOnGyroscopeChangeEvent) => void): void; 31 | } 32 | -------------------------------------------------------------------------------- /types/api/device/index.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | /// 6 | /// 7 | /// 8 | /// 9 | /// 10 | /// 11 | /// 12 | /// 13 | /// 14 | /// 15 | /// 16 | /// 17 | /// 18 | /// 19 | -------------------------------------------------------------------------------- /types/api/device/network.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 网络状态 3 | */ 4 | declare namespace my { 5 | type INetworkType = 'UNKNOWN' | 'NOTREACHABLE' | 'WIFI' | '3G' | '2G' | '4G' | 'WWAN'; 6 | 7 | interface IGetNetworkTypeSuccessResult { 8 | /** 9 | * 网络是否可用 10 | */ 11 | readonly networkAvailable: boolean; 12 | 13 | /** 14 | * 网络类型值 UNKNOWN / NOTREACHABLE / WIFI / 3G / 2G / 4G / WWAN 15 | */ 16 | readonly networkType: INetworkType; 17 | } 18 | 19 | interface IGetNetworkTypeOptions { 20 | /** 21 | * 调用成功的回调函数 22 | */ 23 | success?(res: IGetNetworkTypeSuccessResult): void; 24 | 25 | /** 26 | * 调用失败的回调函数 27 | */ 28 | fail?(): void; 29 | 30 | /** 31 | * 调用结束的回调函数(调用成功、失败都会执行) 32 | */ 33 | complete?(): void; 34 | } 35 | 36 | /** 37 | * 获取当前网络状态。 38 | */ 39 | function getNetworkType(options: IGetNetworkTypeOptions): void; 40 | 41 | interface IOnNetworkStatusChangeEvent { 42 | /** 43 | * 网络是否可用 44 | */ 45 | readonly isConnected: boolean; 46 | 47 | /** 48 | * 网络类型值 UNKNOWN / NOTREACHABLE / WIFI / 3G / 2G / 4G / WWAN 49 | */ 50 | readonly networkType: INetworkType; 51 | } 52 | 53 | /** 54 | * 开始网络状态变化的监听 55 | */ 56 | function onNetworkStatusChange(callback: (res: IOnNetworkStatusChangeEvent) => void): void; 57 | 58 | /** 59 | * 取消网络状态变化的监听 60 | */ 61 | function offNetworkStatusChange(callback?: (res: IOnNetworkStatusChangeEvent) => void): void; 62 | } 63 | -------------------------------------------------------------------------------- /types/api/device/phone.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 拨打电话 3 | */ 4 | declare namespace my { 5 | interface IMakePhoneCallOptions { 6 | /** 7 | * 电话号码 8 | */ 9 | number: string; 10 | } 11 | 12 | /** 13 | * 拨打电话。 14 | */ 15 | function makePhoneCall(options: IMakePhoneCallOptions): void; 16 | } 17 | -------------------------------------------------------------------------------- /types/api/device/scan.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 扫码 3 | */ 4 | declare namespace my { 5 | /** 6 | * 扫码识别类型,默认值为 ['qrCode','barCode'] 7 | * 二维码 | 条码 | DM码 | PDF417码 | 窄条二维码 | 异构码 8 | */ 9 | type IScanType = 'qrCode' | 'barCode' | 'dmCode' | 'pdf417Code' | 'narrowCode' | 'hmCode'; 10 | 11 | interface IScanSuccessResult { 12 | /** 13 | * 扫码所得数据 14 | */ 15 | readonly code: string; 16 | 17 | /** 18 | * 扫描二维码时返回二维码数据 19 | */ 20 | readonly qrCode: string; 21 | 22 | /** 23 | * 扫描条形码时返回条形码数据 24 | */ 25 | readonly barCode: string; 26 | 27 | /** 28 | * 码类型。 29 | */ 30 | readonly scanType: string; 31 | 32 | /** 33 | * 码内容。 34 | */ 35 | readonly result: string; 36 | 37 | /** 38 | * 来源。 39 | */ 40 | readonly imageChannel: string; 41 | 42 | /** 43 | * Base64 字节流。 44 | */ 45 | readonly rawData: string; 46 | } 47 | 48 | interface IScanFailResult { 49 | /** 50 | * 1. 10,用户取消; 51 | * 2. 11,操作失败。 52 | */ 53 | readonly error: 10 | 11; 54 | } 55 | 56 | interface IScanOptions { 57 | /** 58 | * @deprecated 59 | * 扫码样式(默认 qr): 60 | * 1. qr,扫码框样式为二维码扫码框; 61 | * 2. bar,扫码样式为条形码扫码框。 62 | */ 63 | type?: 'qr' | 'bar'; 64 | 65 | /** 66 | * 扫码识别类型,默认值为 ['qrCode','barCode']。 67 | * 可选值: 68 | * 二维码:'qrCode'。 69 | * 条码:'barCode'。 70 | * DM码:'dmCode'。 71 | * PDF417码:'pdf417Code'。 72 | * 窄条二维码:'narrowCode'。 73 | * 异构码:'hmCode'。 74 | */ 75 | scanType?: IScanType[]; 76 | 77 | /** 78 | * 是否隐藏相册(不允许从相册选择图片),只能从相机扫码 79 | */ 80 | hideAlbum?: boolean; 81 | 82 | /** 83 | * 调用成功的回调函数 84 | */ 85 | success?(res: IScanSuccessResult): void; 86 | 87 | /** 88 | * 调用失败的回调函数 89 | */ 90 | fail?(res: IScanFailResult): void; 91 | 92 | /** 93 | * 调用结束的回调函数(调用成功、失败都会执行) 94 | */ 95 | complete?(res: IScanSuccessResult | IScanFailResult): void; 96 | } 97 | 98 | /** 99 | * 调用扫一扫功能。 100 | */ 101 | function scan(options: IScanOptions): void; 102 | } 103 | -------------------------------------------------------------------------------- /types/api/device/screen.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 屏幕亮度 3 | */ 4 | // tslint:disable-next-line:no-bad-reference 5 | /// 6 | 7 | declare namespace my { 8 | interface IGetKeepScreenOnSuccessResult { 9 | brightness: number; 10 | success: boolean; 11 | } 12 | 13 | interface ISetKeepScreenOnSuccessResult { 14 | success: boolean; 15 | } 16 | 17 | interface ISetKeepScreenSuccessResult { 18 | success: boolean; 19 | } 20 | 21 | interface ISetKeepScreenOnOptions { 22 | /** 23 | * 是否保持屏幕长亮状态 24 | */ 25 | keepScreenOn: boolean; 26 | 27 | /** 28 | * 接口调用成功的回调函数 29 | */ 30 | success?(res: ISetKeepScreenOnSuccessResult): void; 31 | 32 | /** 33 | * 调用失败的回调函数 34 | */ 35 | fail?(res: IFailResult): void; 36 | 37 | /** 38 | * 调用结束的回调函数(调用成功、失败都会执行) 39 | */ 40 | complete?(): void; 41 | } 42 | 43 | /** 44 | * 设置是否保持屏幕长亮状态。仅在当前小程序生效,离开小程序后失效。 45 | */ 46 | function setKeepScreenOn(options: ISetKeepScreenOnOptions): void; 47 | 48 | interface IGetScreenBrightnessOptions { 49 | /** 50 | * 接口调用成功的回调函数 51 | */ 52 | success?(res: IGetKeepScreenOnSuccessResult): void; 53 | 54 | /** 55 | * 调用失败的回调函数 56 | */ 57 | fail?(res: IFailResult): void; 58 | 59 | /** 60 | * 调用结束的回调函数(调用成功、失败都会执行) 61 | */ 62 | complete?(): void; 63 | } 64 | 65 | /** 66 | * 获取屏幕亮度 67 | */ 68 | function getScreenBrightness(options: IGetScreenBrightnessOptions): void; 69 | 70 | interface ISetScreenBrightnessOptions { 71 | /** 72 | * 需要设置的屏幕亮度,取值范围0-1 73 | */ 74 | brightness: number; 75 | 76 | /** 77 | * 接口调用成功的回调函数 78 | */ 79 | success?(res: ISetKeepScreenSuccessResult): void; 80 | 81 | /** 82 | * 调用失败的回调函数 83 | */ 84 | fail?(res: IFailResult): void; 85 | 86 | /** 87 | * 调用结束的回调函数(调用成功、失败都会执行) 88 | */ 89 | complete?(): void; 90 | } 91 | 92 | /** 93 | * 设置屏幕亮度 94 | */ 95 | function setScreenBrightness(options: ISetScreenBrightnessOptions): void; 96 | } 97 | -------------------------------------------------------------------------------- /types/api/device/settings.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 设置 3 | */ 4 | declare namespace my { 5 | type SettingScopeList = 'userInfo' | 'location' | 'album' | 'camera' | 'audioRecord'; 6 | 7 | interface IOpenSettingSuccessOptions { 8 | /** 9 | * 用户授权结果,其中 key 为 scope 值,value 为 Bool 值,表示用户是否允许授权,详见[scope列表](https://docs.alipay.com/mini/api/xmk3ml#scope-%E5%88%97%E8%A1%A8)。 10 | */ 11 | readonly authSetting: Readonly>; 12 | } 13 | 14 | interface IOpenSettingOptions { 15 | /** 16 | * 接口调用成功的回调函数 17 | */ 18 | success?(res: IOpenSettingSuccessOptions): void; 19 | 20 | /** 21 | * 调用失败的回调函数 22 | */ 23 | fail?(): void; 24 | 25 | /** 26 | * 调用结束的回调函数(调用成功、失败都会执行) 27 | */ 28 | complete?(): void; 29 | } 30 | 31 | /** 32 | * 打开小程序设置界面,返回用户权限设置的结果;设置界面只会出现小程序已经向用户请求过的权限。 33 | */ 34 | function openSetting(options: IOpenSettingOptions): void; 35 | 36 | interface IGetSettingSuccessResult { 37 | /** 38 | * 用户授权结果,其中 key 为 scope 值,value 为 Bool 值,表示用户是否允许授权,详见[scope列表](https://docs.alipay.com/mini/api/xmk3ml#scope-%E5%88%97%E8%A1%A8) 39 | */ 40 | readonly authSetting: Readonly>; 41 | } 42 | 43 | interface IGetSettingOptions { 44 | /** 45 | * 接口调用成功的回调函数 46 | */ 47 | success?(res: IGetSettingSuccessResult): void; 48 | 49 | /** 50 | * 调用失败的回调函数 51 | */ 52 | fail?(): void; 53 | 54 | /** 55 | * 调用结束的回调函数(调用成功、失败都会执行) 56 | */ 57 | complete?(): void; 58 | } 59 | 60 | /** 61 | * 获取用户的当前设置,返回值中只会出现小程序已经向用户请求过的权限。 62 | */ 63 | function getSetting(options: IGetSettingOptions): void; 64 | } 65 | -------------------------------------------------------------------------------- /types/api/device/shake.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 摇一摇 3 | */ 4 | declare namespace my { 5 | interface IWatchShakeOptions { 6 | success(): void; 7 | } 8 | /** 9 | * 摇一摇功能。每次调用API,在摇一摇手机后触发回调,如需再次监听需要再次调用这个API。 10 | */ 11 | function watchShake(options?: IWatchShakeOptions): void; 12 | } 13 | -------------------------------------------------------------------------------- /types/api/device/system.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 系统信息 3 | */ 4 | declare namespace my { 5 | interface IGetSystemInfoSuccessResult { 6 | /** 7 | * 用户设置字体大小 8 | */ 9 | readonly fontSizeSetting: number; 10 | 11 | /** 12 | * 系统版本 13 | */ 14 | readonly system: string; 15 | 16 | /** 17 | * 支付宝版本号 18 | */ 19 | readonly version: string; 20 | 21 | /** 22 | * 手机品牌 23 | */ 24 | readonly brand: string; 25 | 26 | /** 27 | * 当前电量百分比 28 | */ 29 | readonly currentBattery: string; 30 | 31 | /** 32 | * 窗口高度 33 | */ 34 | readonly windowHeight: number; 35 | 36 | /** 37 | * 设备像素比 38 | */ 39 | readonly pixelRatio: number; 40 | 41 | /** 42 | * 系统名 43 | */ 44 | readonly platform: 'Android' | 'iOS' | 'iPhone OS'; 45 | 46 | /** 47 | * 屏幕高度 48 | */ 49 | readonly screenHeight: number; 50 | 51 | /** 52 | * 状态栏高度 53 | */ 54 | readonly statusBarHeight: number; 55 | 56 | /** 57 | * 支付宝设置的语言 58 | */ 59 | readonly language: string; 60 | 61 | /** 62 | * 设备磁盘容量 63 | */ 64 | readonly storage: string; 65 | 66 | /** 67 | * 当前运行的客户端,当前是支付宝则有效值是"alipay" 68 | */ 69 | readonly app: 'alipay' | 'UC' | 'QUARK' | 'AK' | 'amap' | 'YK'; 70 | 71 | /** 72 | * 标题栏高度 73 | */ 74 | readonly titleBarHeight: number; 75 | 76 | /** 77 | * 手机型号 78 | */ 79 | readonly model: string; 80 | 81 | /** 82 | * 屏幕宽度 83 | */ 84 | readonly screenWidth: number; 85 | 86 | /** 87 | * 窗口宽度 88 | */ 89 | readonly windowWidth: number; 90 | } 91 | 92 | interface IGetSystemInfoOptions { 93 | /** 94 | * 接口调用成功的回调 95 | */ 96 | success?(res?: IGetSystemInfoSuccessResult): void; 97 | 98 | /** 99 | * 调用失败的回调函数 100 | */ 101 | fail?(): void; 102 | 103 | /** 104 | * 调用结束的回调函数(调用成功、失败都会执行) 105 | */ 106 | complete?(): void; 107 | } 108 | 109 | /** 110 | * 获取系统信息。 111 | */ 112 | function getSystemInfo(options: IGetSystemInfoOptions): void; 113 | 114 | /** 115 | * 返回值同 getSystemInfo success 回调参数 116 | */ 117 | function getSystemInfoSync(): IGetSystemInfoSuccessResult; 118 | } 119 | -------------------------------------------------------------------------------- /types/api/device/time.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 获取服务器时间 3 | */ 4 | declare namespace my { 5 | interface IGetServerTimeSuccessResult { 6 | /** 7 | * 服务器时间的毫秒数 8 | */ 9 | readonly time: number; 10 | } 11 | 12 | interface IGetServerTimeOptions { 13 | /** 14 | * 调用成功的回调函数 15 | */ 16 | success?(res: IGetServerTimeSuccessResult): void; 17 | 18 | /** 19 | * 调用失败的回调函数 20 | */ 21 | fail?(): void; 22 | 23 | /** 24 | * 调用结束的回调函数(调用成功、失败都会执行) 25 | */ 26 | complete?(): void; 27 | } 28 | 29 | /** 30 | * 获取当前服务器时间的毫秒数。 31 | */ 32 | function getServerTime(options: IGetServerTimeOptions): void; 33 | } 34 | -------------------------------------------------------------------------------- /types/api/device/version.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace my { 2 | /** 3 | * 获取基础库版本号,仅供参考,代码逻辑请不要依赖这个值。 4 | */ 5 | const SDKVersion: string; 6 | } 7 | -------------------------------------------------------------------------------- /types/api/device/vibrate.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 震动 3 | */ 4 | declare namespace my { 5 | interface IVibrateOptions { 6 | success?(): void; 7 | } 8 | /** 9 | * 调用振动功能。 10 | */ 11 | function vibrate(options?: IVibrateOptions): void; 12 | 13 | interface IVibrateLongOptions { 14 | success(): void; 15 | } 16 | /** 17 | * 较长时间的振动 (400ms)。 18 | */ 19 | function vibrateLong(options?: IVibrateLongOptions): void; 20 | 21 | interface IVibrateShortOptions { 22 | success(): void; 23 | } 24 | /** 25 | * 较短时间的振动 (40ms)。 26 | */ 27 | function vibrateShort(options?: IVibrateShortOptions): void; 28 | } 29 | -------------------------------------------------------------------------------- /types/api/file.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 文件 3 | */ 4 | declare namespace my { 5 | interface ISaveFileSuccessResult { 6 | /** 7 | * 文件的保存路径 8 | */ 9 | readonly savedFilePath: string; 10 | } 11 | 12 | interface ISaveFileOptions { 13 | /** 14 | * 需要保存的文件的临时路径 15 | */ 16 | tempFilePath: string; 17 | 18 | /** 19 | * 返回文件的保存路径,res = {savedFilePath: '文件的保存路径'} 20 | */ 21 | success?: (res?: ISaveFileSuccessResult) => void; 22 | 23 | /** 24 | * 调用失败的回调函数 25 | */ 26 | fail?(): void; 27 | 28 | /** 29 | * 调用结束的回调函数(调用成功、失败都会执行) 30 | */ 31 | complete?(): void; 32 | } 33 | 34 | /** 35 | * 保存文件到本地。(本地文件大小总容量限制:10M) 36 | */ 37 | function saveFile(options: ISaveFileOptions): void; 38 | 39 | interface IFileListItem { 40 | /** 41 | * 文件的本地路径 42 | */ 43 | filePath: string; 44 | 45 | /** 46 | * 文件的保存时的时间戳,从1970/01/01 08:00:00 到当前时间的秒数 47 | */ 48 | createTime: number; 49 | 50 | /** 51 | * 文件大小,单位B 52 | */ 53 | size: number; 54 | } 55 | 56 | interface IGetSavedFileListSuccessResult { 57 | /** 58 | * 接口调用结果 59 | */ 60 | readonly errMsg: string; 61 | 62 | /** 63 | * 文件列表 64 | */ 65 | fileList: ReadonlyArray>; 66 | } 67 | 68 | interface IGetSavedFileListOptions { 69 | /** 70 | * 接口调用成功的回调函数 71 | */ 72 | success?: (res?: IGetSavedFileListSuccessResult) => void; 73 | 74 | /** 75 | * 调用失败的回调函数 76 | */ 77 | fail?(): void; 78 | 79 | /** 80 | * 调用结束的回调函数(调用成功、失败都会执行) 81 | */ 82 | complete?(): void; 83 | } 84 | 85 | /** 86 | * 获取本地已保存的文件列表 87 | */ 88 | function getSavedFileList(options: IGetSavedFileListOptions): void; 89 | 90 | interface IGetSavedFileInfoSuccessResult { 91 | /** 92 | * 接口调用结果 93 | */ 94 | readonly errMsg: string; 95 | 96 | /** 97 | * 文件的保存时的时间戳,从1970/01/01 08:00:00 到当前时间的秒数 98 | */ 99 | readonly createTime: number; 100 | 101 | /** 102 | * 文件大小,单位B 103 | */ 104 | readonly size: number; 105 | } 106 | 107 | interface IGetSavedFileInfoOptions { 108 | /** 109 | * 文件路径 110 | */ 111 | filePath: string; 112 | 113 | /** 114 | * 接口调用成功的回调函数 115 | */ 116 | success?: (res?: IGetSavedFileInfoSuccessResult) => void; 117 | 118 | fail?(): void; 119 | 120 | complete?(): void; 121 | } 122 | 123 | /** 124 | * 获取本地文件的文件信息 125 | */ 126 | function getSavedFileInfo(options: IGetSavedFileInfoOptions): void; 127 | 128 | interface IRemoveSavedFileOptions { 129 | /** 130 | * 需要删除的文件路径 131 | */ 132 | filePath: string; 133 | 134 | success?(): void; 135 | 136 | fail?(): void; 137 | 138 | complete?(): void; 139 | } 140 | 141 | /** 142 | * 删除本地存储的文件 143 | */ 144 | function removeSavedFile(options: IRemoveSavedFileOptions): void; 145 | 146 | interface IGetFileInfoSuccessResult { 147 | readonly size: number; 148 | readonly digest: string; 149 | } 150 | 151 | interface IGetFileInfoOptions { 152 | apFilePath: string; 153 | digestAlgorithm?: 'md5' | 'sha1'; 154 | success?(res: IGetFileInfoSuccessResult): void; 155 | fail?(): void; 156 | complete?(): void; 157 | } 158 | 159 | function getFileInfo(options: IGetFileInfoOptions): void; 160 | } 161 | -------------------------------------------------------------------------------- /types/api/ibeacon.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file iBeacon 3 | */ 4 | declare namespace my { 5 | interface IStartBeaconDiscoveryOptions { 6 | /** 7 | * 目标 iBeacon 设备广播的 uuids 8 | */ 9 | uuids: string[]; 10 | 11 | /** 12 | * 调用成功的回调函数 13 | */ 14 | success?(res: any): void; 15 | 16 | /** 17 | * 调用失败的回调函数 18 | */ 19 | fail?(res: any): void; 20 | 21 | /** 22 | * 调用结束的回调函数(调用成功、失败都会执行) 23 | */ 24 | complete?(res: any): void; 25 | } 26 | 27 | /** 28 | * 开始搜索附近的 iBeacon 设备 29 | * 30 | * Bug & Tip 31 | * - tip: uuid1、uuid2 为目标 iBeacon 的UUID,可从硬件厂商获取,如果为空,无法搜索到 iBeacon 32 | * - tip: iBeacon 需要位置权限,iOS 11 之前需要蓝牙开关打开,iOS 11 以后,需要 设置->蓝牙->开关开启(控制中心的蓝牙开关不影响 iBeacon 使用) 33 | * - tip: 推荐在 my.onBeaconUpdate 回调中处理发现到的iBeacon设备信息 34 | */ 35 | function startBeaconDiscovery(options: IStartBeaconDiscoveryOptions): void; 36 | 37 | interface IStopBeaconDiscoveryOptions { 38 | /** 39 | * 调用成功的回调函数 40 | */ 41 | success?(res: any): void; 42 | 43 | /** 44 | * 调用失败的回调函数 45 | */ 46 | fail?(res: any): void; 47 | 48 | /** 49 | * 调用失败的回调函数 50 | */ 51 | complete?(res: any): void; 52 | } 53 | 54 | /** 55 | * 停止搜索附近的 iBeacon 设备 56 | */ 57 | function stopBeaconDiscovery(options: IStopBeaconDiscoveryOptions): void; 58 | 59 | interface IIBeacon { 60 | /** 61 | * iBeacon 设备广播的 uuid 62 | */ 63 | uuid: string; 64 | 65 | /** 66 | * iBeacon 设备的主 id 67 | */ 68 | major: string; 69 | 70 | /** 71 | * iBeacon 设备的次 id 72 | */ 73 | minor: string; 74 | 75 | /** 76 | * 表示设备距离的枚举值(0-3分别代表:未知、极近、近、远) 77 | */ 78 | proximity: number; 79 | 80 | /** 81 | * iBeacon 设备的距离 82 | */ 83 | accuracy: number; 84 | 85 | /** 86 | * iBeacon 信号强度 87 | */ 88 | rssi: number; 89 | } 90 | 91 | interface IGetBeaconsSuccessResult { 92 | /** 93 | * iBeacon 设备列表 94 | */ 95 | readonly beacons: ReadonlyArray>; 96 | 97 | /** 98 | * errorCode=0 ,接口调用成功 99 | */ 100 | readonly errCode: string; 101 | 102 | /** 103 | * ok 104 | */ 105 | readonly errorMsg: string; 106 | } 107 | 108 | interface IGetBeaconsOptions { 109 | /** 110 | * 调用成功的回调函数 111 | */ 112 | success?(res: IGetBeaconsSuccessResult): void; 113 | 114 | /** 115 | * 调用失败的回调函数 116 | */ 117 | fail?(res: any): void; 118 | 119 | /** 120 | * 调用结束的回调函数(调用成功、失败都会执行) 121 | */ 122 | complete?(res: any): void; 123 | } 124 | 125 | /** 126 | * 获取已经搜索到的 iBeacon 设备 127 | * 128 | * Bug & Tip 129 | * - bug: Android 支付宝客户端 10.1.28 及以前的版本该接口返回的 rssi 值不能动态更新,推荐使用事件触发方式 130 | */ 131 | function getBeacons(options: IGetBeaconsOptions): void; 132 | 133 | interface IOnBeaconUpdateSuccessResult { 134 | /** 135 | * 当前搜寻到的所有 iBeacon 设备列表 136 | */ 137 | readonly beacons: ReadonlyArray>; 138 | } 139 | 140 | interface IOnBeaconUpdateOptions { 141 | success: (res: IOnBeaconUpdateSuccessResult) => void; 142 | } 143 | /** 144 | * 监听 iBeacon 设备的更新事件 145 | */ 146 | function onBeaconUpdate(options: IOnBeaconUpdateOptions): void; 147 | 148 | interface IOnBeaconServiceChangeSuccessResult { 149 | /** 150 | * 服务目前是否可用 151 | */ 152 | readonly available: boolean; 153 | 154 | /** 155 | * 目前是否处于搜索状态 156 | */ 157 | readonly discovering: boolean; 158 | } 159 | 160 | interface IOnBeaconServiceChangeOptions { 161 | success?(res: IOnBeaconServiceChangeSuccessResult): void; 162 | } 163 | /** 164 | * 监听 iBeacon 服务的状态变化 165 | * 166 | * Bug & Tip 167 | * - tip: iOS 11及以后版本 “控制中心蓝牙开关” 和 “设置->蓝牙->开关” 分离,控制中心蓝牙开关不再影响 iBeacon 使用,但是 my.onBeaconServiceChange 事件仍然会回调,建议iOS 11以后该事件回调以后继续等待 my.onBeaconUpdate 以确认是否提示用户开启蓝牙。 168 | */ 169 | function onBeaconServiceChange(options: IOnBeaconServiceChangeOptions): void; 170 | } 171 | -------------------------------------------------------------------------------- /types/api/index.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | /// 6 | /// 7 | /// 8 | /// 9 | /// 10 | /// 11 | /// 12 | /// 13 | /// 14 | /// 15 | /// 16 | 17 | declare namespace my { 18 | /** 19 | * 节点查询 https://docs.alipay.com/mini/api/selector-query 20 | */ 21 | interface IBoundingClientRect { 22 | width: number; 23 | height: number; 24 | top?: number; 25 | right?: number; 26 | bottom?: number; 27 | left?: number; 28 | } 29 | 30 | type ScrollOffset = Record<"scrollTop" | "scrollLeft", number>; 31 | 32 | type SelectorResult = ReadonlyArray< 33 | null 34 | | Readonly 35 | | Readonly 36 | >; 37 | 38 | type ISelectorExecCallback = (ret: SelectorResult) => void; 39 | 40 | interface ISelectorQuery { 41 | select(selector: string): ISelectorQuery; 42 | selectAll(selector: string): ISelectorQuery; 43 | selectViewport(): ISelectorQuery; 44 | boundingClientRect(): ISelectorQuery; 45 | scrollOffset(): ISelectorQuery; 46 | exec(ret: ISelectorExecCallback): void; 47 | } 48 | 49 | function createSelectorQuery(params?: Record): ISelectorQuery; 50 | 51 | function canIUse(query: string): boolean; 52 | 53 | function reportCustomError(error: Error): void; 54 | 55 | function reportBizReady(): void; 56 | 57 | function call(apiName: string, params?: Record | ((...args: any[]) => void)): void; 58 | function call(apiName: string, params?: Record, callback?: (...args: any[]) => void): void; 59 | 60 | /** 61 | * 获取自定义配置数据:https://opendocs.alipay.com/mini/isv/creatminiapp 62 | */ 63 | function getExtConfigSync(): Record; 64 | 65 | /** 66 | * 同步获取小程序 APPID。 67 | */ 68 | function getAppIdSync(): string; 69 | 70 | interface IUpdateManager { 71 | /** 72 | * 当小程序新版本下载完成后(即收到 onUpdateReady 回调),强制小程序重启并使用新版本。 73 | */ 74 | applyUpdate(): void; 75 | 76 | /** 77 | * 监听向支付宝后台请求检查更新结果事件。 78 | */ 79 | onCheckForUpdate(cb: (res: { hasUpdate: boolean }) => void): void; 80 | 81 | /** 82 | * 监听小程序有版本更新事件。 83 | */ 84 | onUpdateReady(cb: () => void): void; 85 | 86 | /** 87 | * 监听小程序更新失败事件。 88 | */ 89 | onUpdateFailed(cb: () => void): void; 90 | } 91 | 92 | /** 93 | * 创建一个 UpdateManager 对象,获取全局唯一的版本更新管理器,用于管理小程序更新。 94 | */ 95 | function getUpdateManager(): IUpdateManager; 96 | 97 | /** 98 | * 唤起分享面板。当通过 my.showSharePanel 唤起分享功能时,page.onShareAppMessage 入参中 from 的值为 code。 99 | */ 100 | function showSharePanel(): void; 101 | 102 | interface IOnUnhandledRejectionCallbackOptions { 103 | /** 104 | * 拒绝原因,一般是 error 对象。 105 | */ 106 | reason: string; 107 | 108 | /** 109 | * 被拒绝的 Promise 对象。 110 | */ 111 | promise: Promise; 112 | } 113 | 114 | interface IOnUnhandledRejectionCallback { 115 | (res: IOnUnhandledRejectionCallbackOptions): void; 116 | } 117 | 118 | function onUnhandledRejection(cb: IOnUnhandledRejectionCallback): void; 119 | } 120 | -------------------------------------------------------------------------------- /types/api/location.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 位置 3 | */ 4 | declare namespace my { 5 | interface ILocation { 6 | /** 7 | * 纬度,浮点数,范围为-90~90,负数表示南纬 8 | */ 9 | latitude: number; 10 | 11 | /** 12 | * 经度,浮点数,范围为-180~180,负数表示西经 13 | */ 14 | longitude: number; 15 | } 16 | 17 | interface IGetLocationSuccessResult { 18 | /** 19 | * 城市级别的地区代码(type>0生效) 20 | */ 21 | readonly cityAdcode?: string; 22 | 23 | /** 24 | * 国家编号 (type>0生效) 25 | */ 26 | readonly countryCode?: string; 27 | 28 | /** 29 | * 省份(type>0生效) 30 | */ 31 | readonly province?: string; 32 | 33 | /** 34 | * 区县级别的地区代码(type>0生效) 35 | */ 36 | readonly districtAdcode?: string; 37 | 38 | /** 39 | * 需要POI级别逆地理的才会有的字段,定位点附近的 POI 信息,结构是:{name, address}(type>2生效) 40 | */ 41 | readonly pois?: ReadonlyArray<{ readonly name: string; readonly address: string; }>; 42 | 43 | /** 44 | * 城市(type>0生效) 45 | */ 46 | readonly city?: string; 47 | 48 | /** 49 | * 区县(type>0生效) 50 | */ 51 | readonly district?: string; 52 | 53 | /** 54 | * 需要街道级别逆地理的才会有的字段,街道门牌信息,结构是:{street, number} (type>1生效) 55 | */ 56 | readonly streetNumber?: { 57 | readonly street: string; 58 | readonly number: string; 59 | }; 60 | 61 | /** 62 | * 国家(type>0生效) 63 | */ 64 | readonly country?: string; 65 | 66 | /** 67 | * 纬度 68 | */ 69 | readonly latitude: string; 70 | 71 | /** 72 | * 精确度,单位m 73 | */ 74 | readonly accuracy: string; 75 | 76 | /** 77 | * 经度 78 | */ 79 | readonly longitude: string; 80 | 81 | /** 82 | * 水平精确度,单位m 83 | */ 84 | readonly horizontalAccuracy: string; 85 | } 86 | 87 | interface IGetLocationFailResult { 88 | /** 89 | * - 11:请确认定位相关权限已开启。提示用户打开定位权限 90 | * - 12:网络异常,请稍后再试。提示用户检查当前网络 91 | * - 13:定位失败,请稍后再试 92 | * - 14:业务定位超时。提示用户再次尝试 93 | */ 94 | readonly error: 11 | 12 | 13 | 14; 95 | } 96 | 97 | interface IGetLocationOptions { 98 | /** 99 | * 支付宝客户端经纬度定位缓存过期时间,单位秒。默认 30s。使用缓存会加快定位速度,缓存过期会重新定位 100 | */ 101 | cacheTimeout?: number; 102 | 103 | /** 104 | * - 0:默认,获取经纬度 105 | * - 1:获取经纬度和详细到区县级别的逆地理编码数据 106 | * - 2:获取经纬度和详细到街道级别的逆地理编码数据,不推荐使用 107 | * - 3:获取经纬度和详细到POI级别的逆地理编码 108 | */ 109 | type?: 0 | 1 | 2 | 3; 110 | 111 | /** 112 | * 接口调用成功的回调函数 113 | */ 114 | success?: (res: IGetLocationSuccessResult) => void; 115 | 116 | /** 117 | * 调用失败的回调函数 118 | */ 119 | fail?(res: IGetLocationFailResult): void; 120 | 121 | /** 122 | * 调用结束的回调函数(调用成功、失败都会执行) 123 | */ 124 | complete?(res: IGetLocationFailResult | IGetLocationSuccessResult): void; 125 | } 126 | 127 | /** 128 | * 获取用户当前的地理位置信息 129 | */ 130 | function getLocation(options: IGetLocationOptions): void; 131 | 132 | interface IChooseLocationResult extends Readonly { 133 | /** 134 | * 位置名称 135 | */ 136 | readonly name: string; 137 | 138 | /** 139 | * 详细地址 140 | */ 141 | readonly address: string; 142 | } 143 | 144 | interface IChooseLocationOptions { 145 | /** 146 | * 接口调用成功的回调函数 147 | */ 148 | success?: (res: IChooseLocationResult) => void; 149 | 150 | /** 151 | * 调用失败的回调函数 152 | */ 153 | fail?(): void; 154 | 155 | /** 156 | * 调用结束的回调函数(调用成功、失败都会执行) 157 | */ 158 | complete?(res?: IChooseLocationResult): void; 159 | } 160 | 161 | /** 162 | * 使用支付宝内置地图选择地理位置。 163 | */ 164 | function chooseLocation(options: IChooseLocationOptions): void; 165 | 166 | interface IOpenLocationOptions extends ILocation { 167 | /** 168 | * 缩放比例,范围1~28,默认为28 169 | */ 170 | scale?: number; 171 | 172 | /** 173 | * 位置名 174 | */ 175 | name?: string; 176 | 177 | /** 178 | * 地址的详细说明 179 | */ 180 | address?: string; 181 | 182 | /** 183 | * 调用成功的回调函数 184 | */ 185 | success?(): void; 186 | 187 | /** 188 | * 调用失败的回调函数 189 | */ 190 | fail?(): void; 191 | 192 | /** 193 | * 调用结束的回调函数(调用成功、失败都会执行) 194 | */ 195 | complete?(): void; 196 | } 197 | 198 | /** 199 | * 使用支付宝内置地图查看位置 200 | */ 201 | function openLocation(options: IOpenLocationOptions): void; 202 | } 203 | -------------------------------------------------------------------------------- /types/api/media/audio.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 内部音频控制 3 | */ 4 | declare namespace my { 5 | interface IInnerAudioContext { 6 | /** 7 | * 音频码,用于直接播放。支持音频格式:AAC,MP3。如果开发者不传入音频码,控制台不会报错,但无音频播放。 8 | * 注意:只支持来源于优酷的音频码。 9 | */ 10 | src: string; 11 | 12 | /** 13 | * 是否循环播放,默认为 false。 14 | */ 15 | loop: boolean; 16 | 17 | /** 18 | * 当前是否为暂停或停止状态,true 表示暂停或停止,false 表示正在播放。 19 | */ 20 | paused: boolean; 21 | 22 | /** 23 | * 音量。范围 0~1.0 24 | */ 25 | volume: number; 26 | 27 | /** 28 | * 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲。 29 | */ 30 | buffered: number; 31 | 32 | /** 33 | * 当前音频的长度,单位为秒(s),只有在当前有合法的 src 时返回。 34 | */ 35 | duration: number; 36 | 37 | /** 38 | * 是否自动开始播放,默认为 false。 39 | * 注意:一定要先声明此属性,再去赋值src,否则自动播放会失效 40 | */ 41 | autoplay: boolean; 42 | 43 | /** 44 | * 开始播放的位置,单位为秒(s),默认从 0 开始播放。 45 | */ 46 | startTime: number; 47 | 48 | /** 49 | * 当前音频的播放位置,单位为秒(s),只有在当前有合法的 src 时返回,时间不取整。 50 | */ 51 | currentTime: number; 52 | 53 | /** 54 | * 是否遵循系统静音开关,当此参数为 false 时,即使用户打开了静音开关,也能继续发出声音,默认值为 true (注意:此参数仅 iOS 支持)。 55 | */ 56 | obeyMuteSwitch?: boolean; 57 | 58 | /** 59 | * 标记是否记录当前url播放进度到本地存储,记录的可以通过接口查询,以便恢复播放现场;(Since 10.1.62) 60 | */ 61 | isRecordAudioPlayState?: boolean; 62 | 63 | /** 64 | * 播放。 65 | */ 66 | play: () => void; 67 | 68 | /** 69 | * 停止。 70 | */ 71 | stop: () => void; 72 | 73 | /** 74 | * 暂停。 75 | */ 76 | pause: () => void; 77 | 78 | /** 79 | * 跳转到指定位置,单位为秒(s)。精确到小数点后 3 位,即支持 毫秒(ms) 级别精确度。 80 | */ 81 | seek: (position: number) => void; 82 | 83 | /** 84 | * 销毁当前实例。 85 | */ 86 | destroy: () => void; 87 | 88 | /** 89 | * 监听前景音频进入可以播放状态,但不保证后面可以流畅播放。 90 | */ 91 | onCanplay: (callback: () => void) => void; 92 | 93 | /** 94 | * 监听前景音频进入可以播放状态,但不保证后面可以流畅播放。 95 | */ 96 | onPlay: (callback: () => void) => void; 97 | 98 | /** 99 | * 监听前景音频暂停事件。 100 | */ 101 | onPause: (callback: () => void) => void; 102 | 103 | /** 104 | * 监听前景音频停止事件。 105 | */ 106 | onStop: (callback: () => void) => void; 107 | 108 | /** 109 | * 监听前景音频自然播放结束事件。 110 | */ 111 | onEnded: (callback: () => void) => void; 112 | 113 | /** 114 | * 监听前景音频播放进度更新事件。 115 | */ 116 | onTimeUpdate: (callback: () => void) => void; 117 | 118 | /** 119 | * 监听前景音频播放错误事件。 120 | */ 121 | onError: (callback: () => void) => void; 122 | 123 | /** 124 | * 监听前景音频加载中事件,当音频因为数据不足,需要停下来加载时会触发。 125 | */ 126 | onWaiting: (callback: () => void) => void; 127 | 128 | /** 129 | * 监听前景音频开始播放进度跳转的操作事件。 130 | */ 131 | onSeeking: (callback: () => void) => void; 132 | 133 | /** 134 | * 监听前景音频完成播放进度跳转的操作事件。 135 | */ 136 | onSeeked: (callback: () => void) => void; 137 | 138 | /** 139 | * 取消监听 onCanplay 事件。 140 | */ 141 | offCanplay: (callback: () => void) => void; 142 | 143 | /** 144 | * 取消监听 onPlay 事件。 145 | */ 146 | offPlay: (callback: () => void) => void; 147 | 148 | /** 149 | * 取消监听 onPause 事件。 150 | */ 151 | offPause: (callback: () => void) => void; 152 | 153 | /** 154 | * 取消监听 onStop 事件。 155 | */ 156 | offStop: (callback: () => void) => void; 157 | 158 | /** 159 | * 取消监听 onEnded 事件。 160 | */ 161 | offEnded: (callback: () => void) => void; 162 | 163 | /** 164 | * 取消监听 onTimeUpdate 事件。 165 | */ 166 | offTimeUpdate: (callback: () => void) => void; 167 | 168 | /** 169 | * 取消监听 onError 事件。 170 | */ 171 | offError: (callback: () => void) => void; 172 | 173 | /** 174 | * 取消监听 onWaiting 事件。 175 | */ 176 | offWaiting: (callback: () => void) => void; 177 | 178 | /** 179 | * 取消监听 onSeeking 事件。 180 | */ 181 | offSeeking: (callback: () => void) => void; 182 | 183 | /** 184 | * 取消监听 onSeeked 事件。 185 | */ 186 | offSeeked: (callback: () => void) => void; 187 | } 188 | 189 | /** 190 | * 创建并返回内部音频Context 191 | * (与背景音频相对应 innerAudioContext 对象的 API。又称“前景音频”,用户离开页面即停止播放。) 192 | * https://opendocs.alipay.com/mini/00bg4q 193 | */ 194 | function createInnerAudioContext(): IInnerAudioContext; 195 | } 196 | -------------------------------------------------------------------------------- /types/api/media/index.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | /** 4 | * @file 多媒体 5 | */ 6 | declare namespace my { 7 | interface IChooseImageSuccessResult { 8 | /** 9 | * 本地文件路径列表 10 | */ 11 | readonly apFilePaths?: ReadonlyArray; 12 | } 13 | 14 | interface IChooseImageOptions { 15 | /** 16 | * 最多可以选择的图片张数,默认9 17 | */ 18 | count?: number; 19 | 20 | /** 21 | * original 原图,compressed 压缩图,默认二者都有 22 | */ 23 | sizeType?: string[]; 24 | 25 | /** 26 | * album 从相册选图,camera 使用相机,默认二者都有 27 | */ 28 | sourceType?: string[]; 29 | 30 | /** 31 | * 成功则返回图片的本地文件路径列表 tempFilePaths 32 | */ 33 | success?: (res?: IChooseImageSuccessResult) => void; 34 | 35 | /** 36 | * 调用失败的回调函数 37 | * 38 | * - 11:用户取消操作 39 | */ 40 | fail?(error: any): void; 41 | 42 | /** 43 | * 调用结束的回调函数(调用成功、失败都会执行) 44 | */ 45 | complete?(res: any): void; 46 | } 47 | 48 | /** 49 | * 从本地相册选择图片或使用相机拍照。 50 | */ 51 | function chooseImage(options: IChooseImageOptions): void; 52 | 53 | interface IPreviewImageOptions { 54 | /** 55 | * 当前显示图片索引,默认 0 56 | */ 57 | current?: number; 58 | 59 | /** 60 | * 需要预览的图片链接列表 61 | */ 62 | urls: string[]; 63 | 64 | /** 65 | * 调用成功的回调函数 66 | */ 67 | success?(): void; 68 | 69 | /** 70 | * 调用失败的回调函数 71 | */ 72 | fail?(): void; 73 | 74 | /** 75 | * 调用结束的回调函数(调用成功、失败都会执行) 76 | */ 77 | complete?(): void; 78 | } 79 | 80 | /** 81 | * 预览图片。 82 | */ 83 | function previewImage(options: IPreviewImageOptions): void; 84 | 85 | interface IGetImageInfoSuccessResult { 86 | /** 87 | * 图片宽度,单位px 88 | */ 89 | readonly width: number; 90 | 91 | /** 92 | * 图片高度 单位px 93 | */ 94 | readonly height: number; 95 | 96 | /** 97 | * 图片本地路径 98 | */ 99 | readonly path: string; 100 | 101 | /** 102 | * 返回图片的方向 103 | * 104 | * - up:默认 105 | * - down:180度旋转 106 | * - left:逆时针旋转90度 107 | * - right:顺时针旋转90度 108 | * - up-mirrored:同up,但水平翻转 109 | * - down-mirrored:同down,但水平翻转 110 | * - left-mirrored:同left,但垂直翻转 111 | * - right-mirrored:同right,但垂直翻转 112 | */ 113 | readonly orientation: 'up' | 'down' | 'left' | 'right' 114 | | 'up-mirrored' | 'down-mirrored' | 'left-mirrored' | 'right-mirrored'; 115 | 116 | /** 117 | * 返回图片的格式 118 | */ 119 | readonly type: string; 120 | } 121 | 122 | interface IGetImageInfoOptions { 123 | /** 124 | * 图片的路径,可以是相对路径,临时文件路径,存储文件路径 125 | */ 126 | src: string; 127 | 128 | /** 129 | * 接口调用成功的回调函数,包含图片信息 130 | */ 131 | success?: (res?: IGetImageInfoSuccessResult) => void; 132 | 133 | /** 134 | * 调用失败的回调函数 135 | */ 136 | fail?(): void; 137 | 138 | /** 139 | * 调用结束的回调函数(调用成功、失败都会执行) 140 | */ 141 | complete?(): void; 142 | } 143 | 144 | /** 145 | * 获取图片信息 146 | */ 147 | function getImageInfo(options: IGetImageInfoOptions): void; 148 | 149 | interface ISaveImageOptions { 150 | /** 151 | * 要保存的图片链接 152 | */ 153 | url: string; 154 | 155 | /** 156 | * 调用成功的回调函数 157 | */ 158 | success?(): void; 159 | 160 | /** 161 | * 调用失败的回调函数 162 | * 163 | * - 2:参数无效,没有传 url 参数 164 | * - 15:没有开启相册权限(ios only) 165 | * - 16:手机相册存储空间不足(ios only) 166 | * - 17:保存图片过程中的其他错误 167 | */ 168 | fail?(error: any): void; 169 | 170 | /** 171 | * 调用结束的回调函数(调用成功、失败都会执行) 172 | */ 173 | complete?(): void; 174 | } 175 | 176 | /** 177 | * 保存在线图片到手机相册。 178 | */ 179 | function saveImage(options: ISaveImageOptions): void; 180 | 181 | /** 182 | * 压缩图片的返回值 183 | */ 184 | interface ICompressImageSuccessResult { 185 | apFilePaths: string[]; 186 | } 187 | interface ICompressImageOptions { 188 | /** 189 | * 要压缩的图片地址数组 190 | */ 191 | apFilePaths: string[]; 192 | 193 | /** 194 | * 压缩级别,支持 0 ~ 4 的整数,默认 4。 195 | * 196 | * - 0:低质量 197 | * - 1:中等质量 198 | * - 2:高质量 199 | * - 3:不压缩 200 | * - 4:根据网络适应 201 | */ 202 | compressLevel: 0 | 1 | 2 | 3 | 4; 203 | 204 | /** 205 | * 调用成功的回调函数 206 | */ 207 | success?(res: ICompressImageSuccessResult): void; 208 | 209 | /** 210 | * 调用失败的回调函数 211 | */ 212 | fail?(): void; 213 | 214 | /** 215 | * 调用结束的回调函数(调用成功、失败都会执行) 216 | */ 217 | complete?(): void; 218 | } 219 | 220 | /** 221 | * 压缩图片。 222 | */ 223 | function compressImage(options: ICompressImageOptions): void; 224 | 225 | interface IVideoContext { 226 | /** 227 | * 播放 228 | */ 229 | play(): void; 230 | /** 231 | * 暂停 232 | */ 233 | pause(): void; 234 | /** 235 | * 停止 236 | */ 237 | stop(): void; 238 | /** 239 | * 跳转到指定位置,单位秒(s) 240 | */ 241 | seek(position: number): void; 242 | /** 243 | * 进入全屏,0为正常竖屏,90为横屏,-90反向横屏。 244 | */ 245 | requestFullScreen(direction: 0 | 90 | -90): void; 246 | /** 247 | * 退出全屏 248 | */ 249 | exitFullScreen(): void; 250 | /** 251 | * 显示状态栏,仅在 iOS 全屏下有效 252 | */ 253 | showStatusBar(): void; 254 | /** 255 | * 隐藏状态栏,仅在 iOS 全屏下有效 256 | */ 257 | hideStatusBar(): void; 258 | } 259 | /** 260 | * 获取视频上下文 261 | */ 262 | function createVideoContext(id: string): IVideoContext; 263 | } 264 | -------------------------------------------------------------------------------- /types/api/menu.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 自定义通用菜单 3 | */ 4 | declare namespace my { 5 | interface IHideShareMenuOptions { 6 | /** 7 | * 调用成功的回调函数 8 | */ 9 | success?(): void; 10 | 11 | /** 12 | * 调用失败的回调函数 13 | */ 14 | fail?(): void; 15 | 16 | /** 17 | * 调用结束的回调函数(调用成功、失败都会执行) 18 | */ 19 | complete?(): void; 20 | } 21 | 22 | /** 23 | * 隐藏当前页面通用菜单(右上角)中的分享功能。 24 | */ 25 | function hideShareMenu(options?: IHideShareMenuOptions): void; 26 | 27 | /** 28 | * 隐藏当前页面通用菜单中的添加到桌面功能 29 | */ 30 | function hideAddToDesktopMenu(): void; 31 | 32 | /** 33 | * 隐藏所有页面的通用菜单中的添加到桌面功能 34 | */ 35 | function hideAllAddToDesktopMenu(): void; 36 | 37 | /** 38 | * 隐藏当前页面的通用菜单中的收藏按钮 39 | */ 40 | function hideFavoriteMenu(): void; 41 | 42 | /** 43 | * 隐藏所有页面的通用菜单中的收藏功能 44 | */ 45 | function hideAllFavoriteMenu(): void; 46 | } 47 | -------------------------------------------------------------------------------- /types/api/network.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 网络 3 | */ 4 | declare namespace my { 5 | interface IHttpRequestSuccessResult { 6 | /** 7 | * 响应数据,格式取决于请求时的 dataType 参数 8 | */ 9 | readonly data?: any; 10 | 11 | /** 12 | * 响应码 13 | * 14 | * - 1:{error: 1, message: "not implemented!"} 请求没有结束,就跳转到了另一个页面。 15 | * - 2:参数错误。 16 | * - 11:无权跨域 17 | * - 12:网络出错 18 | * - 13:超时 19 | * - 14:解码失败 20 | * - 15:小程序页面传参如果做urlencode需要把整体参数进行编码。 21 | * - 19:HTTP错误。 22 | * - 20:请求已被停止/服务端限流 23 | * - 23:代理请求失败。 24 | */ 25 | readonly status?: 1 | 2 | 11 | 12 | 13 | 14 | 15 | 19 | 20 | 23; 26 | 27 | /** 28 | * 响应头 29 | */ 30 | readonly headers?: Readonly>; 31 | } 32 | 33 | /** 34 | * 返回 RequestTask,可以调用 abort 方法取消请求 35 | */ 36 | interface IRequestTask extends Promise { 37 | abort: () => void; 38 | } 39 | 40 | interface IHttpRequestOptions { 41 | /** 42 | * 目标服务器url 43 | */ 44 | url: string; 45 | 46 | /** 47 | * 设置请求的 HTTP 头,默认 {'content-type': 'application/json'} 48 | */ 49 | headers?: Record; 50 | 51 | /** 52 | * 默认GET,目前支持GET/POST 53 | */ 54 | method?: 'GET' | 'POST'; 55 | 56 | /** 57 | * 请求参数。 58 | * 59 | * 传给服务器的数据最终会是 String 类型,如果 data 不是 String 类型,会被转换成 String 。转换规则如下: 60 | * - 若方法为GET,会将数据转换成 query string: encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)... 61 | * - 若方法为 POST 且 headers['content-type'] 为 application/json ,会对数据进行 JSON 序列化 62 | * - 若方法为 POST 且 headers['content-type'] 为 application/x-www-form-urlencoded ,会将数据转换成 query string: encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)... 63 | */ 64 | data?: Record; 65 | 66 | /** 67 | * 超时时间,单位ms,默认30000 68 | */ 69 | timeout?: number; 70 | 71 | /** 72 | * 期望返回的数据格式,默认json,支持json,text,base64 73 | */ 74 | dataType?: 'json' | 'text' | 'base64'; 75 | 76 | /** 77 | * 调用成功的回调函数 78 | */ 79 | success?(res: IHttpRequestSuccessResult): void; 80 | 81 | /** 82 | * 调用失败的回调函数 83 | */ 84 | fail?(res: any): void; 85 | 86 | /** 87 | * 调用结束的回调函数(调用成功、失败都会执行) 88 | */ 89 | complete?(res: any): void; 90 | } 91 | 92 | /** 93 | * 小程序网络请求 94 | * 95 | * @deprecated 96 | */ 97 | function httpRequest(options: IHttpRequestOptions): void; 98 | 99 | /** 100 | * 小程序网络请求 101 | */ 102 | function request(options: IHttpRequestOptions): IRequestTask; 103 | 104 | interface IUploadFileSuccessResult { 105 | /** 106 | * 开发者服务器返回的数据 107 | */ 108 | readonly data: string; 109 | 110 | /** 111 | * HTTP状态码 112 | */ 113 | readonly statusCode: number; 114 | 115 | /** 116 | * 服务器返回的 header 117 | */ 118 | readonly header: Readonly>; 119 | } 120 | 121 | interface IUploadFileOptions { 122 | /** 123 | * 开发者服务器 url 124 | */ 125 | url: string; 126 | 127 | /** 128 | * 要上传文件资源的路径 129 | */ 130 | filePath: string; 131 | 132 | /** 133 | * 文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容 134 | */ 135 | fileName: string; 136 | 137 | /** 138 | * 文件类型,image / video / audio 139 | */ 140 | fileType?: 'image' | 'video' | 'audio'; 141 | 142 | /** 143 | * HTTP 请求 Header , header 中不能设置 Referer 144 | */ 145 | header?: Record; 146 | 147 | /** 148 | * HTTP 请求中其他额外的 form data 149 | */ 150 | formData?: Record; 151 | 152 | /** 153 | * 收到开发者服务成功返回的回调函数,res = {data: '开发者服务器返回的内容'} 154 | */ 155 | success?: (res?: IUploadFileSuccessResult) => void; 156 | 157 | fail?(res: { error: 11 | 12 | 13 }): void; 158 | 159 | complete?(): void; 160 | } 161 | 162 | /** 163 | * 将本地资源上传到开发者服务器。 164 | * 如页面通过 [my.chooseImage](#my.chooseImage) 等接口获取到一个本地资源的临时文件路径后,可通过此接口将本地资源上传到指定服务器。 165 | * 客户端发起一个 HTTPS POST 请求,其中 `Content-Type` 为 `multipart/form-data` 。 166 | */ 167 | function uploadFile(options: IUploadFileOptions): void; 168 | 169 | interface IDownloadFileSuccessResult { 170 | /** 171 | * 文件的临时路径 172 | */ 173 | readonly apFilePath: string; 174 | } 175 | 176 | interface IDownloadFileFailResult { 177 | /** 178 | * - 12:下载失败 179 | * - 13:没有权限 180 | */ 181 | error: 12 | 13; 182 | } 183 | 184 | interface IDownloadFileOptions { 185 | /** 186 | * 下载资源的 url 187 | */ 188 | url: string; 189 | 190 | /** 191 | * HTTP 请求 Header 192 | */ 193 | header?: Record; 194 | 195 | /** 196 | * 下载成功后以 apFilePath 的形式传给页面,res = {apFilePath: '文件的临时路径'} 197 | */ 198 | success?: (res?: IDownloadFileSuccessResult) => void; 199 | 200 | /** 201 | * 调用失败的回调函数 202 | */ 203 | fail?(res: IDownloadFileFailResult): void; 204 | 205 | /** 206 | * 调用结束的回调函数(调用成功、失败都会执行) 207 | */ 208 | complete?(res: IDownloadFileFailResult | IDownloadFileSuccessResult): void; 209 | } 210 | 211 | /** 212 | * 下载文件资源到本地。 213 | * 客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径。 214 | */ 215 | function downloadFile(options: IDownloadFileOptions): void; 216 | 217 | interface IConnectFailResult { 218 | /** 219 | * - 1:未知错误 220 | * - 2:网络连接已经存在 221 | * - 3:URL参数为空 222 | * - 4:无法识别的URL格式 223 | * - 5:URL必须以ws或者wss开头 224 | * - 6:连接服务器超时 225 | * - 7:服务器返回的https证书无效 226 | * - 8:服务端返回协议头无效 227 | * - 9:WebSocket请求没有指定Sec-WebSocket-Protocol请求头 228 | * - 10:网络连接没有打开,无法发送消息 229 | * - 11:消息发送失败 230 | * - 12:无法申请更多内存来读取网络数据 231 | */ 232 | readonly error: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12; 233 | } 234 | 235 | interface IConnectSocketOptions { 236 | /** 237 | * 开发者服务器接口地址,必须是 wss 协议,且域名必须是后台配置的合法域名 238 | */ 239 | url: string; 240 | 241 | /** 242 | * 请求的数据 243 | */ 244 | data?: string; 245 | 246 | /** 247 | * HTTP Header , header 中不能设置 Referer 248 | */ 249 | header?: Record; 250 | 251 | /** 252 | * 默认是GET,有效值为: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT 253 | */ 254 | method?: 'OPTIONS' | 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'TRACE' | 'CONNECT'; 255 | 256 | /** 257 | * 调用成功的回调函数 258 | */ 259 | success?(): void; 260 | 261 | /** 262 | * 调用失败的回调函数 263 | */ 264 | fail?(res: IConnectFailResult): void; 265 | 266 | /** 267 | * 调用结束的回调函数(调用成功、失败都会执行) 268 | */ 269 | complete?(res?: IConnectFailResult): void; 270 | } 271 | 272 | /** 273 | * 创建一个 [WebSocket](https://developer.mozilla.org/zh-CN/docs/Web/API/WebSocket?t=1477656499061) 连接; 274 | * **一个支付宝小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接**。 275 | */ 276 | function connectSocket(options: IConnectSocketOptions): void; 277 | 278 | /** 279 | * 监听WebSocket连接打开事件。 280 | */ 281 | function onSocketOpen(callback: (res?: any) => void): void; 282 | 283 | /** 284 | * 监听WebSocket错误。 285 | */ 286 | function onSocketError(callback: (res?: any) => void): void; 287 | 288 | interface ISendSocketMessageOptions { 289 | /** 290 | * 需要发送的内容:普通的文本内容 String 或者经 base64 编码后的 String 291 | */ 292 | data: string; 293 | 294 | /** 295 | * 如果需要发送二进制数据,需要将入参数据经 base64 编码成 String 后赋值 data,同时将此字段设置为true,否则如果是普通的文本内容 String,不需要设置此字段 296 | */ 297 | isBuffer?: boolean; 298 | 299 | /** 300 | * 回调函数 301 | */ 302 | success?(): void; 303 | 304 | /** 305 | * 调用失败的回调函数 306 | */ 307 | fail?(): void; 308 | 309 | /** 310 | * 调用结束的回调函数(调用成功、失败都会执行) 311 | */ 312 | complete?(): void; 313 | } 314 | 315 | /** 316 | * 通过 WebSocket 连接发送数据,需要先 [my.connectSocket](#my.connectSocket),并在 [my.onSocketOpen](#my.onSocketOpen) 回调之后才能发送。 317 | */ 318 | function sendSocketMessage(options: ISendSocketMessageOptions): void; 319 | 320 | interface ISocketMessageResponse { 321 | /** 322 | * 服务器返回的消息 323 | */ 324 | readonly data: string; 325 | 326 | /** 327 | * 如果此字段值为true,data字段表示接收到的经过了 base64 编码后的 String,否则 data 字段表示接收到的普通 String 文本。 328 | */ 329 | readonly isBuffer: boolean; 330 | } 331 | 332 | /** 333 | * 监听WebSocket接受到服务器的消息事件。 334 | */ 335 | function onSocketMessage( 336 | callback: (res?: ISocketMessageResponse) => void 337 | ): void; 338 | 339 | interface ICloseSocketOptions { 340 | /** 341 | * 回调函数 342 | */ 343 | success?(): void; 344 | 345 | /** 346 | * 调用失败的回调函数 347 | */ 348 | fail?(): void; 349 | 350 | /** 351 | * 调用结束的回调函数(调用成功、失败都会执行) 352 | */ 353 | complete?(): void; 354 | } 355 | 356 | /** 357 | * 关闭WebSocket连接。 358 | */ 359 | function closeSocket(options: ICloseSocketOptions): void; 360 | 361 | /** 362 | * 监听WebSocket关闭。 363 | */ 364 | function onSocketClose(callback: (res?: any) => void): void; 365 | 366 | /** 367 | * 取消监听WebSocket关闭。 368 | */ 369 | function offSocketClose(): void; 370 | } 371 | -------------------------------------------------------------------------------- /types/api/open/auth.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 用户授权 3 | */ 4 | declare namespace my { 5 | type GetAuthCodeOptionsScope = 'auth_base' | 'auth_user' | 'auth_zhima'; 6 | 7 | interface IGetAuthCodeSuccessResult { 8 | /** 9 | * 授权码 10 | */ 11 | readonly authCode: string; 12 | 13 | /** 14 | * 失败的授权类型,key是授权失败的 scope,value 是对应的错误码 15 | */ 16 | readonly authErrorScope: Readonly>; 17 | 18 | /** 19 | * 成功的授权 scope 20 | */ 21 | readonly authSuccessScope: Readonly>; 22 | } 23 | 24 | interface IGetAuthCodeOptions { 25 | /** 26 | * 授权类型,默认 auth_base。支持 auth_base(静默授权)/ auth_user(主动授权) / auth_zhima(芝麻信用) 27 | */ 28 | scopes?: GetAuthCodeOptionsScope | GetAuthCodeOptionsScope[]; 29 | 30 | /** 31 | * 调用成功的回调函数 32 | */ 33 | success?(result: IGetAuthCodeSuccessResult): void; 34 | 35 | /** 36 | * 调用失败的回调函数 37 | */ 38 | fail?(): void; 39 | 40 | /** 41 | * 调用结束的回调函数(调用成功、失败都会执行) 42 | */ 43 | complete?(): void; 44 | } 45 | 46 | /** 47 | * 获取授权码。 48 | */ 49 | function getAuthCode(options: IGetAuthCodeOptions): void; 50 | } 51 | -------------------------------------------------------------------------------- /types/api/open/card.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 支付宝卡包 3 | */ 4 | declare namespace my { 5 | /** 6 | * 打开支付宝卡列表。 7 | */ 8 | function openCardList(): void; 9 | 10 | interface IOpenMerchantCardListOptions { 11 | /** 12 | * 商户编号 13 | */ 14 | partnerId: string; 15 | } 16 | 17 | /** 18 | * 打开当前用户的某个商户的卡列表 19 | */ 20 | function openMerchantCardList(params: IOpenMerchantCardListOptions): void; 21 | 22 | interface IOpenCardDetailOptions { 23 | /** 24 | * 卡实例Id 25 | * 26 | * passId获取方式: 27 | * - 1)通过alipass创建的卡 28 | * 调用alipay.pass.instance.add(支付宝pass新建卡券实例接口)接口,在出参“result”中可获取 29 | * 30 | * - 2)通过会员卡创建的卡 31 | * 调用alipay.marketing.card.query(会员卡查询)接口,在schema_url中可获取,具体参数为“p=xxx”,xxx即为passId。 32 | */ 33 | passId: string; 34 | } 35 | 36 | /** 37 | * 打开当前用户的某张卡的详情页 38 | */ 39 | function openCardDetail(params: IOpenCardDetailOptions): void; 40 | 41 | /** 42 | * 打开支付宝券列表 43 | */ 44 | function openVoucherList(): void; 45 | 46 | interface IOpenMerchantVoucherListOptions { 47 | /** 48 | * 商户编号 49 | */ 50 | partnerId: string; 51 | } 52 | 53 | /** 54 | * 打开当前用户的某个商户的券列表 55 | */ 56 | function openMerchantVoucherList(params: IOpenMerchantVoucherListOptions): void; 57 | 58 | type OpenDetailOptions = { 59 | /** 60 | * 券实例Id,调用券发放接口可以获取该参数(如果传入了partnerId和serialNumber则不需传入) 61 | */ 62 | passId: string; 63 | } | { 64 | /** 65 | * 商户编号,以 2088 为开头(如果传入了passId则不需传入) 66 | */ 67 | partnerId: string; 68 | 69 | /** 70 | * 序列号,调用新建卡券模板可以获取该参数(如果传入了passId则不需传入) 71 | */ 72 | serialNumber: string; 73 | }; 74 | 75 | /** 76 | * 打开当前用户的某张券的详情页(非口碑) 77 | */ 78 | function openVoucherDetail(params: OpenDetailOptions): void; 79 | 80 | /** 81 | * 打开当前用户的某张券的详情页(口碑) 82 | */ 83 | function openKBVoucherDetail(params: OpenDetailOptions): void; 84 | 85 | /** 86 | * 打开支付宝票列表。 87 | */ 88 | function openTicketList(): void; 89 | 90 | /** 91 | * 打开某个商户的票列表 92 | */ 93 | function openMerchantTicketList(params: { partnerId: string; }): void; 94 | 95 | /** 96 | * 打开当前用户的某张票的详情页 97 | */ 98 | function openTicketDetail(params: OpenDetailOptions): void; 99 | 100 | type AddCardAuthSuccessResult = { 101 | /** 102 | * true 表示领卡成功 103 | */ 104 | readonly success: true; 105 | 106 | /** 107 | * 9000 表示成功 108 | */ 109 | readonly resultStatus: string; 110 | 111 | /** 112 | * 结果内容 113 | */ 114 | readonly result: { 115 | /** 116 | * 应用id 117 | */ 118 | readonly app_id: string; 119 | 120 | /** 121 | * 授权码,用于换取authtoken 122 | */ 123 | readonly auth_code: string; 124 | 125 | /** 126 | * 授权的state 127 | */ 128 | readonly state: string; 129 | 130 | /** 131 | * 授权scope 132 | */ 133 | readonly scope: string; 134 | 135 | /** 136 | * 会员卡模板Id 137 | */ 138 | readonly template_id: string; 139 | 140 | /** 141 | * 会员卡表单信息请求Id 142 | */ 143 | readonly request_id: string; 144 | 145 | /** 146 | * 会员卡领卡链接透传参数 147 | */ 148 | readonly out_string: string; 149 | }; 150 | } | { 151 | /** 152 | * true 表示领卡成功 153 | */ 154 | readonly success: false; 155 | 156 | /** 157 | * 失败的错误码 158 | * - JSAPI_SERVICE_TERMINATED:用户取消 159 | * - JSAPI_PARAM_INVALID:url 为空或非法参数 160 | * - JSAPI_SYSTEM_ERROR:系统错误 161 | */ 162 | readonly code: 'JSAPI_SERVICE_TERMINATED' | 'JSAPI_PARAM_INVALID' | 'JSAPI_SYSTEM_ERROR'; 163 | }; 164 | 165 | interface IAddCardAuthOptions { 166 | /** 167 | * 开卡授权的页面地址,从 alipay.marketing.card.activateurl.apply接口获取 168 | */ 169 | url: string; 170 | 171 | /** 172 | * 调用成功的回调函数 173 | */ 174 | success?(res: AddCardAuthSuccessResult): void; 175 | 176 | /** 177 | * 调用失败的回调函数 178 | */ 179 | fail?(): void; 180 | 181 | /** 182 | * 调用结束的回调函数(调用成功、失败都会执行) 183 | */ 184 | complete?(res?: AddCardAuthSuccessResult): void; 185 | } 186 | 187 | /** 188 | * 小程序唤起会员开卡授权页面 189 | */ 190 | function addCardAuth(options: IAddCardAuthOptions): void; 191 | } 192 | -------------------------------------------------------------------------------- /types/api/open/cheat.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 营销反作弊 3 | */ 4 | declare namespace my { 5 | interface IPreventCheatBizContext { 6 | /** 7 | * 合作伙伴匹配服务类型 8 | */ 9 | service: 'marketing'; 10 | 11 | /** 12 | * 风险策略类型 13 | */ 14 | risk_type: 'riskinfo_anticheat_common'; 15 | 16 | /** 17 | * 用于输入用户注册的手机号码。 18 | */ 19 | mobile_no: string; 20 | 21 | /** 22 | * 申请业务合作伙伴ID 23 | */ 24 | pid: string; 25 | 26 | /** 27 | * 支付宝用户ID 28 | */ 29 | user_id?: string; 30 | 31 | /** 32 | * 银行卡号 33 | */ 34 | bank_card_no?: string; 35 | 36 | /** 37 | * 用于输入用户的身份证号码 38 | */ 39 | cert_no?: string; 40 | 41 | /** 42 | * 账户登录IP 43 | */ 44 | client_ip?: string; 45 | 46 | /** 47 | * 邮箱账号 48 | */ 49 | email_address?: string; 50 | 51 | /** 52 | * 手机序列号 53 | */ 54 | imei?: string; 55 | 56 | /** 57 | * 国际移动用户识别码 58 | */ 59 | imsi?: string; 60 | 61 | /** 62 | * mac地址或设备唯一标识 63 | */ 64 | mac_address?: string; 65 | 66 | /** 67 | * 拓展字段,其余信息通过此字段进行传输: 68 | * 69 | * 业务约定: 70 | * - nickname:账户昵称; 71 | * - reg_time:账户注册时间 72 | */ 73 | extended_info?: string; 74 | } 75 | 76 | interface IPreventCheatSuccessResult { 77 | /** 78 | * 风险识别结果: 79 | * 80 | * riskinfo_anticheat_common—风险评级结果: 81 | * - rank0 信息不足/参数有误 82 | * - rank1 表示用户作弊风险为低 83 | * - rank2 表示用户作弊风险为中 84 | * - rank3 表示用户作弊风险为高 85 | * 86 | * riskinfo_anticheat_common_infocode—风险评级说明: 87 | * - 171-作弊风险 88 | * 89 | * @example {\"riskinfo_anticheat_common\":\"rank3\",\"riskinfo_anticheat_common_infocode\":\"171\"} 90 | */ 91 | readonly riskResult: string; 92 | 93 | /** 94 | * 风险信息描述 95 | * 96 | * @example {\"rank0\":\"等级0\"} 97 | */ 98 | readonly riskResultDesc: string; 99 | 100 | /** 101 | * 业务唯一识别码 102 | * 103 | * 用户标识请求信息 104 | * 105 | * @example 0b92uueie87636222 106 | */ 107 | readonly uniqueId: string; 108 | } 109 | 110 | interface IPreventCheatFailResult { 111 | /** 112 | * 识别错误码 113 | */ 114 | readonly error: string; 115 | 116 | /** 117 | * - serviceNoAuth:服务未授权。请检查配置的账户是否有当前接口权限以及service参数是否正确 118 | * - riskTypeNoAuth:场景(risktype)未授权。请检查risktype参数是否正确 119 | * - bizContentEmpty:风险数据内容为空。检查入参格式 120 | * - paramMissingError:参数缺失。检查必传参数是否传入 121 | * - param error:参数错误。检查入参格式是否符合文档要求 122 | * - SYSTEM_OUT_ERROR:系统繁忙。请稍后再试 123 | * - INVALID_PARAMETER:缺少必选参数或参数有误。检查参数是否正确或者缺失 124 | * - OVER_LIMIT:超过调用量限制。如需增加额度,请发邮件至RiskGoCSC@service.alipay.com进行申请 125 | */ 126 | readonly errorMessage: 'serviceNoAuth' | 'riskTypeNoAuth' | 'bizContentEmpty' 127 | | 'paramMissingError' | 'param error' | 'SYSTEM_OUT_ERROR' 128 | | 'INVALID_PARAMETER' | 'OVER_LIMIT'; 129 | } 130 | 131 | interface IPreventCheatOptions { 132 | /** 133 | * 小程序的开放平台账号 134 | */ 135 | pid: string; 136 | 137 | /** 138 | * 小程序对应的APPID 139 | */ 140 | appId: string; 141 | 142 | /** 143 | * 需要识别的业务参数 144 | */ 145 | biz_context: IPreventCheatBizContext; 146 | 147 | /** 148 | * 调用成功的回调函数 149 | */ 150 | success?(res: IPreventCheatSuccessResult): void; 151 | 152 | /** 153 | * 调用失败的回调函数 154 | */ 155 | fail?(res: IPreventCheatFailResult): void; 156 | 157 | /** 158 | * 调用结束的回调函数(调用成功、失败都会执行) 159 | */ 160 | complete?(res: IPreventCheatFailResult | IPreventCheatSuccessResult): void; 161 | } 162 | 163 | namespace ap { 164 | function preventCheat(options: IPreventCheatOptions): void; 165 | } 166 | } 167 | -------------------------------------------------------------------------------- /types/api/open/enjoy.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 先享后付保障 3 | */ 4 | 5 | declare namespace my { 6 | interface INsfSuccessResult { 7 | /** 8 | * 风险识别结果: 9 | * - riskinfo_nsf_common—风险评级结果 rank0 提供信息不足,提供参数信息有误,或提供的支付宝账号不存在 10 | * - rank1 表示用户拒付风险为低rank2 表示用户拒付风险为中 11 | * - rank3 表示用户拒付风险为高; 12 | * 13 | * - riskinfo_nsf_common_infocode——表示风险识别类型;先享后付场景下当前类型标识为172,无其余类型; 14 | * 15 | * @example {\"riskinfo_nsf_common_infocode\":\"172\",\"riskinfo_nsf_common\":\"rank1\"} 16 | */ 17 | readonly riskResult: string; 18 | 19 | /** 20 | * 风险信息描述 21 | * 22 | * @example {"rank0":"等级0"} 23 | */ 24 | readonly riskResultDesc: string; 25 | 26 | /** 27 | * 业务唯一识别码 28 | * 29 | * 用户标识请求信息 30 | * 31 | * @example 0b92uueie87636222 32 | */ 33 | readonly uniqueId: string; 34 | } 35 | 36 | interface INsfFailResult { 37 | /** 38 | * 识别错误码 39 | */ 40 | readonly errorCode: string; 41 | 42 | /** 43 | * 识别错误信息 44 | * 45 | * - serviceNoAuth:服务未授权。请检查配置的账户是否已签约响应的功能包 46 | * - riskTypeNoAuth:场景(risktype)未授权。请检查配置的账户是否已签约响应的功能包;请检查risktype参数是否正确 47 | * - bizContentEmpty:风险数据内容为空。检查入参数据格式 48 | * - paramMissingError:参数缺失。检查必传参数是否传入 49 | * - param error:参数错误。检查入参格式是否符合文档要求 50 | * - SYSTEM_OUT_ERROR:系统繁忙。请稍后再试 51 | * - INVALID_PARAMETER:缺少必选参数或参数有误。检查参数是否正确或者缺失 52 | * - OVER_LIMIT:超过调用量限制。如需增加额度,请发邮件至RiskGoCSC@service.alipay.com进行申请 53 | */ 54 | readonly errorMessage: string; 55 | } 56 | 57 | interface INsfOptions { 58 | /** 59 | * 小程序的开放平台账号 60 | */ 61 | pid: string; 62 | 63 | /** 64 | * 小程序对应的APPID 65 | */ 66 | appId: string; 67 | 68 | /** 69 | * 需要识别的业务参数 70 | */ 71 | biz_context: { 72 | /** 73 | * 用于代表商户风险类型 74 | */ 75 | risk_type: 'riskinfo_nsf_common'; 76 | 77 | /** 78 | * 用于输入使用此服务的商户ID 79 | */ 80 | pid: string; 81 | 82 | /** 83 | * 用于输入用户支付宝的 2088 账号,如不了解此字段如何获取,可了解下静默授权。如参数无法提供,请填写“null” 84 | */ 85 | user_id: string; 86 | 87 | /** 88 | * 用于输入用户注册支付宝的手机号码。如参数无法提供,请填写“null” 89 | */ 90 | mobile_no: string; 91 | 92 | /** 93 | * 用于输入用户身份证号。如参数无法提供,请填写“null” 94 | */ 95 | cert_no?: string; 96 | 97 | /** 98 | * 用于输入用户产生交易时的地理位置信息。如参数无法提供,请填写“null” 99 | */ 100 | lbs: string; 101 | 102 | /** 103 | * 用户购买或使用服务时产生的具体金额。如参数无法提供,请填写“null” 104 | */ 105 | sales_amount: string; 106 | }; 107 | 108 | /** 109 | * 调用成功的回调函数 110 | */ 111 | success?(res: INsfSuccessResult): void; 112 | 113 | /** 114 | * 调用失败的回调函数 115 | */ 116 | fail?(res: INsfFailResult): void; 117 | 118 | /** 119 | * 调用结束的回调函数(调用成功、失败都会执行) 120 | */ 121 | complete?(res: INsfSuccessResult | INsfFailResult): void; 122 | } 123 | 124 | namespace ap { 125 | /** 126 | * 有关先享后付保障的产品和接入介绍,详见[先享后付保障](https://docs.alipay.com/mini/introduce/non-sufficient-funds) 127 | */ 128 | function nsf(options: INsfOptions): void; 129 | } 130 | } 131 | -------------------------------------------------------------------------------- /types/api/open/face.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 刷脸认证 3 | */ 4 | declare namespace my { 5 | interface IFaceVerifySuccessResult { 6 | /** 7 | * 刷脸认证标识 8 | */ 9 | readonly zimId: string; 10 | 11 | /** 12 | * 刷脸认证结果返回码 13 | * 14 | * - 1000:刷脸认证成功 15 | * - 1001:系统错误 16 | * - 1003:验证中断 17 | * - 2002:网络错误 18 | * - 2006:刷脸失败 19 | */ 20 | readonly faceRetCode?: '1000' | '1001' | '1003' | '2002' | '2006'; 21 | 22 | /** 23 | * 认证可用性返回码 24 | * 25 | * - OK_SUCCESS:刷脸可用性判断通过,代表刷脸功能可用 26 | * - SYSTEM_ERROR:系统错误 27 | * - ACCOUNT_SERVICE_SUSPEND:用户不可用刷脸 28 | * - HIGH_RISK:刷脸失败次数过多,请稍候再试 29 | * - DEVICE_NOT_SUPPORT:设备不支持刷脸 30 | * - OS_NOT_SUPPORT:手机操作系统不支持刷脸 31 | * - SDKVERSION_NOT_SUPPORT:SDK版本不支持 32 | * - ASSET_NOT_AVAILABLE:刷脸资源未准备好 33 | * - UNABLE_GET_IMAGE:比对源不可用 34 | * - ALG_NOT_SUPPORT:算法不支持 35 | * - NOT_REAL_NAME:非实名认证用户 36 | */ 37 | readonly retCode: 'OK_SUCCESS' | 'SYSTEM_ERROR' | 'ACCOUNT_SERVICE_SUSPEND' | 'HIGH_RISK' | 'DEVICE_NOT_SUPPORT' 38 | | 'OS_NOT_SUPPORT' | 'SDKVERSION_NOT_SUPPORT' | 'ASSET_NOT_AVAILABLE' | 'UNABLE_GET_IMAGE' 39 | | 'ALG_NOT_SUPPORT' | 'NOT_REAL_NAME'; 40 | 41 | /** 42 | * 认证可用性返回码明细 43 | */ 44 | readonly retCodeSub: string; 45 | 46 | /** 47 | * 认证可用性结果描述 48 | */ 49 | readonly retMessageSub?: string; 50 | } 51 | 52 | interface IFaceVerifyOptions { 53 | /** 54 | * 业务流水号,需要保证唯一性,不超过64位 55 | */ 56 | bizId: string; 57 | 58 | /** 59 | * 填写 2,代表刷脸认证场景 60 | */ 61 | bizType: string; 62 | 63 | /** 64 | * 是否使用后置摄像头,true为使用后置摄像头;不设置时,默认使用前置摄像头 65 | */ 66 | useBackCamera?: boolean; 67 | 68 | /** 69 | * 调用成功的回调函数 (返回刷脸调用结果,包括刷脸认证成功和失败的结果) 70 | */ 71 | success?(res: IFaceVerifySuccessResult): void; 72 | 73 | /** 74 | * 调用失败的回调函数 (返回小程序框架系统错误) 75 | */ 76 | fail?(error: any): void; 77 | } 78 | 79 | namespace ap { 80 | /** 81 | * 该接口通过活体检测和人脸比对技术,认证当前用户是否为登陆支付宝用户的本人和真人。 82 | */ 83 | function faceVerify(options: IFaceVerifyOptions): void; 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /types/api/open/getAuthUserInfo.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 客户端获取会员信息 3 | */ 4 | declare namespace my { 5 | interface IGetAuthUserInfoSuccessResult { 6 | /** 7 | * 用户昵称 8 | */ 9 | readonly nickName: string; 10 | 11 | /** 12 | * 用户头像链接 13 | */ 14 | readonly avatar: string; 15 | } 16 | 17 | interface IGetAuthUserInfoOptions { 18 | /** 19 | * 调用成功的回调函数 20 | */ 21 | success?(result: IGetAuthUserInfoSuccessResult): void; 22 | 23 | /** 24 | * 调用失败的回调函数 25 | */ 26 | fail?(): void; 27 | 28 | /** 29 | * 调用结束的回调函数(调用成功、失败都会执行) 30 | */ 31 | complete?(): void; 32 | } 33 | 34 | /** 35 | * 客户端获取会员信息。 36 | */ 37 | function getAuthUserInfo(options: IGetAuthUserInfoOptions): void; 38 | } 39 | -------------------------------------------------------------------------------- /types/api/open/getLaunchOptionsSync.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 同步获取小程序启动参数 3 | */ 4 | declare namespace my { 5 | interface IReferrerInfo { 6 | /** 7 | * 来源小程序。 8 | */ 9 | appId: string; 10 | 11 | /** 12 | * 来源插件,当处于插件运行模式时可见。(注意:基础库 1.11.0 版本开始支持) 13 | */ 14 | sourceServiceId: string; 15 | 16 | /** 17 | * 来源小程序传过来的数据。 18 | */ 19 | extraData: Record; 20 | } 21 | 22 | interface IGetLaunchOptionsSync { 23 | /** 24 | * 启动小程序的路径 25 | */ 26 | path: string; 27 | 28 | /** 29 | * 启动小程序的场景值 30 | * https://opendocs.alipay.com/mini/framework/scene 31 | */ 32 | scene: number | undefined; 33 | 34 | /** 35 | * 当前小程序的 query,从启动参数的 query 字段解析而来。(注意:若没有启动参数,则不会返回 query 参数) 36 | */ 37 | query?: Record; 38 | 39 | /** 40 | * 来源消息。 41 | */ 42 | referrerInfo?: IReferrerInfo; 43 | } 44 | 45 | /** 46 | * 同步获取小程序启动时的参数。与 App.onLaunch 的回调参数一致。 47 | * https://opendocs.alipay.com/mini/013t19 48 | */ 49 | function getLaunchOptionsSync(): IGetLaunchOptionsSync; 50 | } 51 | -------------------------------------------------------------------------------- /types/api/open/getPhoneNumber.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 获取用户手机号 3 | */ 4 | declare namespace my { 5 | interface IGetPhoneNumberSuccessResult { 6 | /** 7 | * 完整的报文数据,前端需要将该报文发送到开发者服务端做验签和解密处理 8 | */ 9 | readonly response: string; 10 | } 11 | 12 | interface IGetPhoneNumberOptions { 13 | success?(res: IGetPhoneNumberSuccessResult): void; 14 | fail?(res: any): void; 15 | } 16 | 17 | /** 18 | * 获取支付宝用户绑定的手机号 19 | */ 20 | function getPhoneNumber(options: IGetPhoneNumberOptions): void; 21 | } 22 | -------------------------------------------------------------------------------- /types/api/open/imgRisk.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 图片内容安全 3 | */ 4 | 5 | declare namespace my { 6 | interface IImgRiskOptions { 7 | /** 8 | * 小程序的开放平台账号 9 | */ 10 | pid: string; 11 | 12 | /** 13 | * 小程序对应的APPID 14 | */ 15 | appId: string; 16 | 17 | /** 18 | * 需要识别的业务参数 19 | */ 20 | biz_context: { 21 | /** 22 | * 风险类型,固定传img_risk 23 | */ 24 | risk_type: 'img_risk'; 25 | 26 | /** 27 | * 需要验证的图片URL 28 | */ 29 | content: string; 30 | }; 31 | 32 | /** 33 | * 调用成功的回调函数 34 | */ 35 | success?(res: IImgRiskSuccessResult): void; 36 | 37 | /** 38 | * 调用失败的回调函数 39 | */ 40 | fail?(res: IImgRiskFailResult): void; 41 | 42 | /** 43 | * 调用结束的回调函数(调用成功、失败都会执行) 44 | */ 45 | complete?(res: IImgRiskSuccessResult | IImgRiskFailResult): void; 46 | } 47 | 48 | interface IImgRiskFailResult { 49 | /** 50 | * 识别错误码 51 | */ 52 | errorCode: string; 53 | 54 | /** 55 | * 识别错误信息 56 | */ 57 | errorMessage: string; 58 | } 59 | 60 | interface IImgRiskSuccessResult { 61 | /** 62 | * 图片风险识别的任务的任务ID。 63 | * 64 | * @example \"apply_id\":\"dfaef54c-70ae-4011-91cc-5806d7bb0990\" 65 | */ 66 | risk_result: string; 67 | 68 | /** 69 | * 风险识别结果描述。返回结果会默认为空,忽略即可 70 | */ 71 | risk_result_desc: string; 72 | 73 | /** 74 | * 业务唯一识别码 75 | * 76 | * @example 0b92uueie87636222 77 | */ 78 | uniqueId: string; 79 | } 80 | 81 | interface IImgRiskCallbackSuccessResult { 82 | /** 83 | * 图片风险识别的任务的任务ID 84 | * 85 | * @example 86 | * \"action\":\"REJECTED\" 87 | * \"action\":\"PASSED\" 88 | */ 89 | readonly risk_result: string; 90 | 91 | /** 92 | * 风险识别结果描述 93 | * 94 | * @example 95 | * \"REJECTED\":\"拦截\" 96 | * \"PASSED\":\"放过\ 97 | */ 98 | readonly risk_result_desc: string; 99 | 100 | /** 101 | * 业务唯一识别码 102 | * 103 | * @example 0b92uueie87636222 104 | */ 105 | readonly uniqueId: string; 106 | } 107 | 108 | interface IImgRiskCallbackFailResult { 109 | /** 110 | * 识别错误码 111 | */ 112 | readonly errorCode: string; 113 | 114 | /** 115 | * 识别错误信息 116 | * 117 | * - serviceNoAuth:服务未授权。请检查配置的账户是否已签约响应的功能包 118 | * - riskTypeNoAuth:场景(risktype)未授权。请检查配置的账户是否已签约响应的功能包;请检查risktype参数是否正确 119 | * - bizContentEmpty:风险数据内容为空。检查入参数据格式 120 | * - paramMissingError:参数缺失。检查必传参数是否传入 121 | * - param error:参数错误。检查入参格式是否符合文档要求 122 | * - SYSTEM_OUT_ERROR:系统繁忙。请稍后再试 123 | * - INVALID_PARAMETER:缺少必选参数或参数有误。检查参数是否正确或者缺失 124 | * - OVER_LIMIT:超过调用量限制。如需增加额度,请发邮件至RiskGoCSC@service.alipay.com进行申请 125 | */ 126 | readonly errorMessage: string; 127 | } 128 | 129 | interface IImgRiskCallbackOptions { 130 | /** 131 | * 小程序的开放平台账号 132 | */ 133 | pid: string; 134 | 135 | /** 136 | * 小程序对应的APPID 137 | */ 138 | appId: string; 139 | 140 | /** 141 | * 需要识别的业务参数 142 | */ 143 | biz_context: { 144 | /** 145 | * 风险类型 146 | */ 147 | risk_type: 'img_risk_result'; 148 | 149 | /** 150 | * 需要查询图片的任务id 151 | */ 152 | apply_id: string; 153 | }; 154 | 155 | /** 156 | * 调用成功的回调函数 157 | */ 158 | success?(res: IImgRiskCallbackSuccessResult): void; 159 | 160 | /** 161 | * 调用失败的回调函数 162 | */ 163 | fail?(): void; 164 | 165 | /** 166 | * 调用结束的回调函数(调用成功、失败都会执行) 167 | */ 168 | complete?(): void; 169 | } 170 | 171 | namespace ap { 172 | /** 173 | * 图片风险咨询任务提交接口,用于提交 174 | */ 175 | function imgRisk(options: IImgRiskOptions): void; 176 | 177 | function imgRiskCallback(options: IImgRiskCallbackOptions): void; 178 | } 179 | } 180 | -------------------------------------------------------------------------------- /types/api/open/index.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | /// 6 | /// 7 | /// 8 | /// 9 | /// 10 | /// 11 | /// 12 | /// 13 | /// 14 | /// 15 | -------------------------------------------------------------------------------- /types/api/open/navigate.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 小程序跳转 3 | */ 4 | declare namespace my { 5 | interface INavigateToMiniProgram { 6 | /** 7 | * 要跳转的目标小程序appId 8 | */ 9 | appId: string; 10 | 11 | /** 12 | * 打开的页面路径,如果为空则打开首页 13 | */ 14 | path?: string; 15 | 16 | /** 17 | * 需要传递给目标小程序的数据,目标小程序可在 App.onLaunch(),App.onShow() 中获取到这份数据 18 | */ 19 | extraData?: Record; 20 | 21 | /** 22 | * 要打开的小程序版本,有效值 develop(开发版),trial(体验版),release(正式版) ,仅在当前小程序为开发版或体验版时此参数有效;如果当前小程序是正式版,则打开的小程序必定是正式版。默认值 release 23 | */ 24 | envVersion?: 'develop' | 'trial' | 'release'; 25 | 26 | /** 27 | * 调用成功的回调函数 28 | */ 29 | success?(res: any): void; 30 | 31 | /** 32 | * 调用失败的回调函数 33 | */ 34 | fail?(res: any): void; 35 | 36 | /** 37 | * 调用结束的回调函数(调用成功、失败都会执行) 38 | */ 39 | complete?(res: any): void; 40 | } 41 | 42 | /** 43 | * 跳转到其他小程序。 44 | */ 45 | function navigateToMiniProgram(options: INavigateToMiniProgram): void; 46 | 47 | interface INavigateBackMiniProgram { 48 | /** 49 | * 需要传递给目标小程序的数据,目标小程序可在 App.onLaunch(),App.onShow() 中获取到这份数据 50 | */ 51 | extraData?: Record; 52 | 53 | /** 54 | * 调用成功的回调函数 55 | */ 56 | success?(res: any): void; 57 | 58 | /** 59 | * 调用失败的回调函数 60 | */ 61 | fail?(res: any): void; 62 | 63 | /** 64 | * 调用结束的回调函数(调用成功、失败都会执行) 65 | */ 66 | complete?(res: any): void; 67 | } 68 | 69 | /** 70 | * 跳转回上一个小程序,只有当另一个小程序跳转到当前小程序时才会能调用成功 71 | */ 72 | function navigateBackMiniProgram(options: INavigateBackMiniProgram): void; 73 | } 74 | -------------------------------------------------------------------------------- /types/api/open/open.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 打开支付宝应用或页面 3 | */ 4 | declare namespace my { 5 | interface INavigateToAlipayPageSuccessResult { 6 | readonly success: boolean; 7 | } 8 | 9 | interface INavigateToAlipayPageOptions { 10 | /** 11 | * 要跳转的支付宝业务、运营活动schema或url,如果url中带有参数,请务必先将整个url做encode处理 12 | * 13 | * 注:path目前暂未全量开放,跳转链接请找对应的接口人咨询。 14 | */ 15 | path: string; 16 | 17 | /** 18 | * 跳转成功 19 | */ 20 | success?(res: INavigateToAlipayPageSuccessResult): void; 21 | 22 | /** 23 | * 跳转失败 24 | * 25 | * - 2:参数错误,打开失败 26 | */ 27 | fail?(error: any): void; 28 | } 29 | 30 | namespace ap { 31 | /** 32 | * 小程序中跳转到支付宝官方业务或运营活动页面,例如共享单车、城市服务。 33 | */ 34 | function navigateToAlipayPage(options: INavigateToAlipayPageOptions): void; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /types/api/open/paySignCenter.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 支付代扣签约 3 | */ 4 | declare namespace my { 5 | interface IPaySignCenterOptions { 6 | signStr: string; 7 | success?(res: any): void; 8 | fail?(res: 7000 | 7001 | 7002 | 6001 | 6002): void; 9 | complete?(): void; 10 | } 11 | 12 | /** 13 | * @deprecated 14 | */ 15 | function paySignCenter(options: IPaySignCenterOptions): void; 16 | } 17 | -------------------------------------------------------------------------------- /types/api/open/text.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 文本风险识别 3 | */ 4 | declare namespace my { 5 | type TextRiskIdentificationType = 'keyword' | '0' | '1' | '2' | '3'; 6 | 7 | interface ITextRiskIdentificationSuccessResult { 8 | /** 9 | * 目标内容文本识别到的类型,keyword 表示关键词、0 表示广告、1表示涉政、2表示涉黄、3表示低俗辱骂 10 | */ 11 | readonly type: TextRiskIdentificationType; 12 | 13 | /** 14 | * 仅当识别命中了 type 为 keyword 时,才会返回该字段 15 | */ 16 | readonly hitKeywords?: ReadonlyArray; 17 | 18 | /** 19 | * 识别命中得分,最高分100分。仅当识别没有命中 keyword ,但入参中包含了广告或涉政或涉黄时,才会返回该字段 20 | */ 21 | readonly score?: string; 22 | } 23 | 24 | interface ITextRiskIdentificationFailResult { 25 | /** 26 | * 识别错误码 27 | */ 28 | readonly error: string; 29 | 30 | /** 31 | * 识别错误消息 32 | */ 33 | readonly errorMessage: string; 34 | } 35 | 36 | interface ITextRiskIdentificationOptions { 37 | /** 38 | * 需要进行风险识别的文本内容 39 | */ 40 | content: string; 41 | 42 | /** 43 | * 识别类型:keyword 表示关键词、0 表示广告、1表示涉政、2表示涉黄、3表示低俗辱骂 44 | */ 45 | type: TextRiskIdentificationType[]; 46 | 47 | /** 48 | * 调用成功的回调函数 49 | */ 50 | success?(res: ITextRiskIdentificationSuccessResult): void; 51 | 52 | /** 53 | * 调用失败的回调函数 54 | */ 55 | fail?(res: ITextRiskIdentificationFailResult): void; 56 | 57 | /** 58 | * 调用结束的回调函数(调用成功、失败都会执行) 59 | */ 60 | complete?(res: ITextRiskIdentificationSuccessResult | ITextRiskIdentificationFailResult): void; 61 | } 62 | 63 | /** 64 | * 文本风险识别, 支付宝客户端10.1.10及以上版本支持。详细接入参考[指引](https://docs.alipay.com/mini/introduce/text-identification)。 65 | */ 66 | function textRiskIdentification(options: ITextRiskIdentificationOptions): void; 67 | } 68 | -------------------------------------------------------------------------------- /types/api/open/tradePay.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 小程序唤起支付 3 | */ 4 | declare namespace my { 5 | interface ITradePaySuccessResult { 6 | /** 7 | * - 9000:订单支付成功 8 | * - 8000:正在处理中 9 | * - 4000:订单支付失败 10 | * - 6001:用户中途取消 11 | * - 6002:网络连接出错 12 | * - 6004:支付结果未知(有可能已经支付成功),请查询商户订单列表中订单的支付状态 13 | * - 99:用户点击忘记密码导致快捷界面退出(only iOS) 14 | */ 15 | resultCode: '9000' | '8000' | '4000' | '6001' | '6002' | '6004' | '99'; 16 | 17 | callbackUrl?: string; 18 | extendInfo?: Record; 19 | memo?: string; 20 | result?: any; 21 | } 22 | 23 | interface ITradePayOptions { 24 | /** 25 | * 接入小程序支付时传入此参数。此参数为支付宝交易号,注意参数有大小写区分。 26 | */ 27 | tradeNO?: string; 28 | 29 | /** 30 | * 完整的支付参数拼接成的字符串,从服务端获取。 31 | */ 32 | orderStr?: string; 33 | 34 | /** 35 | * 调用成功的回调函数 36 | */ 37 | success?(res: ITradePaySuccessResult): void; 38 | 39 | /** 40 | * 调用失败的回调函数 41 | */ 42 | fail?(): void; 43 | 44 | /** 45 | * 调用结束的回调函数(调用成功、失败都会执行) 46 | */ 47 | complete?(): void; 48 | } 49 | 50 | /** 51 | * 发起支付 52 | */ 53 | function tradePay(options: ITradePayOptions): void; 54 | } 55 | -------------------------------------------------------------------------------- /types/api/open/update.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 升级支付宝最新版本 3 | */ 4 | declare namespace my { 5 | interface IUpdateAlipayClientSuccessResult { 6 | readonly success: boolean; 7 | } 8 | 9 | interface IUpdateAlipayClientOptions { 10 | /** 11 | * 跳转成功 12 | */ 13 | success?(res: IUpdateAlipayClientSuccessResult): void; 14 | 15 | /** 16 | * - 3:发生未知错误 17 | */ 18 | fail?(error: any): void; 19 | } 20 | 21 | namespace ap { 22 | /** 23 | * 打开支付宝客户端升级界面,用户可主动选择升级支付宝客户端。 24 | */ 25 | function updateAlipayClient(options: IUpdateAlipayClientOptions): void; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /types/api/open/webview.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file webview 组件控制 3 | */ 4 | declare namespace my { 5 | interface IWebViewContext { 6 | /** 7 | * 小程序向web-view组件发送消息,配合web-view.js中提供的my.postMessage可以实现小程序和web-view网页的双向通信 8 | */ 9 | postMessage(msg: Record): void; 10 | } 11 | 12 | /** 13 | * 创建并返回 web-view 上下文 webViewContext 对象。 14 | * 15 | * @param webviewId 要创建的web-view所对应的id属性 16 | */ 17 | function createWebViewContext(webviewId: string): IWebViewContext; 18 | } 19 | -------------------------------------------------------------------------------- /types/api/open/zhima.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 芝麻认证 3 | */ 4 | declare namespace my { 5 | interface IStartZMVerifySuccessResult { 6 | /** 7 | * 认证标识 8 | */ 9 | readonly token: string; 10 | 11 | /** 12 | * 认证是否通过 13 | */ 14 | readonly passed: string; 15 | 16 | /** 17 | * 认证不通过原因 18 | */ 19 | readonly reason?: string; 20 | } 21 | 22 | interface IStartZMVerifyOptions { 23 | /** 24 | * 认证标识 25 | */ 26 | bizNo: string; 27 | 28 | /** 29 | * 调用成功的回调函数 30 | */ 31 | success?(res: IStartZMVerifySuccessResult): void; 32 | 33 | /** 34 | * 调用失败的回调函数 35 | */ 36 | fail?(res: any): void; 37 | 38 | /** 39 | * 调用结束的回调函数(调用成功、失败都会执行) 40 | */ 41 | complete?(): void; 42 | } 43 | 44 | /** 45 | * 芝麻认证接口,调用此接口可以唤起芝麻认证页面并进行人脸身份验证。 46 | * 47 | * 需要通过蚂蚁开发平台,调用certification.initialize接口进行[认证初始化](https://docs.alipay.com/zmxy/271/105914)。获得biz_no 后,方能通过以下接口激活芝麻认证小程序。 48 | */ 49 | function startZMVerify(options: IStartZMVerifyOptions): void; 50 | } 51 | -------------------------------------------------------------------------------- /types/api/scene.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 小程序当前运行版本类型 3 | */ 4 | declare namespace my { 5 | interface IGetRunSceneSuccessResult { 6 | /** 7 | * 小程序当前运行的版本,枚举类型:develop(开发版)、trial(体验版)、release(发布版) 8 | */ 9 | readonly envVersion: 'develop' | 'trial' | 'release'; 10 | } 11 | 12 | interface IGetRunSceneOptions { 13 | success(res: IGetRunSceneSuccessResult): void; 14 | } 15 | 16 | /** 17 | * 获取当前小程序的运行版本 18 | */ 19 | function getRunScene(res: IGetRunSceneOptions): void; 20 | } 21 | -------------------------------------------------------------------------------- /types/api/share.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 分享 3 | */ 4 | declare namespace my { 5 | interface IHideShareMenuOptions { 6 | /** 7 | * 调用成功的回调函数 8 | */ 9 | success?(): void; 10 | 11 | /** 12 | * 分享失败的回调函数 13 | */ 14 | fail?(): void; 15 | 16 | /** 17 | * 调用结束的回调函数(调用成功、失败都会执行) 18 | */ 19 | complete?(): void; 20 | } 21 | 22 | /** 23 | * 隐藏分享按钮。 24 | */ 25 | function hideShareMenu(options?: IHideShareMenuOptions): void; 26 | } 27 | -------------------------------------------------------------------------------- /types/api/ui/animation.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 动画 3 | */ 4 | declare namespace my { 5 | /* tslint:disable:no-empty-interface */ 6 | interface IAnimationInfo {} 7 | /* tslint:enable:no-empty-interface */ 8 | 9 | interface IAnimation { 10 | /** 11 | * 透明度,参数范围 0~1 12 | */ 13 | opacity(value: number): IAnimation; 14 | /** 15 | * 颜色值 16 | */ 17 | backgroundColor(color: string): IAnimation; 18 | /** 19 | * 长度值,如果传入数字则默认单位为 px ,可传入其他自定义单位的长度值 20 | */ 21 | width(length: number): IAnimation; 22 | /** 23 | * 高度值,如果传入数字则默认单位为 px ,可传入其他自定义单位的长度值 24 | */ 25 | height(height: number): IAnimation; 26 | /** 27 | * 顶部坐标值,如果传入数字则默认单位为 px ,可传入其他自定义单位的长度值 28 | */ 29 | top(top: number): IAnimation; 30 | /** 31 | * 左部坐标值,如果传入数字则默认单位为 px ,可传入其他自定义单位的长度值 32 | */ 33 | left(left: number): IAnimation; 34 | /** 35 | * 底部坐标值,如果传入数字则默认单位为 px ,可传入其他自定义单位的长度值 36 | */ 37 | bottom(bottom: number): IAnimation; 38 | /** 39 | * 右部坐标值,如果传入数字则默认单位为 px ,可传入其他自定义单位的长度值 40 | */ 41 | right(right: number): IAnimation; 42 | 43 | /** 44 | * deg 范围 -180 ~ 180,从原点顺时针旋转一个 deg 角度 45 | */ 46 | rotate(deg: number): IAnimation; 47 | /** 48 | * deg 范围 -180 ~ 180,在 X 轴旋转一个 deg 角度 49 | */ 50 | rotateX(deg: number): IAnimation; 51 | /** 52 | * deg 范围 -180 ~ 180,在 Y 轴旋转一个 deg 角度 53 | */ 54 | rotateY(deg: number): IAnimation; 55 | /** 56 | * deg 范围 -180 ~ 180,在 Z 轴旋转一个deg角度 57 | */ 58 | rotateZ(deg: number): IAnimation; 59 | /** 60 | * 同 transform-function rotate3d 61 | */ 62 | rotate3d(x: number, y: number, z: number, deg: number): IAnimation; 63 | 64 | /** 65 | * 只有一个参数时,表示在 X 轴、Y 轴同时缩放 sx 倍;两个参数时表示在 X 轴缩放 sx 倍,在 Y 轴缩放 sy 倍 66 | */ 67 | scale(sx: number, sy?: number): IAnimation; 68 | /** 69 | * 在 X 轴缩放 sx 倍 70 | */ 71 | scaleX(sx: number): IAnimation; 72 | /** 73 | * 在 Y 轴缩放 sy 倍 74 | */ 75 | scaleY(sy: number): IAnimation; 76 | /** 77 | * 在 Z 轴缩放 sz 倍 78 | */ 79 | scaleZ(sz: number): IAnimation; 80 | /** 81 | * 在 X 轴缩放 sx 倍,在 Y 轴缩放sy 倍,在 Z 轴缩放 sz 倍 82 | */ 83 | scale3d(sx: number, sy: number, sz: number): IAnimation; 84 | 85 | /** 86 | * 只有一个参数时,表示在 X 轴偏移 tx;两个参数时,表示在 X 轴偏移 tx,在 Y 轴偏移 ty,单位均为 px。 87 | */ 88 | translate(tx: number, ty?: number): IAnimation; 89 | /** 90 | * 在 X 轴偏移 tx,单位 px 91 | */ 92 | translateX(tx: number): IAnimation; 93 | /** 94 | * 在 Y 轴偏移 ty,单位 px 95 | */ 96 | translateY(ty: number): IAnimation; 97 | /** 98 | * 在 Z 轴偏移 tz,单位 px 99 | */ 100 | translateZ(tz: number): IAnimation; 101 | /** 102 | * 在 X 轴偏移 tx,在 Y 轴偏移ty,在Z轴偏移 tz,单位 px 103 | */ 104 | translate3d(tx: number, ty: number, tz: number): IAnimation; 105 | 106 | /** 107 | * 参数范围 -180 ~ 180。只有一个参数时,Y 轴坐标不变,X 轴坐标延顺时针倾斜 ax 度;两个参数时,分别在 X 轴倾斜 ax 度,在 Y 轴倾斜 ay 度 108 | */ 109 | skew(ax: number, ay?: number): IAnimation; 110 | /** 111 | * 参数范围 -180 ~ 180。Y 轴坐标不变,X 轴坐标延顺时针倾斜 ax 度 112 | */ 113 | skewX(ax: number): IAnimation; 114 | /** 115 | * 参数范围 -180 ~ 180。X 轴坐标不变,Y 轴坐标延顺时针倾斜 ay 度 116 | */ 117 | skewY(ay: number): IAnimation; 118 | 119 | /** 120 | * 同 transform-function 121 | */ 122 | matrix(a: number, b: number, c: number, d: number, tx: number, ty: number): IAnimation; 123 | /** 124 | * 同 transform-function matrix3d 125 | */ 126 | matrix3d( 127 | a1: number, 128 | b1: number, 129 | c1: number, 130 | d1: number, 131 | a2: number, 132 | b2: number, 133 | c2: number, 134 | d2: number, 135 | a3: number, 136 | b3: number, 137 | c3: number, 138 | d3: number, 139 | a4: number, 140 | b4: number, 141 | c4: number, 142 | d4: number, 143 | ): IAnimation; 144 | 145 | step(options?: ICreateAnimationOptions): void; 146 | 147 | export(): IAnimationInfo; 148 | } 149 | 150 | interface ICreateAnimationOptions { 151 | /** 152 | * 动画的持续时间,单位 ms,默认值 400 153 | */ 154 | duration?: number; 155 | 156 | /** 157 | * 定义动画的效果,默认值"linear",有效值:"linear","ease","ease-in","ease-in-out","ease-out","step-start","step-end" 158 | */ 159 | timeFunction?: 'linear' | 'ease' | 'ease-in' | 'ease-in-out' | 'ease-out' | 'step-start' | 'step-end'; 160 | 161 | /** 162 | * 动画延迟时间,单位 ms,默认值 0 163 | */ 164 | delay?: number; 165 | 166 | /** 167 | * 设置transform-origin,默认值 "50% 50% 0" 168 | */ 169 | transformOrigin?: string; 170 | } 171 | 172 | /** 173 | * 创建动画实例 animation。调用实例的方法来描述动画,最后通过动画实例的export方法将动画数据导出并传递给组件的animation属性。 174 | * 注意: export 方法调用后会清掉之前的动画操作 175 | */ 176 | function createAnimation(options?: ICreateAnimationOptions): IAnimation; 177 | } 178 | -------------------------------------------------------------------------------- /types/api/ui/canvas.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 画布 3 | */ 4 | declare namespace my { 5 | interface ILinearGradient { 6 | /** 7 | * 创建一个颜色的渐变点。 8 | * 小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染。 9 | * 需要使用 addColorStop() 来指定渐变点,至少需要两个。 10 | * 11 | * @param stop 表示渐变点在起点和终点中的位置,范围 0 ~ 1 12 | * @param color 渐变点颜色 13 | */ 14 | addColorStop(stop: number, color: string): void; 15 | } 16 | 17 | /* tslint:disable:no-empty-interface */ 18 | interface ICircularGradient extends ILinearGradient {} 19 | /* tslint:enable:no-empty-interface */ 20 | 21 | interface IGetImageDataSuccessResult { 22 | readonly width: number; 23 | readonly height: number; 24 | } 25 | 26 | interface IGetImageDataOptions { 27 | x: number; 28 | y: number; 29 | width: number; 30 | height: number; 31 | success?: (result: IGetImageDataSuccessResult) => void; 32 | fail?: () => void; 33 | complete?: () => void; 34 | } 35 | 36 | interface IPutImageDataOptions { 37 | data: number[]; 38 | x: number; 39 | y: number; 40 | width: number; 41 | height: number; 42 | success?: () => void; 43 | fail?: () => void; 44 | complete?: () => void; 45 | } 46 | 47 | interface ICanvasToTempFilePathOptions { 48 | /** 49 | * 画布 x 轴起点,默认为 0 50 | */ 51 | x?: number; 52 | /** 53 | * 画布 y 轴起点,默认为 0 54 | */ 55 | y?: number; 56 | /** 57 | * 画布宽度,默认为 canvas 宽度 - x 58 | */ 59 | width?: number; 60 | /** 61 | * 画布高度,默认为 canvas 高度 - y 62 | */ 63 | height?: number; 64 | /** 65 | * 输出的图片宽度,默认为 width 66 | */ 67 | destWidth?: number; 68 | /** 69 | * 输出的图片高度,默认为 height 70 | */ 71 | destHeight?: number; 72 | /** 73 | * 目标文件的类型。合法值为jpg、png。 74 | */ 75 | fileType?: 'jpg' | 'png'; 76 | /** 77 | * 图片的质量,取值范围为 (0, 1],不在范围内时当作 1.0 处理。 78 | */ 79 | quality?: number; 80 | success?(): void; 81 | fail?(): void; 82 | complete?(): void; 83 | } 84 | 85 | interface ICanvasContext { 86 | /** 87 | * 把当前画布的内容导出生成图片,并返回文件路径。 88 | */ 89 | toTempFilePath(options: ICanvasToTempFilePathOptions): void; 90 | /** 91 | * textAlign 是 Canvas 2D API 描述绘制文本时,文本的对齐方式的属性。 92 | * 注意,该对齐是基于CanvasRenderingContext2D.fillText 方法的x的值。 93 | * 所以如果 textAlign="center",那么该文本将画在 x-50%*width。 94 | */ 95 | setTextAlign(textAlign: 'left' | 'right' | 'center' | 'start' | 'end'): void; 96 | /** 97 | * textBaseline 是 Canvas 2D API 描述绘制文本时,当前文本基线的属性。 98 | */ 99 | setTextBaseline(textBaseline: 'top' | 'hanging' | 'middle' | 'alphabetic' | 'ideographic' | 'bottom'): void; 100 | /** 101 | * 设置填充色。 102 | * 如果没有设置 fillStyle,则默认颜色为 black。 103 | */ 104 | setFillStyle(color: string): void; 105 | /** 106 | * 设置边框颜色。 107 | * 如果没有设置 strokeStyle,则默认颜色为 black。 108 | */ 109 | setStrokeStyle(color: string): void; 110 | /** 111 | * 设置阴影样式。 112 | * 如果没有设置,offsetX 的默认值为 0, offsetY 的默认值为 0, blur 的默认值为 0,color 的默认值为 black。 113 | */ 114 | setShadow( 115 | /** 116 | * 阴影相对于形状水平方向的偏移 117 | */ 118 | offsetX: number, 119 | /** 120 | * 阴影相对于形状竖直方向的偏移 121 | */ 122 | offsetY: number, 123 | /** 124 | * 0~100,阴影的模糊级别,值越大越模糊 125 | */ 126 | blur: number, 127 | /** 128 | * 阴影颜色 129 | */ 130 | color: string, 131 | ): void; 132 | 133 | /** 134 | * 创建一个线性的渐变色。 135 | */ 136 | createLinearGradient(x0: number, y0: number, x1: number, y1: number): ILinearGradient; 137 | /** 138 | * 创建一个圆形的渐变色。 139 | * 起点在圆心,终点在圆环。 140 | * 需要使用 addColorStop() 来指定渐变点,至少需要两个。 141 | */ 142 | createCircularGradient(x: number, y: number, r: number): ICircularGradient; 143 | /** 144 | * 设置线条的宽度。 145 | */ 146 | setLineWidth(lineWidth: number): void; 147 | /** 148 | * 设置线条的端点样式。 149 | */ 150 | setLineCap(lineCap: 'round' | 'butt' | 'square'): void; 151 | /** 152 | * 设置线条的交点样式。 153 | */ 154 | setLineJoin(lineJoin: 'round' | 'bevel' | 'miter'): void; 155 | /** 156 | * 设置最大斜接长度,斜接长度指的是在两条线交汇处内角和外角之间的距离。 当 setLineJoin() 为 miter 时才有效。超过最大倾斜长度的,连接处将以 lineJoin 为 bevel 来显示 157 | */ 158 | setMiterLimit(miterLimit: number): void; 159 | /** 160 | * 创建一个矩形。 161 | * 用 fill() 或者 stroke() 方法将矩形画到 canvas 中。 162 | */ 163 | rect(x: number, y: number, width: number, height: number): void; 164 | /** 165 | * 填充矩形。 166 | * 用 setFillStyle() 设置矩形的填充色,如果没设置则默认是 black。 167 | */ 168 | fillRect(x: number, y: number, width: number, height: number): void; 169 | /** 170 | * 画一个矩形(非填充)。 171 | * 用 setFillStroke() 设置矩形线条的颜色,如果没设置默认是 black。 172 | */ 173 | strokeRect(x: number, y: number, width: number, height: number): void; 174 | /** 175 | * 清除画布上在该矩形区域内的内容。 176 | * clearRect 并非画一个白色的矩形在地址区域,而是清空,为了有直观感受,可以对 canvas 加了一层背景色。 177 | */ 178 | clearRect(x: number, y: number, width: number, height: number): void; 179 | /** 180 | * 对当前路径中的内容进行填充。默认的填充色为黑色。 181 | * 如果当前路径没有闭合,fill() 方法会将起点和终点进行连接,然后填充。 182 | * fill() 填充的的路径是从 beginPath() 开始计算,但是不会将 fillRect() 包含进去。 183 | */ 184 | fill(): void; 185 | /** 186 | * 画出当前路径的边框。默认 black。 187 | * stroke() 描绘的的路径是从 beginPath() 开始计算,但是不会将 strokeRect() 包含进去。 188 | */ 189 | stroke(): void; 190 | /** 191 | * 开始创建一个路径,需要调用 fill 或者 stroke 才会使用路径进行填充或描边。 192 | * 在最开始的时候相当于调用了一次 beginPath()。 193 | * 同一个路径内的多次setFillStyle()、setStrokeStyle()、setLineWidth()等设置,以最后一次设置为准。 194 | */ 195 | beginPath(): void; 196 | /** 197 | * 关闭一个路径。 198 | * 关闭路径会连接起点和终点。 199 | * 如果关闭路径后没有调用 fill() 或者 stroke() 并开启了新的路径,那之前的路径将不会被渲染。 200 | */ 201 | closePath(): void; 202 | /** 203 | * 把路径移动到画布中的指定点,不创建线条。 204 | * 用 stroke() 方法来画线条。 205 | */ 206 | moveTo(x: number, y: number): void; 207 | /** 208 | * lineTo 方法增加一个新点,然后创建一条从上次指定点到目标点的线。 209 | * 用 stroke() 方法来画线条 210 | */ 211 | lineTo(x: number, y: number): void; 212 | /** 213 | * 画一条弧线。 214 | * 创建一个圆可以用 arc() 方法指定其实弧度为0,终止弧度为 2 * Math.PI。 215 | * 用 stroke() 或者 fill() 方法来在 canvas 中画弧线。 216 | * 217 | * @param x 圆 x 坐标 218 | * @param y 圆 y 坐标 219 | * @param r 圆半径 220 | * @param sAngle 起始弧度,单位弧度(在3点钟方向) 221 | * @param eAngle 终止弧度 222 | * @param counterclockwise 可选,指定弧度的方向是逆时针还是顺时针,默认为 false。 223 | */ 224 | arc(x: number, y: number, r: number, sAngle: number, eAngle: number, counterclockwise?: number): void; 225 | /** 226 | * 创建三次方贝塞尔曲线路径。 227 | * 曲线的起始点为路径中前一个点。 228 | */ 229 | bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; 230 | /** 231 | * 将当前创建的路径设置为当前剪切路径。 232 | */ 233 | clip(): void; 234 | /** 235 | * 创建二次贝塞尔曲线路径。 236 | * 曲线的起始点为路径中前一个点。 237 | */ 238 | quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; 239 | /** 240 | * 在调用scale方法后,之后创建的路径其横纵坐标会被缩放。多次调用scale,倍数会相乘。 241 | */ 242 | scale(scaleWidth: number, scaleHeight: number): void; 243 | /** 244 | * 以原点为中心,原点可以用 translate方法修改。顺时针旋转当前坐标轴。多次调用rotate,旋转的角度会叠加。 245 | */ 246 | rotate(rotate: number): void; 247 | /** 248 | * 对当前坐标系的原点(0, 0)进行变换,默认的坐标系原点为页面左上角。 249 | */ 250 | translate(x: number, y: number): void; 251 | /** 252 | * 设置字体大小。 253 | */ 254 | setFontSize(fontSize: number): void; 255 | /** 256 | * 在画布上绘制被填充的文本。 257 | */ 258 | fillText(text: string, x: number, y: number): void; 259 | /** 260 | * 绘制图像,图像保持原始尺寸。 261 | * 262 | * @param imageResource 图片资源, 只支持线上 cdn 地址或离线包地址,线上 cdn 需返回头 Access-Control-Allow-Origin: * 263 | */ 264 | drawImage(imageResource: string, x: number, y: number, width: number, height: number): void; 265 | /** 266 | * 设置全局画笔透明度。 267 | */ 268 | setGlobalAlpha(alpha: number): void; 269 | /** 270 | * 设置虚线的样式 271 | * 272 | * @param segments 一组描述交替绘制线段和间距(坐标空间单位)长度的数字。如果数组元素的数量是奇数,数组的元素会被复制并重复。例如,[5, 15, 25] 会变成 [5, 15, 25, 5, 15, 25]。 273 | */ 274 | setLineDash(segments: number[]): void; 275 | /** 276 | * 使用矩阵多次叠加当前变换的方法,矩阵由方法的参数进行描述。你可以缩放、旋转、移动和倾斜上下文。 277 | */ 278 | transform(scaleX: number, skewX: number, skewY: number, scaleY: number, translateX: number, translateY: number): void; 279 | /** 280 | * 使用单位矩阵重新设置(覆盖)当前的变换并调用变换的方法,此变换由方法的变量进行描述。 281 | */ 282 | setTransform(scaleX: number, skewX: number, skewY: number, scaleY: number, translateX: number, translateY: number): void; 283 | /** 284 | * 获取 canvas 区域隐含的像素数据。 285 | */ 286 | getImageData(options: IGetImageDataOptions): void; 287 | /** 288 | * 将像素数据绘制到画布。 289 | */ 290 | putImageData(options: IPutImageDataOptions): void; 291 | /** 292 | * 保存当前的绘图上下文。 293 | */ 294 | save(): void; 295 | /** 296 | * 恢复之前保存的绘图上下文。 297 | */ 298 | restore(): void; 299 | /** 300 | * 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。 301 | * 绘图上下文需要由 my.createCanvasContext(canvasId) 来创建。 302 | * 303 | * @param reserve 非必填。本次绘制是否接着上一次绘制,即 reserve 参数为 false 时则在本次调用 drawCanvas绘制之前 native 层应先清空画布再继续绘制;若 reserver 参数为true 时,则保留当前画布上的内容,本次调用drawCanvas绘制的内容覆盖在上面,默认 false 304 | * @param callback 绘制完成后执行的回调函数。 305 | */ 306 | draw(reserve?: boolean, callback?: () => void): void; 307 | /** 308 | * 测量文本尺寸信息,目前仅返回文本宽度。同步接口。 309 | */ 310 | measureText(text: string): { width: number }; 311 | } 312 | 313 | /** 314 | * 创建 canvas 绘图上下文。 315 | * 该绘图上下文只作用于对应 canvasId 的 316 | */ 317 | function createCanvasContext(canvasId: string): ICanvasContext; 318 | } 319 | -------------------------------------------------------------------------------- /types/api/ui/city.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 选择城市 3 | */ 4 | declare namespace my { 5 | interface IChooseCitySuccessResult { 6 | /** 7 | * 城市名 8 | */ 9 | readonly city: string; 10 | 11 | /** 12 | * 行政区划代码 13 | */ 14 | readonly adCode: string; 15 | } 16 | 17 | interface ICity { 18 | /** 19 | * 城市名 20 | */ 21 | city: string; 22 | 23 | /** 24 | * 行政区划代码 25 | */ 26 | adCode: string; 27 | 28 | /** 29 | * 城市名对应拼音拼写,方便用户搜索 30 | */ 31 | spell: string; 32 | } 33 | 34 | interface IChooseCityOptions { 35 | /** 36 | * 是否显示当前定位城市,默认 false 37 | */ 38 | showLocatedCity?: boolean; 39 | 40 | /** 41 | * 是否显示热门城市,默认 true 42 | */ 43 | showHotCities?: boolean; 44 | 45 | /** 46 | * 自定义城市列表 47 | */ 48 | cities?: Array<{ city: string; adCode: string; spell: string; }>; 49 | 50 | /** 51 | * 自定义热门城市列表 52 | */ 53 | hotCities?: Array<{ city: string; adCode: string; spell: string; }>; 54 | 55 | /** 56 | * 调用成功的回调函数 57 | */ 58 | success?(result: IChooseCitySuccessResult): void; 59 | 60 | /** 61 | * 调用失败的回调函数 62 | */ 63 | fail?(): void; 64 | 65 | /** 66 | * 调用失败的回调函数 67 | */ 68 | complete?(res?: IChooseCitySuccessResult): void; 69 | } 70 | 71 | /** 72 | * 打开城市选择列表。 73 | * 如果用户没有选择任何城市直接点击了返回,将不会触发回调函数。 74 | */ 75 | function chooseCity(options: IChooseCityOptions): void; 76 | } 77 | -------------------------------------------------------------------------------- /types/api/ui/contact.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 联系人 3 | */ 4 | declare namespace my { 5 | interface IChoosePhoneContactSuccessResult { 6 | /** 7 | * 选中的联系人姓名 8 | */ 9 | readonly name: string; 10 | /** 11 | * 选中的联系人手机号 12 | */ 13 | readonly mobile: string; 14 | } 15 | 16 | interface IChoosePhoneContactFailResult { 17 | /** 18 | * 10 -> 没有权限;11 -> 用户取消操作(或设备未授权使用通讯录) 19 | */ 20 | readonly error: 10 | 11; 21 | } 22 | 23 | interface IChoosePhoneContactOptions { 24 | success?(result: IChoosePhoneContactSuccessResult): void; 25 | fail?(result: IChoosePhoneContactFailResult): void; 26 | complete?(result: IChoosePhoneContactSuccessResult | IChoosePhoneContactFailResult): void; 27 | } 28 | 29 | /** 30 | * 选择本地系统通信录中某个联系人的电话。 31 | */ 32 | function choosePhoneContact(options: IChoosePhoneContactOptions): void; 33 | 34 | interface IChooseAlipayContactSuccessResult { 35 | /** 36 | * 选中的支付宝联系人数组 37 | */ 38 | contacts: Array<{ 39 | /** 40 | * 账号的真实姓名 41 | */ 42 | realName: string; 43 | /** 44 | * 账号对应的手机号码 45 | */ 46 | mobile?: string; 47 | /** 48 | * 账号的邮箱 49 | */ 50 | email?: string; 51 | /** 52 | * 账号的头像链接 53 | */ 54 | avatar: string; 55 | /** 56 | * 支付宝账号唯一 userId 57 | */ 58 | userId: string; 59 | }>; 60 | } 61 | 62 | interface IChooseAlipayContactFailResult { 63 | /** 64 | * 10 -> 没有权限;11 -> 用户取消操作(或设备未授权使用通讯录) 65 | */ 66 | error: 10 | 11; 67 | } 68 | 69 | interface IChooseAlipayContactOptions { 70 | /** 71 | * 单次最多选择联系人个数,默认 1,最大 10 72 | */ 73 | count?: number; 74 | success?(result: IChooseAlipayContactSuccessResult): void; 75 | fail?(result: IChooseAlipayContactFailResult): void; 76 | complete?(result: IChooseAlipayContactSuccessResult | IChooseAlipayContactFailResult): void; 77 | } 78 | 79 | function chooseAlipayContact(options: IChooseAlipayContactOptions): void; 80 | 81 | interface IChooseContactSuccessResult { 82 | readonly contactsDicArray: ReadonlyArray<{ 83 | /** 84 | * 支付宝账号唯一 userId 85 | */ 86 | readonly userId: string; 87 | /** 88 | * 账号的头像链接 89 | */ 90 | readonly avatar: string; 91 | /** 92 | * 账号对应的手机号码 93 | */ 94 | readonly mobile: string; 95 | /** 96 | * 账号的真实姓名 97 | */ 98 | readonly realName: string; 99 | /** 100 | * 账号的显示名称:也即支付宝设置的备注名称,默认为朋友圈里面的昵称 101 | */ 102 | readonly displayName: string; 103 | }>; 104 | } 105 | 106 | interface IChooseContactOptions { 107 | /** 108 | * 选择类型,值为single(单选)或者 multi(多选) 109 | */ 110 | chooseType: 'single' | 'multi'; 111 | /** 112 | * 包含手机通讯录联系人的模式:默认为不包含(none)、或者仅仅包含双向通讯录联系人(known)、或者包含手机通讯录联系人(all) 113 | */ 114 | includeMobileContactMode?: 'none' | 'known' | 'all'; 115 | /** 116 | * 是否包含自己 117 | */ 118 | includeMe?: boolean; 119 | /** 120 | * 最大选择人数,仅 chooseType 为 multi 时才有效 121 | */ 122 | multiChooseMax?: number; 123 | /** 124 | * 多选达到上限的文案,仅 chooseType 为 multi 时才有效 125 | */ 126 | multiChooseMaxTips?: string; 127 | success?(result: IChooseContactSuccessResult): void; 128 | fail?(): void; 129 | complete?(result?: IChooseContactSuccessResult): void; 130 | } 131 | /** 132 | * 唤起选人组件,默认只包含支付宝联系人,可以通过修改参数包含手机通讯录联系人或者双向通讯录联系人。 133 | */ 134 | function chooseContact(options: IChooseContactOptions): void; 135 | } 136 | -------------------------------------------------------------------------------- /types/api/ui/date.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 选择日期 3 | */ 4 | declare namespace my { 5 | interface IDatePickerFailResult { 6 | /** 7 | * - 11:用户取消操作 8 | */ 9 | readonly error: 11; 10 | } 11 | 12 | interface IDatePickerSuccessResult { 13 | /** 14 | * 选择的日期 15 | */ 16 | readonly date: string; 17 | } 18 | 19 | interface IDatePickerOptions { 20 | /** 21 | * 返回的日期格式, 22 | * 1. yyyy-MM-dd(默认) 23 | * 2. HH:mm 24 | * 3. yyyy-MM-dd HH:mm 25 | * 4. yyyy-MM (最低基础库:1.1.1, 可用 canIUse('datePicker.object.format.yyyy-MM') 判断) 26 | * 5. yyyy (最低基础库:1.1.1,可用 canIUse('datePicker.object.format.yyyy') 判断) 27 | */ 28 | format?: string; 29 | 30 | /** 31 | * 初始选择的日期时间,默认当前时间 32 | */ 33 | currentDate?: string; 34 | 35 | /** 36 | * 最小日期时间 37 | */ 38 | startDate?: string; 39 | 40 | /** 41 | * 最大日期时间 42 | */ 43 | endDate?: string; 44 | 45 | /** 46 | * 调用成功的回调函数 47 | */ 48 | success?(result: IDatePickerSuccessResult): void; 49 | 50 | /** 51 | * 调用失败的回调函数 52 | */ 53 | fail?(result: IDatePickerFailResult): void; 54 | 55 | /** 56 | * 调用结束的回调函数(调用成功、失败都会执行) 57 | */ 58 | complete?(result: IDatePickerFailResult | IDatePickerSuccessResult): void; 59 | } 60 | 61 | /** 62 | * 打开日期选择列表 63 | */ 64 | function datePicker(options: IDatePickerOptions): void; 65 | } 66 | -------------------------------------------------------------------------------- /types/api/ui/feedback.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 交互反馈 3 | */ 4 | declare namespace my { 5 | interface IShowToastOptions { 6 | /** 7 | * 提示的内容 8 | */ 9 | content?: string; 10 | 11 | /** 12 | * toast 类型,展示相应图标,success, fail, exception, none(默认值)。其中 exception 类型必须传文字信息 13 | */ 14 | type?: 'success' | 'fail' | 'exception' | 'none'; 15 | 16 | /** 17 | * 显示时长,单位为 ms,默认 2000 18 | */ 19 | duration?: number; 20 | 21 | /** 22 | * 调用成功的回调函数 23 | */ 24 | success?: () => void; 25 | 26 | /** 27 | * 调用失败的回调函数 28 | */ 29 | fail?: () => void; 30 | 31 | /** 32 | * 调用结束的回调函数(调用成功、失败都会执行) 33 | */ 34 | complete?: () => void; 35 | } 36 | 37 | /** 38 | * 显示一个弱提示,可选择多少秒之后消失。 39 | */ 40 | function showToast(options: IShowToastOptions): void; 41 | 42 | interface IHideToastOptions { 43 | success?: () => void; 44 | fail?: () => void; 45 | complete?: () => void; 46 | } 47 | /** 48 | * 隐藏消息提示框 49 | */ 50 | function hideToast(options?: IHideToastOptions): void; 51 | 52 | interface IAlertOptions { 53 | /** 54 | * alert框的标题 55 | */ 56 | title?: string; 57 | 58 | /** 59 | * alert框的内容 60 | */ 61 | content?: string; 62 | 63 | /** 64 | * 按钮文字,默认确定 65 | */ 66 | buttonText?: string; 67 | 68 | /** 69 | * 调用成功的回调函数 70 | */ 71 | success?: () => void; 72 | 73 | /** 74 | * 调用失败的回调函数 75 | */ 76 | fail?: () => void; 77 | 78 | /** 79 | * 调用结束的回调函数(调用成功、失败都会执行) 80 | */ 81 | complete?: () => void; 82 | } 83 | 84 | /** 85 | * alert 警告框 86 | */ 87 | function alert(options: IAlertOptions): void; 88 | 89 | interface IConfirmSuccessResult { 90 | /** 91 | * 点击 confirm 返回 true,点击 cancel 返回false 92 | */ 93 | readonly confirm: boolean; 94 | 95 | /** 96 | * 是否点击了确认 97 | */ 98 | readonly ok?: boolean; 99 | } 100 | 101 | interface IConfirmOptions { 102 | /** 103 | * confirm框的标题 104 | */ 105 | title?: string; 106 | 107 | /** 108 | * confirm框的内容 109 | */ 110 | content?: string; 111 | 112 | /** 113 | * 确认按钮文字,默认‘确定’ 114 | */ 115 | confirmButtonText?: string; 116 | 117 | /** 118 | * 确认按钮文字,默认‘取消’ 119 | */ 120 | cancelButtonText?: string; 121 | 122 | /** 123 | * 调用成功的回调函数 124 | */ 125 | success?: (result: IConfirmSuccessResult) => void; 126 | 127 | /** 128 | * 调用失败的回调函数 129 | */ 130 | fail?: (result: IConfirmSuccessResult) => void; 131 | 132 | /** 133 | * 调用结束的回调函数(调用成功、失败都会执行) 134 | */ 135 | complete?: (result: IConfirmSuccessResult) => void; 136 | } 137 | 138 | /** 139 | * confirm 确认框。 140 | */ 141 | function confirm(options: IConfirmOptions): void; 142 | 143 | interface IPromptSuccessResult { 144 | /** 145 | * 点击 ok 返回 true,点击 cancel 返回false 146 | */ 147 | readonly ok: boolean; 148 | 149 | /** 150 | * 当ok为true时,返回用户输入的内容 151 | */ 152 | readonly inputValue?: string; 153 | } 154 | 155 | interface IPromptOptions { 156 | /** 157 | * prompt框标题 158 | */ 159 | title?: string; 160 | 161 | /** 162 | * prompt框文本,默认‘请输入内容’ 163 | */ 164 | message: string; 165 | 166 | /** 167 | * 输入框内的提示文案 168 | */ 169 | placeholder?: string; 170 | 171 | /** 172 | * message对齐方式,可用枚举left/center/right,iOS ‘center’, android ‘left’ 173 | */ 174 | align?: 'left' | 'center' | 'right'; 175 | 176 | /** 177 | * 确认按钮文字,默认‘确定’ 178 | */ 179 | okButtonText?: string; 180 | 181 | /** 182 | * 取消按钮文字,默认‘取消’ 183 | */ 184 | cancelButtonText?: string; 185 | 186 | /** 187 | * 调用成功的回调函数 188 | */ 189 | success?: (result: IPromptSuccessResult) => void; 190 | 191 | /** 192 | * 调用失败的回调函数 193 | */ 194 | fail?: () => void; 195 | 196 | /** 197 | * 调用结束的回调函数(调用成功、失败都会执行) 198 | */ 199 | complete: () => void; 200 | } 201 | 202 | function prompt(options: IPromptOptions): void; 203 | 204 | interface IShowLoadingOptions { 205 | /** 206 | * loading内容 207 | */ 208 | content?: string; 209 | 210 | /** 211 | * loading延迟时间,默认 0。如果在此时间之前调用了 my.hideLoading 则不会显示 212 | */ 213 | delay?: number; 214 | 215 | /** 216 | * 调用成功的回调函数 217 | */ 218 | success?(): void; 219 | 220 | /** 221 | * 调用失败的回调函数 222 | */ 223 | fail?(): void; 224 | 225 | /** 226 | * 调用结束的回调函数(调用成功、失败都会执行) 227 | */ 228 | complete?(): void; 229 | } 230 | 231 | /** 232 | * 显示消息提示框 233 | */ 234 | function showLoading(options?: string | IShowLoadingOptions): Promise; 235 | 236 | interface IHideLoadingOptions { 237 | /** 238 | * 页面实例, 每个页面实例有一个loading, 如果不传入该参数可能会导致loading无法取消。 239 | * 无语的设计@小程序 240 | * 参考: https://docs.alipay.com/mini/api/ui-feedback#a-name7bgvmdamyhideloading 241 | */ 242 | page?: tinyapp.IPageInstance; 243 | } 244 | 245 | /** 246 | * 显示消息提示框 247 | */ 248 | function hideLoading(options?: IHideLoadingOptions): Promise; 249 | 250 | interface IShowActionSheetSuccessResult { 251 | readonly index: number; 252 | } 253 | 254 | interface IShowActionSheetOptions { 255 | /** 256 | * 菜单标题 257 | */ 258 | title?: string; 259 | 260 | /** 261 | * 菜单按钮文字数组 262 | */ 263 | items: string[]; 264 | 265 | /** 266 | * 取消按钮文案。默认为‘取消’。注:Android平台此字段无效,不会显示取消按钮。 267 | */ 268 | cancelButtonText?: string; 269 | 270 | /** 271 | * (iOS特殊处理)指定按钮的索引号,从0开始,使用场景:需要删除或清除数据等类似场景,默认红色 272 | */ 273 | destructiveBtnIndex?: number; 274 | 275 | /** 276 | * 需飘红选项的数组,数组内部对象字段见下表 277 | */ 278 | badges?: Array<{ 279 | /** 280 | * 需要飘红的选项的索引,从0开始 281 | */ 282 | index: number; 283 | 284 | /** 285 | * 飘红类型,支持 none(无红点)/ point(纯红点) / num(数字红点)/ text(文案红点)/ more(...) 286 | */ 287 | type: 'none' | 'point' | 'num' | 'text' | 'more'; 288 | 289 | /** 290 | * 自定义飘红文案: 291 | * - 1、type为none/point/more时本文案可不填 292 | * - 2、type为num时本文案为小数或<=0均不显示, >100 显示"..." 293 | */ 294 | text?: string; 295 | }>; 296 | 297 | /** 298 | * 调用成功的回调函数 299 | */ 300 | success?(res: IShowActionSheetSuccessResult): void; 301 | 302 | /** 303 | * 调用失败的回调函数 304 | */ 305 | fail?(): void; 306 | 307 | /** 308 | * 调用结束的回调函数(调用成功、失败都会执行) 309 | */ 310 | complete?(res?: IShowActionSheetSuccessResult): void; 311 | } 312 | 313 | /** 314 | * 显示操作菜单。 315 | */ 316 | function showActionSheet(options: IShowActionSheetOptions): void; 317 | } 318 | -------------------------------------------------------------------------------- /types/api/ui/font.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace my { 2 | interface ILoadFontFaceOptions { 3 | /** 4 | * 字体名称 5 | */ 6 | family: string; 7 | 8 | /** 9 | * 字体资源地址。 10 | * 目前只支持 woff,otf,ttf,sfnt 字体。 11 | * 支付宝小程序不支持woff2字体,原因是: 12 | * 1. 相对其他格式字体,对内存占用较高。 13 | * 2. 此字体支持对于内核so size有较大负担,目前支付宝使用的 u4 内核3.0 将woff2格式支持给裁剪了,导致无法正常显示,建议业务使用其他格式。 14 | */ 15 | source: string; 16 | 17 | /** 18 | * 字体描述符 19 | */ 20 | desc?: { 21 | /** 22 | * 字体样式 23 | */ 24 | style?: 'normal' | 'italic' | 'oblique'; 25 | 26 | /** 27 | * 字体粗细 28 | */ 29 | weight?: 'normal' | 'bold' | '100' | '200' | '300' 30 | | '400' | '500' | '600' | '700' | '800' | '900'; 31 | 32 | /** 33 | * 设置小型大写字母的字体显示文本 34 | */ 35 | variant?: 'normal' | 'small-caps' | 'inherit'; 36 | }; 37 | 38 | success?: () => void; 39 | 40 | fail?: () => void; 41 | 42 | complete?: () => void; 43 | } 44 | 45 | function loadFontFace(options: ILoadFontFaceOptions): void; 46 | } 47 | -------------------------------------------------------------------------------- /types/api/ui/index.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | /// 6 | /// 7 | /// 8 | /// 9 | /// 10 | /// 11 | /// 12 | /// 13 | /// 14 | /// 15 | /// 16 | /// 17 | /// 18 | -------------------------------------------------------------------------------- /types/api/ui/keyboard.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 键盘 3 | */ 4 | declare namespace my { 5 | /** 6 | * 隐藏键盘。 7 | */ 8 | function hideKeyboard(): void; 9 | } 10 | -------------------------------------------------------------------------------- /types/api/ui/lottie.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file Lottie动画 3 | */ 4 | declare namespace my { 5 | interface ILottieContext { 6 | /** 7 | * Lottie组件的id 8 | */ 9 | id?: string; 10 | /** 11 | * pageId,默认0 12 | */ 13 | page?: number; 14 | 15 | /** 16 | * 是否暂停状态 17 | */ 18 | paused: boolean; 19 | 20 | /** 21 | * 是否是插件 22 | */ 23 | isPlugin?: any; 24 | 25 | /** 26 | * 开始播放 27 | */ 28 | play: () => void; 29 | 30 | /** 31 | * 停止播放 32 | */ 33 | stop: () => void; 34 | 35 | /** 36 | * 暂停 37 | */ 38 | pause: () => void; 39 | 40 | /** 41 | * 设置播放速度。正数为正向播放,负数负向播放。 42 | * 默认值:1 43 | */ 44 | setSpeed: (value: number) => void; 45 | 46 | /** 47 | * 返回总时长,单位毫秒 48 | */ 49 | getDuration: () => void; 50 | 51 | /** 52 | * goto 到 value 并停在该进度。 53 | * value: [0.0~1.0] 54 | */ 55 | goToAndPlay: (value: number) => void; 56 | 57 | /** 58 | * goto 到 value 并从该进度开始播。 59 | * value: [0.0~1.0] 60 | */ 61 | goToAndStop: (value: number) => void; 62 | 63 | /** 64 | * 获取Lottie信息 65 | */ 66 | getLottieInfo: () => void; 67 | 68 | /** 69 | * 设置参数化Key-Value 70 | */ 71 | fillVariableValue: () => void; 72 | 73 | /** 74 | * 当前Lottie视图指定降级为展示placeholder 75 | */ 76 | downgradeToPlaceholder: () => void; 77 | 78 | /** 79 | * 从最小到最大的Frame区间进行播放 80 | * min: 最小帧 81 | * max: 最大帧 整数值 82 | */ 83 | playFromMinToMaxFrame: (min: number, max: number) => void; 84 | 85 | /** 86 | * 从最小到最大的进度区间进行播放 87 | * 进度区间进行播放 88 | * min: 最小进度 89 | * max: 最大进度 百分比 [0.0~1.0] 90 | */ 91 | playFromMinToMaxProgress: (min: number, max: number) => void; 92 | } 93 | 94 | /** 95 | * 创建并返回Lottie实例对象:LottieContext 96 | */ 97 | function createLottieContext(id: string): ILottieContext; 98 | } 99 | -------------------------------------------------------------------------------- /types/api/ui/map.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 地图 3 | */ 4 | declare namespace my { 5 | interface IGetCenterLocationResult { 6 | readonly longitude: number; 7 | readonly latitude: number; 8 | readonly scale: number; 9 | } 10 | 11 | interface IShowRouteOptions { 12 | /** 13 | * 搜索类型:10.1.50新增,有"walk", "bus", "drive", "ride", 默认值为walk 14 | */ 15 | searchType: 'bus' | 'walk' | 'drive' | 'ride'; 16 | 17 | /** 18 | * 起点纬度 19 | */ 20 | startLat?: number; 21 | 22 | /** 23 | * 起点经度 24 | */ 25 | startLng?: number; 26 | 27 | /** 28 | * 终点纬度 29 | */ 30 | endLat?: number; 31 | 32 | /** 33 | * 终点经度 34 | */ 35 | endLng?: number; 36 | 37 | /** 38 | * 途径点:10.1.50新增,仅驾车规划有效,searchType=“drive” 39 | */ 40 | throughPoints: Array<{ 41 | lat: number; 42 | lng: number; 43 | }>; 44 | 45 | /** 46 | * 路线颜色 10.1.50之后,该值仅在2d地图中生效 47 | */ 48 | routeColor?: string; 49 | 50 | /** 51 | * 路线纹理 10.1.35 3d地图其优先级高于routeColor,即纹理会覆盖颜色值;10.1.50建议不再设置,在3d地图下提供了默认的纹理图案。 52 | */ 53 | iconPath?: string; 54 | 55 | /** 56 | * 纹理宽度 10.1.35 iconPath设置时才生效。10.1.50建议不再设置,在3d地图下提供了默认的纹理宽度。 57 | */ 58 | iconWidth?: number; 59 | 60 | /** 61 | * 路线宽度 在不设置纹理时有效。 10.1.50建议不再设置,在2d地图下提供了默认值,3d不需要设置。 62 | */ 63 | routeWidth?: number; 64 | 65 | /** 66 | * 覆盖物 Z 轴坐标 10.1.35 67 | */ 68 | zIndex?: number; 69 | 70 | /** 71 | * 只有驾车模式和公交模式支持,可选。 72 | * 73 | * - 0:最快捷模式,速度优先(时间) 74 | * - 1:最经济模式,费用优先(不走收费路段的最快道路) 75 | * - 2:最少换乘模式,距离优先 76 | * - 3:最少步行模式,不走快速路 77 | * - 4:最舒适模式,结合实时交通(躲避拥堵) 78 | * - 5:不乘地铁模式,多策略(同时使用速度优先、费用优先、距离优先三个策略) 79 | * - 6:不走高速 80 | * - 7:不走高速且避免收费 81 | * - 8:躲避收费和拥堵 82 | * - 9:不走高速且躲避收费和拥堵 83 | */ 84 | mode?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9; 85 | 86 | /** 87 | * 公交模式下必填 88 | */ 89 | city?: string; 90 | 91 | /** 92 | * 公交跨城模式下必填 93 | */ 94 | destinationCity?: string; 95 | } 96 | 97 | interface IGestureEnableOptions { 98 | isGestureEnable: 0 | 1; 99 | } 100 | 101 | interface IShowsScaleOptions { 102 | isShowsScale: 0 | 1; 103 | } 104 | 105 | interface IShowsCompassOptions { 106 | isShowsCompass: 0 | 1; 107 | } 108 | 109 | interface IUpdateComponentsOptions { 110 | scale?: number; 111 | longitude?: number; 112 | latitude?: number; 113 | command?: { 114 | /** 115 | * marker动画 116 | */ 117 | markerAnim?: Array<{ 118 | type?: number; 119 | markerId?: string; 120 | }>, 121 | }; 122 | setting?: { 123 | /** 124 | * 手势 125 | */ 126 | gestureEnable?: 0 | 1; 127 | 128 | /** 129 | * 比例尺 130 | */ 131 | showScale?: 0 | 1; 132 | 133 | /** 134 | * 指南针 135 | */ 136 | showCompass?: 0 | 1; 137 | 138 | /** 139 | * 双手下滑 140 | */ 141 | tiltGesturesEnabled?: 0 | 1; 142 | 143 | /** 144 | * 交通路况展示 145 | */ 146 | trafficEnabled?: 0 | 1; 147 | 148 | /** 149 | * 地图POI信息 150 | */ 151 | showMapText?: 0 | 1; 152 | 153 | /** 154 | * 高德地图logo位置 155 | */ 156 | logoPosition?: { centerX?: number; centerY?: number; }; 157 | }; 158 | markers?: any[]; 159 | polylines?: any[]; 160 | 'include-points'?: any[]; 161 | 'include-padding'?: { 162 | left?: 0; 163 | right?: 0; 164 | top?: 0; 165 | bottom?: 0; 166 | }; 167 | } 168 | 169 | interface ITranslateMarkerOptions { 170 | markerId: string; 171 | destination: { 172 | longitude: number; 173 | latitude: number; 174 | }; 175 | 176 | /** 177 | * 选填,默认true 178 | */ 179 | autoRotate?: boolean; 180 | 181 | /** 182 | * 选填,在autoRotate为false的情况下才有效,不填默认是0 183 | */ 184 | rotate?: number; 185 | 186 | /** 187 | * 选填,单位ms,默认1000ms 188 | */ 189 | duration?: number; 190 | 191 | /** 192 | * 动画结束回调 193 | */ 194 | animationEnd?: () => void; 195 | } 196 | 197 | interface IMapContext { 198 | /** 199 | * 移动视野到定位点并恢复到默认缩放级别,需要配合map组件的show-location使用 200 | */ 201 | moveToLocation(): void; 202 | /** 203 | * 设置所有手势是否可用,1:可用 ,0:不可用 204 | */ 205 | gestureEnable(options: IGestureEnableOptions): void; 206 | /** 207 | * 设置比例尺控件是否可见,1:可见 ,0:不可见 208 | */ 209 | showsScale(options: IShowsScaleOptions): void; 210 | /** 211 | * 设置指南针是否可见,1:可见 ,0:不可见 212 | */ 213 | showsCompass(options: IShowsCompassOptions): void; 214 | /** 215 | * 规划步行路线,一条 216 | */ 217 | showRoute(options: IShowRouteOptions): void; 218 | /** 219 | * 清除地图上的步行导航路线 220 | */ 221 | clearRoute(): void; 222 | /** 223 | * 获取当前地图中心位置 224 | */ 225 | getCenterLocation(callback: (res: IGetCenterLocationResult) => {}): void; 226 | /** 227 | * 增量更新地图接口 228 | */ 229 | updateComponents(options: IUpdateComponentsOptions): void; 230 | 231 | /** 232 | * 平移marker接口 233 | * 备注:对同一个markerId在translateMarker没animationEnd之前再次调动会被丢掉,下一次动画需要在animationEnd之后再调用才有效。 234 | */ 235 | translateMarker(options: ITranslateMarkerOptions): void; 236 | } 237 | 238 | /** 239 | * 创建并返回一个 map 上下文对象 mapContext。 240 | */ 241 | function createMapContext(mapId: string): IMapContext; 242 | } 243 | -------------------------------------------------------------------------------- /types/api/ui/multiLevelSelect.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 级联选择 3 | */ 4 | declare namespace my { 5 | type MultiLevelSelectOptionsList = Array<{ name: string; subList?: MultiLevelSelectOptionsList; }>; 6 | 7 | type MultiLevelSelectSuccessResult = { 8 | /** 9 | * 是否选择完成,取消返回false 10 | */ 11 | readonly success: false 12 | } | { 13 | /** 14 | * 是否选择完成,取消返回false 15 | */ 16 | readonly success: true; 17 | 18 | /** 19 | * 选择的结果,如[{“name”:”杭州市”},{“name”:”上城区”},{“name”:”古翠街道”}] 20 | */ 21 | readonly result: MultiLevelSelectOptionsList; 22 | }; 23 | 24 | interface IMultiLevelSelectOptions { 25 | /** 26 | * 标题 27 | */ 28 | title?: string; 29 | 30 | /** 31 | * 选择数据列表 32 | */ 33 | list: MultiLevelSelectOptionsList; 34 | 35 | /** 36 | * 条目名称 37 | */ 38 | name: string; 39 | 40 | /** 41 | * 子条目列表 42 | */ 43 | subList?: IMultiLevelSelectOptions; 44 | 45 | /** 46 | * 调用成功的回调函数 47 | */ 48 | success?(result: MultiLevelSelectSuccessResult): void; 49 | 50 | /** 51 | * 调用失败的回调函数 52 | */ 53 | fail?(): void; 54 | 55 | /** 56 | * 调用结束的回调函数(调用成功、失败都会执行) 57 | */ 58 | complete?(result?: MultiLevelSelectSuccessResult): void; 59 | } 60 | 61 | /** 62 | * 级联选择功能主要使用在于多级关联数据选择,比如说省市区的信息选择。 63 | */ 64 | function multiLevelSelect(options: IMultiLevelSelectOptions): void; 65 | } 66 | -------------------------------------------------------------------------------- /types/api/ui/navigator.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace my { 2 | interface INavigateBaseCallbackOptions { 3 | /** 4 | * 调用成功的回调函数 5 | */ 6 | success?(): void; 7 | /** 8 | * 调用失败的回调函数 9 | */ 10 | fail?(): void; 11 | /** 12 | * 调用结束的回调函数(调用成功、失败都会执行) 13 | */ 14 | complete?(): void; 15 | } 16 | 17 | interface INavigateToOptions extends INavigateBaseCallbackOptions { 18 | /** 19 | * 需要跳转的应用内非 tabBar 的目标页面路径 ,路径后可以带参数。 20 | * 参数规则如下:路径与参数之间使用?分隔,参数键与参数值用=相连,不同参数必须用&分隔; 21 | * 如 path?key1=value1&key2=value2 22 | */ 23 | url: string; 24 | } 25 | /** 26 | * 保留当前页面,跳转到应用内的某个指定页面,可以使用 my.navigateBack 返回到原来页面。 27 | * 注意:页面最大深度为10,即可连续调用 10 次 navigateTo 28 | */ 29 | function navigateTo(options: INavigateToOptions): void; 30 | 31 | interface IRedirectToOptions extends INavigateBaseCallbackOptions { 32 | /** 33 | * 需要跳转的应用内非 tabBar 的目标页面路径,路径后可以带参数。 34 | * 参数规则如下:路径与参数之间使用?分隔,参数键与参数值用=相连,不同参数必须用&分隔; 35 | * 如path?key1=value1&key2=value2 36 | */ 37 | url: string; 38 | } 39 | /** 40 | * 关闭当前页面,跳转到应用内的某个指定页面。 41 | */ 42 | function redirectTo(options: IRedirectToOptions): void; 43 | 44 | interface INavigateBackOptions { 45 | /** 46 | * 返回的页面数,如果 delta 大于现有打开的页面数,则返回到首页 47 | */ 48 | delta?: number; 49 | } 50 | /** 51 | * 关闭当前页面,返回上一级或多级页面。可通过 getCurrentPages 获取当前的页面栈信息,决定需要返回几层。 52 | */ 53 | function navigateBack(options?: INavigateBackOptions): void; 54 | 55 | interface IRelaunchOptions extends INavigateBaseCallbackOptions { 56 | /** 57 | * 页面路径。如果页面不为 tabbar 页面则路径后可以带参数。 58 | * 参数规则如下:路径与参数之间使用?分隔,参数键与参数值用=相连,不同参数必须用&分隔; 59 | * 如path?key1=value1&key2=value2 60 | */ 61 | url: string; 62 | } 63 | /** 64 | * 关闭当前所有页面,跳转到应用内的某个指定页面。 65 | * 基础库 1.4.0+ & 支付宝客户端 10.1.8+ 支持 66 | */ 67 | function reLaunch(options: IRelaunchOptions): void; 68 | 69 | interface ISetNavigationBarOptions extends INavigateBaseCallbackOptions { 70 | /** 71 | * 导航栏标题 72 | */ 73 | title?: string; 74 | /** 75 | * 图片连接地址,必须是https,请使用3x高清图片。若设置了image则title参数失效 76 | */ 77 | image?: string; 78 | /** 79 | * 导航栏背景色,支持十六进制颜色值 80 | */ 81 | backgroundColor?: string; 82 | /** 83 | * 导航栏底部边框颜色,支持十六进制颜色值。若设置了 backgroundColor,则borderBottomColor 不会生效,默认会和 backgroundColor 颜色一样 84 | */ 85 | borderBottomColor?: string; 86 | /** 87 | * 是否重置导航栏为支付宝默认配色,默认 false 88 | */ 89 | reset?: boolean; 90 | } 91 | 92 | /** 93 | * 设置导航栏文字及样式。 94 | */ 95 | function setNavigationBar(options: ISetNavigationBarOptions): void; 96 | 97 | /** 98 | * 显示导航栏 loading。 99 | */ 100 | function showNavigationBarLoading(): void; 101 | 102 | /** 103 | * 隐藏导航栏 loading。 104 | */ 105 | function hideNavigationBarLoading(): void; 106 | 107 | /** 108 | * 隐藏TitleBar上的返回首页图标,和通用菜单中的“返回首页”功能。 109 | * 返回首页功能出现时机:当用户启动小程序,若直接进入的页面不是小程序的首页,则会在左上角出现返回首页icon,若用户继续在页面中进入下一级页面,则在右上角更多菜单中,会出现“返回首页”功能。 110 | */ 111 | function hideBackHome(): void; 112 | } 113 | -------------------------------------------------------------------------------- /types/api/ui/optionsSelect.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace my { 2 | interface IOptionsSelectSuccessResult { 3 | /** 4 | * 选项一选择的值 5 | */ 6 | selectedOneIndex: number; 7 | 8 | /** 9 | * 选项一选择的内容 10 | */ 11 | selectedOneOption: string; 12 | 13 | /** 14 | * 选项二选择的值 15 | */ 16 | selectedTwoIndex: number; 17 | 18 | /** 19 | * 选项二选择的值 20 | */ 21 | selectedTwoOption: string; 22 | } 23 | 24 | interface IOptionsSelectOptions { 25 | /** 26 | * 头部标题信息 27 | */ 28 | title?: string; 29 | 30 | /** 31 | * 选项一列表 32 | */ 33 | optionsOne: string[]; 34 | 35 | /** 36 | * 选项二列表 37 | */ 38 | optionsTwo?: string[]; 39 | 40 | /** 41 | * 选项一默认选中 42 | */ 43 | selectedOneIndex?: number; 44 | 45 | /** 46 | * 选项二默认选中 47 | */ 48 | selectedTwoIndex?: number; 49 | 50 | /** 51 | * 确定按钮文案 52 | */ 53 | positiveString?: string; 54 | 55 | /** 56 | * 取消按钮文档 57 | */ 58 | negativeString?: string; 59 | 60 | success?(res: IOptionsSelectSuccessResult): void; 61 | } 62 | 63 | /** 64 | * 类似于 safari 原生 select 的组件,但是功能更加强大,一般用来替代 select,或者 2 级数据的选择。 65 | * 注意不支持 2 级数据之间的联动。 66 | */ 67 | function optionsSelect(options: IOptionsSelectOptions): void; 68 | } 69 | -------------------------------------------------------------------------------- /types/api/ui/pulldown.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 设置页面是否支持下拉 3 | */ 4 | 5 | declare namespace my { 6 | interface ICanPullDownOptions { 7 | canPullDown: boolean; 8 | } 9 | 10 | /** 11 | * 设置页面是否支持下拉(小程序内页面默认支持下拉) 12 | */ 13 | function setCanPullDown(options: ICanPullDownOptions): void; 14 | } 15 | -------------------------------------------------------------------------------- /types/api/ui/query.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 节点查询 3 | */ 4 | declare namespace my { 5 | interface ISelectorQuerySelectMethod { 6 | /** 7 | * 选择当前第一个匹配选择器的节点,选择器支持 id 选择器以及 class 选择器. 8 | */ 9 | select(selector: string): ISelectorQueryMeasureMethod; 10 | /** 11 | * 选择所有匹配选择器的节点,选择器支持 id 选择器以及 class 选择器. 12 | */ 13 | selectAll(selector: string): ISelectorQueryMeasureMethod; 14 | /** 15 | * 选择窗口对象 16 | */ 17 | selectViewport(): ISelectorQueryMeasureMethod; 18 | } 19 | 20 | type BoundingClientRectResult = { 21 | width: number; 22 | height: number; 23 | } | { 24 | width: number; 25 | height: number; 26 | left: number; 27 | top: number; 28 | bottom: number; 29 | right: number; 30 | }; 31 | 32 | interface IScrollOffsetResult { 33 | scrollTop: number; 34 | scrollLeft: number; 35 | } 36 | 37 | interface ISelectorQueryMeasureMethod { 38 | /** 39 | * 将当前选择节点的位置信息放入查询结果,类似 dom 的 getBoundingClientRect, 40 | * 返回对象包含 width/height/left/top/bottom/right. 如果当前节点为窗口对象则只返回 width/height. 41 | */ 42 | boundingClientRect(): ISelectorQuerySelectMethod & ISelectorQueryStopMethod; 43 | /** 44 | * 将当前选择节点的滚动信息放入查询结果,返回对象包含 scrollTop/scrollLeft. 45 | */ 46 | scrollOffset(): ISelectorQuerySelectMethod & ISelectorQueryStopMethod; 47 | } 48 | 49 | type SelectorQueryStopMethodExecResult = ReadonlyArray 51 | | Readonly 52 | | null 53 | >; 54 | 55 | interface ISelectorQueryStopMethod { 56 | /** 57 | * 将查询结果放入 callback 回调中。查询结果为数组,每项为一次查询的结果,如果当前是节点列表,则单次查询结果也为数组。 58 | * 注意 exec 必须放到 Page onReady 后调用。 59 | */ 60 | exec(callback: (result: SelectorQueryStopMethodExecResult) => {}): void; 61 | } 62 | 63 | interface ICreateSelectorQueryOptions { 64 | page: string; 65 | } 66 | /** 67 | * 获取一个节点查询对象 SelectorQuery 68 | */ 69 | function createSelectorQuery(params?: ICreateSelectorQueryOptions): ISelectorQuerySelectMethod; 70 | } 71 | -------------------------------------------------------------------------------- /types/api/ui/refresh.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 下拉刷新 3 | */ 4 | declare namespace my { 5 | interface IStartPullDownRefreshOptions { 6 | success?: () => void; 7 | fail?: () => void; 8 | complete?: () => void; 9 | } 10 | interface IStopPullDownRefreshOptions { 11 | success?: () => void; 12 | fail?: () => void; 13 | complete?: () => void; 14 | } 15 | /** 16 | * 停止当前页面的下拉刷新。 17 | */ 18 | function stopPullDownRefresh(options?: IStartPullDownRefreshOptions): void; 19 | 20 | /** 21 | * 开始下拉刷新。代码执行后触发下拉刷新动画,效果与用户手动下拉刷新保持一致。 22 | */ 23 | function startPullDownRefresh(options?: IStopPullDownRefreshOptions): void; 24 | } 25 | -------------------------------------------------------------------------------- /types/api/ui/scroll.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 滚动 3 | */ 4 | declare namespace my { 5 | interface IPageScrollToOptions { 6 | /** 7 | * 滚动到页面的目标位置,单位 px。使用 my.pageScrollTo 跳转小程序顶部时,必须将 scrollTop 值设为大于 0,方可实现跳转 8 | */ 9 | scrollTop?: number; 10 | /** 11 | * 滚动动画的时长,单位ms 12 | */ 13 | duration?: number; 14 | /** 15 | * 选择器 16 | */ 17 | selector?: string; 18 | /** 19 | * 接口调用成功的回调函数 20 | */ 21 | success?: () => void; 22 | /** 23 | * 接口调用失败的回调函数 24 | */ 25 | fail?: () => void; 26 | /** 27 | * 接口调用结束的回调函数(调用成功、失败都会执行) 28 | */ 29 | complete?: () => void; 30 | } 31 | 32 | /** 33 | * 滚动到页面的目标位置。 34 | */ 35 | function pageScrollTo(options: IPageScrollToOptions): void; 36 | } 37 | -------------------------------------------------------------------------------- /types/api/ui/tabbar.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace my { 2 | interface ISwitchTabOptions extends INavigateBaseCallbackOptions { 3 | /** 4 | * 跳转的 tabBar 页面的路径(需在 app.json 的 tabBar 字段定义的页面)。注意:路径后不能带参数 5 | */ 6 | url: string; 7 | } 8 | /** 9 | * 跳转到指定 tabBar 页面,并关闭其他所有非 tabBar 页面。 10 | */ 11 | function switchTab(options: ISwitchTabOptions): void; 12 | 13 | interface IHideTabBarOptions { 14 | /** 15 | * 是否需要动画效果,默认无。 16 | */ 17 | animation?: boolean; 18 | 19 | success?: () => void; 20 | 21 | fail?: () => void; 22 | 23 | complete?: () => void; 24 | } 25 | 26 | /** 27 | * 版本要求:基础库版本 1.11.0 或更高版本,低版本需要做 兼容处理。 28 | * 隐藏标签页(tabbar)。 29 | */ 30 | function hideTabBar(options: IHideTabBarOptions): void; 31 | 32 | interface IHideTabBarRedDotOptions { 33 | /** 34 | * tabbar 的哪一项,从左边算起。 35 | */ 36 | index: number; 37 | 38 | success?: () => void; 39 | 40 | fail?: () => void; 41 | 42 | complete?: () => void; 43 | } 44 | 45 | /** 46 | * 版本要求:基础库 1.11.0 或更高版本,若版本较低,建议做 兼容处理。 47 | * 隐藏标签页(tabbar)某一项右上角的红点。 48 | */ 49 | function hideTabBarRedDot(options: IHideTabBarRedDotOptions): void; 50 | 51 | interface IRemoveTabBarBadgeOptions { 52 | /** 53 | * 标签页的项数序号,从左边开始计数。 54 | */ 55 | index: number; 56 | 57 | success?: () => void; 58 | 59 | fail?: () => void; 60 | 61 | complete?: () => void; 62 | } 63 | 64 | /** 65 | * 版本要求:基础库 1.11.0 或更高版本,若版本较低,建议做 兼容处理。 66 | * 移除标签页(tabbar) 某一项右上角的文本。 67 | */ 68 | function removeTabBarBadge(options: IRemoveTabBarBadgeOptions): void; 69 | 70 | interface ISetTabBarBadgeOptions { 71 | /** 72 | * 标签页的项数序号,从左边开始计数。 73 | */ 74 | index: number; 75 | 76 | /** 77 | * 显示的文本,超过三个字符则显示成前两个字符+“…”,例如:“支付宝”显示“支付宝”,“蚂蚁金服”显示“蚂蚁…”。 78 | */ 79 | text: string; 80 | 81 | success?: () => void; 82 | 83 | fail?: () => void; 84 | 85 | complete?: () => void; 86 | } 87 | 88 | /** 89 | * 版本要求:基础库 1.11.0 及以上版本。 90 | * 为标签页(tabbar)某一项的右上角添加文本。 91 | */ 92 | function setTabBarBadge(options: ISetTabBarBadgeOptions): void; 93 | 94 | interface ISetTabBarItemOptions { 95 | /** 96 | * 标签页的项数序号,从左边开始计数。 97 | */ 98 | index: number; 99 | 100 | /** 101 | * 标签页按钮上的文字。 102 | */ 103 | text: string; 104 | 105 | /** 106 | * 图片路径,建议尺寸为 81px * 81px,支持网络图片。 107 | */ 108 | iconPath: string; 109 | 110 | /** 111 | * 选中时的图片路径,建议尺寸为 81px * 81px,支持网络图片。 112 | */ 113 | selectedIconPath: string; 114 | 115 | success?: () => void; 116 | 117 | fail?: () => void; 118 | 119 | complete?: () => void; 120 | } 121 | 122 | /** 123 | * 版本要求:基础库 1.11.0 或更高版本,若版本较低,建议做 兼容处理。 124 | * 动态设置标签页(tabbar)某一项的内容。 125 | */ 126 | function setTabBarItem(options: ISetTabBarItemOptions): void; 127 | 128 | interface ISetTabBarStyleOptions { 129 | /** 130 | * 标签(tab)上的文字默认颜色 131 | */ 132 | color: string; 133 | 134 | /** 135 | * 标签(tab)上的文字选中时的颜色 136 | */ 137 | selectedColor: string; 138 | 139 | /** 140 | * 标签(tab)的背景色 141 | */ 142 | backgroundColor: string; 143 | 144 | /** 145 | * 标签页(tabbar)上边框的颜色, 仅支持 black 、 white 。 146 | */ 147 | borderStyle: string; 148 | 149 | success?: () => void; 150 | 151 | fail?: () => void; 152 | 153 | complete?: () => void; 154 | } 155 | 156 | /** 157 | * 版本要求:基础库 1.11.0 或更高版本,若版本较低,建议做 兼容处理。 158 | * 动态设置标签页(tabbar)的整体样式,如文字颜色、标签背景色、标签边框颜色等。 159 | */ 160 | function setTabBarStyle(options: ISetTabBarStyleOptions): void; 161 | 162 | interface IShowTabBarOptions { 163 | /** 164 | * 是否需要动画效果,默认无。 165 | */ 166 | animation?: boolean; 167 | 168 | success?: () => void; 169 | 170 | fail?: () => void; 171 | 172 | complete?: () => void; 173 | } 174 | 175 | /** 176 | * 版本要求:基础库 1.11.0 或更高版本,若版本较低,建议做 兼容处理。 177 | * 显示标签页(tabbar)。 178 | */ 179 | function showTabBar(options: IShowTabBarOptions): void; 180 | 181 | interface IShowTabBarRedDotOptions { 182 | /** 183 | * 标签页的项数序号,从左边开始计数。 184 | */ 185 | index: number; 186 | 187 | success?: () => void; 188 | 189 | fail?: () => void; 190 | 191 | complete?: () => void; 192 | } 193 | 194 | /** 195 | * 版本要求:基础库 1.11.0 或更高版本,若版本较低,建议做 兼容处理。 196 | * 显示标签页(tabbar)某一项的右上角的红点。 197 | */ 198 | function showTabBarRedDot(options: IShowTabBarRedDotOptions): void; 199 | } 200 | -------------------------------------------------------------------------------- /types/api/ui/window.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 窗口背景 3 | */ 4 | 5 | declare namespace my { 6 | interface ISetBackgroundColorOptions { 7 | /** 8 | * 窗口的背景色 9 | */ 10 | backgroundColor: string; 11 | 12 | /** 13 | * 顶部窗口的背景色,仅 iOS 支持 14 | */ 15 | backgroundColorTop: string; 16 | 17 | /** 18 | * 底部窗口的背景色,仅 iOS 支持 19 | */ 20 | backgroundColorBottom: string; 21 | 22 | /** 23 | * 接口调用成功的回调函数 24 | */ 25 | success?(): void; 26 | 27 | /** 28 | * 接口调用失败的回调函数 29 | */ 30 | fail?(): void; 31 | 32 | /** 33 | * 接口调用结束的回调函数(调用成功、失败都会执行) 34 | */ 35 | complete?(): void; 36 | } 37 | 38 | /** 39 | * 动态设置窗口的背景色 40 | */ 41 | function setBackgroundColor(options: ISetBackgroundColorOptions): void; 42 | 43 | interface ISetBackgroundTextStyleOptions { 44 | /** 45 | * 下拉背景字体、loading 图的样式,仅支持 'dark', 'light' 46 | */ 47 | textStyle: 'dark' | 'light'; 48 | 49 | /** 50 | * 接口调用成功的回调函数 51 | */ 52 | success?(): void; 53 | 54 | /** 55 | * 接口调用失败的回调函数 56 | */ 57 | fail?(): void; 58 | 59 | /** 60 | * 接口调用结束的回调函数(调用成功、失败都会执行) 61 | */ 62 | complete?(): void; 63 | } 64 | 65 | /** 66 | * 动态设置下拉背景字体、loading 图的样式 67 | */ 68 | function setBackgroundTextStyle(options: ISetBackgroundTextStyleOptions): void; 69 | } 70 | -------------------------------------------------------------------------------- /types/app.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace tinyapp { 2 | type Query = Record; 3 | 4 | interface IAppLaunchOptions { 5 | /** 6 | * 当前小程序的 query,从启动参数的 query 字段解析而来 7 | */ 8 | query?: Query; 9 | 10 | /** 11 | * 当前小程序的页面地址,从启动参数 page 字段解析而来,page 忽略时默认为首页 12 | */ 13 | path?: string; 14 | 15 | /** 16 | * 来源信息。 17 | */ 18 | referrerInfo?: { 19 | /** 20 | * 来源小程序 21 | */ 22 | appId: string; 23 | 24 | /** 25 | * 来源插件,当处于插件运行模式时可见 26 | */ 27 | sourceServiceId: string; 28 | 29 | /** 30 | * 来源小程序传过来的数据。 31 | */ 32 | extraData: Record; 33 | }; 34 | } 35 | 36 | interface IAppOptionsMethods { 37 | /** 38 | * 生命周期函数。 39 | * 40 | * 监听小程序初始化。 41 | * 42 | * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)。 43 | */ 44 | onLaunch?(options: IAppLaunchOptions): void; 45 | 46 | /** 47 | * 生命周期函数。 48 | * 49 | * 监听小程序显示。 50 | * 51 | * 当小程序启动,或从后台进入前台显示,会触发 onShow。 52 | * 53 | * **注意:** 不要在 onShow 中进行 redirectTo/navigateTo 等操作页面栈的行为。 54 | */ 55 | onShow?(options: IAppLaunchOptions): void; 56 | 57 | /** 58 | * 生命周期函数。 59 | * 60 | * 监听小程序隐藏。 61 | * 62 | * 当小程序从前台进入后台,会触发 onHide。 63 | */ 64 | onHide?(): void; 65 | 66 | /** 67 | * 错误监听函数。 68 | * 69 | * 当小程序发生脚本错误,或者 API 调用失败时,会触发 onError 并带上错误信息。 70 | */ 71 | onError?(error: any): void; 72 | 73 | /** 74 | * 全局分享配置。 75 | * 76 | * 当页面未设置 `page.onShareAppMessage` 时调用分享会执行全局的分享设置。 77 | */ 78 | onShareAppMessage?(options: OnShareAppMessageOptions): IOnShareAppMessageResult; 79 | 80 | /** 81 | * 当Promise 被 reject 且没有 reject 处理器时触发。也可使用 my.onUnhandledRejection 绑定监听。 82 | * 参数和注意事项与 my.onUnhandledRejection 一致。 83 | */ 84 | onUnhandledRejection?(options?: my.IOnUnhandledRejectionCallbackOptions): void; 85 | } 86 | 87 | interface IAppInstance { 88 | /** 89 | * 全局状态数据。 90 | */ 91 | globalData: G; 92 | } 93 | 94 | /** 95 | * getApp()返回的小程序实例 96 | */ 97 | interface IGetAppResult { 98 | /** 99 | * 全局状态数据 100 | */ 101 | globalData: any; 102 | } 103 | 104 | /** 105 | * App 实现的接口对象 106 | * 参考: https://docs.alipay.com/mini/framework/app 107 | */ 108 | type AppOptions = IAppOptionsMethods 109 | & { 110 | globalData?: G; 111 | [name: string]: any; 112 | } 113 | & ThisType>; 114 | } 115 | -------------------------------------------------------------------------------- /types/common/IFailResult.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace my { 2 | interface IFailResult { 3 | readonly error?: number; 4 | readonly errorMessage?: string; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /types/component.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace tinyapp { 2 | interface IComponentLifeCycleMethods { 3 | /** 4 | * 组件生命周期函数,组件创建时触发 5 | */ 6 | onInit?(): void; 7 | 8 | /** 9 | * 组件生命周期函数,组件创建时和更新前触发 10 | * 11 | * @param nextProps 接收到的 props 数据 12 | */ 13 | deriveDataFromProps?(nextProps: Partial

): void; 14 | 15 | /** 16 | * 组件生命周期函数,组件创建完毕时触发 17 | */ 18 | didMount?(): void; 19 | 20 | /** 21 | * 组件生命周期函数,组件更新完毕时触发 22 | */ 23 | didUpdate?(prevProps: Partial

, prevData: Partial): void; 24 | 25 | /** 26 | * 组件生命周期函数,组件删除时触发 27 | */ 28 | didUnmount?(): void; 29 | } 30 | 31 | interface IComponentMethods { 32 | [name: string]: (...args: any[]) => void; 33 | } 34 | 35 | interface IComponentInstance extends Record { 36 | /** 37 | * 组件内部状态 38 | */ 39 | readonly data: D; 40 | 41 | /** 42 | * 传入组件的属性 43 | */ 44 | readonly props: P; 45 | 46 | /** 47 | * 设置data触发视图渲染 48 | */ 49 | setData: SetDataMethod; 50 | 51 | /** 52 | * 组件所属页面实例 53 | */ 54 | readonly $page: IPageInstance; 55 | 56 | /** 57 | * 组件 id,可直接在组件 axml 中渲染值 58 | */ 59 | readonly $id: number; 60 | 61 | /** 62 | * 组件路径 63 | */ 64 | readonly is: string; 65 | 66 | /** 67 | * 同 setData,但是相比于 setData,在处理长列表的时候,其具有更高的性能 68 | */ 69 | $spliceData: SpliceDataMethod; 70 | } 71 | 72 | type ComponentOptions< 73 | P extends Record = Record, 74 | D = any, 75 | M extends IComponentMethods = IComponentMethods, 76 | > = IComponentLifeCycleMethods 77 | & { 78 | /** 79 | * 组件间代码复用机制 80 | */ 81 | mixins?: Array>; 82 | 83 | /** 84 | * 组件内部状态 85 | */ 86 | data?: D; 87 | 88 | /** 89 | * 为外部传入的数据设置默认值 90 | */ 91 | props?: P; 92 | 93 | /** 94 | * 组件的方法,可以是事件响应函数或任意的自定义方法 95 | */ 96 | methods?: M & ThisType & M>; 97 | } 98 | & ThisType & M>; 99 | } 100 | -------------------------------------------------------------------------------- /types/event.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace tinyapp { 2 | /** 3 | * 事件对象 https://docs.alipay.com/mini/framework/events#a-namefc3wdba%E4%BA%8B%E4%BB%B6%E5%AF%B9%E8%B1%A1 4 | */ 5 | interface IBaseEvent { 6 | readonly type: string; 7 | readonly timeStamp: number; 8 | readonly target: { 9 | readonly tagName: string; 10 | readonly dataset: Readonly>; 11 | readonly targetDataset: Readonly>; 12 | readonly offsetLeft: number; 13 | readonly offsetTop: number; 14 | }; 15 | readonly currentTarget: { 16 | readonly tagName: string; 17 | readonly dataset: Readonly>; 18 | readonly offsetLeft: number; 19 | readonly offsetTop: number; 20 | }; 21 | } 22 | 23 | interface ICustomEvent extends IBaseEvent { 24 | /** 25 | * 自定义事件所携带的数据,如表单组件的提交事件会携带用户的输入信息, 26 | * 媒体的错误事件会携带错误信息,详细的描述请参考组件定义中各个事件的定义。 27 | */ 28 | readonly detail: Readonly>; 29 | } 30 | 31 | interface ITouch { 32 | readonly identifier: number; 33 | readonly pageX: number; 34 | readonly pageY: number; 35 | readonly clientX: number; 36 | readonly clientY: number; 37 | } 38 | 39 | interface ICanvasTouch { 40 | readonly identifier: number; 41 | readonly x: number; 42 | readonly y: number; 43 | } 44 | 45 | interface ITouchEvent extends IBaseEvent { 46 | readonly touches: ReadonlyArray; 47 | readonly changedTouches: ReadonlyArray; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /types/global.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * `App()` 接受一个 object 作为参数,用来配置小程序的生命周期等。 3 | */ 4 | /* tslint:disable:no-unnecessary-generics */ 5 | declare function App(options: tinyapp.AppOptions): void; 6 | /* tslint:enable:no-unnecessary-generics */ 7 | 8 | /** 9 | * 获取小程序实例,一般用在各个子页面之中获取顶层应用。 10 | */ 11 | declare function getApp(): tinyapp.IGetAppResult; 12 | 13 | /** 14 | * Page() 函数用来注册一个页面。 15 | * 接受一个 object 参数,其指定页面的初始数据、生命周期函数、事件处理函数等。 16 | */ 17 | /* tslint:disable:no-unnecessary-generics */ 18 | declare function Page(options: tinyapp.PageOptions): void; 19 | /* tslint:enable:no-unnecessary-generics */ 20 | 21 | /** 22 | * getCurrentPages() 函数用于获取当前页面栈的实例, 23 | * 以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。 24 | */ 25 | declare function getCurrentPages(): Array>; 26 | 27 | /* tslint:disable:no-unnecessary-generics */ 28 | declare function Component( 29 | options: tinyapp.ComponentOptions< 30 | P, 31 | D, 32 | M 33 | > 34 | ): void; 35 | /* tslint:enable:no-unnecessary-generics */ 36 | -------------------------------------------------------------------------------- /types/index.d.ts: -------------------------------------------------------------------------------- 1 | // TypeScript Version: 3.3 2 | 3 | /// 4 | /// 5 | /// 6 | /// 7 | /// 8 | /// 9 | -------------------------------------------------------------------------------- /types/page.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace tinyapp { 2 | type OnShareAppMessageOptions = { 3 | from: 'button'; 4 | target: Record; 5 | webViewUrl?: string; 6 | } | { 7 | from: 'menu'; 8 | webViewUrl?: string; 9 | }; 10 | 11 | interface IOnShareAppMessageResult { 12 | title: string; 13 | desc?: string; 14 | path: string; 15 | content?: string; 16 | imageUrl?: string; 17 | bgImgUrl?: string; 18 | success?(): void; 19 | fail?(): void; 20 | } 21 | 22 | type IPageScrollEvent = [ 23 | { 24 | readonly scrollTop: number; 25 | readonly scrollHeight: number; 26 | }, 27 | null, 28 | null 29 | ] | { 30 | readonly scrollTop: number; 31 | readonly scrollHeight: number; 32 | }; 33 | 34 | interface IPageEvents { 35 | onBack?(): void; 36 | onKeyboardHeight?(): void; 37 | onOptionMenuClick?(): void; 38 | onPopMenuClick?(): void; 39 | onPullIntercept?(): void; 40 | 41 | /** 42 | * 页面相关事件处理函数--监听用户下拉动作 43 | */ 44 | onPullDownRefresh?(params: { from: 'manual' | 'code'; }): void; 45 | onTitleClick?(): void; 46 | 47 | /** 48 | * 版本要求:基础库 1.11.0 或更高版本,若版本较低,建议做 兼容处理。 49 | * 点击标签(tab)时触发。 50 | */ 51 | onTabItemTap?(item: { index: number; pagePath: string; text: string; }): void; 52 | 53 | beforeTabItemTap?(): void; 54 | } 55 | 56 | interface IPageOptionsMethods extends Pick< 57 | IPageEvents, 58 | 'onPullDownRefresh' 59 | | 'onTitleClick' 60 | | 'onOptionMenuClick' 61 | | 'onPopMenuClick' 62 | | 'onPullIntercept' 63 | | 'onTabItemTap' 64 | > { 65 | /** 66 | * 生命周期函数--监听页面加载 67 | * 68 | * @param query query 参数为 my.navigateTo 和 my.redirectTo 中传递的 query 对象。 69 | */ 70 | onLoad?(query: Query): void; 71 | 72 | /** 73 | * 生命周期函数--监听页面初次渲染完成 74 | */ 75 | onReady?(): void; 76 | 77 | /** 78 | * 生命周期函数--监听页面显示 79 | */ 80 | onShow?(): void; 81 | 82 | /** 83 | * 生命周期函数--监听页面隐藏 84 | */ 85 | onHide?(): void; 86 | 87 | /** 88 | * 生命周期函数--监听页面卸载 89 | */ 90 | onUnload?(): void; 91 | 92 | /** 93 | * 页面上拉触底事件的处理函数 94 | */ 95 | onReachBottom?(): void; 96 | 97 | /** 98 | * 返回自定义分享信息 99 | */ 100 | onShareAppMessage?(options: OnShareAppMessageOptions): IOnShareAppMessageResult; 101 | 102 | /** 103 | * 页面滚动时触发 104 | * 105 | * @param event 滚动事件参数 106 | */ 107 | onPageScroll?(event: IPageScrollEvent): void; 108 | } 109 | 110 | type SetDataMethod = (data: Partial, callback?: () => void) => void; 111 | 112 | interface ISpliceDataOperations { 113 | [k: string]: [number, number, ...any[]]; 114 | } 115 | 116 | type SpliceDataMethod = (operations: ISpliceDataOperations, callback?: () => void) => void; 117 | 118 | interface IPageInstance extends Record { 119 | /** 120 | * 页面数据。 121 | */ 122 | readonly data: D; 123 | 124 | /** 125 | * 将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值 126 | */ 127 | setData: SetDataMethod; 128 | 129 | /** 130 | * 同 setData,但是相比于 setData,在处理长列表的时候,其具有更高的性能 131 | */ 132 | $spliceData: SpliceDataMethod; 133 | 134 | /** 135 | * Page 路径,对应 app.json 中配置的路径值。 136 | */ 137 | readonly route: string; 138 | 139 | /** 140 | * 批量更新数据。 141 | */ 142 | $batchedUpdates: (fn: () => void) => void; 143 | } 144 | 145 | /** 146 | * Page 实现的接口对象 147 | */ 148 | type PageOptions> = IPageOptionsMethods 149 | & { 150 | /** 151 | * 初始数据或返回初始化数据的函数, 为对象时所有页面共享。 152 | */ 153 | data?: D; 154 | 155 | /** 156 | * 事件处理函数集合。 157 | */ 158 | events?: IPageEvents & ThisType>; 159 | 160 | [name: string]: any; 161 | } 162 | & ThisType>; 163 | } 164 | -------------------------------------------------------------------------------- /types/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "esnext", 4 | "lib": [ 5 | "es6" 6 | ], 7 | "noImplicitAny": true, 8 | "noImplicitThis": true, 9 | "strictFunctionTypes": true, 10 | "strictNullChecks": true, 11 | "baseUrl": "../", 12 | "typeRoots": [ 13 | "../" 14 | ], 15 | "types": [], 16 | "noEmit": true, 17 | "forceConsistentCasingInFileNames": true, 18 | "esModuleInterop": true 19 | }, 20 | "include": [ 21 | "./**/*.d.ts" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /types/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "dtslint/dtslint.json", 3 | "rules": { 4 | "interface-name" : [true, "always-prefix"], 5 | "no-redundant-jsdoc": false 6 | } 7 | } 8 | --------------------------------------------------------------------------------