(method, url, { data = null, params = null, cookies = {}, secret = "", signed = false, clockConfig = {}, headers: extraHeaders = {} } = {})
| 236 | } |
| 237 | |
| 238 | async function wpsRequest(method, url, { data = null, params = null, cookies = {}, secret = "", signed = false, clockConfig = {}, headers: extraHeaders = {} } = {}) { |
| 239 | const csrf = "1234567890"; |
| 240 | const headers = { |
| 241 | "X-CSRFToken": csrf, |
| 242 | Cookie: `${cookieHeader(cookies)};csrf=${csrf}`, |
| 243 | "User-Agent": "Mozilla/5.0 MicroMessenger MiniProgramEnv/Windows", |
| 244 | Referer: `https://servicewechat.com/${MINI_APP_ID}/249/page-frame.html`, |
| 245 | ...extraHeaders, |
| 246 | }; |
| 247 | const pop = makePopToken(method, url, secret, cookies.cv || ""); |
| 248 | if (pop) headers["X-Pop-Token"] = pop; |
| 249 | if (signed) Object.assign(headers, makeSignature(data || {}, clockConfig)); |
| 250 | |
| 251 | const res = await axios({ |
| 252 | method, |
| 253 | url, |
| 254 | data, |
| 255 | params, |
| 256 | headers, |
| 257 | timeout: 20000, |
| 258 | validateStatus: () => true, |
| 259 | }); |
| 260 | return { data: res.data, cookies: mergeSetCookie(res.headers["set-cookie"], cookies), status: res.status }; |
| 261 | } |
| 262 | |
| 263 | function assertOk(res, action) { |
| 264 | if (!res || res.result !== "ok") { |
no test coverage detected