npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@megalo/api

v0.5.7

Published

重新封装各个端中的API,由 megalo 统一对外抛出方法名。目前微信小程序端提供的 API 最为丰富,所以 API 名称以微信小程序为准。

Downloads

32

Readme

megalo-api

重新封装各个端中的API,由 megalo 统一对外抛出方法名。目前微信小程序端提供的 API 最为丰富,所以 API 名称以微信小程序为准。

如何使用

npm i @megalo/api --save

设置全局变量 Megalo

// webpack.config.js

plugins: [
  new webpack.ProvidePlugin({
    'Megalo': [path.resolve(`./node_modules/@megalo/api/platforms/${platform}`), 'default']
  })
]

环境判断

Megalo.ENV_TYPE

ENV_TYPE.WEAPP 微信小程序环境
ENV_TYPE.SWAN 百度小程序环境
ENV_TYPE.ALIPAY 支付宝小程序环境
ENV_TYPE.TOUTIAO 今日头条小程序环境
ENV_TYPE.WEB WEB(H5)环境

Megalo.getEnv()

获取当前环境值,具体值如上 Megalo.ENV_TYPE

网络

发起请求

Megalo.request(OBJECT)

发起网络请求,支持 Promise 化使用。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 默认值 | 说明 | | :-- | :-- | :-- | :-- | :-- | | url | String | 是 | | 开发者服务器接口地址 | | data | Object/String/ArrayBuffer | 否 | |请求的参数 | | header | Object | 否 | | 设置请求的 header,header 中不能设置 Referer。content-type 默认为 application/json | | method | String | 否 | GET | (需大写)有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT | | dataType | String | 否 | json | 返回的数据格式 | | responseType | String | 否 | text | 响应的数据类型(支付宝不支持) | | success | Function | 否 | | 接口调用成功的回调函数 | | fail | Function | 否 | | 接口调用失败的回调函数 | | complete | Function | 否 | | 接口调用结束的回调函数(调用成功、失败都会执行) |

success 返回参数说明:

| 参数 | 类型 | 说明 | | :-- | :-- | :-- | | data | Object/String/ArrayBuffer | 开发者服务器返回的数据 | | statusCode | Number | 开发者服务器返回的 HTTP 状态码 | | header | Object | 开发者服务器返回的 HTTP Response Header |

示例代码:

// 增加拦截器
Megalo.request.interceptors.before.use(options => {
  options.token = 'aaa';
  return options;
}, err => {
  return Promise.reject(err);
});

Megalo.request.interceptors.after.use(response => {
  if (response.status !== 200) {
    // xxxx
  }
  return response;
}, err => {
  return Promise.reject(err);
});

Megalo.request({
  url: 'test.php',
  data: {
    x: '',
    y: ''
  },
  header: {
    'content-type': 'application/json'
  }
}).then(res => console.log(res.data))
// 取消请求
const source = Megalo.CancelToken.source();
Megalo.request({
  cancelToken: source.token,
  url: 'test.php',
  data: {
    x: '',
    y: ''
  },
  header: {
    'content-type': 'application/json'
  }
}).then(res => console.log(res.data), err => console.log(err.message));

source.cancel('取消本次请求');

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.request | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.CancelToken | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |

上传、下载

Megalo.uploadFile(OBJECT)

使用方式同 wx.uploadFile,支持 Promise 化使用。

示例代码:

const uploadTask = Megalo.uploadFile(params).then(...)

Megalo.downloadFile(OBJECT)

使用方式同 wx.downloadFile,支持 Promise 化使用。

示例代码:

Megalo.downloadFile(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.uploadFile | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.downloadFile | ✔️ | ✔️ | ✔️ | ✔️ | |

WebSocket

Megalo.connectSocket(OBJECT)

创建一个 WebSocket 链接。

支持存在最多两个 WebSocket 链接,每次成功调用 Megalo.connectSocket 会返回一个新的 SocketTask

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | url | String | 是 | 开发者服务器接口地址,必须是 wss 协议 | | header | Object | 否 | HTTP Header , header 中不能设置 Referer | | method | String | 否 | 默认是 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT | | protocols | StringArray | 否 | 子协议数组 | | success | Function | 否 | 接口调用成功的回调函数 | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

示例代码:

Megalo.connectSocket({
  url: 'ws://echo.websocket.org/echo',
  success: function () {
    console.log('connect success')
  }
}).then(task => {
  task.onOpen(function () {
    console.log('onOpen')
    task.send({ data: 'xxx' })
  })
  task.onMessage(function (msg) {
    console.log('onMessage: ', msg)
    task.close()
  })
  task.onError(function () {
    console.log('onError')
  })
  task.onClose(function (e) {
    console.log('onClose: ', e)
  })
})

SocketTask

WebSocket 任务,可通过 wx.connectSocket() 接口创建返回。

方法

SocketTask.send(OBJECT)

通过 WebSocket 连接发送数据。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | data | String/ArrayBuffer | 是 | 需要发送的内容 | | success | Function | 否 | 接口调用成功的回调函数 | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

SocketTask.close(OBJECT)

关闭 WebSocket 连接。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | code | Number | 否 | 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。如果这个参数没有被指定,默认的取值是 1000 (表示正常连接关闭) | | reason | String | 否 | 一个可读的字符串,表示连接被关闭的原因 | | success | Function | 否 | 接口调用成功的回调函数 | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

SocketTask.onOpen(CALLBACK)

监听 WebSocket 连接打开事件。

SocketTask.onClose(CALLBACK)

监听 WebSocket 连接关闭事件。

CALLBACK 返回参数

| 参数 | 类型 | 说明 | | :-- | :-- | :-- | | code | Number | 关闭连接的状态号 | | reason | String | 连接被关闭的原因 |

SocketTask.onError(CALLBACK)

监听 WebSocket 错误。

CALLBACK 返回参数

| 参数 | 类型 | 说明 | | :-- | :-- | :-- | | errMsg | String | 错误信息 |

SocketTask.onMessage(CALLBACK)

监听 WebSocket 接受到服务器的消息事件。

CALLBACK 返回参数

| 参数 | 类型 | 说明 | | :-- | :-- | :-- | | data | String/ArrayBuffer | 服务器返回的消息 |

Megalo.onSocketOpen

@Deprecated 请使用 SocketTask.onOpen

Megalo.onSocketError

@Deprecated 请使用 SocketTask.onError

Megalo.sendSocketMessage

@Deprecated 请使用 SocketTask.send

Megalo.onSocketMessage

@Deprecated 请使用 SocketTask.onMessage

Megalo.closeSocket

@Deprecated 请使用 SocketTask.close

Megalo.onSocketClose

@Deprecated 请使用 SocketTask.onClose

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.connectSocket | ✔️ | ✔️ | ✔️ | ✔️ | | | SocketTask | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.onSocketOpen | ✔️ | ✔️ | ✔️ | | | | Megalo.onSocketError | ✔️ | ✔️ | ✔️ | | | | Megalo.sendSocketMessage | ✔️ | ✔️ | ✔️ | | | | Megalo.onSocketMessage | ✔️ | ✔️ | ✔️ | | | | Megalo.closeSocket | ✔️ | ✔️ | ✔️ | | | | Megalo.onSocketClose | ✔️ | ✔️ | ✔️ | | |

媒体

图片

Megalo.chooseImage(OBJECT)

使用方式同 wx.chooseImage ,支持 Promise 化使用。

示例代码:

Megalo.chooseImage(params).then(...)

Megalo.compressImage(OBJECT)

使用方式同 wx.compressImage ,支持 Promise 化使用。

示例代码:

Megalo.compressImage(params).then(...)

Megalo.previewImage(OBJECT)

使用方式同 wx.previewImage,支持 Promise 化使用。

示例代码:

Megalo.previewImage(params).then(...)

Megalo.getImageInfo(OBJECT)

使用方式同 wx.getImageInfo,支持 Promise 化使用。

示例代码:

Megalo.getImageInfo(params).then(...)

Megalo.saveImageToPhotosAlbum(OBJECT)

使用方式同 wx.saveImageToPhotosAlbum,支持 Promise 化使用。

示例代码:

Megalo.saveImageToPhotosAlbum(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.chooseImage | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.compressImage | ✔️ | | ✔️ | | | | Megalo.previewImage | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.getImageInfo | ✔️ | ✔️ | ✔️ | | | | Megalo.saveImageToPhotosAlbum | ✔️ | ✔️ | ✔️ | ✔️ | |

实时音视频

Megalo.createLivePlayerContext(liveId, this.$scope)

使用方式同 wx.createLivePlayerContext

示例代码:

const livePlayerContext = Megalo.createLivePlayerContext('mylive')

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.createLivePlayerContext | ✔️ | ✔️ | | | |

录音管理

Megalo.getRecorderManager()

使用方式同 wx.getRecorderManager

示例代码:

const recorderManager = Megalo.getRecorderManager()

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.getRecorderManager | ✔️ | ✔️ | | ✔️ | |

背景音频播放管理

Megalo.getBackgroundAudioManager()

使用方式同 wx.getBackgroundAudioManager

示例代码:

const backgroundAudioManager = Megalo.getBackgroundAudioManager()

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.getBackgroundAudioManager | ✔️ | ✔️ | | | |

音频组件控制

Megalo.createInnerAudioContext()

使用方式同 wx.createInnerAudioContext

示例代码:

const innerAudioContext = Megalo.createInnerAudioContext()

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.createInnerAudioContext | ✔️ | ✔️ | | ✔️ | |

视频

Megalo.chooseVideo(OBJECT)

使用方式同 wx.chooseVideo,支持 Promise 化使用。

示例代码:

Megalo.chooseVideo(params).then(...)

Megalo.saveVideoToPhotosAlbum(OBJECT)

使用方式同 wx.saveVideoToPhotosAlbum,支持 Promise 化使用。

示例代码:

Megalo.saveVideoToPhotosAlbum(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.chooseVideo | ✔️ | ✔️ | | ✔️ | | | Megalo.saveVideoToPhotosAlbum | ✔️ | ✔️ | | ✔️ | |

视频组件控制

Megalo.createVideoContext(videoId, this.$scope)

使用方式同 wx.createVideoContext

示例代码:

const videoContext = Megalo.createVideoContext('myVideo')

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.createVideoContext | ✔️ | ✔️ | | | |

相机组件控制

Megalo.createCameraContext()

使用方式同 wx.createCameraContext

示例代码:

const cameraContext = Megalo.createCameraContext()

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.createCameraContext | ✔️ | ✔️ | | | |

文件

Megalo.saveFile(OBJECT)

使用方式同 wx.saveFile,支持 Promise 化使用。

示例代码:

Megalo.saveFile(params).then(...)

Megalo.getFileInfo(OBJECT)

使用方式同 wx.getFileInfo,支持 Promise 化使用。

示例代码:

Megalo.getFileInfo(params).then(...)

Megalo.getSavedFileList(OBJECT)

使用方式同 wx.getSavedFileList,支持 Promise 化使用。

示例代码:

Megalo.getSavedFileList(params).then(...)

Megalo.getSavedFileInfo(OBJECT)

使用方式同 wx.getSavedFileInfo,支持 Promise 化使用。

示例代码:

Megalo.getSavedFileInfo(params).then(...)

Megalo.removeSavedFile(OBJECT)

使用方式同 wx.removeSavedFile,支持 Promise 化使用。

示例代码:

Megalo.removeSavedFile(params).then(...)

Megalo.openDocument(OBJECT)

使用方式同 wx.openDocument,支持 Promise 化使用。

示例代码:

Megalo.openDocument(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.saveFile | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.getFileInfo | ✔️ | ✔️ | ✔️ | | | | Megalo.getSavedFileList | ✔️ | ✔️ | ✔️ | | | | Megalo.getSavedFileInfo | ✔️ | ✔️ | ✔️ | | | | Megalo.removeSavedFile | ✔️ | ✔️ | ✔️ | | | | Megalo.openDocument | ✔️ | ✔️ | | | |

数据缓存

Megalo.setStorage(OBJECT)

将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口,支持 Promise 化使用。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | key | String | 是 | 本地缓存中的指定的 key | | data | Object/String | 是 | 需要存储的内容 | | success | Function | 否 | 接口调用成功的回调函数 | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

示例代码:

Megalo.setStorage({ key: 'key', data: 'value' })
  .then(res => console.log(res))

Megalo.setStorageSync(KEY, DATA)

将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。

参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | key | String | 是 | 本地缓存中的指定的 key | | data | Object/String | 是 | 需要存储的内容 |

示例代码:

Megalo.setStorageSync('key', 'value')

Megalo.getStorage(OBJECT)

从本地缓存中异步获取指定 key 对应的内容,支持 Promise 化使用。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | key | String | 是 | 本地缓存中的指定的 key | | success | Function | 否 | 接口调用成功的回调函数 | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

success 返回参数说明:

| 参数 | 类型 | 说明 | | :-- | :-- | :-- | | data | String | key 对应的内容 |

示例代码:

Megalo.getStorage({ key: 'key' })
  .then(res => console.log(res.data))

Megalo.getStorageSync(KEY)

从本地缓存中同步获取指定 key 对应的内容。

参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | key | String | 是 | 本地缓存中的指定的 key |

示例代码:

const data = Megalo.getStorageSync('key')

Megalo.getStorageInfo(OBJECT)

异步获取当前 storage 的相关信息,支持 Promise 化使用。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | success | Function | 否 | 接口调用成功的回调函数,详见返回参数说明 | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

success 返回参数说明:

| 参数 | 类型 | 说明 | | :-- | :-- | :-- | | keys | String Array | 当前 storage 中所有的 key |

示例代码:

Megalo.getStorageInfo()
  .then(res => console.log(res.keys))

Megalo.getStorageInfoSync()

同步获取当前 storage 的相关信息。

示例代码:

const res = Megalo.getStorageInfoSync()
console.log(res.keys)

Megalo.removeStorage(OBJECT)

从本地缓存中异步移除指定 key,支持 Promise 化使用。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | key | String | 是 | 本地缓存中的指定的 key | | success | Function | 否 | 接口调用成功的回调函数 | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

示例代码:

Megalo.removeStorage({ key: 'key' })
  .then(res => console.log(res))

Megalo.removeStorageSync(KEY)

从本地缓存中同步移除指定 key 。

参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | key | String | 是 | 本地缓存中的指定的 key |

示例代码:

Megalo.removeStorageSync('key')

Megalo.clearStorage()

清理本地数据缓存。

示例代码:

Megalo.clearStorage()

Megalo.clearStorageSync()

同步清理本地数据缓存

示例代码:

Megalo.clearStorageSync()

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.setStorage | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.setStorageSync | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.getStorage | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.getStorageSync | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.getStorageInfo | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.getStorageInfoSync | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.removeStorage | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.removeStorageSync | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.clearStorage | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.clearStorageSync | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |

位置

获取位置

Megalo.getLocation(OBJECT)

使用方式同 wx.getLocation,支持 Promise 化使用。

示例代码:

Megalo.getLocation(params).then(...)

Megalo.chooseLocation(OBJECT)

使用方式同 wx.chooseLocation,支持 Promise 化使用。

示例代码:

Megalo.chooseLocation(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.getLocation | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.chooseLocation | ✔️ | ✔️ | ✔️ | | |

查看位置

Megalo.openLocation(OBJECT)

使用方式同 wx.openLocation,支持 Promise 化使用。

示例代码:

Megalo.openLocation(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.openLocation | ✔️ | ✔️ | ✔️ | ✔️ | |

地图组件控制

Megalo.createMapContext(mapId, this.$scope)

使用方式同 wx.createMapContext

示例代码:

const mapCtx = Megalo.createMapContext('myMap')

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.createMapContext | ✔️ | ✔️ | ✔️ | | |

设备

系统信息

Megalo.getSystemInfo(OBJECT)

获取系统信息,支持 Promise 化使用。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | success | Function | 否 | 接口调用成功的回调函数,详见返回参数说明 | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

success 返回参数说明:

| 参数 | 说明 | | :-- | :-- | | brand | 手机品牌 | | model | 手机型号 | | system | 操作系统版本 | | pixelRatio | 设备像素比 | | screenWidth | 屏幕宽度 | | screenHeight | 屏幕高度 | | windowWidth | 可使用窗口宽度 | | windowHeight | 可使用窗口高度 | | version | 微信版本号 | | statusBarHeight | 状态栏的高度 | | platform | 客户端平台 | | language | 微信设置的语言 | | fontSizeSetting | 用户字体大小设置。以“我-设置-通用-字体大小”中的设置为准,单位:px | | SDKVersion | 客户端基础库版本 |

注意:H5 端不支持 version、statusBarHeight、fontSizeSetting、SDKVersion

示例代码:

Megalo.getSystemInfo({
  success: res => console.log(res)
})
  .then(res => console.log(res))

Megalo.getSystemInfoSync()

获取系统信息同步接口。

同步返回参数说明:

| 参数 | 说明 | | :-- | :-- | | brand | 手机品牌 | | model | 手机型号 | | system | 操作系统版本 | | pixelRatio | 设备像素比 | | screenWidth | 屏幕宽度 | | screenHeight | 屏幕高度 | | windowWidth | 可使用窗口宽度 | | windowHeight | 可使用窗口高度 | | version | 微信版本号 | | statusBarHeight | 状态栏的高度 | | platform | 客户端平台 | | language | 微信设置的语言 | | fontSizeSetting | 用户字体大小设置。以“我-设置-通用-字体大小”中的设置为准,单位:px | | SDKVersion | 客户端基础库版本 |

注意:H5 端不支持 version、statusBarHeight、fontSizeSetting、SDKVersion

示例代码:

const res = Megalo.getSystemInfoSync()
console.log(res.model)
console.log(res.pixelRatio)
console.log(res.windowWidth)
console.log(res.windowHeight)
console.log(res.language)
console.log(res.version)
console.log(res.platform)

Megalo.canIUse(String)

使用方式同 wx.canIUse

示例代码:

Megalo.canIUse('openBluetoothAdapter')
Megalo.canIUse('getSystemInfoSync.return.screenWidth')
Megalo.canIUse('getSystemInfo.success.screenWidth')
Megalo.canIUse('showToast.object.image')
Megalo.canIUse('onCompassChange.callback.direction')
Megalo.canIUse('request.object.method.GET')
Megalo.canIUse('live-player')
Megalo.canIUse('text.selectable')
Megalo.canIUse('button.open-type.contact')

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.getSystemInfo | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.getSystemInfoSync | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.canIUse | ✔️ | ✔️ | ✔️ | | |

网络状态

Megalo.getNetworkType(OBJECT)

获取网络类型,支持 Promise 化使用。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | success | Function | 否 | 接口调用成功的回调函数,返回网络类型 networkType | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

success 返回参数说明:

| 参数 | 说明 | | :-- | :-- | | networkType | 网络类型 |

networkType 有效值:

| 参数 | 说明 | | :-- | :-- | | wifi | wifi 网络 | | 2g | 2g 网络 | | 3g | 3g 网络 | | 4g | 4g 网络 | | none | 无网络 | | unknow | Android 下不常见的网络类型 |

注意:

H5 下此 API 兼容性较差,详见 Can I use。并且标准不一,对于三种规范分别支持的 networkType 有效值如下。

  • 仅支持不符合规范的 navigator.connetion.type,详情。networkType 有效值为:'wifi'、'3g'、'2g'、'unknown'。
  • 支持 navigator.connetion.type。networkType 有效值为:'cellular'、'wifi'、'none'。
  • 支持 navigator.connetion.effectiveType。networkType 有效值为:'slow-2g'、'2g'、'3g'、'4g'。

示例代码:

Megalo.getNetworkType({
  success: res => console.log(res.networkType)
})
  .then(res => console.log(res.networkType))

Megalo.onNetworkStatusChange(CALLBACK)

监听网络状态变化。

CALLBACK 返回参数:

| 参数 | 类型 | 说明 | | :-- | :-- | :-- | | isConnected | Boolean | 当前是否有网络连接 | | networkType | String | 网络类型 |

注意:H5 端兼容情况较差,只有当 navigator.connection 支持监听 onChange 事件时才会生效。

示例代码:

Megalo.onNetworkStatusChange(res => {
  console.log(res.isConnected)
  console.log(res.networkType)
})

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.getNetworkType | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.onNetworkStatusChange | ✔️ | ✔️ | ✔️ | ✔️ | |

加速度计

Megalo.onAccelerometerChange(CALLBACK)

使用方式同 wx.onAccelerometerChange

示例代码:

Megalo.onAccelerometerChange(res => {
  console.log(res.x)
  console.log(res.y)
  console.log(res.z)
})

Megalo.startAccelerometer(OBJECT)

使用方式同 wx.startAccelerometer

示例代码:

Megalo.startAccelerometer({ interval: 'game' })

Megalo.stopAccelerometer(OBJECT)

使用方式同 wx.stopAccelerometer

示例代码:

Megalo.stopAccelerometer()

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.onAccelerometerChange | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.startAccelerometer | ✔️ | ✔️ | | ✔️ | ✔️ | | Megalo.stopAccelerometer | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |

罗盘

Megalo.onCompassChange(CALLBACK)

使用方式同 wx.onCompassChange

示例代码:

Megalo.onCompassChange(res => {
  console.log(res.direction)
})

Megalo.startCompass(OBJECT)

使用方式同 wx.startCompass

示例代码:

Megalo.startCompass()

Megalo.stopCompass(OBJECT)

使用方式同 wx.stopCompass

示例代码:

Megalo.stopCompass()

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.onCompassChange | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.startCompass | ✔️ | ✔️ | | ✔️ | | | Megalo.stopCompass | ✔️ | ✔️ | ✔️ | ✔️ | |

陀螺仪

Megalo.onGyroscopeChange(CALLBACK)

使用方式同 wx.onGyroscopeChange

示例代码:

Megalo.onGyroscopeChange(res => {
  console.log(res.x)
  console.log(res.y)
  console.log(res.z)
})

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.onGyroscopeChange | ✔️ | | ✔️ | | |

拨打电话

Megalo.makePhoneCall(OBJECT)

拨打电话,支持 Promise 化使用。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | phoneNumber | String | 是 | 需要拨打的电话号码 | | success | Function | 否 | 接口调用成功的回调函数 | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

示例代码:

Megalo.makePhoneCall({
  phoneNumber: '10086'
})
  .then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.makePhoneCall | ✔️ | ✔️ | ✔️ | ✔️ | |

扫码

Megalo.scanCode(OBJECT)

使用方式同 wx.scanCode,支持 Promise 化使用。

示例代码:

Megalo.scanCode(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.scanCode | ✔️ | ✔️ | ✔️ | ✔️ | |

剪贴板

Megalo.setClipboardData(OBJECT)

使用方式同 wx.setClipboardData,支持 Promise 化使用。

示例代码:

Megalo.setClipboardData(params).then(...)

Megalo.getClipboardData(OBJECT)

使用方式同 wx.getClipboardData,支持 Promise 化使用。

示例代码:

Megalo.getClipboardData(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.setClipboardData | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.getClipboardData | ✔️ | ✔️ | ✔️ | ✔️ | |

蓝牙

Megalo.openBluetoothAdapter(OBJECT)

使用方式同 wx.openBluetoothAdapter,支持 Promise 化使用。

示例代码:

Megalo.openBluetoothAdapter(params).then(...)

Megalo.closeBluetoothAdapter(OBJECT)

使用方式同 wx.closeBluetoothAdapter,支持 Promise 化使用。

示例代码:

Megalo.closeBluetoothAdapter(params).then(...)

Megalo.getBluetoothAdapterState(OBJECT)

使用方式同 wx.getBluetoothAdapterState,支持 Promise 化使用。

示例代码:

Megalo.getBluetoothAdapterState(params).then(...)

Megalo.onBluetoothAdapterStateChange(CALLBACK)

使用方式同 wx.onBluetoothAdapterStateChange

示例代码:

Megalo.onBluetoothAdapterStateChange(res => {
  console.log(`adapterState changed, now is`, res)
})

Megalo.startBluetoothDevicesDiscovery(OBJECT)

使用方式同 wx.startBluetoothDevicesDiscovery,支持 Promise 化使用。

示例代码:

Megalo.startBluetoothDevicesDiscovery(params).then(...)

Megalo.stopBluetoothDevicesDiscovery(OBJECT)

使用方式同 wx.stopBluetoothDevicesDiscovery,支持 Promise 化使用。

示例代码:

Megalo.stopBluetoothDevicesDiscovery(params).then(...)

Megalo.getBluetoothDevices(OBJECT)

使用方式同 wx.getBluetoothDevices,支持 Promise 化使用。

示例代码:

Megalo.getBluetoothDevices(params).then(...)

Megalo.getConnectedBluetoothDevices(OBJECT)

使用方式同 wx.getConnectedBluetoothDevices,支持 Promise 化使用。

示例代码:

Megalo.getConnectedBluetoothDevices(params).then(...)

Megalo.onBluetoothDeviceFound(CALLBACK)

使用方式同 wx.onBluetoothDeviceFound

示例代码:

Megalo.onBluetoothDeviceFound(devices => {
  console.log(devices)
  console.log(devices[0].advertisData)
})

Megalo.createBLEConnection(OBJECT)

使用方式同 wx.createBLEConnection,支持 Promise 化使用。

示例代码:

Megalo.createBLEConnection(params).then(...)

Megalo.closeBLEConnection(OBJECT)

使用方式同 wx.closeBLEConnection,支持 Promise 化使用。

示例代码:

Megalo.closeBLEConnection(params).then(...)

Megalo.getBLEDeviceServices(OBJECT)

使用方式同 wx.getBLEDeviceServices,支持 Promise 化使用。

示例代码:

Megalo.getBLEDeviceServices(params).then(...)

Megalo.getBLEDeviceCharacteristics(OBJECT)

使用方式同 wx.getBLEDeviceCharacteristics,支持 Promise 化使用。

示例代码:

Megalo.getBLEDeviceCharacteristics(params).then(...)

Megalo.readBLECharacteristicValue(OBJECT)

使用方式同 wx.readBLECharacteristicValue,支持 Promise 化使用。

示例代码:

Megalo.readBLECharacteristicValue(params).then(...)

Megalo.writeBLECharacteristicValue(OBJECT)

使用方式同 wx.writeBLECharacteristicValue,支持 Promise 化使用。

示例代码:

Megalo.writeBLECharacteristicValue(params).then(...)

Megalo.notifyBLECharacteristicValueChange(OBJECT)

使用方式同 wx.notifyBLECharacteristicValueChange,支持 Promise 化使用。

示例代码:

Megalo.notifyBLECharacteristicValueChange(params).then(...)

Megalo.onBLEConnectionStateChange(CALLBACK)

使用方式同 wx.onBLEConnectionStateChange

示例代码:

Megalo.onBLEConnectionStateChange(res => {
  // 该方法回调中可以用于处理连接意外断开等异常情况
  console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`)
})

Megalo.onBLECharacteristicValueChange(CALLBACK)

使用方式同 wx.onBLECharacteristicValueChange

示例代码:

Megalo.onBLECharacteristicValueChange(res => {
  console.log(`characteristic ${res.characteristicId} has changed, now is ${res.value}`)
  console.log(res.value)
})

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.openBluetoothAdapter | ✔️ | | ✔️ | | | | Megalo.closeBluetoothAdapter | ✔️ | | ✔️ | | | | Megalo.getBluetoothAdapterState | ✔️ | | ✔️ | | | | Megalo.onBluetoothAdapterStateChange | ✔️ | | ✔️ | | | | Megalo.startBluetoothDevicesDiscovery | ✔️ | | ✔️ | | | | Megalo.stopBluetoothDevicesDiscovery | ✔️ | | ✔️ | | | | Megalo.getBluetoothDevices | ✔️ | | ✔️ | | | | Megalo.getConnectedBluetoothDevices | ✔️ | | ✔️ | | | | Megalo.onBluetoothDeviceFound | ✔️ | | ✔️ | | | | Megalo.createBLEConnection | ✔️ | | ✔️ | | | | Megalo.closeBLEConnection | ✔️ | | ✔️ | | | | Megalo.getBLEDeviceServices | ✔️ | | ✔️ | | | | Megalo.getBLEDeviceCharacteristics | ✔️ | | ✔️ | | | | Megalo.readBLECharacteristicValue | ✔️ | | ✔️ | | | | Megalo.writeBLECharacteristicValue | ✔️ | | ✔️ | | | | Megalo.notifyBLECharacteristicValueChange | ✔️ | | ✔️ | | | | Megalo.onBLEConnectionStateChange | ✔️ | | ✔️ | | | | Megalo.onBLECharacteristicValueChange | ✔️ | | ✔️ | | |

iBeacon

Megalo.startBeaconDiscovery(OBJECT)

使用方式同 wx.startBeaconDiscovery,支持 Promise 化使用。

示例代码:

Megalo.startBeaconDiscovery(params).then(...)

Megalo.stopBeaconDiscovery(OBJECT)

使用方式同 wx.stopBeaconDiscovery,支持 Promise 化使用。

示例代码:

Megalo.stopBeaconDiscovery(params).then(...)

Megalo.getBeacons(OBJECT)

使用方式同 wx.getBeacons,支持 Promise 化使用。

示例代码:

Megalo.getBeacons(params).then(...)

Megalo.onBeaconUpdate(CALLBACK)

使用方式同 wx.onBeaconUpdate

Megalo.onBeaconServiceChange(CALLBACK)

使用方式同 wx.onBeaconServiceChange

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.startBeaconDiscovery | ✔️ | | ✔️ | | | | Megalo.stopBeaconDiscovery | ✔️ | | ✔️ | | | | Megalo.getBeacons | ✔️ | | ✔️ | | | | Megalo.onBeaconUpdate | ✔️ | | ✔️ | | | | Megalo.onBeaconServiceChange | ✔️ | | ✔️ | | |

屏幕亮度

Megalo.setScreenBrightness(OBJECT)

使用方式同 wx.setScreenBrightness,支持 Promise 化使用。

示例代码:

Megalo.setScreenBrightness(params).then(...)

Megalo.getScreenBrightness(OBJECT)

使用方式同 wx.getScreenBrightness,支持 Promise 化使用。

示例代码:

Megalo.getScreenBrightness(params).then(...)

Megalo.setKeepScreenOn(OBJECT)

使用方式同 wx.setKeepScreenOn,支持 Promise 化使用。

示例代码:

Megalo.setKeepScreenOn(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.setScreenBrightness | ✔️ | ✔️ | ✔️ | | | | Megalo.getScreenBrightness | ✔️ | ✔️ | ✔️ | | | | Megalo.setKeepScreenOn | ✔️ | ✔️ | ✔️ | ✔️ | |

用户截屏事件

Megalo.onUserCaptureScreen(CALLBACK)

监听用户主动截屏事件,用户使用系统截屏按键截屏时触发此事件。

示例代码:

Megalo.onUserCaptureScreen(() => {
    console.log('用户截屏了')
})

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.onUserCaptureScreen | ✔️ | ✔️ | ✔️ | | |

振动

Megalo.vibrateLong(OBJECT)

使用方式同 wx.vibrateLong,支持 Promise 化使用。

示例代码:

Megalo.vibrateLong(params).then(...)

Megalo.vibrateShort(OBJECT)

使用方式同 wx.vibrateShort,支持 Promise 化使用。

示例代码:

Megalo.vibrateShort(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.vibrateLong | ✔️ | ✔️ | ✔️ | | | | Megalo.vibrateShort | ✔️ | ✔️ | ✔️ | | |

手机联系人

Megalo.addPhoneContact(OBJECT)

使用方式同 wx.addPhoneContact,支持 Promise 化使用。

示例代码:

Megalo.addPhoneContact(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.addPhoneContact | ✔️ | ✔️ | ✔️ | | |

Wi-Fi

Megalo.startWifi(OBJECT)

使用方式同 wx.startWifi,支持 Promise 化使用。

示例代码:

Megalo.startWifi(params).then(...)

Megalo.stopWifi(OBJECT)

使用方式同 wx.stopWifi,支持 Promise 化使用。

示例代码:

Megalo.stopWifi(params).then(...)

Megalo.connectWifi(OBJECT)

使用方式同 wx.connectWifi,支持 Promise 化使用。

示例代码:

Megalo.connectWifi(params).then(...)

Megalo.getWifiList(OBJECT)

使用方式同 wx.getWifiList,支持 Promise 化使用。

示例代码:

Megalo.getWifiList(params).then(...)

Megalo.onGetWifiList(CALLBACK)

使用方式同 wx.onGetWifiList

Megalo.setWifiList(OBJECT)

使用方式同 wx.setWifiList,支持 Promise 化使用。

示例代码:

Megalo.setWifiList(params).then(...)

Megalo.onWifiConnected(CALLBACK)

使用方式同 wx.onWifiConnected

Megalo.getConnectedWifi(OBJECT)

使用方式同 wx.getConnectedWifi,支持 Promise 化使用。

示例代码:

Megalo.getConnectedWifi(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.startWifi | ✔️ | | | | | | Megalo.stopWifi | ✔️ | | | | | | Megalo.connectWifi | ✔️ | | | | | | Megalo.getWifiList | ✔️ | | | | | | Megalo.onGetWifiList | ✔️ | | | | | | Megalo.setWifiList | ✔️ | | | | | | Megalo.onWifiConnected | ✔️ | | | | | | Megalo.getConnectedWifi | ✔️ | | | ✔️ | |

界面

交互反馈

Megalo.showToast(OBJECT)

显示消息提示框,支持 Promise 化使用。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | title | String | 是 | 提示的内容 | | icon | String | 否 | 图标,有效值 "success", "loading", "none" | | image | String | 否 | 自定义图标的本地路径,image 的优先级高于 icon | | duration | Number | 否 | 提示的延迟时间,单位毫秒,默认:1500 | | mask | Boolean | 否 | 是否显示透明蒙层,防止触摸穿透,默认:false | | success | Function | 否 | 接口调用成功的回调函数 | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

icon 有效值

| 有效值 | 说明 | | :-- | :-- | | success | 显示成功图标 | | loading | 显示加载图标 | | none | 不显示图标 |

示例代码:

Megalo.showToast({
  title: '成功',
  icon: 'success',
  duration: 2000
})
  .then(res => console.log(res))

Megalo.showLoading(OBJECT)

显示 loading 提示框, 需主动调用 Megalo.hideLoading 才能关闭提示框,支持 Promise 化使用。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | title | String | 是 | 提示的内容 | | mask | Boolean | 否 | 是否显示透明蒙层,防止触摸穿透,默认:false | | success | Function | 否 | 接口调用成功的回调函数 | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

示例代码:

Megalo.showLoading({
  title: 'loading'
})
  .then(res => console.log(res))

Megalo.hideToast()

隐藏消息提示框

Megalo.hideLoading()

隐藏 loading 提示框

Megalo.showModal(OBJECT)

​显示模态弹窗,支持 Promise 化使用。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | title | String | 是 | 提示的标题 | | content | String | 是 | 提示的内容 | | showCancel | Boolean | 否 | 是否显示取消按钮,默认为 true | | cancelText | String | 否 | 取消按钮的文字,默认为"取消",最多 4 个字符 | | cancelColor | HexColor | 否 | 取消按钮的文字颜色,默认为"#000000" | | confirmText | String | 否 | 确定按钮的文字,默认为"确定",最多 4 个字符 | | confirmColor | HexColor | 否 | 确定按钮的文字颜色,默认为"#3CC51F" | | success | Function | 否 | 接口调用成功的回调函数 | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

success 返回参数说明:

| 参数值 | 类型 | 说明 | | :-- | :-- | :-- | | confirm | Boolean | 为 true 时,表示用户点击了确定按钮 | | cancel | Boolean | 为 true 时,表示用户点击了取消 |

示例代码:

// 注意:无论用户点击确定还是取消,Promise 都会 resolve。
Megalo.showModal({
  title: 'xxx',
  content: 'hello world',
})
  .then(res => console.log(res.confirm, res.cancel))

Megalo.showActionSheet(OBJECT)

显示操作菜单,支持 Promise 化使用。

OBJECT 参数说明:

| 参数 | 类型 | 必填 | 说明 | | :-- | :-- | :-- | :-- | | itemList | String Array | 是 | 按钮的文字数组,数组长度最大为 6 个 | | itemColor | HexColor | 否 | 按钮的文字颜色,默认为"#000000" | | success | Function | 否 | 接口调用成功的回调函数 | | fail | Function | 否 | 接口调用失败的回调函数 | | complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |

success 返回参数说明:

| 参数值 | 类型 | 说明 | | :-- | :-- | :-- | | tapIndex | Number | 用户点击的按钮,从上到下的顺序,从 0 开始 |

// 注意:当用户点击选项时 Promise 会 resolve,而当用户点击取消或蒙层时,Promise 会 reject。
Megalo.showActionSheet({
  itemList: ['a', 'b', 'c']
})
  .then(res => console.log(res.errMsg, res.tapIndex))
  .catch(err => console.log(res.errMsg))

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.showToast | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.showLoading | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.hideToast | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.hideLoading | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.showModal | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.showActionSheet | ✔️ | ✔️ | ✔️ | ✔️ | |

设置导航条

Megalo.setNavigationBarTitle(OBJECT)

使用方式同 wx.setNavigationBarTitle,支持 Promise 化使用。

示例代码:

Megalo.setNavigationBarTitle(params).then(...)

Megalo.showNavigationBarLoading()

在当前页面显示导航条加载动画。

Megalo.hideNavigationBarLoading()

隐藏导航条加载动画。

Megalo.setNavigationBarColor(OBJECT)

使用方式同 wx.setNavigationBarColor,支持 Promise 化使用。

示例代码:

Megalo.setNavigationBarColor(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.setNavigationBarTitle | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.showNavigationBarLoading | ✔️ | ✔️ | ✔️ | | | | Megalo.hideNavigationBarLoading | ✔️ | ✔️ | ✔️ | | | | Megalo.setNavigationBarColor | ✔️ | ✔️ | ✔️ | | |

设置 tabBar

Megalo.setTabBarBadge(OBJECT)

使用方式同 wx.setTabBarBadge,支持 Promise 化使用。

示例代码:

Megalo.setTabBarBadge(params).then(...)

Megalo.removeTabBarBadge(OBJECT)

使用方式同 wx.removeTabBarBadge,支持 Promise 化使用。

示例代码:

Megalo.removeTabBarBadge(params).then(...)

Megalo.showTabBarRedDot(OBJECT)

使用方式同 wx.showTabBarRedDot,支持 Promise 化使用。

示例代码:

Megalo.showTabBarRedDot(params).then(...)

Megalo.hideTabBarRedDot(OBJECT)

使用方式同 wx.hideTabBarRedDot,支持 Promise 化使用。

示例代码:

Megalo.hideTabBarRedDot(params).then(...)

Megalo.setTabBarStyle(OBJECT)

使用方式同 wx.setTabBarStyle,支持 Promise 化使用。

示例代码:

Megalo.setTabBarStyle(params).then(...)

Megalo.setTabBarItem(OBJECT)

使用方式同 wx.setTabBarItem,支持 Promise 化使用。

示例代码:

Megalo.setTabBarItem(params).then(...)

Megalo.showTabBar(OBJECT)

使用方式同 wx.showTabBar,支持 Promise 化使用。

示例代码:

Megalo.showTabBar(params).then(...)

Megalo.hideTabBar(OBJECT)

使用方式同 wx.hideTabBar,支持 Promise 化使用。

示例代码:

Megalo.hideTabBar(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.setTabBarBadge | ✔️ | ✔️ | | | | | Megalo.removeTabBarBadge | ✔️ | ✔️ | | | | | Megalo.showTabBarRedDot | ✔️ | ✔️ | | | | | Megalo.hideTabBarRedDot | ✔️ | ✔️ | | | | | Megalo.setTabBarStyle | ✔️ | ✔️ | | | | | Megalo.setTabBarItem | ✔️ | ✔️ | | | | | Megalo.showTabBar | ✔️ | ✔️ | | | | | Megalo.hideTabBar | ✔️ | ✔️ | | | |

导航

Megalo.navigateTo(OBJECT)

使用方式同 wx.navigateTo,支持 Promise 化使用。

示例代码:

Megalo.navigateTo(params).then(...)

Megalo.redirectTo(OBJECT)

使用方式同 wx.redirectTo,支持 Promise 化使用。

示例代码:

Megalo.redirectTo(params).then(...)

Megalo.switchTab(OBJECT)

使用方式同 wx.switchTab,支持 Promise 化使用。

示例代码:

Megalo.switchTab(params).then(...)

Megalo.navigateBack(OBJECT)

使用方式同 wx.navigateBack

示例代码:

Megalo.navigateBack({ delta: 2 })

Megalo.reLaunch(OBJECT)

使用方式同 wx.reLaunch,支持 Promise 化使用。

示例代码:

Megalo.reLaunch(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.navigateTo | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.redirectTo | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.switchTab | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.navigateBack | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Megalo.reLaunch | ✔️ | ✔️ | ✔️ | ✔️ | |

动画

Megalo.createAnimation(OBJECT)

使用方式同 wx.createAnimation

示例代码:

const animation = Megalo.createAnimation({
  transformOrigin: "50% 50%",
  duration: 1000,
  timingFunction: "ease",
  delay: 0
})

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.createAnimation | ✔️ | ✔️ | ✔️ | ✔️ | |

位置

Megalo.pageScrollTo(OBJECT)

使用方式同 wx.pageScrollTo,支持 Promise 化使用。

示例代码:

Megalo.pageScrollTo(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.pageScrollTo | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |

绘图

Megalo.createCanvasContext(canvasId, this.$scope)

使用方式同 wx.createCanvasContext

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.createCanvasContext | ✔️ | ✔️ | ✔️ | ✔️ | |

下拉刷新

Megalo.startPullDownRefresh(OBJECT)

使用方式同 wx.startPullDownRefresh,支持 Promise 化使用。

示例代码:

Megalo.startPullDownRefresh(params).then(...)

Megalo.stopPullDownRefresh()

停止当前页面下拉刷新。

示例代码:

Megalo.stopPullDownRefresh()

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.startPullDownRefresh | ✔️ | ✔️ | | ✔️ | | | Megalo.stopPullDownRefresh | ✔️ | ✔️ | ✔️ | ✔️ | |

获取菜单按钮

Megalo.getMenuButtonBoundingClientRect()

使用方式同 wx.getMenuButtonBoundingClientRect

示例代码:

Megalo.getMenuButtonBoundingClientRect()

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.getMenuButtonBoundingClientRect | ✔️ | ✔️ | | | |

WXML 节点信息

Megalo.createSelectorQuery()

返回一个 SelectorQuery 对象实例。可以在这个实例上使用 select 等方法选择节点,并使用 boundingClientRect 等方法选择需要查询的信息。

示例代码:

const query = Megalo.createSelectorQuery()

Megalo.createIntersectionObserver(this, options)

使用方式同 wx.createIntersectionObserver

示例代码:

const IntersectionObserver = Megalo.createIntersectionObserver(this, params)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.createSelectorQuery | ✔️ | ✔️ | ✔️ | | | | Megalo.createIntersectionObserver | ✔️ | ✔️ | | | |

开放接口

设置

Megalo.getSetting(OBJECT)

使用方式同 wx.getSetting,支持 Promise 化使用。

示例代码:

Megalo.getSetting(params).then(...)

Megalo.openSetting(OBJECT)

使用方式同 wx.openSetting,支持 Promise 化使用。

示例代码:

Megalo.openSetting(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.getSetting | ✔️ | ✔️ | ✔️ | ✔️ | | | Megalo.openSetting | ✔️ | ✔️ | ✔️ | ✔️ | |

收货地址

Megalo.chooseAddress(OBJECT)

使用方式同 wx.chooseAddress,支持 Promise 化使用。

示例代码:

Megalo.chooseAddress(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.chooseAddress | ✔️ | ✔️ | | ✔️ | |

授权

Megalo.authorize(OBJECT)

使用方式同 wx.authorize,支持 Promise 化使用。

示例代码:

Megalo.authorize(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.authorize | ✔️ | ✔️ | ✔️ | ✔️ | |

发票

Megalo.chooseInvoice(OBJECT)

使用方式同 wx.chooseInvoice,支持 Promise 化使用。

示例代码:

Megalo.chooseInvoice(params).then(...)

Megalo.chooseInvoiceTitle(OBJECT)

使用方式同 wx.chooseInvoiceTitle,支持 Promise 化使用。

示例代码:

Megalo.chooseInvoiceTitle(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.chooseInvoice | ✔️ | | | | | | Megalo.chooseInvoiceTitle | ✔️ | ✔️ | | | |

用户信息

Megalo.getUserInfo(OBJECT)

使用方式同 wx.getUserInfo,支持 Promise 化使用。

示例代码:

Megalo.getUserInfo(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.getUserInfo | ✔️ | ✔️ | ✔️ | ✔️ | |

登录

Megalo.login(OBJECT)

使用方式同 wx.login,支持 Promise 化使用。

示例代码:

Megalo.login(params).then(...)

Megalo.checkSession(OBJECT)

使用方式同 wx.checkSession,支持 Promise 化使用。

示例代码:

Megalo.checkSession(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.login | ✔️ | ✔️ | | ✔️ | | | Megalo.checkSession | ✔️ | ✔️ | | ✔️ | |

小程序跳转

Megalo.navigateBackMiniProgram(OBJECT)

使用方式同 wx.navigateBackMiniProgram,支持 Promise 化使用。

示例代码:

Megalo.navigateBackMiniProgram(params).then(...)

Megalo.navigateToMiniProgram(OBJECT)

使用方式同 wx.navigateToMiniProgram,支持 Promise 化使用。

示例代码:

Megalo.navigateToMiniProgram(params).then(...)

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.navigateBackMiniProgram | ✔️ | ✔️ | ✔️ | | | | Megalo.navigateToMiniProgram | ✔️ | ✔️ | ✔️ | | |

数据分析

Megalo.reportAnalytics(EVENTNAME, OBJECT)

使用方式同 wx.reportAnalytics

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.reportAnalytics | ✔️ | ✔️ | | | |

更新

Megalo.getUpdateManager()

使用方式同 wx.getUpdateManager

示例代码:

Megalo.getUpdateManager()

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.getUpdateManager | ✔️ | ✔️ | | | |

第三方平台

Megalo.getExtConfigSync()

使用方式同 wx.getExtConfigSync

Megalo.getExtConfig(OBJECT)

使用方式同 wx.getExtConfig,支持 Promise 化使用。

API 支持度

| API | 微信小程序 | 百度小程序 | 支付宝小程序 | 今日头条小程序 | H5 | | :-: | :-: | :-: | :-: | :-: | :-: | | Megalo.getExtConfigSync | ✔️ | ✔️ | | | | | Megalo.getExtConfig | ✔️ | ✔️ | | | |