ymx-app 基于 ECMAScript 扩展了 ymx 对象,并且 API 名称和参数尽量与 微信小程序 API 保持兼容。
ymx 对象在浏览器与 App WebView 环境下是挂在 window 上面的;ymx 对象;<script src="js/ymx.js"></script> 引用(注意路径);API 接口正在逐步完善中,没找到需要的接口欢迎向我们提交需求;或者在 插件市场 寻找第三方插件,也可以自己开发插件来满足需求;对于依赖第三方 SDK 的功能接口应以插件形式实现,通过 ymx.requirePlugin 来加载使用。
ymx 对象中,除 requirePlugin 为同步方法外,其他 API 均为 Promise 风格异步方法,同时也兼容了 callback 回调风格。
Promise 风格示例:
// 扫码
ymx.scanCode({
scanType: ['barCode', 'qrCode']
}).then(res => {
ymx.showModal({
content: res.result
});
}).catch(err => {
ymx.showModal({
content: `${err.code}: ${err.errMsg}`
});
});
callback 回调风格示例:
// 扫码
ymx.scanCode({
scanType: ['barCode', 'qrCode'],
// 可选,成功的回调函数
success: res => {
ymx.showModal({
content: res.result
});
},
// 可选,失败的回调函数
fail: err => {
ymx.showModal({
content: `${err.code}: ${err.errMsg}`
});
},
// 可选,结束的回调函数(调用成功、失败都会执行)
complete: (data) => {
}
});
我们提供了 TypeScript 类型定义文件 .d.ts,为支持 TypeScript 的编辑器提供 API 的类型验证和智能提示功能。
详见 npm package @ymxjs/core

大多数插件也提供了 .d.ts 类型定义文件,以 ymx-wechat 插件为例,详见 @ymxjs/ymx-wechat

示例项目地址 ymx-demo-vue