giip
SES 商机登记
4分钟阅读

项目备忘录列表指南

介绍如何按项目(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)。


🛠️ 使用步骤(概要)

  1. 在顶部输入 lssn 或用 [选择 LSVR] 选取服务器。
  2. [Fetch] 查询当前项目的备忘录。
  3. 通过 [添加备忘录] 或行内 [Edit] 编写/更新并保存。
  4. 用行内 [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 等其他备忘录界面的约定一致。
命令作用textjsondata 字段
prjMemoList查询项目备忘录列表prjMemoList csncsn
prjMemoPut添加/更新(upsert)prjMemoPut csn lssn lcKey lcVal lcMemo(更新时末尾加 lcSncsn, lssn, lcKey, lcVal, lcMemo, lcSn?
prjMemoDel删除备忘录prjMemoDel csn lcSncsn, 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"
401Unauthorized — AK 缺失/无效token/usertoken 放入正确 AK
403Forbidden — 无该 CSN 权限确认 AK 用户是该项目成员

完整结果代码定义参见 API 结果代码指南(RstVal)


💡 注意事项

  • 若 CSN 为空可能不显示结果,请先指定项目。
  • 删除在确认后立即生效且无法恢复。
  • lcVal 放入 URL 后可在列表中直接点击,可当作链接库使用。

🔧 故障排查

现象原因解决
不显示备忘录CSN 为空或错误在顶部指定正确项目并按 [Fetch]
API 返回 401AK 缺失/无效token/usertoken 发送有效 AK
API 返回 403AK 用户不是该 CSN 成员检查项目成员关系(tCorpUserRel)
更新被存为新备忘录请求缺少 lcSntext 末尾加 lcSn 并在 jsondata 包含 lcSn
删除失败结果缺少 lcSn 或会话过期重新查询列表或重新登录后重试

版本: 1.0 最后更新: 2026-07-24 源文件: giipv3/public/help/prjmemolist.zh-CN.md