From 9f7368ceb60b8f5c635cf455914f435d8d782a90 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期六, 21 六月 2025 23:58:03 +0800 Subject: [PATCH] 添加钉钉推送消息功能 --- API_DOCUMENTATION.md | 204 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 204 insertions(+), 0 deletions(-) diff --git a/API_DOCUMENTATION.md b/API_DOCUMENTATION.md new file mode 100644 index 0000000..4de446d --- /dev/null +++ b/API_DOCUMENTATION.md @@ -0,0 +1,204 @@ +# 閽夐拤娑堟伅鍙戦�丄PI鏂囨。 + +## 姒傝堪 + +鏈枃妗f弿杩颁簡閲囪喘璁㈠崟绠$悊绯荤粺涓拤閽夋秷鎭彂閫佸姛鑳界殑REST API鎺ュ彛銆� + +## 鍩虹淇℃伅 + +- **鍩虹URL**: `http://localhost:9095` +- **API鐗堟湰**: v1.0 +- **鏁版嵁鏍煎紡**: JSON +- **瀛楃缂栫爜**: UTF-8 + +## 鎺ュ彛鍒楄〃 + +### 1. 鍙戦�侀拤閽夋秷鎭� + +#### 鎺ュ彛淇℃伅 + +- **鎺ュ彛鍚嶇О**: 鍙戦�侀拤閽夋秷鎭� +- **璇锋眰鏂规硶**: POST +- **鎺ュ彛璺緞**: `/api/dingtalk/sendMessage` +- **鍔熻兘鎻忚堪**: 鏍规嵁妫�楠屽崟鍙峰彂閫佷笉鍚堟牸妫�楠屽崟鐨勯拤閽夐�氱煡娑堟伅 + +#### 璇锋眰鍙傛暟 + +**璇锋眰澶�**: + +``` +Content-Type: application/json +``` + +**璇锋眰浣�**: + +```json +{ + "releaseNo": "IQC202501270001" +} +``` + +**鍙傛暟璇存槑**: +| 鍙傛暟鍚� | 绫诲瀷 | 蹇呭~ | 璇存槑 | +|--------|------|------|------| +| releaseNo | String | 鏄� | 妫�楠屽崟鍙凤紝鐢ㄤ簬鏌ヨ瀵瑰簲鐨勯拤閽夋秷鎭唴瀹� | + +#### 鍝嶅簲缁撴灉 + +**鎴愬姛鍝嶅簲** (HTTP 200): + +```json +{ + "code": 200, + "message": null, + "successful": 0, + "data": "鎺ユ敹鎴愬姛" +} +``` + +**澶辫触鍝嶅簲** (HTTP 200): + +```json +{ + "code": 500, + "message": "閿欒淇℃伅", + "successful": 1, + "data": "鎺ユ敹澶辫触" +} +``` + +**鍝嶅簲瀛楁璇存槑**: +| 瀛楁鍚� | 绫诲瀷 | 璇存槑 | +|--------|------|------| +| code | Integer | 鍝嶅簲鐘舵�佺爜锛�200琛ㄧず鎴愬姛锛�500琛ㄧず澶辫触 | +| message | String | 閿欒淇℃伅锛屾垚鍔熸椂涓簄ull | +| successful | Integer | 鎴愬姛鏍囪瘑锛�0琛ㄧず鎴愬姛锛�1琛ㄧず澶辫触 | +| data | String | 鍝嶅簲鏁版嵁锛屾垚鍔熸椂涓�"鎺ユ敹鎴愬姛"锛屽け璐ユ椂涓�"鎺ユ敹澶辫触" | + +#### 閿欒鐮佽鏄� + +| 閿欒鐮� | 璇存槑 | +|-----|------| +| 200 | 璇锋眰鎴愬姛 | +| 500 | 璇锋眰澶辫触 | + +#### 浣跨敤绀轰緥 + +**cURL绀轰緥**: + +```bash +curl -X POST http://localhost:9095/api/dingtalk/sendMessage \ + -H "Content-Type: application/json" \ + -d '{"releaseNo": "IQC202501270001"}' +``` + +**JavaScript绀轰緥**: + +```javascript +fetch('http://localhost:9095/api/dingtalk/sendMessage', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + releaseNo: 'IQC202501270001' + }) +}) +.then(response => response.json()) +.then(data => { + if (data.code === 200) { + console.log('娑堟伅鍙戦�佹垚鍔�'); + } else { + console.log('娑堟伅鍙戦�佸け璐�:', data.message); + } +}) +.catch(error => { + console.error('璇锋眰澶辫触:', error); +}); +``` + +**Java绀轰緥**: + +```java +import com.fasterxml.jackson.databind.ObjectMapper; +import okhttp3.*; + +public class DingtalkApiClient { + private static final String BASE_URL = "http://localhost:9095"; + private static final OkHttpClient client = new OkHttpClient(); + private static final ObjectMapper objectMapper = new ObjectMapper(); + + public static void sendMessage(String releaseNo) throws Exception { + // 鏋勫缓璇锋眰浣� + String requestBody = objectMapper.writeValueAsString( + Map.of("releaseNo", releaseNo) + ); + + // 鍒涘缓璇锋眰 + Request request = new Request.Builder() + .url(BASE_URL + "/api/dingtalk/sendMessage") + .post(RequestBody.create( + MediaType.parse("application/json"), + requestBody + )) + .build(); + + // 鍙戦�佽姹� + try (Response response = client.newCall(request).execute()) { + String responseBody = response.body().string(); + System.out.println("鍝嶅簲: " + responseBody); + } + } +} +``` + +#### 甯歌閿欒鍙婅В鍐虫柟妗� + +1. **妫�楠屽崟鍙蜂负绌�** + - 閿欒淇℃伅: "妫�楠屽崟鍙蜂笉鑳戒负绌�" + - 瑙e喅鏂规: 纭繚浼犲叆鐨剅eleaseNo鍙傛暟涓嶄负null涓斾笉涓虹┖瀛楃涓� + +2. **鏁版嵁涓嶅瓨鍦�** + - 閿欒淇℃伅: "閽夐拤娑堟伅鍙戦�佸け璐�" + - 瑙e喅鏂规: 纭繚妫�楠屽崟鍙峰湪`DINGTALK_MSG`琛ㄤ腑鏈夊搴旂殑璁板綍 + +3. **閽夐拤API璋冪敤澶辫触** + - 閿欒淇℃伅: "閽夐拤娑堟伅鍙戦�佸け璐�" + - 瑙e喅鏂规: 妫�鏌ラ拤閽夊簲鐢ㄩ厤缃槸鍚︽纭紝纭繚鏈夊彂閫佹潈闄� + +4. **绯荤粺寮傚父** + - 閿欒淇℃伅: 鍏蜂綋鐨勫紓甯镐俊鎭� + - 瑙e喅鏂规: 妫�鏌ョ郴缁熸棩蹇楋紝鑱旂郴鎶�鏈敮鎸� + +#### 娉ㄦ剰浜嬮」 + +1. **鏁版嵁鍑嗗**: 纭繚妫�楠屽崟鍙峰湪`DINGTALK_MSG`琛ㄤ腑鏈夊搴旂殑璁板綍 +2. **鏉冮檺閰嶇疆**: 纭繚閽夐拤搴旂敤閰嶇疆姝g‘涓旀湁鍙戦�佸伐浣滈�氱煡鐨勬潈闄� +3. **璋冪敤棰戠巼**: 寤鸿鎺ュ彛璋冪敤棰戠巼涓嶈秴杩囨瘡鍒嗛挓1娆★紝閬垮厤瑙﹀彂閽夐拤API闄愬埗 +4. **鐢ㄦ埛閰嶇疆**: 纭繚鎺ユ敹娑堟伅鐨勭敤鎴峰湪`DINGTALK_INFO`琛ㄤ腑閰嶇疆姝g‘ +5. **缃戠粶鐜**: 纭繚鏈嶅姟鍣ㄨ兘澶熸甯歌闂拤閽夊紑鏀続PI + +#### 娑堟伅鏍煎紡 + +鍙戦�佺殑閽夐拤娑堟伅鏍煎紡濡備笅锛� + +``` +渚涘簲鍟哰xxx] 鏉ユ枡鏃ユ湡[yyyy-MM-dd] 椤圭洰[xxx] 鏂欏彿[xxx]鐨勪笉鍚堟牸妫�楠屽崟琚玔xxx]瀹℃壒涓篬xxx]锛岃鏌ユ敹! +``` + +#### 鏁版嵁搴撲緷璧� + +璇ユ帴鍙d緷璧栦互涓嬫暟鎹簱琛細 + +- `DINGTALK_MSG`: 瀛樺偍閽夐拤娑堟伅鍐呭 +- `DINGTALK_INFO`: 瀛樺偍閽夐拤鐢ㄦ埛淇℃伅 + +#### 鐗堟湰鍘嗗彶 + +| 鐗堟湰 | 鏃ユ湡 | 鏇存柊鍐呭 | +|------|------------|--------------------| +| v1.0 | 2025-01-27 | 鍒濆鐗堟湰锛屾敮鎸佸熀鏈殑閽夐拤娑堟伅鍙戦�佸姛鑳� | + +## 鑱旂郴鏀寔 + +濡傛湁闂鎴栧缓璁紝璇疯仈绯绘妧鏈敮鎸佸洟闃熴�� \ No newline at end of file -- Gitblit v1.9.3