feat: format scripts

This commit is contained in:
2025-01-19 09:48:56 +08:00
parent 62a56525f2
commit b3cf9ba7c5

View File

@@ -27,7 +27,7 @@ export interface SendDingTalkMessageOptions {
export interface DingTalkMessageAt { export interface DingTalkMessageAt {
atMobiles?: Array<string>; atMobiles?: Array<string>;
atUserIds?: Array<string>; atUserIds?: Array<string>;
isAtAll?: boolean, isAtAll?: boolean;
} }
export interface DingTalkTextMessage { export interface DingTalkTextMessage {
@@ -36,38 +36,53 @@ export interface DingTalkTextMessage {
} }
export interface DingTalkMarkdownMessage { export interface DingTalkMarkdownMessage {
title?: string, title?: string;
content: string; content: string;
at?: DingTalkMessageAt; at?: DingTalkMessageAt;
} }
export async function sendDingTalkTextMessage(message: DingTalkTextMessage, options: SendDingTalkMessageOptions) { export async function sendDingTalkTextMessage(
message: DingTalkTextMessage,
options: SendDingTalkMessageOptions,
) {
return await sendDingTalkMessage({ return await sendDingTalkMessage({
msgtype: "text", msgtype: "text",
text: { text: {
content: message.content, content: message.content,
} },
}, options); }, options);
} }
export async function sendDingTalkMarkdownMessage(message: DingTalkMarkdownMessage, options: SendDingTalkMessageOptions) { export async function sendDingTalkMarkdownMessage(
message: DingTalkMarkdownMessage,
options: SendDingTalkMessageOptions,
) {
return await sendDingTalkMessage({ return await sendDingTalkMessage({
msgtype: "markdown", msgtype: "markdown",
markdown: { markdown: {
title: message.title || "untitled", title: message.title || "untitled",
text: message.content, text: message.content,
} },
}, options); }, options);
} }
// deno-lint-ignore no-explicit-any export async function sendDingTalkMessage(
export async function sendDingTalkMessage(message: any, options: SendDingTalkMessageOptions) { // deno-lint-ignore no-explicit-any
message: any,
options: SendDingTalkMessageOptions,
) {
let send_url = options.base_url || BASE_DING_TALK_URL; let send_url = options.base_url || BASE_DING_TALK_URL;
send_url += "?access_token=" + encodeURIComponent(options.access_token); send_url += "?access_token=" + encodeURIComponent(options.access_token);
if (options.sec_token) { if (options.sec_token) {
const timestamp = new Date().getTime(); const timestamp = new Date().getTime();
const timestamp_and_secret = `${timestamp}\n${options.sec_token}`; const timestamp_and_secret = `${timestamp}\n${options.sec_token}`;
const sec_token_sign = hmac("sha256", options.sec_token, timestamp_and_secret, "utf8", "base64") as string; const sec_token_sign = hmac(
"sha256",
options.sec_token,
timestamp_and_secret,
"utf8",
"base64",
) as string;
send_url += "&timestamp=" + timestamp; send_url += "&timestamp=" + timestamp;
send_url += "&sign=" + encodeURIComponent(sec_token_sign); send_url += "&sign=" + encodeURIComponent(sec_token_sign);
} }
@@ -78,4 +93,3 @@ export async function sendDingTalkMessage(message: any, options: SendDingTalkMes
throw `Send DingTalk message failed: ${send_ding_talk_resp_body.errcode}`; throw `Send DingTalk message failed: ${send_ding_talk_resp_body.errcode}`;
} }
} }