mirror of
https://github.com/yanxi-me/weixin-js-sdk.git
synced 2025-04-06 04:00:07 +08:00
Compare commits
No commits in common. "master" and "1.2.0" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
|||||||
.idea
|
.idea
|
||||||
.vscode
|
|
||||||
|
@ -1 +0,0 @@
|
|||||||
index.original.js
|
|
21
LICENSE
21
LICENSE
@ -1,21 +0,0 @@
|
|||||||
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
README.md
36
README.md
@ -1,36 +1,20 @@
|
|||||||
微信官方 js-sdk
|
微信官方 js-sdk
|
||||||
----
|
----
|
||||||
|
|
||||||
说明: 仅将官方 js-sdk 发布到 npm,支持 CommonJS,便于 browserify, webpack 等直接使用,支持 TypeScript。
|
说明: 仅将官方 js-sdk 发布到 npm,便于 browserify 使用
|
||||||
|
|
||||||
|
js源码: https://res.wx.qq.com/open/js/jweixin-1.2.0.js
|
||||||
|
|
||||||
官方 JS 源码: https://res.wx.qq.com/open/js/jweixin-1.6.0.js
|
官方使用说明: https://mp.weixin.qq.com/wiki 微信网页开发 - iOS 网页开发适配指南
|
||||||
|
|
||||||
官方使用说明: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html
|
|
||||||
|
|
||||||
安装:
|
安装:
|
||||||
```shell
|
|
||||||
npm install weixin-js-sdk
|
npm install weixin-js-sdk
|
||||||
```
|
|
||||||
|
|
||||||
使用:
|
使用:
|
||||||
```javascript
|
|
||||||
// commonjs
|
var wx = require('weixin-js-sdk');
|
||||||
var wx = require('weixin-js-sdk');
|
|
||||||
|
|
||||||
// es module
|
### Old version
|
||||||
import wx from 'weixin-js-sdk'
|
|
||||||
```
|
|
||||||
|
|
||||||
### Old versions
|
[1.0.0](https://github.com/yanxi-me/weixin-js-sdk/tree/1.0.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)
|
|
||||||
|
601
index.d.ts
vendored
601
index.d.ts
vendored
@ -1,601 +0,0 @@
|
|||||||
// 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;
|
|
File diff suppressed because one or more lines are too long
10
package.json
10
package.json
@ -1,12 +1,10 @@
|
|||||||
{
|
{
|
||||||
"name": "weixin-js-sdk",
|
"name": "weixin-js-sdk",
|
||||||
"version": "1.6.5",
|
"version": "1.2.0",
|
||||||
"license": "MIT",
|
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"description": "微信官方 js-sdk npm 安装版,支持 typescript",
|
"description": "微信官方 js-sdk CommonJS 版",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/yanxi123-com/weixin-js-sdk"
|
"url": "https://github.com/yanxi-com/weixin-js-sdk.git"
|
||||||
},
|
}
|
||||||
"homepage": "https://yanxi123.com/"
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user