@hairy/wechat-jssdk 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/{index.cjs.js → dist/index.cjs.js} +23 -17
- package/{index.d.ts → dist/index.d.ts} +6 -3
- package/{index.esm.js → dist/index.esm.js} +10 -12
- package/package.json +15 -12
- package/src/index.ts +193 -0
- package/CHANGELOG.md +0 -25
- package/index.cjs.js.map +0 -7
- package/index.esm.js.map +0 -7
- package/index.iife.js +0 -281
- package/index.iife.js.map +0 -7
- package/index.iife.min.js +0 -2
- package/index.iife.min.js.map +0 -7
- package/index.md +0 -36
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2019-PRESENT
|
|
3
|
+
Copyright (c) 2019-PRESENT Hairyf<https://github.com/hairyf>
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -16,19 +17,26 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
17
|
}
|
|
17
18
|
return to;
|
|
18
19
|
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
20
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
29
|
|
|
22
|
-
// index.ts
|
|
23
|
-
var
|
|
24
|
-
__export(
|
|
30
|
+
// src/index.ts
|
|
31
|
+
var src_exports = {};
|
|
32
|
+
__export(src_exports, {
|
|
25
33
|
WechatJssdk: () => WechatJssdk
|
|
26
34
|
});
|
|
27
|
-
module.exports = __toCommonJS(
|
|
35
|
+
module.exports = __toCommonJS(src_exports);
|
|
28
36
|
|
|
29
|
-
// internal/load_script.ts
|
|
37
|
+
// src/internal/load_script.ts
|
|
30
38
|
var import_noop = __toESM(require("lodash/noop"));
|
|
31
|
-
|
|
39
|
+
function loadScript(source, onLoaded = import_noop.default, options = {}) {
|
|
32
40
|
const {
|
|
33
41
|
type = "text/javascript",
|
|
34
42
|
async = true,
|
|
@@ -65,16 +73,14 @@ var loadScript = (source, onLoaded = import_noop.default, options = {}) => {
|
|
|
65
73
|
onLoaded(element);
|
|
66
74
|
resolve(element);
|
|
67
75
|
});
|
|
68
|
-
if (shouldAppend)
|
|
76
|
+
if (shouldAppend)
|
|
69
77
|
element = document.head.appendChild(element);
|
|
70
|
-
|
|
71
|
-
if (!waitForScriptLoad) {
|
|
78
|
+
if (!waitForScriptLoad)
|
|
72
79
|
resolve(element);
|
|
73
|
-
}
|
|
74
80
|
});
|
|
75
|
-
}
|
|
81
|
+
}
|
|
76
82
|
|
|
77
|
-
// helper.ts
|
|
83
|
+
// src/helper.ts
|
|
78
84
|
var WechatJssdkHelper = class {
|
|
79
85
|
constructor(options) {
|
|
80
86
|
this.isReady = false;
|
|
@@ -126,25 +132,26 @@ var WechatJssdkHelper = class {
|
|
|
126
132
|
return this.ready().catch((error) => error);
|
|
127
133
|
}
|
|
128
134
|
async implement(key, options) {
|
|
129
|
-
if (this.configPromise)
|
|
135
|
+
if (this.configPromise)
|
|
130
136
|
await this.configPromise;
|
|
131
|
-
}
|
|
132
137
|
await this.ready();
|
|
133
138
|
wx[key](options);
|
|
134
139
|
}
|
|
135
140
|
};
|
|
136
141
|
|
|
137
|
-
// index.ts
|
|
142
|
+
// src/index.ts
|
|
138
143
|
var WechatJssdk = class extends WechatJssdkHelper {
|
|
139
144
|
constructor(options) {
|
|
140
145
|
super(options);
|
|
141
146
|
}
|
|
147
|
+
// --- 1.4.0 API start ---
|
|
142
148
|
updateAppMessageShareData(options) {
|
|
143
149
|
return this.implement("updateAppMessageShareData", options);
|
|
144
150
|
}
|
|
145
151
|
updateTimelineShareData(options) {
|
|
146
152
|
return this.implement("updateTimelineShareData", options);
|
|
147
153
|
}
|
|
154
|
+
// --- 1.4.0 API end ---
|
|
148
155
|
addCard() {
|
|
149
156
|
return this.implement("addCard");
|
|
150
157
|
}
|
|
@@ -273,4 +280,3 @@ var WechatJssdk = class extends WechatJssdkHelper {
|
|
|
273
280
|
0 && (module.exports = {
|
|
274
281
|
WechatJssdk
|
|
275
282
|
});
|
|
276
|
-
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -11,8 +11,10 @@ declare module 'jweixin' {
|
|
|
11
11
|
jsApiList: (WxType.ApiMethod | v4ApiMethod)[];
|
|
12
12
|
}): void;
|
|
13
13
|
}
|
|
14
|
-
declare
|
|
15
|
-
|
|
14
|
+
declare global {
|
|
15
|
+
const wx: typeof WxType;
|
|
16
|
+
}
|
|
17
|
+
type WechatJssdkConfig = Omit<Parameters<typeof wx.config>[0], 'catch' | 'finally' | 'then'>;
|
|
16
18
|
interface WechatJssdkOptions {
|
|
17
19
|
/**
|
|
18
20
|
* 初始化请求配置
|
|
@@ -30,7 +32,8 @@ interface WechatJssdkOptions {
|
|
|
30
32
|
* @default 1.3.0
|
|
31
33
|
*/
|
|
32
34
|
version?: '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0';
|
|
33
|
-
}
|
|
35
|
+
}
|
|
36
|
+
|
|
34
37
|
/**
|
|
35
38
|
* jssdk 的前置处理类
|
|
36
39
|
* @constructor 加载配置(apiHost,appId,config,version,jssdk)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
// internal/load_script.ts
|
|
1
|
+
// src/internal/load_script.ts
|
|
2
2
|
import noop from "lodash/noop";
|
|
3
|
-
|
|
3
|
+
function loadScript(source, onLoaded = noop, options = {}) {
|
|
4
4
|
const {
|
|
5
5
|
type = "text/javascript",
|
|
6
6
|
async = true,
|
|
@@ -37,16 +37,14 @@ var loadScript = (source, onLoaded = noop, options = {}) => {
|
|
|
37
37
|
onLoaded(element);
|
|
38
38
|
resolve(element);
|
|
39
39
|
});
|
|
40
|
-
if (shouldAppend)
|
|
40
|
+
if (shouldAppend)
|
|
41
41
|
element = document.head.appendChild(element);
|
|
42
|
-
|
|
43
|
-
if (!waitForScriptLoad) {
|
|
42
|
+
if (!waitForScriptLoad)
|
|
44
43
|
resolve(element);
|
|
45
|
-
}
|
|
46
44
|
});
|
|
47
|
-
}
|
|
45
|
+
}
|
|
48
46
|
|
|
49
|
-
// helper.ts
|
|
47
|
+
// src/helper.ts
|
|
50
48
|
var WechatJssdkHelper = class {
|
|
51
49
|
constructor(options) {
|
|
52
50
|
this.isReady = false;
|
|
@@ -98,25 +96,26 @@ var WechatJssdkHelper = class {
|
|
|
98
96
|
return this.ready().catch((error) => error);
|
|
99
97
|
}
|
|
100
98
|
async implement(key, options) {
|
|
101
|
-
if (this.configPromise)
|
|
99
|
+
if (this.configPromise)
|
|
102
100
|
await this.configPromise;
|
|
103
|
-
}
|
|
104
101
|
await this.ready();
|
|
105
102
|
wx[key](options);
|
|
106
103
|
}
|
|
107
104
|
};
|
|
108
105
|
|
|
109
|
-
// index.ts
|
|
106
|
+
// src/index.ts
|
|
110
107
|
var WechatJssdk = class extends WechatJssdkHelper {
|
|
111
108
|
constructor(options) {
|
|
112
109
|
super(options);
|
|
113
110
|
}
|
|
111
|
+
// --- 1.4.0 API start ---
|
|
114
112
|
updateAppMessageShareData(options) {
|
|
115
113
|
return this.implement("updateAppMessageShareData", options);
|
|
116
114
|
}
|
|
117
115
|
updateTimelineShareData(options) {
|
|
118
116
|
return this.implement("updateTimelineShareData", options);
|
|
119
117
|
}
|
|
118
|
+
// --- 1.4.0 API end ---
|
|
120
119
|
addCard() {
|
|
121
120
|
return this.implement("addCard");
|
|
122
121
|
}
|
|
@@ -244,4 +243,3 @@ var WechatJssdk = class extends WechatJssdkHelper {
|
|
|
244
243
|
export {
|
|
245
244
|
WechatJssdk
|
|
246
245
|
};
|
|
247
|
-
//# sourceMappingURL=index.esm.js.map
|
package/package.json
CHANGED
|
@@ -1,29 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hairy/wechat-jssdk",
|
|
3
|
-
"version": "1.2.
|
|
4
|
-
"
|
|
3
|
+
"version": "1.2.3",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"main": "./dist/index.cjs.js",
|
|
5
6
|
"publishConfig": {
|
|
6
|
-
"jsdelivr": "./index.iife.min.js"
|
|
7
|
+
"jsdelivr": "./dist/index.iife.min.js"
|
|
7
8
|
},
|
|
8
|
-
"
|
|
9
|
+
"files": [
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
9
12
|
"dependencies": {
|
|
10
13
|
"@types/jweixin": "^1.0.8",
|
|
11
14
|
"lodash": "^4"
|
|
12
15
|
},
|
|
13
16
|
"devDependencies": {
|
|
14
|
-
"
|
|
15
|
-
"
|
|
17
|
+
"@types/lodash": "^4",
|
|
18
|
+
"jweixin": "^1.0.0"
|
|
16
19
|
},
|
|
17
20
|
"scripts": {
|
|
18
|
-
"build": "
|
|
21
|
+
"build": "ptsup src/index.ts --dts"
|
|
19
22
|
},
|
|
20
|
-
"types": "./index.d.ts",
|
|
21
|
-
"module": "./index.esm.js",
|
|
22
|
-
"unpkg": "./index.iife.min.js",
|
|
23
|
+
"types": "./dist/index.d.ts",
|
|
24
|
+
"module": "./dist/index.esm.js",
|
|
25
|
+
"unpkg": "./dist/index.iife.min.js",
|
|
23
26
|
"exports": {
|
|
24
27
|
".": {
|
|
25
|
-
"import": "./index.esm.js",
|
|
26
|
-
"require": "./index.cjs.js"
|
|
28
|
+
"import": "./dist/index.esm.js",
|
|
29
|
+
"require": "./dist/index.cjs.js"
|
|
27
30
|
},
|
|
28
31
|
"./*": "./*"
|
|
29
32
|
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import type * as WxType from 'jweixin'
|
|
2
|
+
import { WechatJssdkHelper } from './helper'
|
|
3
|
+
import type { WechatJssdkOptions } from './types'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @description WechatJssdk Api 封装,与 [jssdk 文档](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) 保持一致,主要以下改动
|
|
7
|
+
* @description 内置请求,读取 config 配置,初始化自动调用 wx.config
|
|
8
|
+
* @description 所有 api 的 promise 化处理(仅等待 wx.ready)
|
|
9
|
+
* @description 简易化初始化构建,config 处理
|
|
10
|
+
* @description 可指定加载 jssdk 版本(默认 1.3.0)
|
|
11
|
+
* @template `const wxJssdk = new WechatJssdk({env, config})`
|
|
12
|
+
*/
|
|
13
|
+
class WechatJssdk extends WechatJssdkHelper {
|
|
14
|
+
constructor(options: WechatJssdkOptions) {
|
|
15
|
+
super(options)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// --- 1.4.0 API start ---
|
|
19
|
+
updateAppMessageShareData(options: WxType.IonMenuShareAppMessage) {
|
|
20
|
+
return this.implement('updateAppMessageShareData', options)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
updateTimelineShareData(options: WxType.IonMenuShareAppMessage) {
|
|
24
|
+
return this.implement('updateTimelineShareData', options)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// --- 1.4.0 API end ---
|
|
28
|
+
addCard() {
|
|
29
|
+
return this.implement('addCard')
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
checkJsApi(options: WxType.IcheckJsApi) {
|
|
33
|
+
return this.implement('checkJsApi', options)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
chooseCard(options: WxType.IchooseCard) {
|
|
37
|
+
return this.implement('chooseCard', options)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
chooseImage(options: WxType.IchooseImage) {
|
|
41
|
+
return this.implement('chooseImage', options)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
chooseWXPay(options: WxType.IchooseWXPay) {
|
|
45
|
+
return this.implement('chooseWXPay', options)
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
closeWindow() {
|
|
49
|
+
return this.implement('closeWindow')
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
consumeAndShareCard(options: WxType.IconsumeAndShareCard) {
|
|
53
|
+
return this.implement('consumeAndShareCard', options)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
downloadImage(options: WxType.IdownloadImage) {
|
|
57
|
+
return this.implement('downloadImage', options)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
downloadVoice(options: WxType.IupdownloadVoice) {
|
|
61
|
+
return this.implement('downloadVoice', options)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
getLocalImgData(options: WxType.IgetLocalImgData) {
|
|
65
|
+
return this.implement('getLocalImgData', options)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
getLocation(options: WxType.IgetLocation) {
|
|
69
|
+
return this.implement('getLocation', options)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
getNetworkType(options: WxType.IgetNetworkType) {
|
|
73
|
+
return this.implement('getNetworkType', options)
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
hideAllNonBaseMenuItem() {
|
|
77
|
+
return this.implement('hideAllNonBaseMenuItem')
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
hideMenuItems(options: WxType.IhideMenuItems) {
|
|
81
|
+
return this.implement('hideMenuItems', options)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
hideOptionMenu() {
|
|
85
|
+
return this.implement('hideOptionMenu')
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
onMenuShareAppMessage(options: WxType.IonMenuShareAppMessage) {
|
|
89
|
+
return this.implement('onMenuShareAppMessage', options)
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
onMenuShareQQ(options: WxType.IonMenuShareQQ) {
|
|
93
|
+
return this.implement('onMenuShareQQ', options)
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
onMenuShareQZone(options: WxType.IonMenuShareQZone) {
|
|
97
|
+
return this.implement('onMenuShareQZone', options)
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
onMenuShareTimeline(options: WxType.IonMenuShareTimeline) {
|
|
101
|
+
return this.implement('onMenuShareTimeline', options)
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
onMenuShareWeibo(options: WxType.IonMenuShareWeibo) {
|
|
105
|
+
return this.implement('onMenuShareWeibo', options)
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
onSearchBeacons(options: WxType.IonSearchBeacons) {
|
|
109
|
+
return this.implement('onSearchBeacons', options)
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
onVoicePlayEnd(options: WxType.IonVoicePlayEnd) {
|
|
113
|
+
return this.implement('onVoicePlayEnd', options)
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
onVoiceRecordEnd(options: WxType.IonVoiceRecordEnd) {
|
|
117
|
+
return this.implement('onVoiceRecordEnd', options)
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
openCard(options: WxType.IopenCard) {
|
|
121
|
+
return this.implement('openCard', options)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
openLocation(options: WxType.IopenLocation) {
|
|
125
|
+
return this.implement('openLocation', options)
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
openProductSpecificView(options: WxType.IopenProductSpecificView) {
|
|
129
|
+
return this.implement('openProductSpecificView', options)
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
pauseVoice(options: WxType.IplaypausestopVoice) {
|
|
133
|
+
return this.implement('pauseVoice', options)
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
playVoice(options: WxType.IplaypausestopVoice) {
|
|
137
|
+
return this.implement('playVoice', options)
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
previewImage(options: WxType.IpreviewImage) {
|
|
141
|
+
return this.implement('previewImage', options)
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
scanQRCode(options: WxType.IscanQRCode) {
|
|
145
|
+
return this.implement('scanQRCode', options)
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
showAllNonBaseMenuItem() {
|
|
149
|
+
return this.implement('showAllNonBaseMenuItem')
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
showMenuItems(options: WxType.IshowMenuItems) {
|
|
153
|
+
return this.implement('showMenuItems', options)
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
showOptionMenu() {
|
|
157
|
+
return this.implement('showOptionMenu')
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
startRecord() {
|
|
161
|
+
return this.implement('startRecord')
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
startSearchBeacons(options: WxType.IstartSearchBeacons) {
|
|
165
|
+
return this.implement('startSearchBeacons', options)
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
stopRecord(options: WxType.IstopRecord) {
|
|
169
|
+
return this.implement('stopRecord', options)
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
stopSearchBeacons(options: WxType.IstopSearchBeacons) {
|
|
173
|
+
return this.implement('stopSearchBeacons', options)
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
stopVoice(options: WxType.IplaypausestopVoice) {
|
|
177
|
+
return this.implement('stopVoice', options)
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
translateVoice(options: WxType.ItranslateVoice) {
|
|
181
|
+
return this.implement('translateVoice', options)
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
uploadImage(options: WxType.IuploadImage) {
|
|
185
|
+
return this.implement('uploadImage', options)
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
uploadVoice(options: WxType.IupdownloadVoice) {
|
|
189
|
+
return this.implement('uploadVoice', options)
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export { WechatJssdk }
|
package/CHANGELOG.md
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# @hairy/wechat-jssdk
|
|
2
|
-
|
|
3
|
-
## 1.2.2
|
|
4
|
-
|
|
5
|
-
### Patch Changes
|
|
6
|
-
|
|
7
|
-
- fix wechat-jssdk type
|
|
8
|
-
|
|
9
|
-
## 1.2.1
|
|
10
|
-
|
|
11
|
-
### Patch Changes
|
|
12
|
-
|
|
13
|
-
- chore: fix wechat-jssdk type error
|
|
14
|
-
|
|
15
|
-
## 1.2.0
|
|
16
|
-
|
|
17
|
-
### Minor Changes
|
|
18
|
-
|
|
19
|
-
- fix dist not being packaged
|
|
20
|
-
|
|
21
|
-
## 1.1.0
|
|
22
|
-
|
|
23
|
-
### Minor Changes
|
|
24
|
-
|
|
25
|
-
- f1a05f4: hairy v2 public package publish all
|
package/index.cjs.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../index.ts", "../internal/load_script.ts", "../helper.ts"],
|
|
4
|
-
"sourcesContent": ["import * as WxType from 'jweixin'\r\nimport { WechatJssdkHelper, WechatJssdkOptions } from './helper'\r\n\r\n/**\r\n * @description WechatJssdk Api \u5C01\u88C5\uFF0C\u4E0E [jssdk \u6587\u6863](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) \u4FDD\u6301\u4E00\u81F4\uFF0C\u4E3B\u8981\u4EE5\u4E0B\u6539\u52A8\r\n * @description \u5185\u7F6E\u8BF7\u6C42\uFF0C\u8BFB\u53D6 config \u914D\u7F6E\uFF0C\u521D\u59CB\u5316\u81EA\u52A8\u8C03\u7528 wx.config\r\n * @description \u6240\u6709 api \u7684 promise \u5316\u5904\u7406\uFF08\u4EC5\u7B49\u5F85 wx.ready\uFF09\r\n * @description \u7B80\u6613\u5316\u521D\u59CB\u5316\u6784\u5EFA\uFF0Cconfig \u5904\u7406\r\n * @description \u53EF\u6307\u5B9A\u52A0\u8F7D jssdk \u7248\u672C\uFF08\u9ED8\u8BA4 1.3.0\uFF09\r\n * @template `const wxJssdk = new WechatJssdk({env, config})`\r\n */\r\nclass WechatJssdk extends WechatJssdkHelper {\r\n constructor(options: WechatJssdkOptions) {\r\n super(options)\r\n }\r\n // --- 1.4.0 API start ---\r\n updateAppMessageShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateAppMessageShareData', options)\r\n }\r\n updateTimelineShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateTimelineShareData', options)\r\n }\r\n // --- 1.4.0 API end ---\r\n addCard() {\r\n return this.implement('addCard')\r\n }\r\n checkJsApi(options: WxType.IcheckJsApi) {\r\n return this.implement('checkJsApi', options)\r\n }\r\n chooseCard(options: WxType.IchooseCard) {\r\n return this.implement('chooseCard', options)\r\n }\r\n chooseImage(options: WxType.IchooseImage) {\r\n return this.implement('chooseImage', options)\r\n }\r\n chooseWXPay(options: WxType.IchooseWXPay) {\r\n return this.implement('chooseWXPay', options)\r\n }\r\n closeWindow() {\r\n return this.implement('closeWindow')\r\n }\r\n consumeAndShareCard(options: WxType.IconsumeAndShareCard) {\r\n return this.implement('consumeAndShareCard', options)\r\n }\r\n downloadImage(options: WxType.IdownloadImage) {\r\n return this.implement('downloadImage', options)\r\n }\r\n downloadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('downloadVoice', options)\r\n }\r\n getLocalImgData(options: WxType.IgetLocalImgData) {\r\n return this.implement('getLocalImgData', options)\r\n }\r\n getLocation(options: WxType.IgetLocation) {\r\n return this.implement('getLocation', options)\r\n }\r\n getNetworkType(options: WxType.IgetNetworkType) {\r\n return this.implement('getNetworkType', options)\r\n }\r\n hideAllNonBaseMenuItem() {\r\n return this.implement('hideAllNonBaseMenuItem')\r\n }\r\n hideMenuItems(options: WxType.IhideMenuItems) {\r\n return this.implement('hideMenuItems', options)\r\n }\r\n hideOptionMenu() {\r\n return this.implement('hideOptionMenu')\r\n }\r\n onMenuShareAppMessage(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('onMenuShareAppMessage', options)\r\n }\r\n onMenuShareQQ(options: WxType.IonMenuShareQQ) {\r\n return this.implement('onMenuShareQQ', options)\r\n }\r\n onMenuShareQZone(options: WxType.IonMenuShareQZone) {\r\n return this.implement('onMenuShareQZone', options)\r\n }\r\n onMenuShareTimeline(options: WxType.IonMenuShareTimeline) {\r\n return this.implement('onMenuShareTimeline', options)\r\n }\r\n onMenuShareWeibo(options: WxType.IonMenuShareWeibo) {\r\n return this.implement('onMenuShareWeibo', options)\r\n }\r\n onSearchBeacons(options: WxType.IonSearchBeacons) {\r\n return this.implement('onSearchBeacons', options)\r\n }\r\n onVoicePlayEnd(options: WxType.IonVoicePlayEnd) {\r\n return this.implement('onVoicePlayEnd', options)\r\n }\r\n onVoiceRecordEnd(options: WxType.IonVoiceRecordEnd) {\r\n return this.implement('onVoiceRecordEnd', options)\r\n }\r\n openCard(options: WxType.IopenCard) {\r\n return this.implement('openCard', options)\r\n }\r\n openLocation(options: WxType.IopenLocation) {\r\n return this.implement('openLocation', options)\r\n }\r\n openProductSpecificView(options: WxType.IopenProductSpecificView) {\r\n return this.implement('openProductSpecificView', options)\r\n }\r\n pauseVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('pauseVoice', options)\r\n }\r\n playVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('playVoice', options)\r\n }\r\n previewImage(options: WxType.IpreviewImage) {\r\n return this.implement('previewImage', options)\r\n }\r\n scanQRCode(options: WxType.IscanQRCode) {\r\n return this.implement('scanQRCode', options)\r\n }\r\n showAllNonBaseMenuItem() {\r\n return this.implement('showAllNonBaseMenuItem')\r\n }\r\n showMenuItems(options: WxType.IshowMenuItems) {\r\n return this.implement('showMenuItems', options)\r\n }\r\n showOptionMenu() {\r\n return this.implement('showOptionMenu')\r\n }\r\n startRecord() {\r\n return this.implement('startRecord')\r\n }\r\n startSearchBeacons(options: WxType.IstartSearchBeacons) {\r\n return this.implement('startSearchBeacons', options)\r\n }\r\n stopRecord(options: WxType.IstopRecord) {\r\n return this.implement('stopRecord', options)\r\n }\r\n stopSearchBeacons(options: WxType.IstopSearchBeacons) {\r\n return this.implement('stopSearchBeacons', options)\r\n }\r\n stopVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('stopVoice', options)\r\n }\r\n translateVoice(options: WxType.ItranslateVoice) {\r\n return this.implement('translateVoice', options)\r\n }\r\n uploadImage(options: WxType.IuploadImage) {\r\n return this.implement('uploadImage', options)\r\n }\r\n uploadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('uploadVoice', options)\r\n }\r\n}\r\n\r\nexport { WechatJssdk }\r\n", "import noop from 'lodash/noop'\r\n\r\nexport interface LoadScriptOptions {\r\n /**\r\n * @param waitForScriptLoad Promise \u662F\u5426\u5E94\u8BE5\u5728 <script> \u5C5E\u6027\u53D1\u51FA\u201Cload\u201D\u4E8B\u4EF6\u540E\u89E6\u53D1\uFF0C\u8FD8\u662F\u5728\u5C06\u5176\u9644\u52A0\u5230 DOM \u540E\u7ACB\u5373\u89E6\u53D1\u3002\r\n * @returns Promise<HTMLScriptElement>\r\n */\r\n waitForScriptLoad?: boolean\r\n async?: boolean\r\n type?: string\r\n crossOrigin?: 'anonymous' | 'use-credentials'\r\n referrerPolicy?:\r\n | 'no-referrer'\r\n | 'no-referrer-when-downgrade'\r\n | 'origin'\r\n | 'origin-when-cross-origin'\r\n | 'same-origin'\r\n | 'strict-origin'\r\n | 'strict-origin-when-cross-origin'\r\n | 'unsafe-url'\r\n noModule?: boolean\r\n defer?: boolean\r\n}\r\nexport const loadScript = (\r\n source: string,\r\n onLoaded: (element: HTMLScriptElement) => void = noop,\r\n options: LoadScriptOptions = {}\r\n): Promise<HTMLScriptElement> => {\r\n const {\r\n type = 'text/javascript',\r\n async = true,\r\n crossOrigin,\r\n referrerPolicy,\r\n noModule,\r\n defer,\r\n waitForScriptLoad = true\r\n } = options\r\n\r\n return new Promise((resolve, reject) => {\r\n // Local variable defining if the <script> tag should be appended or not.\r\n let shouldAppend = false\r\n\r\n let element = document.querySelector(`script[src=\"${source}\"]`) as HTMLScriptElement\r\n\r\n // Script tag not found, preparing the element for appending\r\n if (!element) {\r\n element = document.createElement('script')\r\n element.type = type\r\n element.async = async\r\n element.src = source\r\n\r\n // Optional attributes\r\n if (defer) element.defer = defer\r\n if (crossOrigin) element.crossOrigin = crossOrigin\r\n if (noModule) element.noModule = noModule\r\n if (referrerPolicy) element.referrerPolicy = referrerPolicy\r\n\r\n // Enables shouldAppend\r\n shouldAppend = true\r\n }\r\n // Script tag already exists, resolve the loading Promise with it.\r\n else if (Object.hasOwn(element.dataset, 'loaded')) {\r\n resolve(element)\r\n }\r\n\r\n // Event listeners\r\n element.addEventListener('error', (event) => reject(event))\r\n element.addEventListener('abort', (event) => reject(event))\r\n element.addEventListener('load', () => {\r\n element.dataset.loaded = 'true'\r\n onLoaded(element)\r\n resolve(element)\r\n })\r\n\r\n // Append the <script> tag to head.\r\n if (shouldAppend) {\r\n // eslint-disable-next-line unicorn/prefer-dom-node-append\r\n element = document.head.appendChild(element)\r\n }\r\n\r\n // If script load awaiting isn't needed, we can resolve the Promise.\r\n if (!waitForScriptLoad) {\r\n resolve(element)\r\n }\r\n })\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { loadScript } from './internal/load_script'\r\n\r\ndeclare module 'jweixin' {\r\n type v4ApiMethod = 'updateTimelineShareData' | 'updateAppMessageShareData'\r\n export function config(config_: {\r\n debug?: boolean | undefined // \u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F,\u8C03\u7528\u7684\u6240\u6709api\u7684\u8FD4\u56DE\u503C\u4F1A\u5728\u5BA2\u6237\u7AEFalert\u51FA\u6765\uFF0C\u82E5\u8981\u67E5\u770B\u4F20\u5165\u7684\u53C2\u6570\uFF0C\u53EF\u4EE5\u5728pc\u7AEF\u6253\u5F00\uFF0C\u53C2\u6570\u4FE1\u606F\u4F1A\u901A\u8FC7log\u6253\u51FA\uFF0C\u4EC5\u5728pc\u7AEF\u65F6\u624D\u4F1A\u6253\u5370\u3002\r\n appId: string // \u5FC5\u586B\uFF0C\u516C\u4F17\u53F7\u7684\u552F\u4E00\u6807\u8BC6\r\n timestamp: number // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u65F6\u95F4\u6233\r\n nonceStr: string // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u4E32\r\n signature: string // \u5FC5\u586B\uFF0C\u7B7E\u540D\uFF0C\u89C1\u9644\u5F551\r\n jsApiList: (WxType.ApiMethod | v4ApiMethod)[] // \u5FC5\u586B\uFF0C\u9700\u8981\u4F7F\u7528\u7684JS\u63A5\u53E3\u5217\u8868\uFF0C\u6240\u6709JS\u63A5\u53E3\u5217\u8868\u89C1\u9644\u5F552\r\n }): void\r\n}\r\n\r\ndeclare const wx: typeof WxType\r\n\r\nexport type WechatJssdkConfig = Omit<Parameters<typeof wx.config>[0], 'catch' | 'finally' | 'then'>\r\n\r\n/** \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\u5FAE\u4FE1 jssdk wx.config \u53C2\u6570 */\r\nexport type WechatJssdkConfigFunction = () => WechatJssdkConfig | Promise<WechatJssdkConfig>\r\nexport interface WechatJssdkOptions {\r\n /**\r\n * \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\r\n */\r\n requestConfig: () => Promise<WechatJssdkConfig> | WechatJssdkConfig\r\n /**\r\n * \u662F\u5426\u7ACB\u5373\u52A0\u8F7D config\r\n *\r\n * @default true\r\n */\r\n immediate?: boolean\r\n /**\r\n * wechat-jssdk \u7248\u672C\r\n *\r\n * @default 1.3.0\r\n */\r\n version?: '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0'\r\n}\r\n\r\n/**\r\n * jssdk \u7684\u524D\u7F6E\u5904\u7406\u7C7B\r\n * @constructor \u52A0\u8F7D\u914D\u7F6E\uFF08apiHost\uFF0CappId\uFF0Cconfig\uFF0Cversion\uFF0Cjssdk\uFF09\r\n * @function implement \u63D0\u4F9B wxApi \u6267\u884C\u5668\uFF08\u7B49\u5F85 config \u4E0E ready \u7ED3\u675F\uFF0C\u5728\u8C03\u7528 api\uFF09\r\n * @function config \u52A0\u8F7D\u914D\u7F6E\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n * @function ready wx.rady\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n */\r\nexport class WechatJssdkHelper {\r\n private version: string\r\n\r\n private isReady = false\r\n\r\n private requestConfig: WechatJssdkOptions['requestConfig']\r\n\r\n private loadPromise?: Promise<void>\r\n private configPromise?: Promise<void>\r\n private readyPromise?: Promise<void>\r\n\r\n private loadJssdk() {\r\n const scriptUrl = `https://res.wx.qq.com/open/js/jweixin-${this.version}.js`\r\n this.loadPromise = loadScript(scriptUrl).then(() => {\r\n this.loadPromise = undefined\r\n })\r\n }\r\n\r\n constructor(options: WechatJssdkOptions) {\r\n const { immediate = true, version, requestConfig } = options\r\n\r\n this.version = version || '1.3.0'\r\n this.requestConfig = requestConfig\r\n\r\n this.loadJssdk()\r\n\r\n if (immediate) this.config()\r\n }\r\n\r\n async config() {\r\n if (this.configPromise) return this.configPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n this.configPromise = (async () => {\r\n wx.config(await this.requestConfig())\r\n })()\r\n\r\n return this.configPromise\r\n }\r\n async ready() {\r\n if (this.readyPromise) return this.readyPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n if (this.isReady) return\r\n\r\n this.readyPromise = new Promise<void>((resolve, reject) => {\r\n wx.ready(() => {\r\n this.isReady = true\r\n this.readyPromise = undefined\r\n resolve()\r\n })\r\n wx.error((error) => {\r\n this.isReady = false\r\n this.readyPromise = undefined\r\n reject(error)\r\n })\r\n })\r\n\r\n return this.readyPromise\r\n }\r\n async error() {\r\n return this.ready().catch((error) => error)\r\n }\r\n\r\n protected async implement<Key extends keyof typeof wx | string>(key: Key, options?: any) {\r\n if (this.configPromise) {\r\n await this.configPromise\r\n }\r\n await this.ready()\r\n ;(wx as any)[key](options)\r\n }\r\n}\r\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/index.esm.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../internal/load_script.ts", "../helper.ts", "../index.ts"],
|
|
4
|
-
"sourcesContent": ["import noop from 'lodash/noop'\r\n\r\nexport interface LoadScriptOptions {\r\n /**\r\n * @param waitForScriptLoad Promise \u662F\u5426\u5E94\u8BE5\u5728 <script> \u5C5E\u6027\u53D1\u51FA\u201Cload\u201D\u4E8B\u4EF6\u540E\u89E6\u53D1\uFF0C\u8FD8\u662F\u5728\u5C06\u5176\u9644\u52A0\u5230 DOM \u540E\u7ACB\u5373\u89E6\u53D1\u3002\r\n * @returns Promise<HTMLScriptElement>\r\n */\r\n waitForScriptLoad?: boolean\r\n async?: boolean\r\n type?: string\r\n crossOrigin?: 'anonymous' | 'use-credentials'\r\n referrerPolicy?:\r\n | 'no-referrer'\r\n | 'no-referrer-when-downgrade'\r\n | 'origin'\r\n | 'origin-when-cross-origin'\r\n | 'same-origin'\r\n | 'strict-origin'\r\n | 'strict-origin-when-cross-origin'\r\n | 'unsafe-url'\r\n noModule?: boolean\r\n defer?: boolean\r\n}\r\nexport const loadScript = (\r\n source: string,\r\n onLoaded: (element: HTMLScriptElement) => void = noop,\r\n options: LoadScriptOptions = {}\r\n): Promise<HTMLScriptElement> => {\r\n const {\r\n type = 'text/javascript',\r\n async = true,\r\n crossOrigin,\r\n referrerPolicy,\r\n noModule,\r\n defer,\r\n waitForScriptLoad = true\r\n } = options\r\n\r\n return new Promise((resolve, reject) => {\r\n // Local variable defining if the <script> tag should be appended or not.\r\n let shouldAppend = false\r\n\r\n let element = document.querySelector(`script[src=\"${source}\"]`) as HTMLScriptElement\r\n\r\n // Script tag not found, preparing the element for appending\r\n if (!element) {\r\n element = document.createElement('script')\r\n element.type = type\r\n element.async = async\r\n element.src = source\r\n\r\n // Optional attributes\r\n if (defer) element.defer = defer\r\n if (crossOrigin) element.crossOrigin = crossOrigin\r\n if (noModule) element.noModule = noModule\r\n if (referrerPolicy) element.referrerPolicy = referrerPolicy\r\n\r\n // Enables shouldAppend\r\n shouldAppend = true\r\n }\r\n // Script tag already exists, resolve the loading Promise with it.\r\n else if (Object.hasOwn(element.dataset, 'loaded')) {\r\n resolve(element)\r\n }\r\n\r\n // Event listeners\r\n element.addEventListener('error', (event) => reject(event))\r\n element.addEventListener('abort', (event) => reject(event))\r\n element.addEventListener('load', () => {\r\n element.dataset.loaded = 'true'\r\n onLoaded(element)\r\n resolve(element)\r\n })\r\n\r\n // Append the <script> tag to head.\r\n if (shouldAppend) {\r\n // eslint-disable-next-line unicorn/prefer-dom-node-append\r\n element = document.head.appendChild(element)\r\n }\r\n\r\n // If script load awaiting isn't needed, we can resolve the Promise.\r\n if (!waitForScriptLoad) {\r\n resolve(element)\r\n }\r\n })\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { loadScript } from './internal/load_script'\r\n\r\ndeclare module 'jweixin' {\r\n type v4ApiMethod = 'updateTimelineShareData' | 'updateAppMessageShareData'\r\n export function config(config_: {\r\n debug?: boolean | undefined // \u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F,\u8C03\u7528\u7684\u6240\u6709api\u7684\u8FD4\u56DE\u503C\u4F1A\u5728\u5BA2\u6237\u7AEFalert\u51FA\u6765\uFF0C\u82E5\u8981\u67E5\u770B\u4F20\u5165\u7684\u53C2\u6570\uFF0C\u53EF\u4EE5\u5728pc\u7AEF\u6253\u5F00\uFF0C\u53C2\u6570\u4FE1\u606F\u4F1A\u901A\u8FC7log\u6253\u51FA\uFF0C\u4EC5\u5728pc\u7AEF\u65F6\u624D\u4F1A\u6253\u5370\u3002\r\n appId: string // \u5FC5\u586B\uFF0C\u516C\u4F17\u53F7\u7684\u552F\u4E00\u6807\u8BC6\r\n timestamp: number // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u65F6\u95F4\u6233\r\n nonceStr: string // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u4E32\r\n signature: string // \u5FC5\u586B\uFF0C\u7B7E\u540D\uFF0C\u89C1\u9644\u5F551\r\n jsApiList: (WxType.ApiMethod | v4ApiMethod)[] // \u5FC5\u586B\uFF0C\u9700\u8981\u4F7F\u7528\u7684JS\u63A5\u53E3\u5217\u8868\uFF0C\u6240\u6709JS\u63A5\u53E3\u5217\u8868\u89C1\u9644\u5F552\r\n }): void\r\n}\r\n\r\ndeclare const wx: typeof WxType\r\n\r\nexport type WechatJssdkConfig = Omit<Parameters<typeof wx.config>[0], 'catch' | 'finally' | 'then'>\r\n\r\n/** \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\u5FAE\u4FE1 jssdk wx.config \u53C2\u6570 */\r\nexport type WechatJssdkConfigFunction = () => WechatJssdkConfig | Promise<WechatJssdkConfig>\r\nexport interface WechatJssdkOptions {\r\n /**\r\n * \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\r\n */\r\n requestConfig: () => Promise<WechatJssdkConfig> | WechatJssdkConfig\r\n /**\r\n * \u662F\u5426\u7ACB\u5373\u52A0\u8F7D config\r\n *\r\n * @default true\r\n */\r\n immediate?: boolean\r\n /**\r\n * wechat-jssdk \u7248\u672C\r\n *\r\n * @default 1.3.0\r\n */\r\n version?: '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0'\r\n}\r\n\r\n/**\r\n * jssdk \u7684\u524D\u7F6E\u5904\u7406\u7C7B\r\n * @constructor \u52A0\u8F7D\u914D\u7F6E\uFF08apiHost\uFF0CappId\uFF0Cconfig\uFF0Cversion\uFF0Cjssdk\uFF09\r\n * @function implement \u63D0\u4F9B wxApi \u6267\u884C\u5668\uFF08\u7B49\u5F85 config \u4E0E ready \u7ED3\u675F\uFF0C\u5728\u8C03\u7528 api\uFF09\r\n * @function config \u52A0\u8F7D\u914D\u7F6E\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n * @function ready wx.rady\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n */\r\nexport class WechatJssdkHelper {\r\n private version: string\r\n\r\n private isReady = false\r\n\r\n private requestConfig: WechatJssdkOptions['requestConfig']\r\n\r\n private loadPromise?: Promise<void>\r\n private configPromise?: Promise<void>\r\n private readyPromise?: Promise<void>\r\n\r\n private loadJssdk() {\r\n const scriptUrl = `https://res.wx.qq.com/open/js/jweixin-${this.version}.js`\r\n this.loadPromise = loadScript(scriptUrl).then(() => {\r\n this.loadPromise = undefined\r\n })\r\n }\r\n\r\n constructor(options: WechatJssdkOptions) {\r\n const { immediate = true, version, requestConfig } = options\r\n\r\n this.version = version || '1.3.0'\r\n this.requestConfig = requestConfig\r\n\r\n this.loadJssdk()\r\n\r\n if (immediate) this.config()\r\n }\r\n\r\n async config() {\r\n if (this.configPromise) return this.configPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n this.configPromise = (async () => {\r\n wx.config(await this.requestConfig())\r\n })()\r\n\r\n return this.configPromise\r\n }\r\n async ready() {\r\n if (this.readyPromise) return this.readyPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n if (this.isReady) return\r\n\r\n this.readyPromise = new Promise<void>((resolve, reject) => {\r\n wx.ready(() => {\r\n this.isReady = true\r\n this.readyPromise = undefined\r\n resolve()\r\n })\r\n wx.error((error) => {\r\n this.isReady = false\r\n this.readyPromise = undefined\r\n reject(error)\r\n })\r\n })\r\n\r\n return this.readyPromise\r\n }\r\n async error() {\r\n return this.ready().catch((error) => error)\r\n }\r\n\r\n protected async implement<Key extends keyof typeof wx | string>(key: Key, options?: any) {\r\n if (this.configPromise) {\r\n await this.configPromise\r\n }\r\n await this.ready()\r\n ;(wx as any)[key](options)\r\n }\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { WechatJssdkHelper, WechatJssdkOptions } from './helper'\r\n\r\n/**\r\n * @description WechatJssdk Api \u5C01\u88C5\uFF0C\u4E0E [jssdk \u6587\u6863](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) \u4FDD\u6301\u4E00\u81F4\uFF0C\u4E3B\u8981\u4EE5\u4E0B\u6539\u52A8\r\n * @description \u5185\u7F6E\u8BF7\u6C42\uFF0C\u8BFB\u53D6 config \u914D\u7F6E\uFF0C\u521D\u59CB\u5316\u81EA\u52A8\u8C03\u7528 wx.config\r\n * @description \u6240\u6709 api \u7684 promise \u5316\u5904\u7406\uFF08\u4EC5\u7B49\u5F85 wx.ready\uFF09\r\n * @description \u7B80\u6613\u5316\u521D\u59CB\u5316\u6784\u5EFA\uFF0Cconfig \u5904\u7406\r\n * @description \u53EF\u6307\u5B9A\u52A0\u8F7D jssdk \u7248\u672C\uFF08\u9ED8\u8BA4 1.3.0\uFF09\r\n * @template `const wxJssdk = new WechatJssdk({env, config})`\r\n */\r\nclass WechatJssdk extends WechatJssdkHelper {\r\n constructor(options: WechatJssdkOptions) {\r\n super(options)\r\n }\r\n // --- 1.4.0 API start ---\r\n updateAppMessageShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateAppMessageShareData', options)\r\n }\r\n updateTimelineShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateTimelineShareData', options)\r\n }\r\n // --- 1.4.0 API end ---\r\n addCard() {\r\n return this.implement('addCard')\r\n }\r\n checkJsApi(options: WxType.IcheckJsApi) {\r\n return this.implement('checkJsApi', options)\r\n }\r\n chooseCard(options: WxType.IchooseCard) {\r\n return this.implement('chooseCard', options)\r\n }\r\n chooseImage(options: WxType.IchooseImage) {\r\n return this.implement('chooseImage', options)\r\n }\r\n chooseWXPay(options: WxType.IchooseWXPay) {\r\n return this.implement('chooseWXPay', options)\r\n }\r\n closeWindow() {\r\n return this.implement('closeWindow')\r\n }\r\n consumeAndShareCard(options: WxType.IconsumeAndShareCard) {\r\n return this.implement('consumeAndShareCard', options)\r\n }\r\n downloadImage(options: WxType.IdownloadImage) {\r\n return this.implement('downloadImage', options)\r\n }\r\n downloadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('downloadVoice', options)\r\n }\r\n getLocalImgData(options: WxType.IgetLocalImgData) {\r\n return this.implement('getLocalImgData', options)\r\n }\r\n getLocation(options: WxType.IgetLocation) {\r\n return this.implement('getLocation', options)\r\n }\r\n getNetworkType(options: WxType.IgetNetworkType) {\r\n return this.implement('getNetworkType', options)\r\n }\r\n hideAllNonBaseMenuItem() {\r\n return this.implement('hideAllNonBaseMenuItem')\r\n }\r\n hideMenuItems(options: WxType.IhideMenuItems) {\r\n return this.implement('hideMenuItems', options)\r\n }\r\n hideOptionMenu() {\r\n return this.implement('hideOptionMenu')\r\n }\r\n onMenuShareAppMessage(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('onMenuShareAppMessage', options)\r\n }\r\n onMenuShareQQ(options: WxType.IonMenuShareQQ) {\r\n return this.implement('onMenuShareQQ', options)\r\n }\r\n onMenuShareQZone(options: WxType.IonMenuShareQZone) {\r\n return this.implement('onMenuShareQZone', options)\r\n }\r\n onMenuShareTimeline(options: WxType.IonMenuShareTimeline) {\r\n return this.implement('onMenuShareTimeline', options)\r\n }\r\n onMenuShareWeibo(options: WxType.IonMenuShareWeibo) {\r\n return this.implement('onMenuShareWeibo', options)\r\n }\r\n onSearchBeacons(options: WxType.IonSearchBeacons) {\r\n return this.implement('onSearchBeacons', options)\r\n }\r\n onVoicePlayEnd(options: WxType.IonVoicePlayEnd) {\r\n return this.implement('onVoicePlayEnd', options)\r\n }\r\n onVoiceRecordEnd(options: WxType.IonVoiceRecordEnd) {\r\n return this.implement('onVoiceRecordEnd', options)\r\n }\r\n openCard(options: WxType.IopenCard) {\r\n return this.implement('openCard', options)\r\n }\r\n openLocation(options: WxType.IopenLocation) {\r\n return this.implement('openLocation', options)\r\n }\r\n openProductSpecificView(options: WxType.IopenProductSpecificView) {\r\n return this.implement('openProductSpecificView', options)\r\n }\r\n pauseVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('pauseVoice', options)\r\n }\r\n playVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('playVoice', options)\r\n }\r\n previewImage(options: WxType.IpreviewImage) {\r\n return this.implement('previewImage', options)\r\n }\r\n scanQRCode(options: WxType.IscanQRCode) {\r\n return this.implement('scanQRCode', options)\r\n }\r\n showAllNonBaseMenuItem() {\r\n return this.implement('showAllNonBaseMenuItem')\r\n }\r\n showMenuItems(options: WxType.IshowMenuItems) {\r\n return this.implement('showMenuItems', options)\r\n }\r\n showOptionMenu() {\r\n return this.implement('showOptionMenu')\r\n }\r\n startRecord() {\r\n return this.implement('startRecord')\r\n }\r\n startSearchBeacons(options: WxType.IstartSearchBeacons) {\r\n return this.implement('startSearchBeacons', options)\r\n }\r\n stopRecord(options: WxType.IstopRecord) {\r\n return this.implement('stopRecord', options)\r\n }\r\n stopSearchBeacons(options: WxType.IstopSearchBeacons) {\r\n return this.implement('stopSearchBeacons', options)\r\n }\r\n stopVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('stopVoice', options)\r\n }\r\n translateVoice(options: WxType.ItranslateVoice) {\r\n return this.implement('translateVoice', options)\r\n }\r\n uploadImage(options: WxType.IuploadImage) {\r\n return this.implement('uploadImage', options)\r\n }\r\n uploadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('uploadVoice', options)\r\n }\r\n}\r\n\r\nexport { WechatJssdk }\r\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/index.iife.js
DELETED
|
@@ -1,281 +0,0 @@
|
|
|
1
|
-
var HairyWechatJssdk = (() => {
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
9
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
10
|
-
}) : x)(function(x) {
|
|
11
|
-
if (typeof require !== "undefined")
|
|
12
|
-
return require.apply(this, arguments);
|
|
13
|
-
throw new Error('Dynamic require of "' + x + '" is not supported');
|
|
14
|
-
});
|
|
15
|
-
var __export = (target, all) => {
|
|
16
|
-
for (var name in all)
|
|
17
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
18
|
-
};
|
|
19
|
-
var __copyProps = (to, from, except, desc) => {
|
|
20
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
21
|
-
for (let key of __getOwnPropNames(from))
|
|
22
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
23
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
24
|
-
}
|
|
25
|
-
return to;
|
|
26
|
-
};
|
|
27
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
|
|
30
|
-
// index.ts
|
|
31
|
-
var web_util_wechat_jssdk_exports = {};
|
|
32
|
-
__export(web_util_wechat_jssdk_exports, {
|
|
33
|
-
WechatJssdk: () => WechatJssdk
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
// internal/load_script.ts
|
|
37
|
-
var import_noop = __toESM(__require("lodash/noop"));
|
|
38
|
-
var loadScript = (source, onLoaded = import_noop.default, options = {}) => {
|
|
39
|
-
const {
|
|
40
|
-
type = "text/javascript",
|
|
41
|
-
async = true,
|
|
42
|
-
crossOrigin,
|
|
43
|
-
referrerPolicy,
|
|
44
|
-
noModule,
|
|
45
|
-
defer,
|
|
46
|
-
waitForScriptLoad = true
|
|
47
|
-
} = options;
|
|
48
|
-
return new Promise((resolve, reject) => {
|
|
49
|
-
let shouldAppend = false;
|
|
50
|
-
let element = document.querySelector(`script[src="${source}"]`);
|
|
51
|
-
if (!element) {
|
|
52
|
-
element = document.createElement("script");
|
|
53
|
-
element.type = type;
|
|
54
|
-
element.async = async;
|
|
55
|
-
element.src = source;
|
|
56
|
-
if (defer)
|
|
57
|
-
element.defer = defer;
|
|
58
|
-
if (crossOrigin)
|
|
59
|
-
element.crossOrigin = crossOrigin;
|
|
60
|
-
if (noModule)
|
|
61
|
-
element.noModule = noModule;
|
|
62
|
-
if (referrerPolicy)
|
|
63
|
-
element.referrerPolicy = referrerPolicy;
|
|
64
|
-
shouldAppend = true;
|
|
65
|
-
} else if (Object.hasOwn(element.dataset, "loaded")) {
|
|
66
|
-
resolve(element);
|
|
67
|
-
}
|
|
68
|
-
element.addEventListener("error", (event) => reject(event));
|
|
69
|
-
element.addEventListener("abort", (event) => reject(event));
|
|
70
|
-
element.addEventListener("load", () => {
|
|
71
|
-
element.dataset.loaded = "true";
|
|
72
|
-
onLoaded(element);
|
|
73
|
-
resolve(element);
|
|
74
|
-
});
|
|
75
|
-
if (shouldAppend) {
|
|
76
|
-
element = document.head.appendChild(element);
|
|
77
|
-
}
|
|
78
|
-
if (!waitForScriptLoad) {
|
|
79
|
-
resolve(element);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
// helper.ts
|
|
85
|
-
var WechatJssdkHelper = class {
|
|
86
|
-
constructor(options) {
|
|
87
|
-
this.isReady = false;
|
|
88
|
-
const { immediate = true, version, requestConfig } = options;
|
|
89
|
-
this.version = version || "1.3.0";
|
|
90
|
-
this.requestConfig = requestConfig;
|
|
91
|
-
this.loadJssdk();
|
|
92
|
-
if (immediate)
|
|
93
|
-
this.config();
|
|
94
|
-
}
|
|
95
|
-
loadJssdk() {
|
|
96
|
-
const scriptUrl = `https://res.wx.qq.com/open/js/jweixin-${this.version}.js`;
|
|
97
|
-
this.loadPromise = loadScript(scriptUrl).then(() => {
|
|
98
|
-
this.loadPromise = void 0;
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
async config() {
|
|
102
|
-
if (this.configPromise)
|
|
103
|
-
return this.configPromise;
|
|
104
|
-
if (this.loadPromise)
|
|
105
|
-
await this.loadPromise;
|
|
106
|
-
this.configPromise = (async () => {
|
|
107
|
-
wx.config(await this.requestConfig());
|
|
108
|
-
})();
|
|
109
|
-
return this.configPromise;
|
|
110
|
-
}
|
|
111
|
-
async ready() {
|
|
112
|
-
if (this.readyPromise)
|
|
113
|
-
return this.readyPromise;
|
|
114
|
-
if (this.loadPromise)
|
|
115
|
-
await this.loadPromise;
|
|
116
|
-
if (this.isReady)
|
|
117
|
-
return;
|
|
118
|
-
this.readyPromise = new Promise((resolve, reject) => {
|
|
119
|
-
wx.ready(() => {
|
|
120
|
-
this.isReady = true;
|
|
121
|
-
this.readyPromise = void 0;
|
|
122
|
-
resolve();
|
|
123
|
-
});
|
|
124
|
-
wx.error((error) => {
|
|
125
|
-
this.isReady = false;
|
|
126
|
-
this.readyPromise = void 0;
|
|
127
|
-
reject(error);
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
return this.readyPromise;
|
|
131
|
-
}
|
|
132
|
-
async error() {
|
|
133
|
-
return this.ready().catch((error) => error);
|
|
134
|
-
}
|
|
135
|
-
async implement(key, options) {
|
|
136
|
-
if (this.configPromise) {
|
|
137
|
-
await this.configPromise;
|
|
138
|
-
}
|
|
139
|
-
await this.ready();
|
|
140
|
-
wx[key](options);
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
// index.ts
|
|
145
|
-
var WechatJssdk = class extends WechatJssdkHelper {
|
|
146
|
-
constructor(options) {
|
|
147
|
-
super(options);
|
|
148
|
-
}
|
|
149
|
-
updateAppMessageShareData(options) {
|
|
150
|
-
return this.implement("updateAppMessageShareData", options);
|
|
151
|
-
}
|
|
152
|
-
updateTimelineShareData(options) {
|
|
153
|
-
return this.implement("updateTimelineShareData", options);
|
|
154
|
-
}
|
|
155
|
-
addCard() {
|
|
156
|
-
return this.implement("addCard");
|
|
157
|
-
}
|
|
158
|
-
checkJsApi(options) {
|
|
159
|
-
return this.implement("checkJsApi", options);
|
|
160
|
-
}
|
|
161
|
-
chooseCard(options) {
|
|
162
|
-
return this.implement("chooseCard", options);
|
|
163
|
-
}
|
|
164
|
-
chooseImage(options) {
|
|
165
|
-
return this.implement("chooseImage", options);
|
|
166
|
-
}
|
|
167
|
-
chooseWXPay(options) {
|
|
168
|
-
return this.implement("chooseWXPay", options);
|
|
169
|
-
}
|
|
170
|
-
closeWindow() {
|
|
171
|
-
return this.implement("closeWindow");
|
|
172
|
-
}
|
|
173
|
-
consumeAndShareCard(options) {
|
|
174
|
-
return this.implement("consumeAndShareCard", options);
|
|
175
|
-
}
|
|
176
|
-
downloadImage(options) {
|
|
177
|
-
return this.implement("downloadImage", options);
|
|
178
|
-
}
|
|
179
|
-
downloadVoice(options) {
|
|
180
|
-
return this.implement("downloadVoice", options);
|
|
181
|
-
}
|
|
182
|
-
getLocalImgData(options) {
|
|
183
|
-
return this.implement("getLocalImgData", options);
|
|
184
|
-
}
|
|
185
|
-
getLocation(options) {
|
|
186
|
-
return this.implement("getLocation", options);
|
|
187
|
-
}
|
|
188
|
-
getNetworkType(options) {
|
|
189
|
-
return this.implement("getNetworkType", options);
|
|
190
|
-
}
|
|
191
|
-
hideAllNonBaseMenuItem() {
|
|
192
|
-
return this.implement("hideAllNonBaseMenuItem");
|
|
193
|
-
}
|
|
194
|
-
hideMenuItems(options) {
|
|
195
|
-
return this.implement("hideMenuItems", options);
|
|
196
|
-
}
|
|
197
|
-
hideOptionMenu() {
|
|
198
|
-
return this.implement("hideOptionMenu");
|
|
199
|
-
}
|
|
200
|
-
onMenuShareAppMessage(options) {
|
|
201
|
-
return this.implement("onMenuShareAppMessage", options);
|
|
202
|
-
}
|
|
203
|
-
onMenuShareQQ(options) {
|
|
204
|
-
return this.implement("onMenuShareQQ", options);
|
|
205
|
-
}
|
|
206
|
-
onMenuShareQZone(options) {
|
|
207
|
-
return this.implement("onMenuShareQZone", options);
|
|
208
|
-
}
|
|
209
|
-
onMenuShareTimeline(options) {
|
|
210
|
-
return this.implement("onMenuShareTimeline", options);
|
|
211
|
-
}
|
|
212
|
-
onMenuShareWeibo(options) {
|
|
213
|
-
return this.implement("onMenuShareWeibo", options);
|
|
214
|
-
}
|
|
215
|
-
onSearchBeacons(options) {
|
|
216
|
-
return this.implement("onSearchBeacons", options);
|
|
217
|
-
}
|
|
218
|
-
onVoicePlayEnd(options) {
|
|
219
|
-
return this.implement("onVoicePlayEnd", options);
|
|
220
|
-
}
|
|
221
|
-
onVoiceRecordEnd(options) {
|
|
222
|
-
return this.implement("onVoiceRecordEnd", options);
|
|
223
|
-
}
|
|
224
|
-
openCard(options) {
|
|
225
|
-
return this.implement("openCard", options);
|
|
226
|
-
}
|
|
227
|
-
openLocation(options) {
|
|
228
|
-
return this.implement("openLocation", options);
|
|
229
|
-
}
|
|
230
|
-
openProductSpecificView(options) {
|
|
231
|
-
return this.implement("openProductSpecificView", options);
|
|
232
|
-
}
|
|
233
|
-
pauseVoice(options) {
|
|
234
|
-
return this.implement("pauseVoice", options);
|
|
235
|
-
}
|
|
236
|
-
playVoice(options) {
|
|
237
|
-
return this.implement("playVoice", options);
|
|
238
|
-
}
|
|
239
|
-
previewImage(options) {
|
|
240
|
-
return this.implement("previewImage", options);
|
|
241
|
-
}
|
|
242
|
-
scanQRCode(options) {
|
|
243
|
-
return this.implement("scanQRCode", options);
|
|
244
|
-
}
|
|
245
|
-
showAllNonBaseMenuItem() {
|
|
246
|
-
return this.implement("showAllNonBaseMenuItem");
|
|
247
|
-
}
|
|
248
|
-
showMenuItems(options) {
|
|
249
|
-
return this.implement("showMenuItems", options);
|
|
250
|
-
}
|
|
251
|
-
showOptionMenu() {
|
|
252
|
-
return this.implement("showOptionMenu");
|
|
253
|
-
}
|
|
254
|
-
startRecord() {
|
|
255
|
-
return this.implement("startRecord");
|
|
256
|
-
}
|
|
257
|
-
startSearchBeacons(options) {
|
|
258
|
-
return this.implement("startSearchBeacons", options);
|
|
259
|
-
}
|
|
260
|
-
stopRecord(options) {
|
|
261
|
-
return this.implement("stopRecord", options);
|
|
262
|
-
}
|
|
263
|
-
stopSearchBeacons(options) {
|
|
264
|
-
return this.implement("stopSearchBeacons", options);
|
|
265
|
-
}
|
|
266
|
-
stopVoice(options) {
|
|
267
|
-
return this.implement("stopVoice", options);
|
|
268
|
-
}
|
|
269
|
-
translateVoice(options) {
|
|
270
|
-
return this.implement("translateVoice", options);
|
|
271
|
-
}
|
|
272
|
-
uploadImage(options) {
|
|
273
|
-
return this.implement("uploadImage", options);
|
|
274
|
-
}
|
|
275
|
-
uploadVoice(options) {
|
|
276
|
-
return this.implement("uploadVoice", options);
|
|
277
|
-
}
|
|
278
|
-
};
|
|
279
|
-
return __toCommonJS(web_util_wechat_jssdk_exports);
|
|
280
|
-
})();
|
|
281
|
-
//# sourceMappingURL=index.iife.js.map
|
package/index.iife.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../index.ts", "../internal/load_script.ts", "../helper.ts"],
|
|
4
|
-
"sourcesContent": ["import * as WxType from 'jweixin'\r\nimport { WechatJssdkHelper, WechatJssdkOptions } from './helper'\r\n\r\n/**\r\n * @description WechatJssdk Api \u5C01\u88C5\uFF0C\u4E0E [jssdk \u6587\u6863](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) \u4FDD\u6301\u4E00\u81F4\uFF0C\u4E3B\u8981\u4EE5\u4E0B\u6539\u52A8\r\n * @description \u5185\u7F6E\u8BF7\u6C42\uFF0C\u8BFB\u53D6 config \u914D\u7F6E\uFF0C\u521D\u59CB\u5316\u81EA\u52A8\u8C03\u7528 wx.config\r\n * @description \u6240\u6709 api \u7684 promise \u5316\u5904\u7406\uFF08\u4EC5\u7B49\u5F85 wx.ready\uFF09\r\n * @description \u7B80\u6613\u5316\u521D\u59CB\u5316\u6784\u5EFA\uFF0Cconfig \u5904\u7406\r\n * @description \u53EF\u6307\u5B9A\u52A0\u8F7D jssdk \u7248\u672C\uFF08\u9ED8\u8BA4 1.3.0\uFF09\r\n * @template `const wxJssdk = new WechatJssdk({env, config})`\r\n */\r\nclass WechatJssdk extends WechatJssdkHelper {\r\n constructor(options: WechatJssdkOptions) {\r\n super(options)\r\n }\r\n // --- 1.4.0 API start ---\r\n updateAppMessageShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateAppMessageShareData', options)\r\n }\r\n updateTimelineShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateTimelineShareData', options)\r\n }\r\n // --- 1.4.0 API end ---\r\n addCard() {\r\n return this.implement('addCard')\r\n }\r\n checkJsApi(options: WxType.IcheckJsApi) {\r\n return this.implement('checkJsApi', options)\r\n }\r\n chooseCard(options: WxType.IchooseCard) {\r\n return this.implement('chooseCard', options)\r\n }\r\n chooseImage(options: WxType.IchooseImage) {\r\n return this.implement('chooseImage', options)\r\n }\r\n chooseWXPay(options: WxType.IchooseWXPay) {\r\n return this.implement('chooseWXPay', options)\r\n }\r\n closeWindow() {\r\n return this.implement('closeWindow')\r\n }\r\n consumeAndShareCard(options: WxType.IconsumeAndShareCard) {\r\n return this.implement('consumeAndShareCard', options)\r\n }\r\n downloadImage(options: WxType.IdownloadImage) {\r\n return this.implement('downloadImage', options)\r\n }\r\n downloadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('downloadVoice', options)\r\n }\r\n getLocalImgData(options: WxType.IgetLocalImgData) {\r\n return this.implement('getLocalImgData', options)\r\n }\r\n getLocation(options: WxType.IgetLocation) {\r\n return this.implement('getLocation', options)\r\n }\r\n getNetworkType(options: WxType.IgetNetworkType) {\r\n return this.implement('getNetworkType', options)\r\n }\r\n hideAllNonBaseMenuItem() {\r\n return this.implement('hideAllNonBaseMenuItem')\r\n }\r\n hideMenuItems(options: WxType.IhideMenuItems) {\r\n return this.implement('hideMenuItems', options)\r\n }\r\n hideOptionMenu() {\r\n return this.implement('hideOptionMenu')\r\n }\r\n onMenuShareAppMessage(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('onMenuShareAppMessage', options)\r\n }\r\n onMenuShareQQ(options: WxType.IonMenuShareQQ) {\r\n return this.implement('onMenuShareQQ', options)\r\n }\r\n onMenuShareQZone(options: WxType.IonMenuShareQZone) {\r\n return this.implement('onMenuShareQZone', options)\r\n }\r\n onMenuShareTimeline(options: WxType.IonMenuShareTimeline) {\r\n return this.implement('onMenuShareTimeline', options)\r\n }\r\n onMenuShareWeibo(options: WxType.IonMenuShareWeibo) {\r\n return this.implement('onMenuShareWeibo', options)\r\n }\r\n onSearchBeacons(options: WxType.IonSearchBeacons) {\r\n return this.implement('onSearchBeacons', options)\r\n }\r\n onVoicePlayEnd(options: WxType.IonVoicePlayEnd) {\r\n return this.implement('onVoicePlayEnd', options)\r\n }\r\n onVoiceRecordEnd(options: WxType.IonVoiceRecordEnd) {\r\n return this.implement('onVoiceRecordEnd', options)\r\n }\r\n openCard(options: WxType.IopenCard) {\r\n return this.implement('openCard', options)\r\n }\r\n openLocation(options: WxType.IopenLocation) {\r\n return this.implement('openLocation', options)\r\n }\r\n openProductSpecificView(options: WxType.IopenProductSpecificView) {\r\n return this.implement('openProductSpecificView', options)\r\n }\r\n pauseVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('pauseVoice', options)\r\n }\r\n playVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('playVoice', options)\r\n }\r\n previewImage(options: WxType.IpreviewImage) {\r\n return this.implement('previewImage', options)\r\n }\r\n scanQRCode(options: WxType.IscanQRCode) {\r\n return this.implement('scanQRCode', options)\r\n }\r\n showAllNonBaseMenuItem() {\r\n return this.implement('showAllNonBaseMenuItem')\r\n }\r\n showMenuItems(options: WxType.IshowMenuItems) {\r\n return this.implement('showMenuItems', options)\r\n }\r\n showOptionMenu() {\r\n return this.implement('showOptionMenu')\r\n }\r\n startRecord() {\r\n return this.implement('startRecord')\r\n }\r\n startSearchBeacons(options: WxType.IstartSearchBeacons) {\r\n return this.implement('startSearchBeacons', options)\r\n }\r\n stopRecord(options: WxType.IstopRecord) {\r\n return this.implement('stopRecord', options)\r\n }\r\n stopSearchBeacons(options: WxType.IstopSearchBeacons) {\r\n return this.implement('stopSearchBeacons', options)\r\n }\r\n stopVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('stopVoice', options)\r\n }\r\n translateVoice(options: WxType.ItranslateVoice) {\r\n return this.implement('translateVoice', options)\r\n }\r\n uploadImage(options: WxType.IuploadImage) {\r\n return this.implement('uploadImage', options)\r\n }\r\n uploadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('uploadVoice', options)\r\n }\r\n}\r\n\r\nexport { WechatJssdk }\r\n", "import noop from 'lodash/noop'\r\n\r\nexport interface LoadScriptOptions {\r\n /**\r\n * @param waitForScriptLoad Promise \u662F\u5426\u5E94\u8BE5\u5728 <script> \u5C5E\u6027\u53D1\u51FA\u201Cload\u201D\u4E8B\u4EF6\u540E\u89E6\u53D1\uFF0C\u8FD8\u662F\u5728\u5C06\u5176\u9644\u52A0\u5230 DOM \u540E\u7ACB\u5373\u89E6\u53D1\u3002\r\n * @returns Promise<HTMLScriptElement>\r\n */\r\n waitForScriptLoad?: boolean\r\n async?: boolean\r\n type?: string\r\n crossOrigin?: 'anonymous' | 'use-credentials'\r\n referrerPolicy?:\r\n | 'no-referrer'\r\n | 'no-referrer-when-downgrade'\r\n | 'origin'\r\n | 'origin-when-cross-origin'\r\n | 'same-origin'\r\n | 'strict-origin'\r\n | 'strict-origin-when-cross-origin'\r\n | 'unsafe-url'\r\n noModule?: boolean\r\n defer?: boolean\r\n}\r\nexport const loadScript = (\r\n source: string,\r\n onLoaded: (element: HTMLScriptElement) => void = noop,\r\n options: LoadScriptOptions = {}\r\n): Promise<HTMLScriptElement> => {\r\n const {\r\n type = 'text/javascript',\r\n async = true,\r\n crossOrigin,\r\n referrerPolicy,\r\n noModule,\r\n defer,\r\n waitForScriptLoad = true\r\n } = options\r\n\r\n return new Promise((resolve, reject) => {\r\n // Local variable defining if the <script> tag should be appended or not.\r\n let shouldAppend = false\r\n\r\n let element = document.querySelector(`script[src=\"${source}\"]`) as HTMLScriptElement\r\n\r\n // Script tag not found, preparing the element for appending\r\n if (!element) {\r\n element = document.createElement('script')\r\n element.type = type\r\n element.async = async\r\n element.src = source\r\n\r\n // Optional attributes\r\n if (defer) element.defer = defer\r\n if (crossOrigin) element.crossOrigin = crossOrigin\r\n if (noModule) element.noModule = noModule\r\n if (referrerPolicy) element.referrerPolicy = referrerPolicy\r\n\r\n // Enables shouldAppend\r\n shouldAppend = true\r\n }\r\n // Script tag already exists, resolve the loading Promise with it.\r\n else if (Object.hasOwn(element.dataset, 'loaded')) {\r\n resolve(element)\r\n }\r\n\r\n // Event listeners\r\n element.addEventListener('error', (event) => reject(event))\r\n element.addEventListener('abort', (event) => reject(event))\r\n element.addEventListener('load', () => {\r\n element.dataset.loaded = 'true'\r\n onLoaded(element)\r\n resolve(element)\r\n })\r\n\r\n // Append the <script> tag to head.\r\n if (shouldAppend) {\r\n // eslint-disable-next-line unicorn/prefer-dom-node-append\r\n element = document.head.appendChild(element)\r\n }\r\n\r\n // If script load awaiting isn't needed, we can resolve the Promise.\r\n if (!waitForScriptLoad) {\r\n resolve(element)\r\n }\r\n })\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { loadScript } from './internal/load_script'\r\n\r\ndeclare module 'jweixin' {\r\n type v4ApiMethod = 'updateTimelineShareData' | 'updateAppMessageShareData'\r\n export function config(config_: {\r\n debug?: boolean | undefined // \u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F,\u8C03\u7528\u7684\u6240\u6709api\u7684\u8FD4\u56DE\u503C\u4F1A\u5728\u5BA2\u6237\u7AEFalert\u51FA\u6765\uFF0C\u82E5\u8981\u67E5\u770B\u4F20\u5165\u7684\u53C2\u6570\uFF0C\u53EF\u4EE5\u5728pc\u7AEF\u6253\u5F00\uFF0C\u53C2\u6570\u4FE1\u606F\u4F1A\u901A\u8FC7log\u6253\u51FA\uFF0C\u4EC5\u5728pc\u7AEF\u65F6\u624D\u4F1A\u6253\u5370\u3002\r\n appId: string // \u5FC5\u586B\uFF0C\u516C\u4F17\u53F7\u7684\u552F\u4E00\u6807\u8BC6\r\n timestamp: number // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u65F6\u95F4\u6233\r\n nonceStr: string // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u4E32\r\n signature: string // \u5FC5\u586B\uFF0C\u7B7E\u540D\uFF0C\u89C1\u9644\u5F551\r\n jsApiList: (WxType.ApiMethod | v4ApiMethod)[] // \u5FC5\u586B\uFF0C\u9700\u8981\u4F7F\u7528\u7684JS\u63A5\u53E3\u5217\u8868\uFF0C\u6240\u6709JS\u63A5\u53E3\u5217\u8868\u89C1\u9644\u5F552\r\n }): void\r\n}\r\n\r\ndeclare const wx: typeof WxType\r\n\r\nexport type WechatJssdkConfig = Omit<Parameters<typeof wx.config>[0], 'catch' | 'finally' | 'then'>\r\n\r\n/** \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\u5FAE\u4FE1 jssdk wx.config \u53C2\u6570 */\r\nexport type WechatJssdkConfigFunction = () => WechatJssdkConfig | Promise<WechatJssdkConfig>\r\nexport interface WechatJssdkOptions {\r\n /**\r\n * \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\r\n */\r\n requestConfig: () => Promise<WechatJssdkConfig> | WechatJssdkConfig\r\n /**\r\n * \u662F\u5426\u7ACB\u5373\u52A0\u8F7D config\r\n *\r\n * @default true\r\n */\r\n immediate?: boolean\r\n /**\r\n * wechat-jssdk \u7248\u672C\r\n *\r\n * @default 1.3.0\r\n */\r\n version?: '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0'\r\n}\r\n\r\n/**\r\n * jssdk \u7684\u524D\u7F6E\u5904\u7406\u7C7B\r\n * @constructor \u52A0\u8F7D\u914D\u7F6E\uFF08apiHost\uFF0CappId\uFF0Cconfig\uFF0Cversion\uFF0Cjssdk\uFF09\r\n * @function implement \u63D0\u4F9B wxApi \u6267\u884C\u5668\uFF08\u7B49\u5F85 config \u4E0E ready \u7ED3\u675F\uFF0C\u5728\u8C03\u7528 api\uFF09\r\n * @function config \u52A0\u8F7D\u914D\u7F6E\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n * @function ready wx.rady\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n */\r\nexport class WechatJssdkHelper {\r\n private version: string\r\n\r\n private isReady = false\r\n\r\n private requestConfig: WechatJssdkOptions['requestConfig']\r\n\r\n private loadPromise?: Promise<void>\r\n private configPromise?: Promise<void>\r\n private readyPromise?: Promise<void>\r\n\r\n private loadJssdk() {\r\n const scriptUrl = `https://res.wx.qq.com/open/js/jweixin-${this.version}.js`\r\n this.loadPromise = loadScript(scriptUrl).then(() => {\r\n this.loadPromise = undefined\r\n })\r\n }\r\n\r\n constructor(options: WechatJssdkOptions) {\r\n const { immediate = true, version, requestConfig } = options\r\n\r\n this.version = version || '1.3.0'\r\n this.requestConfig = requestConfig\r\n\r\n this.loadJssdk()\r\n\r\n if (immediate) this.config()\r\n }\r\n\r\n async config() {\r\n if (this.configPromise) return this.configPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n this.configPromise = (async () => {\r\n wx.config(await this.requestConfig())\r\n })()\r\n\r\n return this.configPromise\r\n }\r\n async ready() {\r\n if (this.readyPromise) return this.readyPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n if (this.isReady) return\r\n\r\n this.readyPromise = new Promise<void>((resolve, reject) => {\r\n wx.ready(() => {\r\n this.isReady = true\r\n this.readyPromise = undefined\r\n resolve()\r\n })\r\n wx.error((error) => {\r\n this.isReady = false\r\n this.readyPromise = undefined\r\n reject(error)\r\n })\r\n })\r\n\r\n return this.readyPromise\r\n }\r\n async error() {\r\n return this.ready().catch((error) => error)\r\n }\r\n\r\n protected async implement<Key extends keyof typeof wx | string>(key: Key, options?: any) {\r\n if (this.configPromise) {\r\n await this.configPromise\r\n }\r\n await this.ready()\r\n ;(wx as any)[key](options)\r\n }\r\n}\r\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/index.iife.min.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var HairyWechatJssdk=(()=>{var T=Object.create;var s=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var C=(t=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(t,{get:(e,n)=>(typeof require!="undefined"?require:e)[n]}):t)(function(t){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var V=(t,e)=>{for(var n in e)s(t,n,{get:e[n],enumerable:!0})},f=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of S(e))!P.call(t,o)&&o!==n&&s(t,o,{get:()=>e[o],enumerable:!(r=w(e,o))||r.enumerable});return t};var v=(t,e,n)=>(n=t!=null?T(M(t)):{},f(e||!t||!t.__esModule?s(n,"default",{value:t,enumerable:!0}):n,t)),A=t=>f(s({},"__esModule",{value:!0}),t);var L={};V(L,{WechatJssdk:()=>c});var I=v(C("lodash/noop")),x=(t,e=I.default,n={})=>{let{type:r="text/javascript",async:o=!0,crossOrigin:d,referrerPolicy:h,noModule:u,defer:l,waitForScriptLoad:W=!0}=n;return new Promise((p,y)=>{let g=!1,i=document.querySelector(`script[src="${t}"]`);i?Object.hasOwn(i.dataset,"loaded")&&p(i):(i=document.createElement("script"),i.type=r,i.async=o,i.src=t,l&&(i.defer=l),d&&(i.crossOrigin=d),u&&(i.noModule=u),h&&(i.referrerPolicy=h),g=!0),i.addEventListener("error",m=>y(m)),i.addEventListener("abort",m=>y(m)),i.addEventListener("load",()=>{i.dataset.loaded="true",e(i),p(i)}),g&&(i=document.head.appendChild(i)),W||p(i)})};var a=class{constructor(e){this.isReady=!1;let{immediate:n=!0,version:r,requestConfig:o}=e;this.version=r||"1.3.0",this.requestConfig=o,this.loadJssdk(),n&&this.config()}loadJssdk(){let e=`https://res.wx.qq.com/open/js/jweixin-${this.version}.js`;this.loadPromise=x(e).then(()=>{this.loadPromise=void 0})}async config(){return this.configPromise?this.configPromise:(this.loadPromise&&await this.loadPromise,this.configPromise=(async()=>{wx.config(await this.requestConfig())})(),this.configPromise)}async ready(){if(this.readyPromise)return this.readyPromise;if(this.loadPromise&&await this.loadPromise,!this.isReady)return this.readyPromise=new Promise((e,n)=>{wx.ready(()=>{this.isReady=!0,this.readyPromise=void 0,e()}),wx.error(r=>{this.isReady=!1,this.readyPromise=void 0,n(r)})}),this.readyPromise}async error(){return this.ready().catch(e=>e)}async implement(e,n){this.configPromise&&await this.configPromise,await this.ready(),wx[e](n)}};var c=class extends a{constructor(e){super(e)}updateAppMessageShareData(e){return this.implement("updateAppMessageShareData",e)}updateTimelineShareData(e){return this.implement("updateTimelineShareData",e)}addCard(){return this.implement("addCard")}checkJsApi(e){return this.implement("checkJsApi",e)}chooseCard(e){return this.implement("chooseCard",e)}chooseImage(e){return this.implement("chooseImage",e)}chooseWXPay(e){return this.implement("chooseWXPay",e)}closeWindow(){return this.implement("closeWindow")}consumeAndShareCard(e){return this.implement("consumeAndShareCard",e)}downloadImage(e){return this.implement("downloadImage",e)}downloadVoice(e){return this.implement("downloadVoice",e)}getLocalImgData(e){return this.implement("getLocalImgData",e)}getLocation(e){return this.implement("getLocation",e)}getNetworkType(e){return this.implement("getNetworkType",e)}hideAllNonBaseMenuItem(){return this.implement("hideAllNonBaseMenuItem")}hideMenuItems(e){return this.implement("hideMenuItems",e)}hideOptionMenu(){return this.implement("hideOptionMenu")}onMenuShareAppMessage(e){return this.implement("onMenuShareAppMessage",e)}onMenuShareQQ(e){return this.implement("onMenuShareQQ",e)}onMenuShareQZone(e){return this.implement("onMenuShareQZone",e)}onMenuShareTimeline(e){return this.implement("onMenuShareTimeline",e)}onMenuShareWeibo(e){return this.implement("onMenuShareWeibo",e)}onSearchBeacons(e){return this.implement("onSearchBeacons",e)}onVoicePlayEnd(e){return this.implement("onVoicePlayEnd",e)}onVoiceRecordEnd(e){return this.implement("onVoiceRecordEnd",e)}openCard(e){return this.implement("openCard",e)}openLocation(e){return this.implement("openLocation",e)}openProductSpecificView(e){return this.implement("openProductSpecificView",e)}pauseVoice(e){return this.implement("pauseVoice",e)}playVoice(e){return this.implement("playVoice",e)}previewImage(e){return this.implement("previewImage",e)}scanQRCode(e){return this.implement("scanQRCode",e)}showAllNonBaseMenuItem(){return this.implement("showAllNonBaseMenuItem")}showMenuItems(e){return this.implement("showMenuItems",e)}showOptionMenu(){return this.implement("showOptionMenu")}startRecord(){return this.implement("startRecord")}startSearchBeacons(e){return this.implement("startSearchBeacons",e)}stopRecord(e){return this.implement("stopRecord",e)}stopSearchBeacons(e){return this.implement("stopSearchBeacons",e)}stopVoice(e){return this.implement("stopVoice",e)}translateVoice(e){return this.implement("translateVoice",e)}uploadImage(e){return this.implement("uploadImage",e)}uploadVoice(e){return this.implement("uploadVoice",e)}};return A(L);})();
|
|
2
|
-
//# sourceMappingURL=index.iife.min.js.map
|
package/index.iife.min.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../index.ts", "../internal/load_script.ts", "../helper.ts"],
|
|
4
|
-
"sourcesContent": ["import * as WxType from 'jweixin'\r\nimport { WechatJssdkHelper, WechatJssdkOptions } from './helper'\r\n\r\n/**\r\n * @description WechatJssdk Api \u5C01\u88C5\uFF0C\u4E0E [jssdk \u6587\u6863](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) \u4FDD\u6301\u4E00\u81F4\uFF0C\u4E3B\u8981\u4EE5\u4E0B\u6539\u52A8\r\n * @description \u5185\u7F6E\u8BF7\u6C42\uFF0C\u8BFB\u53D6 config \u914D\u7F6E\uFF0C\u521D\u59CB\u5316\u81EA\u52A8\u8C03\u7528 wx.config\r\n * @description \u6240\u6709 api \u7684 promise \u5316\u5904\u7406\uFF08\u4EC5\u7B49\u5F85 wx.ready\uFF09\r\n * @description \u7B80\u6613\u5316\u521D\u59CB\u5316\u6784\u5EFA\uFF0Cconfig \u5904\u7406\r\n * @description \u53EF\u6307\u5B9A\u52A0\u8F7D jssdk \u7248\u672C\uFF08\u9ED8\u8BA4 1.3.0\uFF09\r\n * @template `const wxJssdk = new WechatJssdk({env, config})`\r\n */\r\nclass WechatJssdk extends WechatJssdkHelper {\r\n constructor(options: WechatJssdkOptions) {\r\n super(options)\r\n }\r\n // --- 1.4.0 API start ---\r\n updateAppMessageShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateAppMessageShareData', options)\r\n }\r\n updateTimelineShareData(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('updateTimelineShareData', options)\r\n }\r\n // --- 1.4.0 API end ---\r\n addCard() {\r\n return this.implement('addCard')\r\n }\r\n checkJsApi(options: WxType.IcheckJsApi) {\r\n return this.implement('checkJsApi', options)\r\n }\r\n chooseCard(options: WxType.IchooseCard) {\r\n return this.implement('chooseCard', options)\r\n }\r\n chooseImage(options: WxType.IchooseImage) {\r\n return this.implement('chooseImage', options)\r\n }\r\n chooseWXPay(options: WxType.IchooseWXPay) {\r\n return this.implement('chooseWXPay', options)\r\n }\r\n closeWindow() {\r\n return this.implement('closeWindow')\r\n }\r\n consumeAndShareCard(options: WxType.IconsumeAndShareCard) {\r\n return this.implement('consumeAndShareCard', options)\r\n }\r\n downloadImage(options: WxType.IdownloadImage) {\r\n return this.implement('downloadImage', options)\r\n }\r\n downloadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('downloadVoice', options)\r\n }\r\n getLocalImgData(options: WxType.IgetLocalImgData) {\r\n return this.implement('getLocalImgData', options)\r\n }\r\n getLocation(options: WxType.IgetLocation) {\r\n return this.implement('getLocation', options)\r\n }\r\n getNetworkType(options: WxType.IgetNetworkType) {\r\n return this.implement('getNetworkType', options)\r\n }\r\n hideAllNonBaseMenuItem() {\r\n return this.implement('hideAllNonBaseMenuItem')\r\n }\r\n hideMenuItems(options: WxType.IhideMenuItems) {\r\n return this.implement('hideMenuItems', options)\r\n }\r\n hideOptionMenu() {\r\n return this.implement('hideOptionMenu')\r\n }\r\n onMenuShareAppMessage(options: WxType.IonMenuShareAppMessage) {\r\n return this.implement('onMenuShareAppMessage', options)\r\n }\r\n onMenuShareQQ(options: WxType.IonMenuShareQQ) {\r\n return this.implement('onMenuShareQQ', options)\r\n }\r\n onMenuShareQZone(options: WxType.IonMenuShareQZone) {\r\n return this.implement('onMenuShareQZone', options)\r\n }\r\n onMenuShareTimeline(options: WxType.IonMenuShareTimeline) {\r\n return this.implement('onMenuShareTimeline', options)\r\n }\r\n onMenuShareWeibo(options: WxType.IonMenuShareWeibo) {\r\n return this.implement('onMenuShareWeibo', options)\r\n }\r\n onSearchBeacons(options: WxType.IonSearchBeacons) {\r\n return this.implement('onSearchBeacons', options)\r\n }\r\n onVoicePlayEnd(options: WxType.IonVoicePlayEnd) {\r\n return this.implement('onVoicePlayEnd', options)\r\n }\r\n onVoiceRecordEnd(options: WxType.IonVoiceRecordEnd) {\r\n return this.implement('onVoiceRecordEnd', options)\r\n }\r\n openCard(options: WxType.IopenCard) {\r\n return this.implement('openCard', options)\r\n }\r\n openLocation(options: WxType.IopenLocation) {\r\n return this.implement('openLocation', options)\r\n }\r\n openProductSpecificView(options: WxType.IopenProductSpecificView) {\r\n return this.implement('openProductSpecificView', options)\r\n }\r\n pauseVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('pauseVoice', options)\r\n }\r\n playVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('playVoice', options)\r\n }\r\n previewImage(options: WxType.IpreviewImage) {\r\n return this.implement('previewImage', options)\r\n }\r\n scanQRCode(options: WxType.IscanQRCode) {\r\n return this.implement('scanQRCode', options)\r\n }\r\n showAllNonBaseMenuItem() {\r\n return this.implement('showAllNonBaseMenuItem')\r\n }\r\n showMenuItems(options: WxType.IshowMenuItems) {\r\n return this.implement('showMenuItems', options)\r\n }\r\n showOptionMenu() {\r\n return this.implement('showOptionMenu')\r\n }\r\n startRecord() {\r\n return this.implement('startRecord')\r\n }\r\n startSearchBeacons(options: WxType.IstartSearchBeacons) {\r\n return this.implement('startSearchBeacons', options)\r\n }\r\n stopRecord(options: WxType.IstopRecord) {\r\n return this.implement('stopRecord', options)\r\n }\r\n stopSearchBeacons(options: WxType.IstopSearchBeacons) {\r\n return this.implement('stopSearchBeacons', options)\r\n }\r\n stopVoice(options: WxType.IplaypausestopVoice) {\r\n return this.implement('stopVoice', options)\r\n }\r\n translateVoice(options: WxType.ItranslateVoice) {\r\n return this.implement('translateVoice', options)\r\n }\r\n uploadImage(options: WxType.IuploadImage) {\r\n return this.implement('uploadImage', options)\r\n }\r\n uploadVoice(options: WxType.IupdownloadVoice) {\r\n return this.implement('uploadVoice', options)\r\n }\r\n}\r\n\r\nexport { WechatJssdk }\r\n", "import noop from 'lodash/noop'\r\n\r\nexport interface LoadScriptOptions {\r\n /**\r\n * @param waitForScriptLoad Promise \u662F\u5426\u5E94\u8BE5\u5728 <script> \u5C5E\u6027\u53D1\u51FA\u201Cload\u201D\u4E8B\u4EF6\u540E\u89E6\u53D1\uFF0C\u8FD8\u662F\u5728\u5C06\u5176\u9644\u52A0\u5230 DOM \u540E\u7ACB\u5373\u89E6\u53D1\u3002\r\n * @returns Promise<HTMLScriptElement>\r\n */\r\n waitForScriptLoad?: boolean\r\n async?: boolean\r\n type?: string\r\n crossOrigin?: 'anonymous' | 'use-credentials'\r\n referrerPolicy?:\r\n | 'no-referrer'\r\n | 'no-referrer-when-downgrade'\r\n | 'origin'\r\n | 'origin-when-cross-origin'\r\n | 'same-origin'\r\n | 'strict-origin'\r\n | 'strict-origin-when-cross-origin'\r\n | 'unsafe-url'\r\n noModule?: boolean\r\n defer?: boolean\r\n}\r\nexport const loadScript = (\r\n source: string,\r\n onLoaded: (element: HTMLScriptElement) => void = noop,\r\n options: LoadScriptOptions = {}\r\n): Promise<HTMLScriptElement> => {\r\n const {\r\n type = 'text/javascript',\r\n async = true,\r\n crossOrigin,\r\n referrerPolicy,\r\n noModule,\r\n defer,\r\n waitForScriptLoad = true\r\n } = options\r\n\r\n return new Promise((resolve, reject) => {\r\n // Local variable defining if the <script> tag should be appended or not.\r\n let shouldAppend = false\r\n\r\n let element = document.querySelector(`script[src=\"${source}\"]`) as HTMLScriptElement\r\n\r\n // Script tag not found, preparing the element for appending\r\n if (!element) {\r\n element = document.createElement('script')\r\n element.type = type\r\n element.async = async\r\n element.src = source\r\n\r\n // Optional attributes\r\n if (defer) element.defer = defer\r\n if (crossOrigin) element.crossOrigin = crossOrigin\r\n if (noModule) element.noModule = noModule\r\n if (referrerPolicy) element.referrerPolicy = referrerPolicy\r\n\r\n // Enables shouldAppend\r\n shouldAppend = true\r\n }\r\n // Script tag already exists, resolve the loading Promise with it.\r\n else if (Object.hasOwn(element.dataset, 'loaded')) {\r\n resolve(element)\r\n }\r\n\r\n // Event listeners\r\n element.addEventListener('error', (event) => reject(event))\r\n element.addEventListener('abort', (event) => reject(event))\r\n element.addEventListener('load', () => {\r\n element.dataset.loaded = 'true'\r\n onLoaded(element)\r\n resolve(element)\r\n })\r\n\r\n // Append the <script> tag to head.\r\n if (shouldAppend) {\r\n // eslint-disable-next-line unicorn/prefer-dom-node-append\r\n element = document.head.appendChild(element)\r\n }\r\n\r\n // If script load awaiting isn't needed, we can resolve the Promise.\r\n if (!waitForScriptLoad) {\r\n resolve(element)\r\n }\r\n })\r\n}\r\n", "import * as WxType from 'jweixin'\r\nimport { loadScript } from './internal/load_script'\r\n\r\ndeclare module 'jweixin' {\r\n type v4ApiMethod = 'updateTimelineShareData' | 'updateAppMessageShareData'\r\n export function config(config_: {\r\n debug?: boolean | undefined // \u5F00\u542F\u8C03\u8BD5\u6A21\u5F0F,\u8C03\u7528\u7684\u6240\u6709api\u7684\u8FD4\u56DE\u503C\u4F1A\u5728\u5BA2\u6237\u7AEFalert\u51FA\u6765\uFF0C\u82E5\u8981\u67E5\u770B\u4F20\u5165\u7684\u53C2\u6570\uFF0C\u53EF\u4EE5\u5728pc\u7AEF\u6253\u5F00\uFF0C\u53C2\u6570\u4FE1\u606F\u4F1A\u901A\u8FC7log\u6253\u51FA\uFF0C\u4EC5\u5728pc\u7AEF\u65F6\u624D\u4F1A\u6253\u5370\u3002\r\n appId: string // \u5FC5\u586B\uFF0C\u516C\u4F17\u53F7\u7684\u552F\u4E00\u6807\u8BC6\r\n timestamp: number // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u65F6\u95F4\u6233\r\n nonceStr: string // \u5FC5\u586B\uFF0C\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u4E32\r\n signature: string // \u5FC5\u586B\uFF0C\u7B7E\u540D\uFF0C\u89C1\u9644\u5F551\r\n jsApiList: (WxType.ApiMethod | v4ApiMethod)[] // \u5FC5\u586B\uFF0C\u9700\u8981\u4F7F\u7528\u7684JS\u63A5\u53E3\u5217\u8868\uFF0C\u6240\u6709JS\u63A5\u53E3\u5217\u8868\u89C1\u9644\u5F552\r\n }): void\r\n}\r\n\r\ndeclare const wx: typeof WxType\r\n\r\nexport type WechatJssdkConfig = Omit<Parameters<typeof wx.config>[0], 'catch' | 'finally' | 'then'>\r\n\r\n/** \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\u5FAE\u4FE1 jssdk wx.config \u53C2\u6570 */\r\nexport type WechatJssdkConfigFunction = () => WechatJssdkConfig | Promise<WechatJssdkConfig>\r\nexport interface WechatJssdkOptions {\r\n /**\r\n * \u521D\u59CB\u5316\u8BF7\u6C42\u914D\u7F6E\r\n */\r\n requestConfig: () => Promise<WechatJssdkConfig> | WechatJssdkConfig\r\n /**\r\n * \u662F\u5426\u7ACB\u5373\u52A0\u8F7D config\r\n *\r\n * @default true\r\n */\r\n immediate?: boolean\r\n /**\r\n * wechat-jssdk \u7248\u672C\r\n *\r\n * @default 1.3.0\r\n */\r\n version?: '1.2.0' | '1.3.0' | '1.4.0' | '1.5.0' | '1.6.0'\r\n}\r\n\r\n/**\r\n * jssdk \u7684\u524D\u7F6E\u5904\u7406\u7C7B\r\n * @constructor \u52A0\u8F7D\u914D\u7F6E\uFF08apiHost\uFF0CappId\uFF0Cconfig\uFF0Cversion\uFF0Cjssdk\uFF09\r\n * @function implement \u63D0\u4F9B wxApi \u6267\u884C\u5668\uFF08\u7B49\u5F85 config \u4E0E ready \u7ED3\u675F\uFF0C\u5728\u8C03\u7528 api\uFF09\r\n * @function config \u52A0\u8F7D\u914D\u7F6E\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n * @function ready wx.rady\uFF0C\u63D0\u4F9B promise \u5F0F\u8FD4\u56DE\r\n */\r\nexport class WechatJssdkHelper {\r\n private version: string\r\n\r\n private isReady = false\r\n\r\n private requestConfig: WechatJssdkOptions['requestConfig']\r\n\r\n private loadPromise?: Promise<void>\r\n private configPromise?: Promise<void>\r\n private readyPromise?: Promise<void>\r\n\r\n private loadJssdk() {\r\n const scriptUrl = `https://res.wx.qq.com/open/js/jweixin-${this.version}.js`\r\n this.loadPromise = loadScript(scriptUrl).then(() => {\r\n this.loadPromise = undefined\r\n })\r\n }\r\n\r\n constructor(options: WechatJssdkOptions) {\r\n const { immediate = true, version, requestConfig } = options\r\n\r\n this.version = version || '1.3.0'\r\n this.requestConfig = requestConfig\r\n\r\n this.loadJssdk()\r\n\r\n if (immediate) this.config()\r\n }\r\n\r\n async config() {\r\n if (this.configPromise) return this.configPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n this.configPromise = (async () => {\r\n wx.config(await this.requestConfig())\r\n })()\r\n\r\n return this.configPromise\r\n }\r\n async ready() {\r\n if (this.readyPromise) return this.readyPromise\r\n\r\n if (this.loadPromise) await this.loadPromise\r\n\r\n if (this.isReady) return\r\n\r\n this.readyPromise = new Promise<void>((resolve, reject) => {\r\n wx.ready(() => {\r\n this.isReady = true\r\n this.readyPromise = undefined\r\n resolve()\r\n })\r\n wx.error((error) => {\r\n this.isReady = false\r\n this.readyPromise = undefined\r\n reject(error)\r\n })\r\n })\r\n\r\n return this.readyPromise\r\n }\r\n async error() {\r\n return this.ready().catch((error) => error)\r\n }\r\n\r\n protected async implement<Key extends keyof typeof wx | string>(key: Key, options?: any) {\r\n if (this.configPromise) {\r\n await this.configPromise\r\n }\r\n await this.ready()\r\n ;(wx as any)[key](options)\r\n }\r\n}\r\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/index.md
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
category: 'Browser Utils'
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Wechat Jssdk
|
|
6
|
-
|
|
7
|
-
WechatJssdk 构造函数对 [wechat-jssdk](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) 的 api 进行了 promise 处理,并且可直接调用,不需要执行 wx.ready 等待 jssdk 授权完毕。
|
|
8
|
-
|
|
9
|
-
初始化不需要执行 wx.config,内部会根据传入的 config request,请求签名并自动调用 wx.config。
|
|
10
|
-
|
|
11
|
-
## Install
|
|
12
|
-
|
|
13
|
-
~~~sh
|
|
14
|
-
npm install @hairy/wechat-jssdk
|
|
15
|
-
~~~
|
|
16
|
-
|
|
17
|
-
## Usage
|
|
18
|
-
```ts
|
|
19
|
-
import { WechatJssdk } from '@hairy/wechat-jssdk'
|
|
20
|
-
|
|
21
|
-
export const wxJssdk = new WechatJssdk({
|
|
22
|
-
requestConfig: async () => {
|
|
23
|
-
return {
|
|
24
|
-
appId: '...',
|
|
25
|
-
jsApiList: ['onMenuShareAppMessage'],
|
|
26
|
-
nonceStr: '...',
|
|
27
|
-
signature: '...',
|
|
28
|
-
timestamp: 13_123
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
})
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## API
|
|
35
|
-
|
|
36
|
-
api 与 [wechat-jssdk](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) 保持一直,直接看 [官方文档](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html) 即可。
|