專案備忘錄列表指南
說明如何依專案(CSN)與伺服器(lssn)檢視、新增、編輯與刪除自由格式備忘錄(鍵 / 值 / 備註)。此頁面需要登入。
📋 概述
專案備忘錄在單一畫面管理綁定至特定專案(CSN)與邏輯伺服器(lssn)的備忘錄。可用自由格式(鍵 / 值 / 詳細備註)保存連線資訊、檢查清單、參考 URL 等維運所需備忘。
每筆備忘錄包含以下欄位:
| 欄位 | 意義 |
|---|---|
lcSn | 備忘錄序號(主鍵)。用於編輯/刪除 |
csn | 專案代碼 |
lssn | 關聯的邏輯伺服器編號(選填) |
lcKey | 備忘錄鍵(如 ssh-port, admin-url) |
lcVal | 備忘錄值(如 2222, https://...) |
lcMemo | 自由文字備註 |
🔍 主要功能
1. 指定伺服器(lssn)· LSVR 選擇
在頂部 lssn 欄直接輸入伺服器編號,或用 [選擇 LSVR] 從目前專案的伺服器列表選取。所選伺服器編號會在新增備忘錄時一併傳遞。
2. 專案(CSN)綁定
CSN 會從 URL 的 ?csn= 參數或目前工作階段的專案自動填入。在頂部切換專案後,列表會依新專案重新查詢。
3. 查詢(Fetch)
按 [Fetch] 查詢所選專案的備忘錄。結果在桌面以表格、在行動裝置以卡片顯示。
- URL 自動連結: 若值(lcVal)以
http(s)://開頭,將顯示為在新分頁開啟的連結。 - 伺服器連結: 伺服器(lssn)欄連結至該伺服器詳情頁(
lsvrdetail)。
4. 新增 / 編輯 / 刪除
- 新增: [新增備忘錄] 攜帶目前 CSN·lssn 前往新增頁(
prjMemoPut)。也可從表內編輯彈窗直接新增。 - 編輯: 列內 [Edit] 開啟預載該備忘錄(lcKey / lcVal / lcMemo)的彈窗。儲存時會送出
lcSn以更新既有備忘錄。 - 刪除: 列內 [Delete] 彈出確認框,確認後刪除備忘錄並重新查詢列表。刪除無法復原。
5. 前往機器詳情
[機器詳情] 前往所輸入 lssn 的伺服器詳情頁(lsvrdetail)。
🛠️ 使用步驟(概要)
- 在頂部輸入 lssn 或用 [選擇 LSVR] 選取伺服器。
- 用 [Fetch] 查詢目前專案的備忘錄。
- 透過 [新增備忘錄] 或列內 [Edit] 撰寫/更新並儲存。
- 用列內 [Delete] 刪除多餘備忘錄(確認後立即生效)。
🔌 API 使用指南
此畫面透過 GIIP 公用 API 端點(/api/giipApi)呼叫三個命令運作。瀏覽器會自動送出登入工作階段權杖;從外部直接呼叫時使用 AK(存取權杖)。
以下範例與在真實生產環境(CSN 47)以查詢→新增→刪除往返驗證過的呼叫相同。
通用規格
- 端點:
POST https://giipfaw.azurewebsites.net/api/giipApi - Content-Type:
application/x-www-form-urlencoded - 認證: 在表單欄位
token/usertoken放入 AK(登入使用者存取權杖)。 - 呼叫形式:
text欄位放命令 參數名…(是參數名而非值),jsondata欄位以 JSON 放實際值。- 這與 corpMemo 等其他備忘錄畫面的約定一致。
| 命令 | 作用 | text | jsondata 欄位 |
|---|---|---|---|
prjMemoList | 查詢專案備忘錄列表 | prjMemoList csn | csn |
prjMemoPut | 新增/更新(upsert) | prjMemoPut csn lssn lcKey lcVal lcMemo(更新時末尾加 lcSn) | csn, lssn, lcKey, lcVal, lcMemo, lcSn? |
prjMemoDel | 刪除備忘錄 | prjMemoDel csn lcSn | csn, lcSn |
權限: AK 使用者必須是該
csn的成員(tCorpUserRel),否則回傳403 Forbidden。AK 無效回傳401 Unauthorized。
1) 列表查詢 — prjMemoList
curl -X POST "https://giipfaw.azurewebsites.net/api/giipApi" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "token=YOUR_AK" \
--data-urlencode "usertoken=YOUR_AK" \
--data-urlencode "text=prjMemoList csn" \
--data-urlencode 'jsondata={"csn":47}'
回應(範例) — 每列包含備忘錄欄位與 tags(標籤 JSON 陣列,無則為 null)。
[
{ "lcSn": 12, "csn": 47, "lssn": 71198, "lcKey": "ssh-port", "lcVal": "2222", "lcMemo": "檢修連接埠", "tags": null }
]
若無備忘錄,回傳空回應。
2) 新增 / 更新 — prjMemoPut
省略 lcSn 為新增,帶上 lcSn 為更新(upsert)。更新時在 text 末尾追加 lcSn。
# 新增(insert)
curl -X POST "https://giipfaw.azurewebsites.net/api/giipApi" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "token=YOUR_AK" \
--data-urlencode "usertoken=YOUR_AK" \
--data-urlencode "text=prjMemoPut csn lssn lcKey lcVal lcMemo" \
--data-urlencode 'jsondata={"csn":47,"lssn":71198,"lcKey":"admin-url","lcVal":"https://portal.example.com","lcMemo":"管理主控台"}'
# 更新(update) — 包含 lcSn
$body = @{
token = "YOUR_AK"
usertoken = "YOUR_AK"
text = "prjMemoPut csn lssn lcKey lcVal lcMemo lcSn"
jsondata = '{"csn":47,"lssn":71198,"lcKey":"admin-url","lcVal":"https://portal2.example.com","lcMemo":"URL 變更","lcSn":12}'
}
Invoke-RestMethod -Method Post -Uri "https://giipfaw.azurewebsites.net/api/giipApi" `
-ContentType "application/x-www-form-urlencoded" -Body $body
回應(範例) — 回傳儲存後的更新列表以及新建/更新的 lcSn。
[ [ { "lcSn": 12, "csn": 47, "lcKey": "admin-url", "lcVal": "https://portal.example.com", "tags": null } ], [ { "lcSn": 12 } ] ]
3) 刪除 — prjMemoDel
curl -X POST "https://giipfaw.azurewebsites.net/api/giipApi" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "token=YOUR_AK" \
--data-urlencode "usertoken=YOUR_AK" \
--data-urlencode "text=prjMemoDel csn lcSn" \
--data-urlencode 'jsondata={"csn":47,"lcSn":12}'
回應(範例)
{ "status": "Success", "lcSn": 12 }
結果代碼(RstVal)
| RstVal | 意義 | 處理 |
|---|---|---|
| (成功) | 成功。回傳資料列或 status:"Success" | — |
| 401 | Unauthorized — AK 缺少/無效 | 在 token/usertoken 放入正確 AK |
| 403 | Forbidden — 無該 CSN 權限 | 確認 AK 使用者是該專案成員 |
完整結果代碼定義請參見 API 結果代碼指南(RstVal)。
💡 注意事項
- 若 CSN 為空可能不顯示結果,請先指定專案。
- 刪除在確認後立即生效且無法復原。
- 在
lcVal放入 URL 後可在列表中直接點擊,可當作連結庫使用。
🔧 疑難排解
| 現象 | 原因 | 解決 |
|---|---|---|
| 不顯示備忘錄 | CSN 為空或錯誤 | 在頂部指定正確專案並按 [Fetch] |
| API 回傳 401 | AK 缺少/無效 | 在 token/usertoken 送出有效 AK |
| API 回傳 403 | AK 使用者非該 CSN 成員 | 檢查專案成員關係(tCorpUserRel) |
| 更新被存為新備忘錄 | 請求缺少 lcSn | 在 text 末尾加 lcSn 並在 jsondata 包含 lcSn |
| 刪除失敗 | 結果缺少 lcSn 或工作階段過期 | 重新查詢列表或重新登入後重試 |
版本: 1.0
最後更新: 2026-07-24
來源檔案: giipv3/public/help/prjmemolist.zh-TW.md