diff --git a/node_modules/.gitignore b/node_modules/.gitignore deleted file mode 100644 index 0f61dba..0000000 --- a/node_modules/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/.vite diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json deleted file mode 100644 index 83f2e16..0000000 --- a/node_modules/.package-lock.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "@hbuilder/yoshop2-pro", - "lockfileVersion": 3, - "requires": true, - "packages": { - "node_modules/weixin-js-sdk": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/weixin-js-sdk/-/weixin-js-sdk-1.6.0.tgz", - "integrity": "sha512-3IYQH7aalJGFJrwdT3epvTdR1MboMiH7vIZ5BRL2eYOJ12BNah7csoMkmSZzkq1+l92sSq29XdTCVjCJoK2sBQ==" - } - } -} diff --git a/node_modules/.yarn-integrity b/node_modules/.yarn-integrity new file mode 100644 index 0000000..eee0945 --- /dev/null +++ b/node_modules/.yarn-integrity @@ -0,0 +1,16 @@ +{ + "systemParams": "win32-x64-108", + "modulesFolders": [ + "node_modules" + ], + "flags": [], + "linkedModules": [], + "topLevelPatterns": [ + "weixin-js-sdk@^1.6.0" + ], + "lockfileEntries": { + "weixin-js-sdk@^1.6.0": "https://registry.yarnpkg.com/weixin-js-sdk/-/weixin-js-sdk-1.6.5.tgz#01fe5220b91dbfe089fc0730d061be0e68271e6a" + }, + "files": [], + "artifacts": {} +} \ No newline at end of file diff --git a/node_modules/weixin-js-sdk/LICENSE b/node_modules/weixin-js-sdk/LICENSE new file mode 100644 index 0000000..4045e80 --- /dev/null +++ b/node_modules/weixin-js-sdk/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Yanxi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/weixin-js-sdk/README.md b/node_modules/weixin-js-sdk/README.md index 233a2ef..62143d2 100644 --- a/node_modules/weixin-js-sdk/README.md +++ b/node_modules/weixin-js-sdk/README.md @@ -1,21 +1,36 @@ 微信官方 js-sdk ---- -说明: 仅将官方 js-sdk 发布到 npm,支持 CommonJS,便于 browserify, webpack 等直接使用 +说明: 仅将官方 js-sdk 发布到 npm,支持 CommonJS,便于 browserify, webpack 等直接使用,支持 TypeScript。 -js源码: https://res.wx.qq.com/open/js/jweixin-1.6.0.js -官方使用说明: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 +官方 JS 源码: https://res.wx.qq.com/open/js/jweixin-1.6.0.js + +官方使用说明: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html 安装: - - npm install weixin-js-sdk - +```shell +npm install weixin-js-sdk +``` + 使用: - - var wx = require('weixin-js-sdk'); +```javascript +// commonjs +var wx = require('weixin-js-sdk'); + +// es module +import wx from 'weixin-js-sdk' +``` ### Old versions -* [1.0.0](https://github.com/yanxi-me/weixin-js-sdk/tree/1.0.0) -* [1.2.0](https://github.com/yanxi-me/weixin-js-sdk/tree/1.2.0) +* [1.0.0](https://github.com/yanxi123-com/weixin-js-sdk/tree/1.0.0) +* [1.2.0](https://github.com/yanxi123-com/weixin-js-sdk/tree/1.2.0) + +### 个人主页 + +* [https://yanxi123.com/](https://yanxi123.com/) + +### 感谢 + +TypeScript 定义文件来自 [wx-jssdk-ts](https://github.com/zhaoky/wx-jssdk-ts/blob/master/index.d.ts) diff --git a/node_modules/weixin-js-sdk/index.d.ts b/node_modules/weixin-js-sdk/index.d.ts new file mode 100644 index 0000000..133a421 --- /dev/null +++ b/node_modules/weixin-js-sdk/index.d.ts @@ -0,0 +1,601 @@ +// Type definitions for weixin jssdk 1.6.0 +// Project: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare namespace wx { + type ImageSizeType = "original" | "compressed"; + type ImageSourceType = "album" | "camera"; + type VideoSourceType = "album" | "camera"; + type ApiMethod = + | "onMenuShareTimeline" + | "onMenuShareAppMessage" + | "onMenuShareQQ" + | "onMenuShareWeibo" + | "onMenuShareQZone" + | "updateAppMessageShareData" + | "updateTimelineShareData" + | "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"; + // 所有JS接口列表 + type jsApiList = ApiMethod[]; + + // 开放标签列表 + // https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html + type openTag = "wx-open-launch-weapp" | "wx-open-launch-app" | "wx-open-subscribe" | "wx-open-audio" + type openTagList = openTag[]; + + // 所有菜单项列表 + // 基本类 + type menuBase = + | "menuItem:exposeArticle" // 举报 + | "menuItem:setFont" // 调整字体 + | "menuItem:dayMode" // 日间模式 + | "menuItem:nightMode" // 夜间模式 + | "menuItem:refresh" // 刷新 + | "menuItem:profile" // 查看公众号(已添加) + | "menuItem:addContact"; // 查看公众号(未添加) + // 传播类 + type menuShare = + | "menuItem:share:appMessage" // 发送给朋友 + | "menuItem:share:timeline" // 分享到朋友圈 + | "menuItem:share:qq" // 分享到QQ + | "menuItem:share:weiboApp" // 分享到Weibo + | "menuItem:favorite" // 收藏 + | "menuItem:share:facebook" // 分享到FB + | "menuItem:share:QZone"; // 分享到 QQ 空间 + + // 保护类 + type menuProtected = + | "menuItem:editTag" // 编辑标签 + | "menuItem:delete" // 删除 + | "menuItem:copyUrl" // 复制链接 + | "menuItem:originPage" // 原网页 + | "menuItem:readMode" // 阅读模式 + | "menuItem:openWithQQBrowser" // 在QQ浏览器中打开 + | "menuItem:openWithSafari" // 在Safari中打开 + | "menuItem:share:email" // 邮件 + | "menuItem:share:brand"; // 一些特殊公众号 + + type menuList = Array; + + function config(conf: { + debug?: boolean; // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 + appId: string; // 必填,公众号的唯一标识 + timestamp: number; // 必填,生成签名的时间戳 + nonceStr: string; // 必填,生成签名的随机串 + signature: string; // 必填,签名,见附录1 + jsApiList?: jsApiList; // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 + openTagList?: openTagList; + }): void; + + interface Resouce { + localId: string; + } + interface BaseParams { + success?(...args: any[]): void; + /** 接口调用失败的回调函数 */ + fail?(...args: any[]): void; + /** 接口取消调用的回调函数 */ + cancel?(...args: any[]): void; + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?(...args: any[]): void; + } + function ready(fn: () => void): void; + function error(fn: (err: { errMsg: string }) => void): void; + + interface IcheckJsApi extends BaseParams { + jsApiList: jsApiList; // 需要检测的JS接口列表,所有JS接口列表见附录2, + // 以键值对的形式返回,可用的api值true,不可用为false + // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"} + success(res: { + checkResult: { [api: string]: boolean }; + errMsg: string; + }): void; + } + /** + * 判断当前客户端版本是否支持指定JS接口 + * 备注:checkJsApi接口是客户端6.0.2新引入的一个预留接口,第一期开放的接口均可不使用checkJsApi来检测。 + */ + function checkJsApi(params: IcheckJsApi): void; + + interface IonMenuShareTimeline extends BaseParams { + title: string; // 分享标题 + link: string; // 分享链接 + imgUrl: string; // 分享图标 + // 用户确认分享后执行的回调函数 + success(): void; + // 用户取消分享后执行的回调函数 + cancel(): void; + } + /*=============================基础接口================================*/ + /** + * 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 + */ + function onMenuShareTimeline(params: IonMenuShareTimeline): void; + + interface IonMenuShareAppMessage extends BaseParams { + title: string; // 分享标题 + desc: string; // 分享描述 + link: string; // 分享链接 + imgUrl: string; // 分享图标 + type?: "music" | "video或link" | "link"; // 分享类型,music、video或link,不填默认为link + dataUrl?: string; // 如果type是music或video,则要提供数据链接,默认为空 + // 用户确认分享后执行的回调函数 + success(): void; + // 用户取消分享后执行的回调函数 + cancel(): void; + } + /** + * 获取“分享给朋友”按钮点击状态及自定义分享内容接口 + */ + function onMenuShareAppMessage(params: IonMenuShareAppMessage): void; + + interface IonMenuShareQQ extends BaseParams { + title: string; // 分享标题 + desc: string; // 分享描述 + link: string; // 分享链接 + imgUrl: string; // 分享图标 + // 用户确认分享后执行的回调函数 + success(): void; + // 用户取消分享后执行的回调函数 + cancel(): void; + } + /** + * 获取“分享到QQ”按钮点击状态及自定义分享内容接口 + */ + function onMenuShareQQ(params: IonMenuShareQQ): void; + + interface IonMenuShareWeibo extends BaseParams { + title: string; // 分享标题 + desc: string; // 分享描述 + link: string; // 分享链接 + imgUrl: string; // 分享图标 + // 用户确认分享后执行的回调函数 + success(): void; + // 用户取消分享后执行的回调函数 + cancel(): void; + } + /** + * 获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 + */ + function onMenuShareWeibo(params: IonMenuShareWeibo): void; + + interface IonMenuShareQZone extends BaseParams { + title: string; // 分享标题 + desc: string; // 分享描述 + link: string; // 分享链接 + imgUrl: string; // 分享图标 + // 用户确认分享后执行的回调函数 + success(): void; + // 用户取消分享后执行的回调函数 + cancel(): void; + } + /** + * 获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 + */ + function onMenuShareQZone(params: IonMenuShareQZone): void; + + interface IupdateAppMessageShareData extends BaseParams { + title: string; // 分享标题 + desc: string; // 分享描述 + link: string; // 分享链接 + imgUrl: string; // 分享图标 + // 用户确认分享后执行的回调函数 + success(): void; + } + /** + * 获取“分享给朋友”及“分享到QQ”按钮点击状态及自定义分享内容接口(新) + */ + function updateAppMessageShareData(params: IupdateAppMessageShareData): void; + + interface IupdateTimelineShareData extends BaseParams { + title: string; // 分享标题 + link: string; // 分享链接 + imgUrl: string; // 分享图标 + // 用户确认分享后执行的回调函数 + success(): void; + } + /** + * 获取“分享到朋友圈”及“分享到QQ空间”按钮点击状态及自定义分享内容接口 + */ + function updateTimelineShareData(params: IupdateTimelineShareData): void; + /*=============================基础接口================================*/ + + /*=============================图像接口================================*/ + interface IchooseImage extends BaseParams { + /** 最多可以选择的图片张数,默认9 */ + count?: number; + /** original 原图,compressed 压缩图,默认二者都有 */ + sizeType?: ImageSizeType[]; + /** album 从相册选图,camera 使用相机,默认二者都有 */ + sourceType?: ImageSourceType[]; + /** 成功则返回图片的本地文件路径列表 tempFilePaths */ + success(res: { + sourceType: string; // weixin album camera + localIds: string[]; + errMsg: string; + }): void; + cancel(): void; + } + /** + * 从本地相册选择图片或使用相机拍照。 + */ + function chooseImage(params: IchooseImage): void; + + interface IpreviewImage extends BaseParams { + current: string; // 当前显示图片的http链接 + urls: string[]; // 需要预览的图片http链接列表 + } + /** + * 预览图片接口 + */ + function previewImage(params: IpreviewImage): void; + + interface IuploadResource extends BaseParams { + localId: string; // 需要上传的图片的本地ID,由chooseImage接口获得 + isShowProgressTips: number; // 默认为1,显示进度提示 + // 返回图片的服务器端ID + success(res: { serverId: string }): void; + } + /** + * 上传图片接口 + */ + function uploadImage(params: IuploadResource): void; + + interface IdownloadResource extends BaseParams { + serverId: string; // 需要下载的图片的服务器端ID,由uploadImage接口获得 + isShowProgressTips: number; // 默认为1,显示进度提示 + // 返回图片下载后的本地ID + success(res: Resouce): void; + } + /** + * 下载图片接口 + */ + function downloadImage(params: IdownloadResource): void; + + interface IgetLocalImgData extends BaseParams { + localId: string; // 图片的localID + // localData是图片的base64数据,可以用img标签显示 + success(res: { localData: string }): void; + } + + /** + * 获取本地图片接口 + */ + function getLocalImgData(params: IgetLocalImgData): void; + /*=============================图像接口================================*/ + /*=============================音频接口================================*/ + /** + * 开始录音接口 + */ + function startRecord(): void; + + interface IstopRecord extends BaseParams { + success(res: Resouce): void; + } + /** + * 停止录音接口 + */ + function stopRecord(params: IstopRecord): void; + + interface IonVoiceRecordEnd extends BaseParams { + // 录音时间超过一分钟没有停止的时候会执行 complete 回调 + complete(res: Resouce): void; + } + /** + * 监听录音自动停止接口 + */ + function onVoiceRecordEnd(params: IonVoiceRecordEnd): void; + + interface IplaypausestopVoice extends BaseParams { + localId: string; // 需要播放的音频的本地ID,由stopRecord接口获得 + } + /** + * 播放语音接口 + */ + function playVoice(params: IplaypausestopVoice): void; + + /** + * 暂停播放接口 + */ + function pauseVoice(params: IplaypausestopVoice): void; + /** + * 停止播放接口 + */ + function stopVoice(params: IplaypausestopVoice): void; + + interface IonVoicePlayEnd extends BaseParams { + success(res: Resouce): void; + } + /** + * 监听语音播放完毕接口 + */ + function onVoicePlayEnd(params: IonVoicePlayEnd): void; + /** + * 上传语音接口 + * 备注:上传语音有效期3天,可用微信多媒体接口下载语音到自己的服务器 + * ,此处获得的 serverId 即 media_id,参考文档 + * ../12 / 58bfcfabbd501c7cd77c19bd9cfa8354.html + * 目前多媒体文件下载接口的频率限制为10000次/ 天, + * 如需要调高频率,请邮件weixin - open@qq.com, + * 邮件主题为【申请多媒体接口调用量】,请对你的项目进行简单描述, + * 附上产品体验链接,并对用户量和使用量进行说明。 + */ + function uploadVoice(params: IuploadResource): void; + /** + * 下载语音接口 + */ + function downloadVoice(params: IdownloadResource): void; + /*=============================音频接口================================*/ + /*=============================智能接口================================*/ + + interface ItranslateVoice extends BaseParams { + localId: string; // 需要识别的音频的本地Id,由录音相关接口获得 + isShowProgressTips: number; // 默认为1,显示进度提示 + success(res: { translateResult: string }): void; + } + /** + * 识别音频并返回识别结果接口 + */ + function translateVoice(params: ItranslateVoice): void; + + /*=============================智能接口================================*/ + + /*=============================设备信息================================*/ + type networkType = "2g" | "3g" | "4g" | "wifi"; + interface IgetNetworkType extends BaseParams { + success(res: { networkType: networkType }): void; + } + /** + * 获取网络状态接口 + */ + function getNetworkType(params: IgetNetworkType): void; + /*=============================设备信息================================*/ + + /*=============================地理位置================================*/ + interface IopenLocation extends BaseParams { + latitude: number; // 纬度,浮点数,范围为90 ~ -90 + longitude: number; // 经度,浮点数,范围为180 ~ -180。 + name: string; // 位置名 + address: string; // 地址详情说明 + scale: number; // 地图缩放级别,整形值,范围从1~28。默认为最大 + infoUrl: string; // 在查看位置界面底部显示的超链接,可点击跳转 + } + /** + * 使用微信内置地图查看位置接口 + */ + function openLocation(params: IopenLocation): void; + + interface IgetLocation extends BaseParams { + type: "wgs84" | "gcj02"; // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02' + success(res: { + latitude: number; // 纬度,浮点数,范围为90 ~ -90 + longitude: number; // 经度,浮点数,范围为180 ~ -180。 + speed: number; // 速度,以米/每秒计 + accuracy: number; // 位置精度 + }): void; + } + /** + * 获取地理位置接口 + */ + function getLocation(params: IgetLocation): void; + /*=============================地理位置================================*/ + /*=============================摇一摇周边================================*/ + interface IstartSearchBeacons extends BaseParams { + ticket: string; // 摇周边的业务ticket, 系统自动添加在摇出来的页面链接后面 + // 开启查找完成后的回调函数 + complete(argv: any): void; + } + /** + * 开启查找周边ibeacon设备接口 + * 备注:如需接入摇一摇周边功能,请参考:申请开通摇一摇周边 + */ + function startSearchBeacons(params: IstartSearchBeacons): void; + + interface IstopSearchBeacons extends BaseParams { + // 关闭查找完成后的回调函数 + complete(res: any): void; + } + + /** + * 关闭查找周边ibeacon设备接口 + */ + function stopSearchBeacons(params: IstopSearchBeacons): void; + + interface IonSearchBeacons extends BaseParams { + // 回调函数,可以数组形式取得该商家注册的在周边的相关设备列表 + complete(argv: any): void; + } + /** + * 监听周边ibeacon设备接口 + */ + function onSearchBeacons(params: IonSearchBeacons): void; + /*=============================摇一摇周边================================*/ + /*=============================界面操作================================*/ + + /** + * 隐藏右上角菜单接口 + */ + function hideOptionMenu(): void; + + /** + * 显示右上角菜单接口 + */ + function showOptionMenu(): void; + + /** + * 关闭当前网页窗口接口 + */ + function closeWindow(): void; + + interface IhideMenuItems extends BaseParams { + menuList: Array; // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3 + } + /** + * 批量隐藏功能按钮接口 + */ + function hideMenuItems(params: IhideMenuItems): void; + + interface IshowMenuItems extends BaseParams { + menuList: menuList; // 要显示的菜单项,所有menu项见附录3 + } + /** + * 批量显示功能按钮接口 + */ + function showMenuItems(params: IshowMenuItems): void; + + /** + * 隐藏所有非基础按钮接口 + * “基本类”按钮详见附录3 + */ + function hideAllNonBaseMenuItem(): void; + + /** + * 显示所有功能按钮接口 + */ + function showAllNonBaseMenuItem(): void; + /*=============================界面操作================================*/ + /*=============================微信扫一扫================================*/ + + type scanType = "qrCode" | "barCode"; + + interface IscanQRCode extends BaseParams { + needResult: 0 | 1; // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, + scanType: scanType[]; // 可以指定扫二维码还是一维码,默认二者都有 + // 当needResult 为 1 时,扫码返回的结果 + success(res: { resultStr: string }): void; + } + /** + * 调起微信扫一扫接口 + */ + function scanQRCode(params: IscanQRCode): void; + /*=============================微信扫一扫================================*/ + /*=============================微信小店================================*/ + + interface IopenProductSpecificView extends BaseParams { + productId: string; // 商品id + viewType: "0" | "1" | "2"; // 0.默认值,普通商品详情页1.扫一扫商品详情页2.小店商品详情页 + } + /** + * 跳转微信商品页接口 + */ + function openProductSpecificView(params: IopenProductSpecificView): void; + /*=============================微信卡券================================*/ + + interface IchooseCard extends BaseParams { + shopId: string; // 门店Id + cardType: string; // 卡券类型 + cardId: string; // 卡券Id + timestamp: number; // 卡券签名时间戳 + nonceStr: string; // 卡券签名随机串 + signType: string; // 签名方式,默认'SHA1' + cardSign: string; // 卡券签名 + success(res: { cardList: string[] }): void; + } + /** + * 拉取适用卡券列表并获取用户选择信息 + */ + function chooseCard(params: IchooseCard): void; + + interface IaddCard extends BaseParams { + cardList: Array<{ + cardId: string; + cardExt: string; + }>; // 需要添加的卡券列表 + success(res: { cardList: string[] }): void; + } + /** + * 批量添加卡券接口 + */ + function addCard(): void; + + interface IopenCard extends BaseParams { + cardList: Array<{ + cardId: string; + code: string; + }>; // 需要打开的卡券列表 + } + /** + * 查看微信卡包中的卡券接口 + */ + function openCard(params: IopenCard): void; + + interface IconsumeAndShareCard extends BaseParams { + cardId: string; + code: string; + } + /** + * 核销后再次赠送卡券接口 + */ + function consumeAndShareCard(params: IconsumeAndShareCard): void; + /*=============================微信卡券================================*/ + /*=============================微信支付================================*/ + + interface IchooseWXPay extends BaseParams { + timestamp: number; // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 + nonceStr: string; // 支付签名随机串,不长于 32 位 + package: string; // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***) + signType: string; // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' + paySign: string; // 支付签名 + // 支付成功后的回调函数 + success(res: any): void; + } + /** + * 发起一个微信支付请求 + */ + function chooseWXPay(params: IchooseWXPay): void; + /*=============================微信支付================================*/ + /*=============================微信小程序==============================*/ + interface miniProgramMethodsParams extends BaseParams { + url: string; + } + interface miniProgramMethods { + navigateTo(params: miniProgramMethodsParams): void; + navigateBack(params: miniProgramMethodsParams): void; + switchTab(params: miniProgramMethodsParams): void; + reLaunch(params: miniProgramMethodsParams): void; + redirectTo(params: miniProgramMethodsParams): void; + postMessage(params: { data: any }): void; + getEnv(fn: (res: any) => void): void; + } + const miniProgram: miniProgramMethods; + /*=============================微信小程序==============================*/ +} +declare function wx(): void; +/*=============================微信内全局变量==============================*/ +declare global { + interface Window { + WeixinJSBridge: any; + __wxjs_environment: any; + } + const WeixinJSBridge: any; +} +export default wx; diff --git a/node_modules/weixin-js-sdk/index.js b/node_modules/weixin-js-sdk/index.js index 98f5ccb..aed0a87 100644 --- a/node_modules/weixin-js-sdk/index.js +++ b/node_modules/weixin-js-sdk/index.js @@ -1,9 +1,14 @@ -!(function(e, n) { +!(function (e, n) { module.exports = n(e); -})(window, function(o, e) { - if (!o.jWeixin) { - var n, - c = { +})(typeof window === "object" && window, function (r, e) { + if (!r) { + console.warn("can't use weixin-js-sdk in server side"); + return; + } + var a, c, n, i, t, o, s, d, l, u, p, f, m, g, h, S, y, I, v, _, w, T; + if (!r.jWeixin) + return ( + (a = { config: "preVerifyJSAPI", onMenuShareTimeline: "menu:share:timeline", onMenuShareAppMessage: "menu:share:appmessage", @@ -21,361 +26,312 @@ stopSearchBeacons: "stopMonitoringBeacons", onSearchBeacons: "onBeaconsInRange", consumeAndShareCard: "consumedShareCard", - openAddress: "editAddress" - }, - a = (function() { - var e = {}; - for (var n in c) e[c[n]] = n; - return e; - })(), - i = o.document, - t = i.title, - r = navigator.userAgent.toLowerCase(), - s = navigator.platform.toLowerCase(), - d = !(!s.match("mac") && !s.match("win")), - u = -1 != r.indexOf("wxdebugger"), - l = -1 != r.indexOf("micromessenger"), - p = -1 != r.indexOf("android"), - f = -1 != r.indexOf("iphone") || -1 != r.indexOf("ipad"), - m = (n = - r.match(/micromessenger\/(\d+\.\d+\.\d+)/) || - r.match(/micromessenger\/(\d+\.\d+)/)) - ? n[1] - : "", - g = { + openAddress: "editAddress", + }), + (c = (function () { + var e, + n = {}; + for (e in a) n[a[e]] = e; + return n; + })()), + (n = r.document), + (i = n.title), + (t = navigator.userAgent.toLowerCase()), + (f = navigator.platform.toLowerCase()), + (o = !(!f.match("mac") && !f.match("win"))), + (s = -1 != t.indexOf("wxdebugger")), + (d = -1 != t.indexOf("micromessenger")), + (l = -1 != t.indexOf("android")), + (u = -1 != t.indexOf("iphone") || -1 != t.indexOf("ipad")), + (p = (f = + t.match(/micromessenger\/(\d+\.\d+\.\d+)/) || + t.match(/micromessenger\/(\d+\.\d+)/)) + ? f[1] + : ""), + (m = { initStartTime: L(), initEndTime: 0, preVerifyStartTime: 0, - preVerifyEndTime: 0 - }, - h = { + preVerifyEndTime: 0, + }), + (g = { version: 1, appId: "", initTime: 0, preVerifyTime: 0, networkType: "", isPreVerifyOk: 1, - systemType: f ? 1 : p ? 2 : -1, - clientVersion: m, - url: encodeURIComponent(location.href) - }, - v = {}, - S = { _completes: [] }, - y = { state: 0, data: {} }; - O(function() { - g.initEndTime = L(); - }); - var I = !1, - _ = [], - w = { - config: function(e) { - B("config", (v = e)); - var t = !1 !== v.check; - O(function() { - if (t) - M( - c.config, + systemType: u ? 1 : l ? 2 : -1, + clientVersion: p, + url: encodeURIComponent(location.href), + }), + (h = {}), + (S = { _completes: [] }), + (y = { state: 0, data: {} }), + O(function () { + m.initEndTime = L(); + }), + (I = !1), + (v = []), + (_ = { + config: function (e) { + C("config", (h = e)); + var o = !1 !== h.check; + O(function () { + if (o) + k( + a.config, { - verifyJsApiList: C(v.jsApiList), - verifyOpenTagList: C(v.openTagList) + verifyJsApiList: A(h.jsApiList), + verifyOpenTagList: A(h.openTagList), }, - (function() { - (S._complete = function(e) { - (g.preVerifyEndTime = L()), (y.state = 1), (y.data = e); - }), - (S.success = function(e) { - h.isPreVerifyOk = 0; - }), - (S.fail = function(e) { - S._fail ? S._fail(e) : (y.state = -1); - }); - var t = S._completes; - return ( - t.push(function() { - !(function() { - if ( - !( - d || - u || - v.debug || - m < "6.0.2" || - h.systemType < 0 - ) - ) { - var i = new Image(); - (h.appId = v.appId), - (h.initTime = g.initEndTime - g.initStartTime), - (h.preVerifyTime = - g.preVerifyEndTime - g.preVerifyStartTime), - w.getNetworkType({ - isInnerInvoke: !0, - success: function(e) { - h.networkType = e.networkType; - var n = - "https://open.weixin.qq.com/sdk/report?v=" + - h.version + - "&o=" + - h.isPreVerifyOk + - "&s=" + - h.systemType + - "&c=" + - h.clientVersion + - "&a=" + - h.appId + - "&n=" + - h.networkType + - "&i=" + - h.initTime + - "&p=" + - h.preVerifyTime + - "&u=" + - h.url; - i.src = n; - } - }); - } - })(); - }), - (S.complete = function(e) { - for (var n = 0, i = t.length; n < i; ++n) t[n](); - S._completes = []; - }), - S - ); - })() + ((S._complete = function (e) { + (m.preVerifyEndTime = L()), (y.state = 1), (y.data = e); + }), + (S.success = function (e) { + g.isPreVerifyOk = 0; + }), + (S.fail = function (e) { + S._fail ? S._fail(e) : (y.state = -1); + }), + (t = S._completes).push(function () { + B(); + }), + (S.complete = function (e) { + for (var n = 0, i = t.length; n < i; ++n) t[n](); + S._completes = []; + }), + S) ), - (g.preVerifyStartTime = L()); + (m.preVerifyStartTime = L()); else { y.state = 1; for (var e = S._completes, n = 0, i = e.length; n < i; ++n) e[n](); S._completes = []; } + var t; }), - w.invoke || - ((w.invoke = function(e, n, i) { - o.WeixinJSBridge && WeixinJSBridge.invoke(e, x(n), i); + _.invoke || + ((_.invoke = function (e, n, i) { + r.WeixinJSBridge && WeixinJSBridge.invoke(e, P(n), i); }), - (w.on = function(e, n) { - o.WeixinJSBridge && WeixinJSBridge.on(e, n); + (_.on = function (e, n) { + r.WeixinJSBridge && WeixinJSBridge.on(e, n); })); }, - ready: function(e) { - 0 != y.state ? e() : (S._completes.push(e), !l && v.debug && e()); + ready: function (e) { + (0 != y.state || (S._completes.push(e), !d && h.debug)) && e(); }, - error: function(e) { - m < "6.0.2" || (-1 == y.state ? e(y.data) : (S._fail = e)); + error: function (e) { + p < "6.0.2" || (-1 == y.state ? e(y.data) : (S._fail = e)); }, - checkJsApi: function(e) { - M( + checkJsApi: function (e) { + k( "checkJsApi", - { jsApiList: C(e.jsApiList) }, - ((e._complete = function(e) { - if (p) { - var n = e.checkResult; - n && (e.checkResult = JSON.parse(n)); + { jsApiList: A(e.jsApiList) }, + ((e._complete = function (e) { + l && (i = e.checkResult) && (e.checkResult = JSON.parse(i)); + var n, + i = e, + t = i.checkResult; + for (n in t) { + var o = c[n]; + o && ((t[o] = t[n]), delete t[n]); } - e = (function(e) { - var n = e.checkResult; - for (var i in n) { - var t = a[i]; - t && ((n[t] = n[i]), delete n[i]); - } - return e; - })(e); }), e) ); }, - onMenuShareTimeline: function(e) { - P( - c.onMenuShareTimeline, + onMenuShareTimeline: function (e) { + M( + a.onMenuShareTimeline, { - complete: function() { - M( + complete: function () { + k( "shareTimeline", { - title: e.title || t, - desc: e.title || t, + title: e.title || i, + desc: e.title || i, img_url: e.imgUrl || "", link: e.link || location.href, type: e.type || "link", - data_url: e.dataUrl || "" + data_url: e.dataUrl || "", }, e ); - } + }, }, e ); }, - onMenuShareAppMessage: function(n) { - P( - c.onMenuShareAppMessage, + onMenuShareAppMessage: function (n) { + M( + a.onMenuShareAppMessage, { - complete: function(e) { + complete: function (e) { "favorite" === e.scene - ? M("sendAppMessage", { - title: n.title || t, + ? k("sendAppMessage", { + title: n.title || i, desc: n.desc || "", link: n.link || location.href, img_url: n.imgUrl || "", type: n.type || "link", - data_url: n.dataUrl || "" + data_url: n.dataUrl || "", }) - : M( + : k( "sendAppMessage", { - title: n.title || t, + title: n.title || i, desc: n.desc || "", link: n.link || location.href, img_url: n.imgUrl || "", type: n.type || "link", - data_url: n.dataUrl || "" + data_url: n.dataUrl || "", }, n ); - } + }, }, n ); }, - onMenuShareQQ: function(e) { - P( - c.onMenuShareQQ, + onMenuShareQQ: function (e) { + M( + a.onMenuShareQQ, { - complete: function() { - M( + complete: function () { + k( "shareQQ", { - title: e.title || t, + title: e.title || i, desc: e.desc || "", img_url: e.imgUrl || "", - link: e.link || location.href + link: e.link || location.href, }, e ); - } + }, }, e ); }, - onMenuShareWeibo: function(e) { - P( - c.onMenuShareWeibo, + onMenuShareWeibo: function (e) { + M( + a.onMenuShareWeibo, { - complete: function() { - M( + complete: function () { + k( "shareWeiboApp", { - title: e.title || t, + title: e.title || i, desc: e.desc || "", img_url: e.imgUrl || "", - link: e.link || location.href + link: e.link || location.href, }, e ); - } + }, }, e ); }, - onMenuShareQZone: function(e) { - P( - c.onMenuShareQZone, + onMenuShareQZone: function (e) { + M( + a.onMenuShareQZone, { - complete: function() { - M( + complete: function () { + k( "shareQZone", { - title: e.title || t, + title: e.title || i, desc: e.desc || "", img_url: e.imgUrl || "", - link: e.link || location.href + link: e.link || location.href, }, e ); - } + }, }, e ); }, - updateTimelineShareData: function(e) { - M( + updateTimelineShareData: function (e) { + k( "updateTimelineShareData", { title: e.title, link: e.link, imgUrl: e.imgUrl }, e ); }, - updateAppMessageShareData: function(e) { - M( + updateAppMessageShareData: function (e) { + k( "updateAppMessageShareData", { title: e.title, desc: e.desc, link: e.link, imgUrl: e.imgUrl }, e ); }, - startRecord: function(e) { - M("startRecord", {}, e); + startRecord: function (e) { + k("startRecord", {}, e); }, - stopRecord: function(e) { - M("stopRecord", {}, e); + stopRecord: function (e) { + k("stopRecord", {}, e); }, - onVoiceRecordEnd: function(e) { - P("onVoiceRecordEnd", e); + onVoiceRecordEnd: function (e) { + M("onVoiceRecordEnd", e); }, - playVoice: function(e) { - M("playVoice", { localId: e.localId }, e); + playVoice: function (e) { + k("playVoice", { localId: e.localId }, e); }, - pauseVoice: function(e) { - M("pauseVoice", { localId: e.localId }, e); + pauseVoice: function (e) { + k("pauseVoice", { localId: e.localId }, e); }, - stopVoice: function(e) { - M("stopVoice", { localId: e.localId }, e); + stopVoice: function (e) { + k("stopVoice", { localId: e.localId }, e); }, - onVoicePlayEnd: function(e) { - P("onVoicePlayEnd", e); + onVoicePlayEnd: function (e) { + M("onVoicePlayEnd", e); }, - uploadVoice: function(e) { - M( + uploadVoice: function (e) { + k( "uploadVoice", { localId: e.localId, - isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 + isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1, }, e ); }, - downloadVoice: function(e) { - M( + downloadVoice: function (e) { + k( "downloadVoice", { serverId: e.serverId, - isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 + isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1, }, e ); }, - translateVoice: function(e) { - M( + translateVoice: function (e) { + k( "translateVoice", { localId: e.localId, - isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 + isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1, }, e ); }, - chooseImage: function(e) { - M( + chooseImage: function (e) { + k( "chooseImage", { scene: "1|2", count: e.count || 9, sizeType: e.sizeType || ["original", "compressed"], - sourceType: e.sourceType || ["album", "camera"] + sourceType: e.sourceType || ["album", "camera"], }, - ((e._complete = function(e) { - if (p) { + ((e._complete = function (e) { + if (l) { var n = e.localIds; try { n && (e.localIds = JSON.parse(n)); @@ -385,77 +341,83 @@ e) ); }, - getLocation: function(e) {}, - previewImage: function(e) { - M(c.previewImage, { current: e.current, urls: e.urls }, e); + getLocation: function (e) { + (e = e || {}), + k( + a.getLocation, + { type: e.type || "wgs84" }, + ((e._complete = function (e) { + delete e.type; + }), + e) + ); }, - uploadImage: function(e) { - M( + previewImage: function (e) { + k(a.previewImage, { current: e.current, urls: e.urls }, e); + }, + uploadImage: function (e) { + k( "uploadImage", { localId: e.localId, - isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 + isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1, }, e ); }, - downloadImage: function(e) { - M( + downloadImage: function (e) { + k( "downloadImage", { serverId: e.serverId, - isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 + isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1, }, e ); }, - getLocalImgData: function(e) { + getLocalImgData: function (e) { !1 === I ? ((I = !0), - M( + k( "getLocalImgData", { localId: e.localId }, - ((e._complete = function(e) { - if (((I = !1), 0 < _.length)) { - var n = _.shift(); - wx.getLocalImgData(n); - } + ((e._complete = function (e) { + var n; + (I = !1), + 0 < v.length && ((n = v.shift()), wx.getLocalImgData(n)); }), e) )) - : _.push(e); + : v.push(e); }, - getNetworkType: function(e) { - M( + getNetworkType: function (e) { + k( "getNetworkType", {}, - ((e._complete = function(e) { - e = (function(e) { - var n = e.errMsg; - e.errMsg = "getNetworkType:ok"; - var i = e.subtype; - if ((delete e.subtype, i)) e.networkType = i; - else { - var t = n.indexOf(":"), - o = n.substring(t + 1); - switch (o) { - case "wifi": - case "edge": - case "wwan": - e.networkType = o; - break; - default: - e.errMsg = "getNetworkType:fail"; - } + ((e._complete = function (e) { + var n = e, + e = n.errMsg, + i = ((n.errMsg = "getNetworkType:ok"), n.subtype); + if ((delete n.subtype, i)) n.networkType = i; + else { + var i = e.indexOf(":"), + t = e.substring(i + 1); + switch (t) { + case "wifi": + case "edge": + case "wwan": + n.networkType = t; + break; + default: + n.errMsg = "getNetworkType:fail"; } - return e; - })(e); + } }), e) ); }, - openLocation: function(e) { - M( + openLocation: function (e) { + k( "openLocation", { latitude: e.latitude, @@ -463,109 +425,91 @@ name: e.name || "", address: e.address || "", scale: e.scale || 28, - infoUrl: e.infoUrl || "" + infoUrl: e.infoUrl || "", }, e ); }, - getLocation: function(e) { - M( - c.getLocation, - { type: (e = e || {}).type || "wgs84" }, - ((e._complete = function(e) { - delete e.type; - }), - e) - ); - }, - hideOptionMenu: function(e) { - M("hideOptionMenu", {}, e); + hideOptionMenu: function (e) { + k("hideOptionMenu", {}, e); }, - showOptionMenu: function(e) { - M("showOptionMenu", {}, e); + showOptionMenu: function (e) { + k("showOptionMenu", {}, e); }, - closeWindow: function(e) { - M("closeWindow", {}, (e = e || {})); + closeWindow: function (e) { + k("closeWindow", {}, (e = e || {})); }, - hideMenuItems: function(e) { - M("hideMenuItems", { menuList: e.menuList }, e); + hideMenuItems: function (e) { + k("hideMenuItems", { menuList: e.menuList }, e); }, - showMenuItems: function(e) { - M("showMenuItems", { menuList: e.menuList }, e); + showMenuItems: function (e) { + k("showMenuItems", { menuList: e.menuList }, e); }, - hideAllNonBaseMenuItem: function(e) { - M("hideAllNonBaseMenuItem", {}, e); + hideAllNonBaseMenuItem: function (e) { + k("hideAllNonBaseMenuItem", {}, e); }, - showAllNonBaseMenuItem: function(e) { - M("showAllNonBaseMenuItem", {}, e); + showAllNonBaseMenuItem: function (e) { + k("showAllNonBaseMenuItem", {}, e); }, - scanQRCode: function(e) { - M( + scanQRCode: function (e) { + k( "scanQRCode", { needResult: (e = e || {}).needResult || 0, - scanType: e.scanType || ["qrCode", "barCode"] + scanType: e.scanType || ["qrCode", "barCode"], }, - ((e._complete = function(e) { - if (f) { - var n = e.resultStr; - if (n) { - var i = JSON.parse(n); - e.resultStr = i && i.scan_code && i.scan_code.scan_result; - } - } + ((e._complete = function (e) { + var n; + u && + (n = e.resultStr) && + ((n = JSON.parse(n)), + (e.resultStr = n && n.scan_code && n.scan_code.scan_result)); }), e) ); }, - openAddress: function(e) { - M( - c.openAddress, + openAddress: function (e) { + k( + a.openAddress, {}, - ((e._complete = function(e) { - e = (function(e) { - return ( - (e.postalCode = e.addressPostalCode), - delete e.addressPostalCode, - (e.provinceName = e.proviceFirstStageName), - delete e.proviceFirstStageName, - (e.cityName = e.addressCitySecondStageName), - delete e.addressCitySecondStageName, - (e.countryName = e.addressCountiesThirdStageName), - delete e.addressCountiesThirdStageName, - (e.detailInfo = e.addressDetailInfo), - delete e.addressDetailInfo, - e - ); - })(e); + ((e._complete = function (e) { + ((e = e).postalCode = e.addressPostalCode), + delete e.addressPostalCode, + (e.provinceName = e.proviceFirstStageName), + delete e.proviceFirstStageName, + (e.cityName = e.addressCitySecondStageName), + delete e.addressCitySecondStageName, + (e.countryName = e.addressCountiesThirdStageName), + delete e.addressCountiesThirdStageName, + (e.detailInfo = e.addressDetailInfo), + delete e.addressDetailInfo; }), e) ); }, - openProductSpecificView: function(e) { - M( - c.openProductSpecificView, + openProductSpecificView: function (e) { + k( + a.openProductSpecificView, { pid: e.productId, view_type: e.viewType || 0, - ext_info: e.extInfo + ext_info: e.extInfo, }, e ); }, - addCard: function(e) { + addCard: function (e) { for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) { var r = n[t], - a = { card_id: r.cardId, card_ext: r.cardExt }; - i.push(a); + r = { card_id: r.cardId, card_ext: r.cardExt }; + i.push(r); } - M( - c.addCard, + k( + a.addCard, { card_list: i }, - ((e._complete = function(e) { - var n = e.card_list; - if (n) { - for (var i = 0, t = (n = JSON.parse(n)).length; i < t; ++i) { + ((e._complete = function (e) { + if ((n = e.card_list)) { + for (var n, i = 0, t = (n = JSON.parse(n)).length; i < t; ++i) { var o = n[i]; (o.cardId = o.card_id), (o.cardExt = o.card_ext), @@ -580,89 +524,91 @@ e) ); }, - chooseCard: function(e) { - M( + chooseCard: function (e) { + k( "chooseCard", { - app_id: v.appId, + app_id: h.appId, location_id: e.shopId || "", sign_type: e.signType || "SHA1", card_id: e.cardId || "", card_type: e.cardType || "", card_sign: e.cardSign, time_stamp: e.timestamp + "", - nonce_str: e.nonceStr + nonce_str: e.nonceStr, }, - ((e._complete = function(e) { + ((e._complete = function (e) { (e.cardList = e.choose_card_info), delete e.choose_card_info; }), e) ); }, - openCard: function(e) { + openCard: function (e) { for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) { var r = n[t], - a = { card_id: r.cardId, code: r.code }; - i.push(a); + r = { card_id: r.cardId, code: r.code }; + i.push(r); } - M(c.openCard, { card_list: i }, e); + k(a.openCard, { card_list: i }, e); }, - consumeAndShareCard: function(e) { - M( - c.consumeAndShareCard, + consumeAndShareCard: function (e) { + k( + a.consumeAndShareCard, { consumedCardId: e.cardId, consumedCode: e.code }, e ); }, - chooseWXPay: function(e) { - M(c.chooseWXPay, V(e), e); + chooseWXPay: function (e) { + k(a.chooseWXPay, x(e), e), B({ jsApiName: "chooseWXPay" }); }, - openEnterpriseRedPacket: function(e) { - M(c.openEnterpriseRedPacket, V(e), e); + openEnterpriseRedPacket: function (e) { + k(a.openEnterpriseRedPacket, x(e), e); }, - startSearchBeacons: function(e) { - M(c.startSearchBeacons, { ticket: e.ticket }, e); + startSearchBeacons: function (e) { + k(a.startSearchBeacons, { ticket: e.ticket }, e); }, - stopSearchBeacons: function(e) { - M(c.stopSearchBeacons, {}, e); + stopSearchBeacons: function (e) { + k(a.stopSearchBeacons, {}, e); }, - onSearchBeacons: function(e) { - P(c.onSearchBeacons, e); + onSearchBeacons: function (e) { + M(a.onSearchBeacons, e); }, - openEnterpriseChat: function(e) { - M( + openEnterpriseChat: function (e) { + k( "openEnterpriseChat", { useridlist: e.userIds, chatname: e.groupName }, e ); }, - launchMiniProgram: function(e) { - M( + launchMiniProgram: function (e) { + k( "launchMiniProgram", { targetAppId: e.targetAppId, - path: (function(e) { - if ("string" == typeof e && 0 < e.length) { - var n = e.split("?")[0], - i = e.split("?")[1]; - return (n += ".html"), void 0 !== i ? n + "?" + i : n; - } + path: (function (e) { + var n; + if ("string" == typeof e && 0 < e.length) + return ( + (n = e.split("?")[0]), + (n += ".html"), + void 0 !== (e = e.split("?")[1]) ? n + "?" + e : n + ); })(e.path), - envVersion: e.envVersion + envVersion: e.envVersion, }, e ); }, - openBusinessView: function(e) { - M( + openBusinessView: function (e) { + k( "openBusinessView", { businessType: e.businessType, queryString: e.queryString || "", - envVersion: e.envVersion + envVersion: e.envVersion, }, - ((e._complete = function(n) { - if (p) { + ((e._complete = function (n) { + if (l) { var e = n.extraData; if (e) try { @@ -676,186 +622,193 @@ ); }, miniProgram: { - navigateBack: function(e) { + navigateBack: function (e) { (e = e || {}), - O(function() { - M( + O(function () { + k( "invokeMiniProgramAPI", { name: "navigateBack", arg: { delta: e.delta || 1 } }, e ); }); }, - navigateTo: function(e) { - O(function() { - M( + navigateTo: function (e) { + O(function () { + k( "invokeMiniProgramAPI", { name: "navigateTo", arg: { url: e.url } }, e ); }); }, - redirectTo: function(e) { - O(function() { - M( + redirectTo: function (e) { + O(function () { + k( "invokeMiniProgramAPI", { name: "redirectTo", arg: { url: e.url } }, e ); }); }, - switchTab: function(e) { - O(function() { - M( + switchTab: function (e) { + O(function () { + k( "invokeMiniProgramAPI", { name: "switchTab", arg: { url: e.url } }, e ); }); }, - reLaunch: function(e) { - O(function() { - M( + reLaunch: function (e) { + O(function () { + k( "invokeMiniProgramAPI", { name: "reLaunch", arg: { url: e.url } }, e ); }); }, - postMessage: function(e) { - O(function() { - M( + postMessage: function (e) { + O(function () { + k( "invokeMiniProgramAPI", { name: "postMessage", arg: e.data || {} }, e ); }); }, - getEnv: function(e) { - O(function() { - e({ miniprogram: "miniprogram" === o.__wxjs_environment }); + getEnv: function (e) { + O(function () { + e({ miniprogram: "miniprogram" === r.__wxjs_environment }); }); - } - } - }, - T = 1, - k = {}; - return ( - i.addEventListener( + }, + }, + }), + (w = 1), + (T = {}), + n.addEventListener( "error", - function(e) { - if (!p) { - var n = e.target, - i = n.tagName, - t = n.src; - if ("IMG" == i || "VIDEO" == i || "AUDIO" == i || "SOURCE" == i) - if (-1 != t.indexOf("wxlocalresource://")) { - e.preventDefault(), e.stopPropagation(); - var o = n["wx-id"]; - if ((o || ((o = T++), (n["wx-id"] = o)), k[o])) return; - (k[o] = !0), - wx.ready(function() { - wx.getLocalImgData({ - localId: t, - success: function(e) { - n.src = e.localData; - } - }); + function (e) { + var n, i, t; + l || + ((t = (n = e.target).tagName), + (i = n.src), + "IMG" != t && "VIDEO" != t && "AUDIO" != t && "SOURCE" != t) || + (-1 != i.indexOf("wxlocalresource://") && + (e.preventDefault(), + e.stopPropagation(), + (t = n["wx-id"]) || ((t = w++), (n["wx-id"] = t)), + T[t] || + ((T[t] = !0), + wx.ready(function () { + wx.getLocalImgData({ + localId: i, + success: function (e) { + n.src = e.localData; + }, }); - } - } + })))); }, !0 ), - i.addEventListener( + n.addEventListener( "load", - function(e) { - if (!p) { - var n = e.target, - i = n.tagName; - n.src; - if ("IMG" == i || "VIDEO" == i || "AUDIO" == i || "SOURCE" == i) { - var t = n["wx-id"]; - t && (k[t] = !1); - } - } + function (e) { + var n; + l || + ((n = (e = e.target).tagName), + e.src, + "IMG" != n && "VIDEO" != n && "AUDIO" != n && "SOURCE" != n) || + ((n = e["wx-id"]) && (T[n] = !1)); }, !0 ), - e && (o.wx = o.jWeixin = w), - w + e && (r.wx = r.jWeixin = _), + _ ); - } - function M(n, e, i) { - o.WeixinJSBridge - ? WeixinJSBridge.invoke(n, x(e), function(e) { - A(n, e, i); + else return r.jWeixin; + function k(n, e, i) { + r.WeixinJSBridge + ? WeixinJSBridge.invoke(n, P(e), function (e) { + V(n, e, i); }) - : B(n, i); + : C(n, i); } - function P(n, i, t) { - o.WeixinJSBridge - ? WeixinJSBridge.on(n, function(e) { - t && t.trigger && t.trigger(e), A(n, e, i); + function M(n, i, t) { + r.WeixinJSBridge + ? WeixinJSBridge.on(n, function (e) { + t && t.trigger && t.trigger(e), V(n, e, i); }) - : B(n, t || i); + : C(n, t || i); } - function x(e) { + function P(e) { return ( - ((e = e || {}).appId = v.appId), - (e.verifyAppId = v.appId), + ((e = e || {}).appId = h.appId), + (e.verifyAppId = h.appId), (e.verifySignType = "sha1"), - (e.verifyTimestamp = v.timestamp + ""), - (e.verifyNonceStr = v.nonceStr), - (e.verifySignature = v.signature), + (e.verifyTimestamp = h.timestamp + ""), + (e.verifyNonceStr = h.nonceStr), + (e.verifySignature = h.signature), e ); } - function V(e) { + function x(e) { return { timeStamp: e.timestamp + "", nonceStr: e.nonceStr, package: e.package, paySign: e.paySign, - signType: e.signType || "SHA1" + signType: e.signType || "SHA1", }; } - function A(e, n, i) { + function V(e, n, i) { ("openEnterpriseChat" != e && "openBusinessView" !== e) || (n.errCode = n.err_code), delete n.err_code, delete n.err_desc, delete n.err_detail; - var t = n.errMsg; - t || - ((t = n.err_msg), - delete n.err_msg, - (t = (function(e, n) { - var i = e, - t = a[i]; - t && (i = t); - var o = "ok"; - if (n) { - var r = n.indexOf(":"); - "confirm" == (o = n.substring(r + 1)) && (o = "ok"), - "failed" == o && (o = "fail"), - -1 != o.indexOf("failed_") && (o = o.substring(7)), - -1 != o.indexOf("fail_") && (o = o.substring(5)), - ("access denied" != - (o = (o = o.replace(/_/g, " ")).toLowerCase()) && - "no permission to execute" != o) || - (o = "permission denied"), - "config" == i && "function not exist" == o && (o = "ok"), - "" == o && (o = "fail"); - } - return (n = i + ":" + o); - })(e, t)), - (n.errMsg = t)), - (i = i || {})._complete && (i._complete(n), delete i._complete), - (t = n.errMsg || ""), - v.debug && !i.isInnerInvoke && alert(JSON.stringify(n)); - var o = t.indexOf(":"); - switch (t.substring(o + 1)) { + var t = n.errMsg, + e = + (t || + ((t = n.err_msg), + delete n.err_msg, + (t = (function (e, n) { + var i = c[e]; + i && (e = i); + i = "ok"; + { + var t; + n && + ((t = n.indexOf(":")), + ("access denied" != + (i = (i = (i = + -1 != + (i = + -1 != + (i = + "failed" == + (i = "confirm" == (i = n.substring(t + 1)) ? "ok" : i) + ? "fail" + : i).indexOf("failed_") + ? i.substring(7) + : i).indexOf("fail_") + ? i.substring(5) + : i).replace(/_/g, " ")).toLowerCase()) && + "no permission to execute" != i) || + (i = "permission denied"), + "" == + (i = + "config" == e && "function not exist" == i ? "ok" : i)) && + (i = "fail"); + } + return (n = e + ":" + i); + })(e, t)), + (n.errMsg = t)), + (i = i || {})._complete && (i._complete(n), delete i._complete), + (t = n.errMsg || ""), + h.debug && !i.isInnerInvoke && alert(JSON.stringify(n)), + t.indexOf(":")); + switch (t.substring(e + 1)) { case "ok": i.success && i.success(n); break; @@ -867,32 +820,72 @@ } i.complete && i.complete(n); } - function C(e) { + function A(e) { if (e) { for (var n = 0, i = e.length; n < i; ++n) { var t = e[n], - o = c[t]; - o && (e[n] = o); + t = a[t]; + t && (e[n] = t); } return e; } } - function B(e, n) { - if (!(!v.debug || (n && n.isInnerInvoke))) { - var i = a[e]; - i && (e = i), - n && n._complete && delete n._complete, - console.log('"' + e + '",', n || ""); - } + function C(e, n) { + var i; + !h.debug || + (n && n.isInnerInvoke) || + ((i = c[e]) && (e = i), + n && n._complete && delete n._complete, + console.log('"' + e + '",', n || "")); + } + function B(n) { + var i; + o || + s || + h.debug || + p < "6.0.2" || + g.systemType < 0 || + ((i = new Image()), + (g.appId = h.appId), + (g.initTime = m.initEndTime - m.initStartTime), + (g.preVerifyTime = m.preVerifyEndTime - m.preVerifyStartTime), + _.getNetworkType({ + isInnerInvoke: !0, + success: function (e) { + g.networkType = e.networkType; + e = + "https://open.weixin.qq.com/sdk/report?v=" + + g.version + + "&o=" + + g.isPreVerifyOk + + "&s=" + + g.systemType + + "&c=" + + g.clientVersion + + "&a=" + + g.appId + + "&n=" + + g.networkType + + "&i=" + + g.initTime + + "&p=" + + g.preVerifyTime + + "&u=" + + g.url + + "&jsapi_name=" + + (n ? n.jsApiName : ""); + i.src = e; + }, + })); } function L() { return new Date().getTime(); } function O(e) { - l && - (o.WeixinJSBridge + d && + (r.WeixinJSBridge ? e() - : i.addEventListener && - i.addEventListener("WeixinJSBridgeReady", e, !1)); + : n.addEventListener && + n.addEventListener("WeixinJSBridgeReady", e, !1)); } }); diff --git a/node_modules/weixin-js-sdk/index.original.js b/node_modules/weixin-js-sdk/index.original.js deleted file mode 100644 index 1d48001..0000000 --- a/node_modules/weixin-js-sdk/index.original.js +++ /dev/null @@ -1,2 +0,0 @@ -// from http://res.wx.qq.com/open/js/jweixin-1.6.0.js -!function(e,n){"function"==typeof define&&(define.amd||define.cmd)?define(function(){return n(e)}):n(e,!0)}(this,function(o,e){if(!o.jWeixin){var n,c={config:"preVerifyJSAPI",onMenuShareTimeline:"menu:share:timeline",onMenuShareAppMessage:"menu:share:appmessage",onMenuShareQQ:"menu:share:qq",onMenuShareWeibo:"menu:share:weiboApp",onMenuShareQZone:"menu:share:QZone",previewImage:"imagePreview",getLocation:"geoLocation",openProductSpecificView:"openProductViewWithPid",addCard:"batchAddCard",openCard:"batchViewCard",chooseWXPay:"getBrandWCPayRequest",openEnterpriseRedPacket:"getRecevieBizHongBaoRequest",startSearchBeacons:"startMonitoringBeacons",stopSearchBeacons:"stopMonitoringBeacons",onSearchBeacons:"onBeaconsInRange",consumeAndShareCard:"consumedShareCard",openAddress:"editAddress"},a=function(){var e={};for(var n in c)e[c[n]]=n;return e}(),i=o.document,t=i.title,r=navigator.userAgent.toLowerCase(),s=navigator.platform.toLowerCase(),d=!(!s.match("mac")&&!s.match("win")),u=-1!=r.indexOf("wxdebugger"),l=-1!=r.indexOf("micromessenger"),p=-1!=r.indexOf("android"),f=-1!=r.indexOf("iphone")||-1!=r.indexOf("ipad"),m=(n=r.match(/micromessenger\/(\d+\.\d+\.\d+)/)||r.match(/micromessenger\/(\d+\.\d+)/))?n[1]:"",g={initStartTime:L(),initEndTime:0,preVerifyStartTime:0,preVerifyEndTime:0},h={version:1,appId:"",initTime:0,preVerifyTime:0,networkType:"",isPreVerifyOk:1,systemType:f?1:p?2:-1,clientVersion:m,url:encodeURIComponent(location.href)},v={},S={_completes:[]},y={state:0,data:{}};O(function(){g.initEndTime=L()});var I=!1,_=[],w={config:function(e){B("config",v=e);var t=!1!==v.check;O(function(){if(t)M(c.config,{verifyJsApiList:C(v.jsApiList),verifyOpenTagList:C(v.openTagList)},function(){S._complete=function(e){g.preVerifyEndTime=L(),y.state=1,y.data=e},S.success=function(e){h.isPreVerifyOk=0},S.fail=function(e){S._fail?S._fail(e):y.state=-1};var t=S._completes;return t.push(function(){!function(){if(!(d||u||v.debug||m<"6.0.2"||h.systemType<0)){var i=new Image;h.appId=v.appId,h.initTime=g.initEndTime-g.initStartTime,h.preVerifyTime=g.preVerifyEndTime-g.preVerifyStartTime,w.getNetworkType({isInnerInvoke:!0,success:function(e){h.networkType=e.networkType;var n="https://open.weixin.qq.com/sdk/report?v="+h.version+"&o="+h.isPreVerifyOk+"&s="+h.systemType+"&c="+h.clientVersion+"&a="+h.appId+"&n="+h.networkType+"&i="+h.initTime+"&p="+h.preVerifyTime+"&u="+h.url;i.src=n}})}}()}),S.complete=function(e){for(var n=0,i=t.length;n - + @@ -112,8 +112,8 @@