node-easywechat 3.7.0 → 3.7.2
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/CHANGELOG.md +8 -0
- package/README.md +7 -3
- package/dist/Channel/Application.js +1 -1
- package/dist/Core/Cache/FileCache.js +46 -63
- package/dist/Core/Contracts/AccessTokenInterface.js +2 -15
- package/dist/Core/Contracts/CacheInterface.js +4 -21
- package/dist/Core/Contracts/RefreshableAccessTokenInterface.js +1 -12
- package/dist/Core/Contracts/ServerInterface.js +1 -12
- package/dist/Core/Http/ServerRequest.js +34 -49
- package/dist/Core/HttpClient/AccessTokenAwareClient.js +6 -17
- package/dist/Core/HttpClient/Contracts/HttpClientInterface.js +1 -12
- package/dist/Core/HttpClient/HttpClient.js +74 -85
- package/dist/Core/HttpClient/HttpClientResponse.js +35 -50
- package/dist/Core/HttpClient/Mixins/HttpClientMethodsMixin.js +34 -59
- package/dist/Core/HttpClient/Mixins/PresetMixin.js +8 -11
- package/dist/Core/Message.js +20 -31
- package/dist/Core/Mixins/DecryptMessageMixin.js +13 -24
- package/dist/Core/Mixins/HandlersMixin.js +18 -31
- package/dist/Core/Mixins/ResponseMessageMixin.js +31 -44
- package/dist/Core/Support/Utils.js +8 -19
- package/dist/MiniApp/Application.js +1 -1
- package/dist/MiniApp/Utils.js +13 -24
- package/dist/OfficialAccount/AccessToken.js +42 -59
- package/dist/OfficialAccount/Application.js +1 -1
- package/dist/OfficialAccount/JsApiTicket.js +31 -44
- package/dist/OfficialAccount/Server.d.ts +6 -0
- package/dist/OfficialAccount/Server.js +39 -42
- package/dist/OfficialAccount/Utils.js +6 -17
- package/dist/OpenPlatform/Application.js +62 -86
- package/dist/OpenPlatform/Authorizer/MiniApp/Utils.js +14 -25
- package/dist/OpenPlatform/AuthorizerAccessToken.js +6 -19
- package/dist/OpenPlatform/ComponentAccessToken.js +27 -42
- package/dist/OpenPlatform/Server.d.ts +1 -1
- package/dist/OpenPlatform/Server.js +34 -56
- package/dist/OpenPlatform/VerifyTicket.js +14 -27
- package/dist/OpenWork/Application.js +61 -84
- package/dist/OpenWork/AuthorizerAccessToken.js +32 -47
- package/dist/OpenWork/JsApiTicket.js +64 -81
- package/dist/OpenWork/ProviderAccessToken.js +26 -41
- package/dist/OpenWork/Server.js +54 -95
- package/dist/OpenWork/SuiteAccessToken.js +27 -42
- package/dist/OpenWork/SuiteTicket.js +14 -27
- package/dist/Pay/Application.js +1 -2
- package/dist/Pay/Client.js +63 -77
- package/dist/Pay/LegacySignature.js +2 -3
- package/dist/Pay/Merchant.js +36 -52
- package/dist/Pay/Server.js +55 -70
- package/dist/Pay/Utils.js +13 -26
- package/dist/Pay/Validator.js +28 -39
- package/dist/Work/AccessToken.js +26 -41
- package/dist/Work/Application.js +21 -32
- package/dist/Work/JsApiTicket.js +60 -77
- package/dist/Work/Server.js +51 -87
- package/dist/Work/Utils.js +12 -25
- package/package.json +1 -1
- package/tsconfig.json +2 -2
package/dist/Work/JsApiTicket.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -32,25 +23,23 @@ class JsApiTicket extends AccessToken_1.default {
|
|
|
32
23
|
* 获取签名凭证jsapi_ticket
|
|
33
24
|
* @returns
|
|
34
25
|
*/
|
|
35
|
-
getTicket() {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
return response['ticket'];
|
|
53
|
-
});
|
|
26
|
+
async getTicket() {
|
|
27
|
+
let key = this.getKey();
|
|
28
|
+
let ticket = '';
|
|
29
|
+
if (this.cache) {
|
|
30
|
+
ticket = await this.cache.get(key);
|
|
31
|
+
}
|
|
32
|
+
if (!!ticket && typeof ticket === 'string') {
|
|
33
|
+
return ticket;
|
|
34
|
+
}
|
|
35
|
+
let response = (await this.httpClient.request('get', '/cgi-bin/get_jsapi_ticket', {})).toObject();
|
|
36
|
+
if (!response['ticket']) {
|
|
37
|
+
throw new Error('Failed to get jssdk_ticket: ' + JSON.stringify(response));
|
|
38
|
+
}
|
|
39
|
+
if (this.cache) {
|
|
40
|
+
await this.cache.set(key, response['ticket'], parseInt(response['expires_in']));
|
|
41
|
+
}
|
|
42
|
+
return response['ticket'];
|
|
54
43
|
}
|
|
55
44
|
/**
|
|
56
45
|
* 获取签名配置
|
|
@@ -59,19 +48,17 @@ class JsApiTicket extends AccessToken_1.default {
|
|
|
59
48
|
* @param timestamp 时间长,默认:当前时间
|
|
60
49
|
* @returns
|
|
61
50
|
*/
|
|
62
|
-
createConfigSignature(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
};
|
|
74
|
-
});
|
|
51
|
+
async createConfigSignature(url, nonce = null, timestamp = null) {
|
|
52
|
+
nonce = nonce || (0, Utils_1.randomString)(10);
|
|
53
|
+
timestamp = timestamp || (0, Utils_1.getTimestamp)();
|
|
54
|
+
let ticket = await this.getTicket();
|
|
55
|
+
return {
|
|
56
|
+
url,
|
|
57
|
+
nonceStr: nonce,
|
|
58
|
+
timestamp,
|
|
59
|
+
appId: this.corpId,
|
|
60
|
+
signature: this.getTicketSignature(ticket, nonce, timestamp, url),
|
|
61
|
+
};
|
|
75
62
|
}
|
|
76
63
|
getTicketSignature(ticket, nonce, timestamp, url) {
|
|
77
64
|
return (0, Utils_1.createHash)(`jsapi_ticket=${ticket}&noncestr=${nonce}×tamp=${timestamp}&url=${url}`, 'sha1');
|
|
@@ -84,49 +71,45 @@ class JsApiTicket extends AccessToken_1.default {
|
|
|
84
71
|
* @param timestamp 时间长,默认:当前时间
|
|
85
72
|
* @returns
|
|
86
73
|
*/
|
|
87
|
-
createAgentConfigSignature(
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
};
|
|
100
|
-
});
|
|
74
|
+
async createAgentConfigSignature(agentId, url, nonce = null, timestamp = null) {
|
|
75
|
+
nonce = nonce || (0, Utils_1.randomString)(10);
|
|
76
|
+
timestamp = timestamp || (0, Utils_1.getTimestamp)();
|
|
77
|
+
let ticket = await this.getTicket();
|
|
78
|
+
return {
|
|
79
|
+
corpid: this.corpId,
|
|
80
|
+
agentid: agentId,
|
|
81
|
+
url,
|
|
82
|
+
nonceStr: nonce,
|
|
83
|
+
timestamp,
|
|
84
|
+
signature: this.getTicketSignature(ticket, nonce, timestamp, url),
|
|
85
|
+
};
|
|
101
86
|
}
|
|
102
87
|
/**
|
|
103
88
|
* 获取代理应用的签名凭证jsapi_ticket
|
|
104
89
|
* @param agentId 代理应用的id
|
|
105
90
|
* @returns
|
|
106
91
|
*/
|
|
107
|
-
getAgentTicket(agentId) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
type: 'agent_config',
|
|
120
|
-
}
|
|
121
|
-
})).toObject();
|
|
122
|
-
if (!response['ticket']) {
|
|
123
|
-
throw new Error('Failed to get jssdk agentTicket: ' + JSON.stringify(response));
|
|
124
|
-
}
|
|
125
|
-
if (this.cache) {
|
|
126
|
-
yield this.cache.set(key, response['ticket'], parseInt(response['expires_in']));
|
|
92
|
+
async getAgentTicket(agentId) {
|
|
93
|
+
let key = this.getAgentKey(agentId);
|
|
94
|
+
let ticket = '';
|
|
95
|
+
if (this.cache) {
|
|
96
|
+
ticket = await this.cache.get(key);
|
|
97
|
+
}
|
|
98
|
+
if (!!ticket && typeof ticket === 'string') {
|
|
99
|
+
return ticket;
|
|
100
|
+
}
|
|
101
|
+
let response = (await this.httpClient.request('get', '/cgi-bin/ticket/get', {
|
|
102
|
+
params: {
|
|
103
|
+
type: 'agent_config',
|
|
127
104
|
}
|
|
128
|
-
|
|
129
|
-
|
|
105
|
+
})).toObject();
|
|
106
|
+
if (!response['ticket']) {
|
|
107
|
+
throw new Error('Failed to get jssdk agentTicket: ' + JSON.stringify(response));
|
|
108
|
+
}
|
|
109
|
+
if (this.cache) {
|
|
110
|
+
await this.cache.set(key, response['ticket'], parseInt(response['expires_in']));
|
|
111
|
+
}
|
|
112
|
+
return response['ticket'];
|
|
130
113
|
}
|
|
131
114
|
/**
|
|
132
115
|
* 获取代理应用的jsapi_ticket的缓存名称
|
package/dist/Work/Server.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -24,32 +15,29 @@ class Server extends ServerInterface_1.default {
|
|
|
24
15
|
* 服务端消息处理
|
|
25
16
|
* @returns
|
|
26
17
|
*/
|
|
27
|
-
serve() {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
let
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
let message = yield this.getRequestMessage(this.request);
|
|
18
|
+
async serve() {
|
|
19
|
+
let query = this.request.getQueryParams();
|
|
20
|
+
if (!!query['echostr']) {
|
|
21
|
+
let echostr = this.encryptor.decrypt(query['echostr'], query['msg_signature'] ?? '', query['nonce'] ?? '', query['timestamp'] ?? '');
|
|
22
|
+
return new Response_1.default(200, { 'Content-Type': 'text/html' }, echostr);
|
|
23
|
+
}
|
|
24
|
+
let message = await this.getRequestMessage(this.request);
|
|
25
|
+
if (this.encryptor && query['msg_signature']) {
|
|
36
26
|
this.prepend(this.decryptRequestMessage(query));
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
27
|
+
}
|
|
28
|
+
let response = await this.handle(new Response_1.default(200, {}, 'SUCCESS'), message);
|
|
29
|
+
if (!(response instanceof Response_1.default)) {
|
|
30
|
+
response = await this.transformToReply(response, message, this.encryptor);
|
|
31
|
+
}
|
|
32
|
+
return response;
|
|
43
33
|
}
|
|
44
34
|
/**
|
|
45
35
|
* 设置联系人变化的消息处理器
|
|
46
36
|
* @param handler
|
|
47
37
|
*/
|
|
48
38
|
handleContactChanged(handler) {
|
|
49
|
-
return this.with(function (message, next) {
|
|
50
|
-
return
|
|
51
|
-
return message.Event === 'change_contact' ? handler(message, next) : next(message);
|
|
52
|
-
});
|
|
39
|
+
return this.with(async function (message, next) {
|
|
40
|
+
return message.Event === 'change_contact' ? handler(message, next) : next(message);
|
|
53
41
|
});
|
|
54
42
|
}
|
|
55
43
|
/**
|
|
@@ -57,10 +45,8 @@ class Server extends ServerInterface_1.default {
|
|
|
57
45
|
* @param handler
|
|
58
46
|
*/
|
|
59
47
|
handleUserTagUpdated(handler) {
|
|
60
|
-
return this.with(function (message, next) {
|
|
61
|
-
return
|
|
62
|
-
return message.Event === 'change_contact' && message.ChangeType === 'update_tag' ? handler(message, next) : next(message);
|
|
63
|
-
});
|
|
48
|
+
return this.with(async function (message, next) {
|
|
49
|
+
return message.Event === 'change_contact' && message.ChangeType === 'update_tag' ? handler(message, next) : next(message);
|
|
64
50
|
});
|
|
65
51
|
}
|
|
66
52
|
/**
|
|
@@ -68,10 +54,8 @@ class Server extends ServerInterface_1.default {
|
|
|
68
54
|
* @param handler
|
|
69
55
|
*/
|
|
70
56
|
handleUserCreated(handler) {
|
|
71
|
-
return this.with(function (message, next) {
|
|
72
|
-
return
|
|
73
|
-
return message.Event === 'change_contact' && message.ChangeType === 'create_user' ? handler(message, next) : next(message);
|
|
74
|
-
});
|
|
57
|
+
return this.with(async function (message, next) {
|
|
58
|
+
return message.Event === 'change_contact' && message.ChangeType === 'create_user' ? handler(message, next) : next(message);
|
|
75
59
|
});
|
|
76
60
|
}
|
|
77
61
|
/**
|
|
@@ -79,10 +63,8 @@ class Server extends ServerInterface_1.default {
|
|
|
79
63
|
* @param handler
|
|
80
64
|
*/
|
|
81
65
|
handleUserUpdated(handler) {
|
|
82
|
-
return this.with(function (message, next) {
|
|
83
|
-
return
|
|
84
|
-
return message.Event === 'change_contact' && message.ChangeType === 'update_user' ? handler(message, next) : next(message);
|
|
85
|
-
});
|
|
66
|
+
return this.with(async function (message, next) {
|
|
67
|
+
return message.Event === 'change_contact' && message.ChangeType === 'update_user' ? handler(message, next) : next(message);
|
|
86
68
|
});
|
|
87
69
|
}
|
|
88
70
|
/**
|
|
@@ -90,10 +72,8 @@ class Server extends ServerInterface_1.default {
|
|
|
90
72
|
* @param handler
|
|
91
73
|
*/
|
|
92
74
|
handleUserDeleted(handler) {
|
|
93
|
-
return this.with(function (message, next) {
|
|
94
|
-
return
|
|
95
|
-
return message.Event === 'change_contact' && message.ChangeType === 'delete_user' ? handler(message, next) : next(message);
|
|
96
|
-
});
|
|
75
|
+
return this.with(async function (message, next) {
|
|
76
|
+
return message.Event === 'change_contact' && message.ChangeType === 'delete_user' ? handler(message, next) : next(message);
|
|
97
77
|
});
|
|
98
78
|
}
|
|
99
79
|
/**
|
|
@@ -101,10 +81,8 @@ class Server extends ServerInterface_1.default {
|
|
|
101
81
|
* @param handler
|
|
102
82
|
*/
|
|
103
83
|
handlePartyCreated(handler) {
|
|
104
|
-
return this.with(function (message, next) {
|
|
105
|
-
return
|
|
106
|
-
return message.Event === 'change_contact' && message.ChangeType === 'create_party' ? handler(message, next) : next(message);
|
|
107
|
-
});
|
|
84
|
+
return this.with(async function (message, next) {
|
|
85
|
+
return message.Event === 'change_contact' && message.ChangeType === 'create_party' ? handler(message, next) : next(message);
|
|
108
86
|
});
|
|
109
87
|
}
|
|
110
88
|
/**
|
|
@@ -112,10 +90,8 @@ class Server extends ServerInterface_1.default {
|
|
|
112
90
|
* @param handler
|
|
113
91
|
*/
|
|
114
92
|
handlePartyUpdated(handler) {
|
|
115
|
-
return this.with(function (message, next) {
|
|
116
|
-
return
|
|
117
|
-
return message.Event === 'change_contact' && message.ChangeType === 'update_party' ? handler(message, next) : next(message);
|
|
118
|
-
});
|
|
93
|
+
return this.with(async function (message, next) {
|
|
94
|
+
return message.Event === 'change_contact' && message.ChangeType === 'update_party' ? handler(message, next) : next(message);
|
|
119
95
|
});
|
|
120
96
|
}
|
|
121
97
|
/**
|
|
@@ -123,10 +99,8 @@ class Server extends ServerInterface_1.default {
|
|
|
123
99
|
* @param handler
|
|
124
100
|
*/
|
|
125
101
|
handlePartyDeleted(handler) {
|
|
126
|
-
return this.with(function (message, next) {
|
|
127
|
-
return
|
|
128
|
-
return message.Event === 'change_contact' && message.ChangeType === 'delete_party' ? handler(message, next) : next(message);
|
|
129
|
-
});
|
|
102
|
+
return this.with(async function (message, next) {
|
|
103
|
+
return message.Event === 'change_contact' && message.ChangeType === 'delete_party' ? handler(message, next) : next(message);
|
|
130
104
|
});
|
|
131
105
|
}
|
|
132
106
|
/**
|
|
@@ -134,10 +108,8 @@ class Server extends ServerInterface_1.default {
|
|
|
134
108
|
* @param handler
|
|
135
109
|
*/
|
|
136
110
|
handleBatchJobsFinished(handler) {
|
|
137
|
-
return this.with(function (message, next) {
|
|
138
|
-
return
|
|
139
|
-
return message.Event === 'batch_job_result' ? handler(message, next) : next(message);
|
|
140
|
-
});
|
|
111
|
+
return this.with(async function (message, next) {
|
|
112
|
+
return message.Event === 'batch_job_result' ? handler(message, next) : next(message);
|
|
141
113
|
});
|
|
142
114
|
}
|
|
143
115
|
/**
|
|
@@ -147,10 +119,8 @@ class Server extends ServerInterface_1.default {
|
|
|
147
119
|
* @returns
|
|
148
120
|
*/
|
|
149
121
|
addMessageListener(type, handler) {
|
|
150
|
-
return this.withHandler(function (message, next) {
|
|
151
|
-
return
|
|
152
|
-
return message.MsgType === type ? handler(message, next) : next(message);
|
|
153
|
-
});
|
|
122
|
+
return this.withHandler(async function (message, next) {
|
|
123
|
+
return message.MsgType === type ? handler(message, next) : next(message);
|
|
154
124
|
});
|
|
155
125
|
}
|
|
156
126
|
/**
|
|
@@ -160,10 +130,8 @@ class Server extends ServerInterface_1.default {
|
|
|
160
130
|
* @returns
|
|
161
131
|
*/
|
|
162
132
|
addEventListener(event, handler) {
|
|
163
|
-
return this.withHandler(function (message, next) {
|
|
164
|
-
return
|
|
165
|
-
return message.Event === event ? handler(message, next) : next(message);
|
|
166
|
-
});
|
|
133
|
+
return this.withHandler(async function (message, next) {
|
|
134
|
+
return message.Event === event ? handler(message, next) : next(message);
|
|
167
135
|
});
|
|
168
136
|
}
|
|
169
137
|
/**
|
|
@@ -172,40 +140,36 @@ class Server extends ServerInterface_1.default {
|
|
|
172
140
|
* @returns
|
|
173
141
|
*/
|
|
174
142
|
getRequestMessage(request = null) {
|
|
175
|
-
return Message_1.default.createFromRequest(request
|
|
143
|
+
return Message_1.default.createFromRequest(request ?? this.request);
|
|
176
144
|
}
|
|
177
145
|
validateUrl() {
|
|
178
|
-
return (message, next) =>
|
|
179
|
-
var _a, _b, _c;
|
|
146
|
+
return async (message, next) => {
|
|
180
147
|
let query = this.request.getQueryParams();
|
|
181
148
|
if (!this.encryptor)
|
|
182
149
|
return null;
|
|
183
|
-
let echostr = this.encryptor.decrypt(query['echostr'],
|
|
150
|
+
let echostr = this.encryptor.decrypt(query['echostr'], query['msg_signature'] ?? '', query['timestamp'] ?? '', query['nonce'] ?? '');
|
|
184
151
|
return new Response_1.default(200, { 'Content-Type': 'text/html' }, echostr);
|
|
185
|
-
}
|
|
152
|
+
};
|
|
186
153
|
}
|
|
187
154
|
decryptRequestMessage(query) {
|
|
188
|
-
return (message, next) =>
|
|
189
|
-
|
|
190
|
-
if (!this.encryptor)
|
|
191
|
-
return null;
|
|
192
|
-
yield this.decryptMessage(message, this.encryptor, (_a = query['msg_signature']) !== null && _a !== void 0 ? _a : '', (_b = query['timestamp']) !== null && _b !== void 0 ? _b : '', (_c = query['nonce']) !== null && _c !== void 0 ? _c : '');
|
|
155
|
+
return async (message, next) => {
|
|
156
|
+
message = await this.decryptMessage(message, this.encryptor, query['msg_signature'] ?? '', query['timestamp'] ?? '', query['nonce'] ?? '');
|
|
193
157
|
return next(message);
|
|
194
|
-
}
|
|
158
|
+
};
|
|
195
159
|
}
|
|
196
160
|
/**
|
|
197
161
|
* 获取解密后的消息
|
|
198
162
|
* @param request 未设置该参数时,则从当前服务端收到的请求中获取
|
|
199
163
|
* @returns
|
|
200
164
|
*/
|
|
201
|
-
getDecryptedMessage() {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
165
|
+
async getDecryptedMessage(request = null) {
|
|
166
|
+
request = request ?? this.request;
|
|
167
|
+
let message = await this.getRequestMessage(request);
|
|
168
|
+
let query = request.getQueryParams();
|
|
169
|
+
if (!this.encryptor || !query['msg_signature']) {
|
|
170
|
+
return message;
|
|
171
|
+
}
|
|
172
|
+
return await this.decryptMessage(message, this.encryptor, query['msg_signature'] ?? '', query['timestamp'] ?? '', query['nonce'] ?? '');
|
|
209
173
|
}
|
|
210
174
|
}
|
|
211
175
|
;
|
package/dist/Work/Utils.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -24,14 +15,12 @@ class Utils {
|
|
|
24
15
|
* @param debug 是否开启调试模式,默认:false
|
|
25
16
|
* @returns
|
|
26
17
|
*/
|
|
27
|
-
buildJsSdkConfig(
|
|
28
|
-
return
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}, yield this.app.getTicket().createConfigSignature(url));
|
|
34
|
-
});
|
|
18
|
+
async buildJsSdkConfig(url, jsApiList = [], openTagList = [], debug = false) {
|
|
19
|
+
return (0, merge_1.default)({
|
|
20
|
+
jsApiList,
|
|
21
|
+
openTagList,
|
|
22
|
+
debug,
|
|
23
|
+
}, await this.app.getTicket().createConfigSignature(url));
|
|
35
24
|
}
|
|
36
25
|
/**
|
|
37
26
|
* 构建代理应用的jssdk配置
|
|
@@ -42,14 +31,12 @@ class Utils {
|
|
|
42
31
|
* @param debug 是否开启调试模式,默认:false
|
|
43
32
|
* @returns
|
|
44
33
|
*/
|
|
45
|
-
buildJsSdkAgentConfig(
|
|
46
|
-
return
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}, yield this.app.getTicket().createAgentConfigSignature(agentId, url));
|
|
52
|
-
});
|
|
34
|
+
async buildJsSdkAgentConfig(agentId, url, jsApiList = [], openTagList = [], debug = false) {
|
|
35
|
+
return (0, merge_1.default)({
|
|
36
|
+
jsApiList,
|
|
37
|
+
openTagList,
|
|
38
|
+
debug,
|
|
39
|
+
}, await this.app.getTicket().createAgentConfigSignature(agentId, url));
|
|
53
40
|
}
|
|
54
41
|
}
|
|
55
42
|
;
|
package/package.json
CHANGED
package/tsconfig.json
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
/* Visit https://aka.ms/tsconfig.json to read more about this file */
|
|
4
4
|
/* Basic Options */
|
|
5
5
|
// "incremental": true, /* Enable incremental compilation */
|
|
6
|
-
"target": "
|
|
7
|
-
"module": "
|
|
6
|
+
"target": "ES2020", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
|
|
7
|
+
"module": "node16", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
|
|
8
8
|
// "lib": [], /* Specify library files to be included in the compilation. */
|
|
9
9
|
"allowJs": true, /* Allow javascript files to be compiled. */
|
|
10
10
|
// "checkJs": true, /* Report errors in .js files. */
|