UNPKG

bsl

Version:

基于React的框架和UI组件

602 lines (523 loc) 15.6 kB
/* eslint-disable @typescript-eslint/class-name-casing */ /* eslint-disable @typescript-eslint/no-namespace */ declare namespace WechatJSSDK { type JSApiList = 'updateAppMessageShareData' | 'updateTimelineShareData' | 'onMenuShareTimeline' | 'onMenuShareAppMessage' | 'onMenuShareQQ' | 'onMenuShareWeibo' | 'onMenuShareQZone' | 'startRecord' | 'stopRecord' | 'onVoiceRecordEnd' | 'playVoice' | 'pauseVoice' | 'stopVoice' | 'onVoicePlayEnd' | 'uploadVoice' | 'downloadVoice' | 'chooseImage' | 'previewImage' | 'uploadImage' | 'downloadImage' | 'translateVoice' | 'getNetworkType' | 'openLocation' | 'getLocation' | 'hideOptionMenu' | 'showOptionMenu' | 'hideMenuItems' | 'showMenuItems' | 'hideAllNonBaseMenuItem' | 'showAllNonBaseMenuItem' | 'closeWindow' | 'scanQRCode' | 'chooseWXPay' | 'openProductSpecificView' | 'addCard' | 'chooseCard' | 'openCard'; type MenuList = 'menuItem:exposeArticle' | 'menuItem:setFont' | 'menuItem:dayMode' | 'menuItem:nightMode' | 'menuItem:refresh' | 'menuItem:profile' | 'menuItem:addContact' | 'menuItem:share:appMessage' | 'menuItem:share:timeline' | 'menuItem:share:qq' | 'menuItem:share:weiboApp' | 'menuItem:favorite' | 'menuItem:share:facebook' | 'menuItem:share:QZone' | 'menuItem:editTag' | 'menuItem:delete' | 'menuItem:copyUrl' | 'menuItem:originPage' | 'menuItem:readMode' | 'menuItem:openWithQQBrowser' | 'menuItem:openWithSafari' | 'menuItem:share:email' | 'menuItem:share:brand'; /** * config接口注入的配置信息 */ interface ConfigOptions { // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 debug?: boolean; // 公众号AppID appId: string; // 生成签名时间戳 timestamp: string; // 生成签名随即传 nonceStr: string; // 签名 signature: string; // 需要使用的JS接口列表 jsApiList: JSApiList[]; } /** * */ interface callback { success?: (res: object) => void; fail?: (res: object) => void; complete?: (res: object) => void; cancel?: (res: object) => void; trigger?: (res: object) => void; } /** * 判断当前客户端是否允许JS接口配置 */ interface checkJsAPIOptions extends callback { // 需要检测的JS接口列表,所有JS接口列表见文档, jsApiList: JSApiList[]; } // 分享内容 interface shareDataOptions extends callback { // 分享标题 title: string; // 分享描述 desc?: string; // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 link: string; // 分享图标 imgUrl: string; } // 旧版分享给朋友自定义内容 interface shareAppDataOptions extends shareDataOptions { // 分享类型,music、video或link,不填默认为link type?: 'music' | 'video' | 'link'; // 如果type是music或video,则要提供数据链接,默认为空 data?: string; } // 尺寸类型 type sizeType = 'original' | 'compressed'; // 图片来源 type sourceType = 'album' | 'camera'; // 选择图片 interface chooseImageOptions extends callback { // 允许最多多少张 count: number; // 尺寸类型 原图/压缩图 默认都有 sizeType: sizeType[]; // 指定来源 相册/相机 默认都要 sourceType: sourceType[]; } // 图片预览 interface previewImageOptions extends callback { // 当前显示图片的地址 current: string; // 需要预览图片的HTTP列表 urls: string[]; } // 上传图片 interface uploadImageOptions extends callback { // 本地图片ID,通过chooseImage接口获得 localId: string; // 是否显示进度条 默认1 isShowProgressTips: 0 | 1; } // 下载图片 interface downloadImageOptions extends callback { // 需要下载图片的服务端ID serverId: string; //是否显示进度条 默认1 isShowProgressTips: 0 | 1; } // 获得本地图片 interface getLocalImgDataOptions extends callback { // 本地图片ID localId: string; } // 播放音频接口 interface playVoiceOptions extends callback { // 本地音频ID localId: string; } // 暂停播放音频 interface pauseVoiceOptions extends callback { // 本地音频ID localId: string; } // 暂停播放音频 interface stopVoiceOptions extends callback { // 本地音频ID localId: string; } // 上传音频 interface uploadVoiceOptions extends callback { // 本地音频ID,通过stopRecord接口获得 localId: string; // 是否显示进度条 默认1 isShowProgressTips: 0 | 1; } // 下载音频 interface downloadVoiceOptions extends callback { // 需要下载音频的服务端ID serverId: string; //是否显示进度条 默认1 isShowProgressTips: 0 | 1; } // 识别音频 interface translateVoiceOptions extends callback { // 本地音频ID,通过stopRecord接口获得 localId: string; // 是否显示进度条 默认1 isShowProgressTips: 0 | 1; } // 使用微信内置地图查看位置 interface openLocationOptions extends callback { // 纬度,浮点数,范围为90 ~ -90 latitude: number; // 经度,浮点数,范围为180 ~ -180。 longitude: number; // 位置名 name: string; // 地址详情说明 address: string; // 地图缩放级别,整形值,范围从1~28。默认为最大 scale: number; // 在查看位置界面底部显示的超链接,可点击跳转 infoUrl: string; } // 获取地理位置 interface getLocationOptions extends callback { // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02' type: 'wgs84' | 'gcj02'; } // 开启查找周边ibeacon设备 interface startSearchBeaconsOptions extends callback { // 摇周边的业务ticket, 系统自动添加在摇出来的页面链接后面 ticket: string; } // 批量隐藏功能按钮 interface hideMenuItemsOptions extends callback { // 要隐藏的菜单项 menuList: MenuList[]; } // 批量显示功能按钮 interface showMenuItemsOptions extends callback { // 要显示的菜单项 menuList: MenuList[]; } // 可以指定扫二维码还是一维码,默认二者都有 type ScanType = 'qrCode' | 'barCode'; // 调起微信扫一扫 interface scanQRCodeOptions extends callback { // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, needResult: 0 | 1; // 可以指定扫二维码还是一维码,默认二者都有 scanType: ScanType[]; } // 跳转微信商品页 interface openProductSpecificViewOptions extends callback { // 商品id productId: string; // 0.默认值,普通商品详情页1.扫一扫商品详情页2.小店商品详情页 viewType: 0 | 1 | 2; } // 拉取适用卡券列表并获取用户选择 interface chooseCardOptions extends callback { // 门店id shopId: string; // 卡券类型 cardType: string; // 卡券ID cardId: string; // 时间戳 timestamp: number; // 签名随机串 nonceStr: string; // 签名方式 默认SHA1 signType?: string; // 卡券签名 cardSign: string; } // 卡券信息 type AddCardList = { // 卡券ID cardId: string; // 卡券附属信息 cardExt: string; } // 批量添加卡券 interface addCardOptions extends callback { // 卡券列表 cardList: AddCardList[]; } // 打开卡券List type OpenCardList = { // 卡券ID cardId: string; // 卡券Code code: string; } // 查看微信卡包中的卡券 interface openCardOptions extends callback { cardList: openCardOptions[]; } // 微信支付 interface chooseWxPayOptions extends callback { // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 timestamp: number; // 支付签名随机串,不长于 32 位 nonceStr: string; // 统一支付接口返回的prepay_id参数值 提交格式如:prepay_id=\*\*\*) package: string; // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' signType: 'SHA1' | 'MD5'; // 支付签名 paySign: string; } /** * 注入权限验证配置 * 如果要使用js-sdk必须调用该接口注入配置信息,否则无法使用 * 当您的应用是SPA模式时,建议您在改变URL的时候调用 * @param config */ function config(config: ConfigOptions): void; /** * 当config通过之后,会调用该方法 * @param success */ function ready(success: () => void): void; /** * 当config鉴权失败,会调用该方法 * @param error */ function error(error: (res: object) => void): void; /** * 自定义“分享给朋友”及“分享到QQ”按钮的分享内容 * 客户端6.7.2+ && JSSDK 1.4.0+ 可用 * @param options */ function updateAppMessageShareData(options: shareDataOptions): void; /** * 自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容 * 客户端6.7.2+ && JSSDK 1.4.0+ 可用 * @param options */ function updateTimelineShareData(options: shareDataOptions): void; /** * 获取“分享到朋友圈”按钮点击状态及自定义分享内容 * 即将废弃,建议使用updateTimelineShareData * @param options */ function onMenuShareTimeline(options: shareDataOptions): void; /** * 获取“分享给朋友”按钮点击状态及自定义分享内容 * 即将废弃,建议使用updateAppMessageShareData * @param options */ function onMenuShareAppMessage(options: shareAppDataOptions): void; /** * 获取“分享到QQ”按钮点击状态及自定义分享内容接口 * 即将废弃,建议使用updateAppMessageShareData * @param options */ function onMenuShareQQ(options: shareDataOptions): void; /** * 获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 * @param options */ function onMenuShareWeibo(options: shareDataOptions): void; /** * 获取“分享到QQ空间”按钮点击状态及自定义分享内容 * 即将废弃,建议使用updateTimelineShareData * @param options */ function onMenuShareQZone(options: shareDataOptions): void; /** * 判断当前客户端版本是否支持指定JS接口 * 客户端6.0.2新引入的一个预留接口,第一期开放的接口均可不使用checkJsApi来检测。 * @param options */ function checkJsApi(options: checkJsAPIOptions): void; /** * 拍照/相册中选择图片 * @param options */ function chooseImage(options: chooseImageOptions): void; /** * 图片预览 * @param options */ function previewImage(options: previewImageOptions): void; /** * 图片上传 * @param options */ function uploadImage(options: uploadImageOptions): void; /** * 图片下载 * @param options */ function downloadImage(options: downloadImageOptions): void; /** * 获得本地图片 * 只在 iOS WKWebview 下提供,用于兼容 iOS WKWebview 不支持 localId 直接显示图片的问题 * @param options */ function getLocalImgData(options: getLocalImgDataOptions): void; /** * 开始录音 */ function startRecord(options: callback): void; /** * 停止录音 * @param options */ function stopRecord(options: callback): void; /** * 监听录音自动停止 * @param options */ function onVoiceRecordEnd(options: callback): void; /** * 播放语音 * @param options */ function playVoice(options: playVoiceOptions): void; /** * 暂停播放音频 * @param options */ function pauseVoice(options: pauseVoiceOptions): void; /** * 停止播放音频 * @param options */ function stopVoice(options: stopVoiceOptions): void; /** * 监听语音播放完毕 * @param options */ function onVoicePlayEnd(options: callback): void; /** * 上传语音 * @param options */ function uploadVoice(options: uploadVoiceOptions): void; /** * 下载语音 * @param options */ function downloadVoice(options: downloadVoiceOptions): void; /** * 识别音频并返回识别结果 * @param options */ function translateVoice(options: translateVoiceOptions): void; /** * 获得网络状态 * @param options */ function getNetworkType(options: callback): void; /** * 使用微信内置地图查看位置 * @param options */ function openLocation(options: openLocationOptions): void; /** * 获取地理位置 * @param options */ function getLocation(options: getLocationOptions): void; /** * 开启查找周边ibeacon设备 * @param options */ function startSearchBeacons(options: startSearchBeaconsOptions): void; /** * 关闭查找周边ibeacon设备 * @param options */ function stopSearchBeacons(options: callback): void; /** * 监听周边ibeacon设备 * @param options */ function onSearchBeacons(options: callback): void; /** * 关闭当前网页 */ function closeWindow(): void; /** * 批量隐藏功能按钮 * @param options */ function hideMenuItems(options: hideMenuItemsOptions): void; /** * 批量显示功能按钮 * @param options */ function showMenuItems(options: showMenuItemsOptions): void; /** * 隐藏所有非基础按钮 * @param options */ function hideAllNonBaseMenuItem(options?: callback): void; /** * 显示所有功能按钮 * @param options */ function showAllNonBaseMenuItem(options: callback): void; /** * 调起微信扫一扫 * @param options */ function scanQRCode(options: scanQRCodeOptions): void; /** * 跳转微信商品页 * @param options */ function openProductSpecificView(options: openProductSpecificViewOptions): void; /** * 拉取适用卡券列表 * @param options */ function chooseCard(options: chooseCardOptions): void; /** * 批量添加卡券 * @param options */ function addCard(options: addCardOptions): void; /** * 查看微信卡包中的卡券 * @param options */ function openCard(options: openCardOptions): void; /** * 发起一个微信支付请求 * @param options */ function chooseWXPay(options: chooseWxPayOptions): void; /** * 共享收货地址 * @param options */ function openAddress(options: callback): void; }