feat: format scripts
This commit is contained in:
@@ -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 += "×tamp=" + timestamp;
|
send_url += "×tamp=" + 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}`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user