diff --git a/.vscode/settings.json b/.vscode/settings.json index 7129b75..4e067ea 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,6 +2,9 @@ "cSpell.words": [ "commitlint", "tseslint", + "Xauthor", + "Xicon", + "Xname", "yingbo", "zhaoyingbo" ] diff --git a/packages/lark-msg-tool/package.json b/packages/lark-msg-tool/package.json index 9154045..1e86e08 100644 --- a/packages/lark-msg-tool/package.json +++ b/packages/lark-msg-tool/package.json @@ -22,7 +22,6 @@ }, "dependencies": { "@egg/logger": "^1.4.3", - "lodash": "*", "winston": "*" } } diff --git a/packages/lark-msg-tool/src/Body/index.ts b/packages/lark-msg-tool/src/Body/index.ts index 5ebcd94..ac1a7d4 100644 --- a/packages/lark-msg-tool/src/Body/index.ts +++ b/packages/lark-msg-tool/src/Body/index.ts @@ -1,4 +1,4 @@ -import { LarkEvent, LarkAction } from "../types" +import { LarkAction, LarkEvent } from "../types" class LarkBody { protected body: LarkEvent.Data | LarkAction.Data @@ -87,7 +87,9 @@ class LarkBody { */ private getMsgText(body: LarkEvent.Data): string { try { - const { text }: { text: string } = JSON.parse(body?.event?.message?.content) + const { text }: { text: string } = JSON.parse( + body?.event?.message?.content + ) // 去掉@_user_1相关的内容,例如 '@_user_1 测试' -> '测试' const textWithoutAt = text.replace(/@_user_\d+/g, "") return textWithoutAt @@ -164,4 +166,4 @@ class LarkBody { } } -export default LarkBody \ No newline at end of file +export default LarkBody diff --git a/packages/lark-msg-tool/src/Card/index.ts b/packages/lark-msg-tool/src/Card/index.ts index f88403e..074d75b 100644 --- a/packages/lark-msg-tool/src/Card/index.ts +++ b/packages/lark-msg-tool/src/Card/index.ts @@ -1,9 +1,13 @@ import logger from "@egg/logger" import _ from "lodash" import { Logger } from "winston" -import { baseErrorCard, basePendingCard, baseSuccessCard } from "./component"; -type FunctionMap = Record +import { baseErrorCard, basePendingCard, baseSuccessCard } from "./component" + +type FunctionMap = Record< + string, + { Xname: string; Xauthor: string; Xicon: string } +> type CardMap = Record @@ -33,7 +37,7 @@ class LarkCard { requestId: string, cardMap: CardMap, tempMap: TempMap, - functionMap: FunctionMap, + functionMap: FunctionMap ) { this.stringify = stringify this.requestId = requestId @@ -72,7 +76,14 @@ class LarkCard { * @returns 子卡片实例 */ child(func: string, stringify: boolean = true) { - return new LarkCard(func, stringify, this.requestId, this.cardMap, this.tempMap, this.functionMap) + return new LarkCard( + func, + stringify, + this.requestId, + this.cardMap, + this.tempMap, + this.functionMap + ) } /** @@ -83,19 +94,21 @@ class LarkCard { */ genCard( cardKey: keyof typeof this.cardMap, - variables: { [key: string]: any }, + variables: { [key: string]: any } ) { const card = this.cardMap[cardKey] if (!card) { this.logger.error(`Card ${cardKey} not found`) - throw new Error(`Card ${cardKey} not found`); + throw new Error(`Card ${cardKey} not found`) } const finalVariables: Record = { ...variables, requestId: this.requestId, ...this.functionMap[this.funcName], } - this.logger.debug(`Card ${cardKey} final variables: ${JSON.stringify(finalVariables)}`) + this.logger.debug( + `Card ${cardKey} final variables: ${JSON.stringify(finalVariables)}` + ) /** * 替换字符串中的变量 @@ -133,7 +146,9 @@ class LarkCard { } const content = traverseAndReplace(card) - this.logger.debug(`Card ${cardKey} final content: ${JSON.stringify(content)}`) + this.logger.debug( + `Card ${cardKey} final content: ${JSON.stringify(content)}` + ) return this.stringify ? JSON.stringify(content) : content } @@ -174,14 +189,16 @@ class LarkCard { const tempId = this.tempMap[tempKey] if (!tempId) { this.logger.error(`Temp ${tempKey} not found`) - throw new Error(`Temp ${tempKey} not found`); + throw new Error(`Temp ${tempKey} not found`) } const finalVariables: Record = { ...variables, requestId: this.requestId, ...this.functionMap[this.funcName], } - this.logger.debug(`Temp ${tempKey} final variables: ${JSON.stringify(finalVariables)}`) + this.logger.debug( + `Temp ${tempKey} final variables: ${JSON.stringify(finalVariables)}` + ) const content = { type: "template", data: { @@ -193,9 +210,11 @@ class LarkCard { template_variable: finalVariables, }, } - this.logger.debug(`Temp ${tempKey} final content: ${JSON.stringify(content)}`) + this.logger.debug( + `Temp ${tempKey} final content: ${JSON.stringify(content)}` + ) return this.stringify ? JSON.stringify(content) : content } } -export default LarkCard \ No newline at end of file +export default LarkCard diff --git a/packages/lark-msg-tool/src/index.ts b/packages/lark-msg-tool/src/index.ts index b8000eb..58fae2f 100644 --- a/packages/lark-msg-tool/src/index.ts +++ b/packages/lark-msg-tool/src/index.ts @@ -1,12 +1,7 @@ -import _ from "lodash" - -import { LarkAction, LarkEvent } from "./types" - -import * as CardComponent from "./Card/component" - -import LarkCard from "./Card" - import LarkBody from "./Body" +import LarkCard from "./Card" +import * as CardComponent from "./Card/component" +import { LarkAction, LarkEvent } from "./types" /** * 生成消息卡片的Options @@ -21,4 +16,4 @@ export const genCardOptions = (options: Record) => { })) } -export { LarkAction, LarkEvent, CardComponent, LarkCard, LarkBody } +export { CardComponent, LarkAction, LarkBody, LarkCard, LarkEvent }