Files
note2any/server/src/wechat.ts
2026-04-21 17:55:41 +08:00

28 lines
714 B
TypeScript

import type { IncomingMessage } from "http";
import * as https from "https";
export interface WechatTokenResponse {
access_token?: string;
expires_in?: number;
errcode?: number;
errmsg?: string;
}
export function httpsGetJson(url: string): Promise<WechatTokenResponse> {
return new Promise((resolve, reject) => {
https.get(url, (res: IncomingMessage) => {
let data = "";
res.on("data", (chunk: Buffer) => {
data += chunk;
});
res.on("end", () => {
try {
resolve(JSON.parse(data) as WechatTokenResponse);
} catch (_error) {
reject(new Error("Invalid JSON from WeChat API"));
}
});
}).on("error", reject);
});
}