对接支付功能
This commit is contained in:
21
node_modules/.store/weixin-js-sdk@1.6.5/node_modules/weixin-js-sdk/LICENSE
generated
vendored
Normal file
21
node_modules/.store/weixin-js-sdk@1.6.5/node_modules/weixin-js-sdk/LICENSE
generated
vendored
Normal file
@@ -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.
|
||||
36
node_modules/.store/weixin-js-sdk@1.6.5/node_modules/weixin-js-sdk/README.md
generated
vendored
Normal file
36
node_modules/.store/weixin-js-sdk@1.6.5/node_modules/weixin-js-sdk/README.md
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
微信官方 js-sdk
|
||||
----
|
||||
|
||||
说明: 仅将官方 js-sdk 发布到 npm,支持 CommonJS,便于 browserify, webpack 等直接使用,支持 TypeScript。
|
||||
|
||||
|
||||
官方 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
|
||||
|
||||
安装:
|
||||
```shell
|
||||
npm install 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/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)
|
||||
601
node_modules/.store/weixin-js-sdk@1.6.5/node_modules/weixin-js-sdk/index.d.ts
generated
vendored
Normal file
601
node_modules/.store/weixin-js-sdk@1.6.5/node_modules/weixin-js-sdk/index.d.ts
generated
vendored
Normal file
@@ -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<menuBase | menuProtected | menuShare>;
|
||||
|
||||
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<menuProtected | menuShare>; // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有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;
|
||||
891
node_modules/.store/weixin-js-sdk@1.6.5/node_modules/weixin-js-sdk/index.js
generated
vendored
Normal file
891
node_modules/.store/weixin-js-sdk@1.6.5/node_modules/weixin-js-sdk/index.js
generated
vendored
Normal file
@@ -0,0 +1,891 @@
|
||||
!(function (e, n) {
|
||||
module.exports = n(e);
|
||||
})(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",
|
||||
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",
|
||||
}),
|
||||
(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,
|
||||
}),
|
||||
(g = {
|
||||
version: 1,
|
||||
appId: "",
|
||||
initTime: 0,
|
||||
preVerifyTime: 0,
|
||||
networkType: "",
|
||||
isPreVerifyOk: 1,
|
||||
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: A(h.jsApiList),
|
||||
verifyOpenTagList: A(h.openTagList),
|
||||
},
|
||||
((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)
|
||||
),
|
||||
(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;
|
||||
}),
|
||||
_.invoke ||
|
||||
((_.invoke = function (e, n, i) {
|
||||
r.WeixinJSBridge && WeixinJSBridge.invoke(e, P(n), i);
|
||||
}),
|
||||
(_.on = function (e, n) {
|
||||
r.WeixinJSBridge && WeixinJSBridge.on(e, n);
|
||||
}));
|
||||
},
|
||||
ready: function (e) {
|
||||
(0 != y.state || (S._completes.push(e), !d && h.debug)) && e();
|
||||
},
|
||||
error: function (e) {
|
||||
p < "6.0.2" || (-1 == y.state ? e(y.data) : (S._fail = e));
|
||||
},
|
||||
checkJsApi: function (e) {
|
||||
k(
|
||||
"checkJsApi",
|
||||
{ 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)
|
||||
);
|
||||
},
|
||||
onMenuShareTimeline: function (e) {
|
||||
M(
|
||||
a.onMenuShareTimeline,
|
||||
{
|
||||
complete: function () {
|
||||
k(
|
||||
"shareTimeline",
|
||||
{
|
||||
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 || "",
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
onMenuShareAppMessage: function (n) {
|
||||
M(
|
||||
a.onMenuShareAppMessage,
|
||||
{
|
||||
complete: function (e) {
|
||||
"favorite" === e.scene
|
||||
? 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 || "",
|
||||
})
|
||||
: 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 || "",
|
||||
},
|
||||
n
|
||||
);
|
||||
},
|
||||
},
|
||||
n
|
||||
);
|
||||
},
|
||||
onMenuShareQQ: function (e) {
|
||||
M(
|
||||
a.onMenuShareQQ,
|
||||
{
|
||||
complete: function () {
|
||||
k(
|
||||
"shareQQ",
|
||||
{
|
||||
title: e.title || i,
|
||||
desc: e.desc || "",
|
||||
img_url: e.imgUrl || "",
|
||||
link: e.link || location.href,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
onMenuShareWeibo: function (e) {
|
||||
M(
|
||||
a.onMenuShareWeibo,
|
||||
{
|
||||
complete: function () {
|
||||
k(
|
||||
"shareWeiboApp",
|
||||
{
|
||||
title: e.title || i,
|
||||
desc: e.desc || "",
|
||||
img_url: e.imgUrl || "",
|
||||
link: e.link || location.href,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
onMenuShareQZone: function (e) {
|
||||
M(
|
||||
a.onMenuShareQZone,
|
||||
{
|
||||
complete: function () {
|
||||
k(
|
||||
"shareQZone",
|
||||
{
|
||||
title: e.title || i,
|
||||
desc: e.desc || "",
|
||||
img_url: e.imgUrl || "",
|
||||
link: e.link || location.href,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
updateTimelineShareData: function (e) {
|
||||
k(
|
||||
"updateTimelineShareData",
|
||||
{ title: e.title, link: e.link, imgUrl: e.imgUrl },
|
||||
e
|
||||
);
|
||||
},
|
||||
updateAppMessageShareData: function (e) {
|
||||
k(
|
||||
"updateAppMessageShareData",
|
||||
{ title: e.title, desc: e.desc, link: e.link, imgUrl: e.imgUrl },
|
||||
e
|
||||
);
|
||||
},
|
||||
startRecord: function (e) {
|
||||
k("startRecord", {}, e);
|
||||
},
|
||||
stopRecord: function (e) {
|
||||
k("stopRecord", {}, e);
|
||||
},
|
||||
onVoiceRecordEnd: function (e) {
|
||||
M("onVoiceRecordEnd", e);
|
||||
},
|
||||
playVoice: function (e) {
|
||||
k("playVoice", { localId: e.localId }, e);
|
||||
},
|
||||
pauseVoice: function (e) {
|
||||
k("pauseVoice", { localId: e.localId }, e);
|
||||
},
|
||||
stopVoice: function (e) {
|
||||
k("stopVoice", { localId: e.localId }, e);
|
||||
},
|
||||
onVoicePlayEnd: function (e) {
|
||||
M("onVoicePlayEnd", e);
|
||||
},
|
||||
uploadVoice: function (e) {
|
||||
k(
|
||||
"uploadVoice",
|
||||
{
|
||||
localId: e.localId,
|
||||
isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
downloadVoice: function (e) {
|
||||
k(
|
||||
"downloadVoice",
|
||||
{
|
||||
serverId: e.serverId,
|
||||
isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
translateVoice: function (e) {
|
||||
k(
|
||||
"translateVoice",
|
||||
{
|
||||
localId: e.localId,
|
||||
isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
chooseImage: function (e) {
|
||||
k(
|
||||
"chooseImage",
|
||||
{
|
||||
scene: "1|2",
|
||||
count: e.count || 9,
|
||||
sizeType: e.sizeType || ["original", "compressed"],
|
||||
sourceType: e.sourceType || ["album", "camera"],
|
||||
},
|
||||
((e._complete = function (e) {
|
||||
if (l) {
|
||||
var n = e.localIds;
|
||||
try {
|
||||
n && (e.localIds = JSON.parse(n));
|
||||
} catch (e) {}
|
||||
}
|
||||
}),
|
||||
e)
|
||||
);
|
||||
},
|
||||
getLocation: function (e) {
|
||||
(e = e || {}),
|
||||
k(
|
||||
a.getLocation,
|
||||
{ type: e.type || "wgs84" },
|
||||
((e._complete = function (e) {
|
||||
delete e.type;
|
||||
}),
|
||||
e)
|
||||
);
|
||||
},
|
||||
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,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
downloadImage: function (e) {
|
||||
k(
|
||||
"downloadImage",
|
||||
{
|
||||
serverId: e.serverId,
|
||||
isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
getLocalImgData: function (e) {
|
||||
!1 === I
|
||||
? ((I = !0),
|
||||
k(
|
||||
"getLocalImgData",
|
||||
{ localId: e.localId },
|
||||
((e._complete = function (e) {
|
||||
var n;
|
||||
(I = !1),
|
||||
0 < v.length && ((n = v.shift()), wx.getLocalImgData(n));
|
||||
}),
|
||||
e)
|
||||
))
|
||||
: v.push(e);
|
||||
},
|
||||
getNetworkType: function (e) {
|
||||
k(
|
||||
"getNetworkType",
|
||||
{},
|
||||
((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";
|
||||
}
|
||||
}
|
||||
}),
|
||||
e)
|
||||
);
|
||||
},
|
||||
openLocation: function (e) {
|
||||
k(
|
||||
"openLocation",
|
||||
{
|
||||
latitude: e.latitude,
|
||||
longitude: e.longitude,
|
||||
name: e.name || "",
|
||||
address: e.address || "",
|
||||
scale: e.scale || 28,
|
||||
infoUrl: e.infoUrl || "",
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
hideOptionMenu: function (e) {
|
||||
k("hideOptionMenu", {}, e);
|
||||
},
|
||||
showOptionMenu: function (e) {
|
||||
k("showOptionMenu", {}, e);
|
||||
},
|
||||
closeWindow: function (e) {
|
||||
k("closeWindow", {}, (e = e || {}));
|
||||
},
|
||||
hideMenuItems: function (e) {
|
||||
k("hideMenuItems", { menuList: e.menuList }, e);
|
||||
},
|
||||
showMenuItems: function (e) {
|
||||
k("showMenuItems", { menuList: e.menuList }, e);
|
||||
},
|
||||
hideAllNonBaseMenuItem: function (e) {
|
||||
k("hideAllNonBaseMenuItem", {}, e);
|
||||
},
|
||||
showAllNonBaseMenuItem: function (e) {
|
||||
k("showAllNonBaseMenuItem", {}, e);
|
||||
},
|
||||
scanQRCode: function (e) {
|
||||
k(
|
||||
"scanQRCode",
|
||||
{
|
||||
needResult: (e = e || {}).needResult || 0,
|
||||
scanType: e.scanType || ["qrCode", "barCode"],
|
||||
},
|
||||
((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) {
|
||||
k(
|
||||
a.openAddress,
|
||||
{},
|
||||
((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) {
|
||||
k(
|
||||
a.openProductSpecificView,
|
||||
{
|
||||
pid: e.productId,
|
||||
view_type: e.viewType || 0,
|
||||
ext_info: e.extInfo,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
addCard: function (e) {
|
||||
for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
|
||||
var r = n[t],
|
||||
r = { card_id: r.cardId, card_ext: r.cardExt };
|
||||
i.push(r);
|
||||
}
|
||||
k(
|
||||
a.addCard,
|
||||
{ card_list: 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),
|
||||
(o.isSuccess = !!o.is_succ),
|
||||
delete o.card_id,
|
||||
delete o.card_ext,
|
||||
delete o.is_succ;
|
||||
}
|
||||
(e.cardList = n), delete e.card_list;
|
||||
}
|
||||
}),
|
||||
e)
|
||||
);
|
||||
},
|
||||
chooseCard: function (e) {
|
||||
k(
|
||||
"chooseCard",
|
||||
{
|
||||
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,
|
||||
},
|
||||
((e._complete = function (e) {
|
||||
(e.cardList = e.choose_card_info), delete e.choose_card_info;
|
||||
}),
|
||||
e)
|
||||
);
|
||||
},
|
||||
openCard: function (e) {
|
||||
for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
|
||||
var r = n[t],
|
||||
r = { card_id: r.cardId, code: r.code };
|
||||
i.push(r);
|
||||
}
|
||||
k(a.openCard, { card_list: i }, e);
|
||||
},
|
||||
consumeAndShareCard: function (e) {
|
||||
k(
|
||||
a.consumeAndShareCard,
|
||||
{ consumedCardId: e.cardId, consumedCode: e.code },
|
||||
e
|
||||
);
|
||||
},
|
||||
chooseWXPay: function (e) {
|
||||
k(a.chooseWXPay, x(e), e), B({ jsApiName: "chooseWXPay" });
|
||||
},
|
||||
openEnterpriseRedPacket: function (e) {
|
||||
k(a.openEnterpriseRedPacket, x(e), e);
|
||||
},
|
||||
startSearchBeacons: function (e) {
|
||||
k(a.startSearchBeacons, { ticket: e.ticket }, e);
|
||||
},
|
||||
stopSearchBeacons: function (e) {
|
||||
k(a.stopSearchBeacons, {}, e);
|
||||
},
|
||||
onSearchBeacons: function (e) {
|
||||
M(a.onSearchBeacons, e);
|
||||
},
|
||||
openEnterpriseChat: function (e) {
|
||||
k(
|
||||
"openEnterpriseChat",
|
||||
{ useridlist: e.userIds, chatname: e.groupName },
|
||||
e
|
||||
);
|
||||
},
|
||||
launchMiniProgram: function (e) {
|
||||
k(
|
||||
"launchMiniProgram",
|
||||
{
|
||||
targetAppId: e.targetAppId,
|
||||
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,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
openBusinessView: function (e) {
|
||||
k(
|
||||
"openBusinessView",
|
||||
{
|
||||
businessType: e.businessType,
|
||||
queryString: e.queryString || "",
|
||||
envVersion: e.envVersion,
|
||||
},
|
||||
((e._complete = function (n) {
|
||||
if (l) {
|
||||
var e = n.extraData;
|
||||
if (e)
|
||||
try {
|
||||
n.extraData = JSON.parse(e);
|
||||
} catch (e) {
|
||||
n.extraData = {};
|
||||
}
|
||||
}
|
||||
}),
|
||||
e)
|
||||
);
|
||||
},
|
||||
miniProgram: {
|
||||
navigateBack: function (e) {
|
||||
(e = e || {}),
|
||||
O(function () {
|
||||
k(
|
||||
"invokeMiniProgramAPI",
|
||||
{ name: "navigateBack", arg: { delta: e.delta || 1 } },
|
||||
e
|
||||
);
|
||||
});
|
||||
},
|
||||
navigateTo: function (e) {
|
||||
O(function () {
|
||||
k(
|
||||
"invokeMiniProgramAPI",
|
||||
{ name: "navigateTo", arg: { url: e.url } },
|
||||
e
|
||||
);
|
||||
});
|
||||
},
|
||||
redirectTo: function (e) {
|
||||
O(function () {
|
||||
k(
|
||||
"invokeMiniProgramAPI",
|
||||
{ name: "redirectTo", arg: { url: e.url } },
|
||||
e
|
||||
);
|
||||
});
|
||||
},
|
||||
switchTab: function (e) {
|
||||
O(function () {
|
||||
k(
|
||||
"invokeMiniProgramAPI",
|
||||
{ name: "switchTab", arg: { url: e.url } },
|
||||
e
|
||||
);
|
||||
});
|
||||
},
|
||||
reLaunch: function (e) {
|
||||
O(function () {
|
||||
k(
|
||||
"invokeMiniProgramAPI",
|
||||
{ name: "reLaunch", arg: { url: e.url } },
|
||||
e
|
||||
);
|
||||
});
|
||||
},
|
||||
postMessage: function (e) {
|
||||
O(function () {
|
||||
k(
|
||||
"invokeMiniProgramAPI",
|
||||
{ name: "postMessage", arg: e.data || {} },
|
||||
e
|
||||
);
|
||||
});
|
||||
},
|
||||
getEnv: function (e) {
|
||||
O(function () {
|
||||
e({ miniprogram: "miniprogram" === r.__wxjs_environment });
|
||||
});
|
||||
},
|
||||
},
|
||||
}),
|
||||
(w = 1),
|
||||
(T = {}),
|
||||
n.addEventListener(
|
||||
"error",
|
||||
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
|
||||
),
|
||||
n.addEventListener(
|
||||
"load",
|
||||
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 && (r.wx = r.jWeixin = _),
|
||||
_
|
||||
);
|
||||
else return r.jWeixin;
|
||||
function k(n, e, i) {
|
||||
r.WeixinJSBridge
|
||||
? WeixinJSBridge.invoke(n, P(e), function (e) {
|
||||
V(n, e, i);
|
||||
})
|
||||
: C(n, i);
|
||||
}
|
||||
function M(n, i, t) {
|
||||
r.WeixinJSBridge
|
||||
? WeixinJSBridge.on(n, function (e) {
|
||||
t && t.trigger && t.trigger(e), V(n, e, i);
|
||||
})
|
||||
: C(n, t || i);
|
||||
}
|
||||
function P(e) {
|
||||
return (
|
||||
((e = e || {}).appId = h.appId),
|
||||
(e.verifyAppId = h.appId),
|
||||
(e.verifySignType = "sha1"),
|
||||
(e.verifyTimestamp = h.timestamp + ""),
|
||||
(e.verifyNonceStr = h.nonceStr),
|
||||
(e.verifySignature = h.signature),
|
||||
e
|
||||
);
|
||||
}
|
||||
function x(e) {
|
||||
return {
|
||||
timeStamp: e.timestamp + "",
|
||||
nonceStr: e.nonceStr,
|
||||
package: e.package,
|
||||
paySign: e.paySign,
|
||||
signType: e.signType || "SHA1",
|
||||
};
|
||||
}
|
||||
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,
|
||||
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;
|
||||
case "cancel":
|
||||
i.cancel && i.cancel(n);
|
||||
break;
|
||||
default:
|
||||
i.fail && i.fail(n);
|
||||
}
|
||||
i.complete && i.complete(n);
|
||||
}
|
||||
function A(e) {
|
||||
if (e) {
|
||||
for (var n = 0, i = e.length; n < i; ++n) {
|
||||
var t = e[n],
|
||||
t = a[t];
|
||||
t && (e[n] = t);
|
||||
}
|
||||
return e;
|
||||
}
|
||||
}
|
||||
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) {
|
||||
d &&
|
||||
(r.WeixinJSBridge
|
||||
? e()
|
||||
: n.addEventListener &&
|
||||
n.addEventListener("WeixinJSBridgeReady", e, !1));
|
||||
}
|
||||
});
|
||||
15
node_modules/.store/weixin-js-sdk@1.6.5/node_modules/weixin-js-sdk/package.json
generated
vendored
Normal file
15
node_modules/.store/weixin-js-sdk@1.6.5/node_modules/weixin-js-sdk/package.json
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "weixin-js-sdk",
|
||||
"version": "1.6.5",
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"description": "微信官方 js-sdk npm 安装版,支持 typescript",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/yanxi123-com/weixin-js-sdk"
|
||||
},
|
||||
"homepage": "https://yanxi123.com/",
|
||||
"__npminstall_done": true,
|
||||
"_from": "weixin-js-sdk@1.6.5",
|
||||
"_resolved": "https://registry.npmmirror.com/weixin-js-sdk/-/weixin-js-sdk-1.6.5.tgz"
|
||||
}
|
||||
21
node_modules/weixin-js-sdk/LICENSE
generated
vendored
Normal file
21
node_modules/weixin-js-sdk/LICENSE
generated
vendored
Normal file
@@ -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.
|
||||
36
node_modules/weixin-js-sdk/README.md
generated
vendored
Normal file
36
node_modules/weixin-js-sdk/README.md
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
微信官方 js-sdk
|
||||
----
|
||||
|
||||
说明: 仅将官方 js-sdk 发布到 npm,支持 CommonJS,便于 browserify, webpack 等直接使用,支持 TypeScript。
|
||||
|
||||
|
||||
官方 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
|
||||
|
||||
安装:
|
||||
```shell
|
||||
npm install 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/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)
|
||||
601
node_modules/weixin-js-sdk/index.d.ts
generated
vendored
Normal file
601
node_modules/weixin-js-sdk/index.d.ts
generated
vendored
Normal file
@@ -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<menuBase | menuProtected | menuShare>;
|
||||
|
||||
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<menuProtected | menuShare>; // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有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;
|
||||
891
node_modules/weixin-js-sdk/index.js
generated
vendored
Normal file
891
node_modules/weixin-js-sdk/index.js
generated
vendored
Normal file
@@ -0,0 +1,891 @@
|
||||
!(function (e, n) {
|
||||
module.exports = n(e);
|
||||
})(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",
|
||||
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",
|
||||
}),
|
||||
(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,
|
||||
}),
|
||||
(g = {
|
||||
version: 1,
|
||||
appId: "",
|
||||
initTime: 0,
|
||||
preVerifyTime: 0,
|
||||
networkType: "",
|
||||
isPreVerifyOk: 1,
|
||||
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: A(h.jsApiList),
|
||||
verifyOpenTagList: A(h.openTagList),
|
||||
},
|
||||
((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)
|
||||
),
|
||||
(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;
|
||||
}),
|
||||
_.invoke ||
|
||||
((_.invoke = function (e, n, i) {
|
||||
r.WeixinJSBridge && WeixinJSBridge.invoke(e, P(n), i);
|
||||
}),
|
||||
(_.on = function (e, n) {
|
||||
r.WeixinJSBridge && WeixinJSBridge.on(e, n);
|
||||
}));
|
||||
},
|
||||
ready: function (e) {
|
||||
(0 != y.state || (S._completes.push(e), !d && h.debug)) && e();
|
||||
},
|
||||
error: function (e) {
|
||||
p < "6.0.2" || (-1 == y.state ? e(y.data) : (S._fail = e));
|
||||
},
|
||||
checkJsApi: function (e) {
|
||||
k(
|
||||
"checkJsApi",
|
||||
{ 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)
|
||||
);
|
||||
},
|
||||
onMenuShareTimeline: function (e) {
|
||||
M(
|
||||
a.onMenuShareTimeline,
|
||||
{
|
||||
complete: function () {
|
||||
k(
|
||||
"shareTimeline",
|
||||
{
|
||||
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 || "",
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
onMenuShareAppMessage: function (n) {
|
||||
M(
|
||||
a.onMenuShareAppMessage,
|
||||
{
|
||||
complete: function (e) {
|
||||
"favorite" === e.scene
|
||||
? 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 || "",
|
||||
})
|
||||
: 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 || "",
|
||||
},
|
||||
n
|
||||
);
|
||||
},
|
||||
},
|
||||
n
|
||||
);
|
||||
},
|
||||
onMenuShareQQ: function (e) {
|
||||
M(
|
||||
a.onMenuShareQQ,
|
||||
{
|
||||
complete: function () {
|
||||
k(
|
||||
"shareQQ",
|
||||
{
|
||||
title: e.title || i,
|
||||
desc: e.desc || "",
|
||||
img_url: e.imgUrl || "",
|
||||
link: e.link || location.href,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
onMenuShareWeibo: function (e) {
|
||||
M(
|
||||
a.onMenuShareWeibo,
|
||||
{
|
||||
complete: function () {
|
||||
k(
|
||||
"shareWeiboApp",
|
||||
{
|
||||
title: e.title || i,
|
||||
desc: e.desc || "",
|
||||
img_url: e.imgUrl || "",
|
||||
link: e.link || location.href,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
onMenuShareQZone: function (e) {
|
||||
M(
|
||||
a.onMenuShareQZone,
|
||||
{
|
||||
complete: function () {
|
||||
k(
|
||||
"shareQZone",
|
||||
{
|
||||
title: e.title || i,
|
||||
desc: e.desc || "",
|
||||
img_url: e.imgUrl || "",
|
||||
link: e.link || location.href,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
updateTimelineShareData: function (e) {
|
||||
k(
|
||||
"updateTimelineShareData",
|
||||
{ title: e.title, link: e.link, imgUrl: e.imgUrl },
|
||||
e
|
||||
);
|
||||
},
|
||||
updateAppMessageShareData: function (e) {
|
||||
k(
|
||||
"updateAppMessageShareData",
|
||||
{ title: e.title, desc: e.desc, link: e.link, imgUrl: e.imgUrl },
|
||||
e
|
||||
);
|
||||
},
|
||||
startRecord: function (e) {
|
||||
k("startRecord", {}, e);
|
||||
},
|
||||
stopRecord: function (e) {
|
||||
k("stopRecord", {}, e);
|
||||
},
|
||||
onVoiceRecordEnd: function (e) {
|
||||
M("onVoiceRecordEnd", e);
|
||||
},
|
||||
playVoice: function (e) {
|
||||
k("playVoice", { localId: e.localId }, e);
|
||||
},
|
||||
pauseVoice: function (e) {
|
||||
k("pauseVoice", { localId: e.localId }, e);
|
||||
},
|
||||
stopVoice: function (e) {
|
||||
k("stopVoice", { localId: e.localId }, e);
|
||||
},
|
||||
onVoicePlayEnd: function (e) {
|
||||
M("onVoicePlayEnd", e);
|
||||
},
|
||||
uploadVoice: function (e) {
|
||||
k(
|
||||
"uploadVoice",
|
||||
{
|
||||
localId: e.localId,
|
||||
isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
downloadVoice: function (e) {
|
||||
k(
|
||||
"downloadVoice",
|
||||
{
|
||||
serverId: e.serverId,
|
||||
isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
translateVoice: function (e) {
|
||||
k(
|
||||
"translateVoice",
|
||||
{
|
||||
localId: e.localId,
|
||||
isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
chooseImage: function (e) {
|
||||
k(
|
||||
"chooseImage",
|
||||
{
|
||||
scene: "1|2",
|
||||
count: e.count || 9,
|
||||
sizeType: e.sizeType || ["original", "compressed"],
|
||||
sourceType: e.sourceType || ["album", "camera"],
|
||||
},
|
||||
((e._complete = function (e) {
|
||||
if (l) {
|
||||
var n = e.localIds;
|
||||
try {
|
||||
n && (e.localIds = JSON.parse(n));
|
||||
} catch (e) {}
|
||||
}
|
||||
}),
|
||||
e)
|
||||
);
|
||||
},
|
||||
getLocation: function (e) {
|
||||
(e = e || {}),
|
||||
k(
|
||||
a.getLocation,
|
||||
{ type: e.type || "wgs84" },
|
||||
((e._complete = function (e) {
|
||||
delete e.type;
|
||||
}),
|
||||
e)
|
||||
);
|
||||
},
|
||||
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,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
downloadImage: function (e) {
|
||||
k(
|
||||
"downloadImage",
|
||||
{
|
||||
serverId: e.serverId,
|
||||
isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
getLocalImgData: function (e) {
|
||||
!1 === I
|
||||
? ((I = !0),
|
||||
k(
|
||||
"getLocalImgData",
|
||||
{ localId: e.localId },
|
||||
((e._complete = function (e) {
|
||||
var n;
|
||||
(I = !1),
|
||||
0 < v.length && ((n = v.shift()), wx.getLocalImgData(n));
|
||||
}),
|
||||
e)
|
||||
))
|
||||
: v.push(e);
|
||||
},
|
||||
getNetworkType: function (e) {
|
||||
k(
|
||||
"getNetworkType",
|
||||
{},
|
||||
((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";
|
||||
}
|
||||
}
|
||||
}),
|
||||
e)
|
||||
);
|
||||
},
|
||||
openLocation: function (e) {
|
||||
k(
|
||||
"openLocation",
|
||||
{
|
||||
latitude: e.latitude,
|
||||
longitude: e.longitude,
|
||||
name: e.name || "",
|
||||
address: e.address || "",
|
||||
scale: e.scale || 28,
|
||||
infoUrl: e.infoUrl || "",
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
hideOptionMenu: function (e) {
|
||||
k("hideOptionMenu", {}, e);
|
||||
},
|
||||
showOptionMenu: function (e) {
|
||||
k("showOptionMenu", {}, e);
|
||||
},
|
||||
closeWindow: function (e) {
|
||||
k("closeWindow", {}, (e = e || {}));
|
||||
},
|
||||
hideMenuItems: function (e) {
|
||||
k("hideMenuItems", { menuList: e.menuList }, e);
|
||||
},
|
||||
showMenuItems: function (e) {
|
||||
k("showMenuItems", { menuList: e.menuList }, e);
|
||||
},
|
||||
hideAllNonBaseMenuItem: function (e) {
|
||||
k("hideAllNonBaseMenuItem", {}, e);
|
||||
},
|
||||
showAllNonBaseMenuItem: function (e) {
|
||||
k("showAllNonBaseMenuItem", {}, e);
|
||||
},
|
||||
scanQRCode: function (e) {
|
||||
k(
|
||||
"scanQRCode",
|
||||
{
|
||||
needResult: (e = e || {}).needResult || 0,
|
||||
scanType: e.scanType || ["qrCode", "barCode"],
|
||||
},
|
||||
((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) {
|
||||
k(
|
||||
a.openAddress,
|
||||
{},
|
||||
((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) {
|
||||
k(
|
||||
a.openProductSpecificView,
|
||||
{
|
||||
pid: e.productId,
|
||||
view_type: e.viewType || 0,
|
||||
ext_info: e.extInfo,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
addCard: function (e) {
|
||||
for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
|
||||
var r = n[t],
|
||||
r = { card_id: r.cardId, card_ext: r.cardExt };
|
||||
i.push(r);
|
||||
}
|
||||
k(
|
||||
a.addCard,
|
||||
{ card_list: 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),
|
||||
(o.isSuccess = !!o.is_succ),
|
||||
delete o.card_id,
|
||||
delete o.card_ext,
|
||||
delete o.is_succ;
|
||||
}
|
||||
(e.cardList = n), delete e.card_list;
|
||||
}
|
||||
}),
|
||||
e)
|
||||
);
|
||||
},
|
||||
chooseCard: function (e) {
|
||||
k(
|
||||
"chooseCard",
|
||||
{
|
||||
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,
|
||||
},
|
||||
((e._complete = function (e) {
|
||||
(e.cardList = e.choose_card_info), delete e.choose_card_info;
|
||||
}),
|
||||
e)
|
||||
);
|
||||
},
|
||||
openCard: function (e) {
|
||||
for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
|
||||
var r = n[t],
|
||||
r = { card_id: r.cardId, code: r.code };
|
||||
i.push(r);
|
||||
}
|
||||
k(a.openCard, { card_list: i }, e);
|
||||
},
|
||||
consumeAndShareCard: function (e) {
|
||||
k(
|
||||
a.consumeAndShareCard,
|
||||
{ consumedCardId: e.cardId, consumedCode: e.code },
|
||||
e
|
||||
);
|
||||
},
|
||||
chooseWXPay: function (e) {
|
||||
k(a.chooseWXPay, x(e), e), B({ jsApiName: "chooseWXPay" });
|
||||
},
|
||||
openEnterpriseRedPacket: function (e) {
|
||||
k(a.openEnterpriseRedPacket, x(e), e);
|
||||
},
|
||||
startSearchBeacons: function (e) {
|
||||
k(a.startSearchBeacons, { ticket: e.ticket }, e);
|
||||
},
|
||||
stopSearchBeacons: function (e) {
|
||||
k(a.stopSearchBeacons, {}, e);
|
||||
},
|
||||
onSearchBeacons: function (e) {
|
||||
M(a.onSearchBeacons, e);
|
||||
},
|
||||
openEnterpriseChat: function (e) {
|
||||
k(
|
||||
"openEnterpriseChat",
|
||||
{ useridlist: e.userIds, chatname: e.groupName },
|
||||
e
|
||||
);
|
||||
},
|
||||
launchMiniProgram: function (e) {
|
||||
k(
|
||||
"launchMiniProgram",
|
||||
{
|
||||
targetAppId: e.targetAppId,
|
||||
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,
|
||||
},
|
||||
e
|
||||
);
|
||||
},
|
||||
openBusinessView: function (e) {
|
||||
k(
|
||||
"openBusinessView",
|
||||
{
|
||||
businessType: e.businessType,
|
||||
queryString: e.queryString || "",
|
||||
envVersion: e.envVersion,
|
||||
},
|
||||
((e._complete = function (n) {
|
||||
if (l) {
|
||||
var e = n.extraData;
|
||||
if (e)
|
||||
try {
|
||||
n.extraData = JSON.parse(e);
|
||||
} catch (e) {
|
||||
n.extraData = {};
|
||||
}
|
||||
}
|
||||
}),
|
||||
e)
|
||||
);
|
||||
},
|
||||
miniProgram: {
|
||||
navigateBack: function (e) {
|
||||
(e = e || {}),
|
||||
O(function () {
|
||||
k(
|
||||
"invokeMiniProgramAPI",
|
||||
{ name: "navigateBack", arg: { delta: e.delta || 1 } },
|
||||
e
|
||||
);
|
||||
});
|
||||
},
|
||||
navigateTo: function (e) {
|
||||
O(function () {
|
||||
k(
|
||||
"invokeMiniProgramAPI",
|
||||
{ name: "navigateTo", arg: { url: e.url } },
|
||||
e
|
||||
);
|
||||
});
|
||||
},
|
||||
redirectTo: function (e) {
|
||||
O(function () {
|
||||
k(
|
||||
"invokeMiniProgramAPI",
|
||||
{ name: "redirectTo", arg: { url: e.url } },
|
||||
e
|
||||
);
|
||||
});
|
||||
},
|
||||
switchTab: function (e) {
|
||||
O(function () {
|
||||
k(
|
||||
"invokeMiniProgramAPI",
|
||||
{ name: "switchTab", arg: { url: e.url } },
|
||||
e
|
||||
);
|
||||
});
|
||||
},
|
||||
reLaunch: function (e) {
|
||||
O(function () {
|
||||
k(
|
||||
"invokeMiniProgramAPI",
|
||||
{ name: "reLaunch", arg: { url: e.url } },
|
||||
e
|
||||
);
|
||||
});
|
||||
},
|
||||
postMessage: function (e) {
|
||||
O(function () {
|
||||
k(
|
||||
"invokeMiniProgramAPI",
|
||||
{ name: "postMessage", arg: e.data || {} },
|
||||
e
|
||||
);
|
||||
});
|
||||
},
|
||||
getEnv: function (e) {
|
||||
O(function () {
|
||||
e({ miniprogram: "miniprogram" === r.__wxjs_environment });
|
||||
});
|
||||
},
|
||||
},
|
||||
}),
|
||||
(w = 1),
|
||||
(T = {}),
|
||||
n.addEventListener(
|
||||
"error",
|
||||
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
|
||||
),
|
||||
n.addEventListener(
|
||||
"load",
|
||||
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 && (r.wx = r.jWeixin = _),
|
||||
_
|
||||
);
|
||||
else return r.jWeixin;
|
||||
function k(n, e, i) {
|
||||
r.WeixinJSBridge
|
||||
? WeixinJSBridge.invoke(n, P(e), function (e) {
|
||||
V(n, e, i);
|
||||
})
|
||||
: C(n, i);
|
||||
}
|
||||
function M(n, i, t) {
|
||||
r.WeixinJSBridge
|
||||
? WeixinJSBridge.on(n, function (e) {
|
||||
t && t.trigger && t.trigger(e), V(n, e, i);
|
||||
})
|
||||
: C(n, t || i);
|
||||
}
|
||||
function P(e) {
|
||||
return (
|
||||
((e = e || {}).appId = h.appId),
|
||||
(e.verifyAppId = h.appId),
|
||||
(e.verifySignType = "sha1"),
|
||||
(e.verifyTimestamp = h.timestamp + ""),
|
||||
(e.verifyNonceStr = h.nonceStr),
|
||||
(e.verifySignature = h.signature),
|
||||
e
|
||||
);
|
||||
}
|
||||
function x(e) {
|
||||
return {
|
||||
timeStamp: e.timestamp + "",
|
||||
nonceStr: e.nonceStr,
|
||||
package: e.package,
|
||||
paySign: e.paySign,
|
||||
signType: e.signType || "SHA1",
|
||||
};
|
||||
}
|
||||
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,
|
||||
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;
|
||||
case "cancel":
|
||||
i.cancel && i.cancel(n);
|
||||
break;
|
||||
default:
|
||||
i.fail && i.fail(n);
|
||||
}
|
||||
i.complete && i.complete(n);
|
||||
}
|
||||
function A(e) {
|
||||
if (e) {
|
||||
for (var n = 0, i = e.length; n < i; ++n) {
|
||||
var t = e[n],
|
||||
t = a[t];
|
||||
t && (e[n] = t);
|
||||
}
|
||||
return e;
|
||||
}
|
||||
}
|
||||
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) {
|
||||
d &&
|
||||
(r.WeixinJSBridge
|
||||
? e()
|
||||
: n.addEventListener &&
|
||||
n.addEventListener("WeixinJSBridgeReady", e, !1));
|
||||
}
|
||||
});
|
||||
15
node_modules/weixin-js-sdk/package.json
generated
vendored
Normal file
15
node_modules/weixin-js-sdk/package.json
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "weixin-js-sdk",
|
||||
"version": "1.6.5",
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"description": "微信官方 js-sdk npm 安装版,支持 typescript",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/yanxi123-com/weixin-js-sdk"
|
||||
},
|
||||
"homepage": "https://yanxi123.com/",
|
||||
"__npminstall_done": true,
|
||||
"_from": "weixin-js-sdk@1.6.5",
|
||||
"_resolved": "https://registry.npmmirror.com/weixin-js-sdk/-/weixin-js-sdk-1.6.5.tgz"
|
||||
}
|
||||
Reference in New Issue
Block a user