跳到主要内容

Meea Icey 内容管理系统

Meea Icey 是一个安全的内容管理系统,提供内容提交、查询、删除和投票功能。系统使用验证码验证机制和Git仓库进行内容存储。

功能特性​

🔐 安全验证​

  • 所有接口都需要验证码验证
  • 删除接口额外需要token验证
  • 验证码存储在Redis中,有效期24小时

📝 内容管理​

  • 内容提交: 提交内容到系统,获得删除令牌
  • 内容查询: 使用SHA256哈希查询已提交的内容
  • 内容删除: 使用删除令牌删除已提交的内容
  • 内容投票: 对内容进行可信性投票

🗂️ 文件存储​

系统使用分层目录结构存储文件:

icey-storage/
├── {subject前2位}/
│ ├── {subject第3-4位}/
│ │ ├── {subject第5-6位}/
│ │ │ ├── {完整subject}/
│ │ │ │ ├── {timestamp}-{id}.sj # 提交内容
│ │ │ │ ├── {timestamp}-{id}.bm # 位图数据
│ │ │ │ ├── {timestamp}-{id}.bmi # 位图索引
│ │ │ │ └── {timestamp}-{id}.dt # 删除token

API 接口​

提交内容​

接口地址: POST /commit

请求参数:

{
"subject": "测试主题123456",
"content": "这是要提交的内容",
"code": "123456"
}

响应示例:

{
"success": true,
"msg": "",
"data": {
"token": "abc123def456-789012345678901234"
}
}

查询内容​

接口地址: POST /query

请求参数:

{
"subject": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
"code": "123456"
}

响应示例:

{
"success": true,
"msg": "",
"data": [
{
"content": "这是第一个文件的内容",
"id": "789012345678901234",
"ts": "1703123456789",
"conf": {
"total": 512,
"used": 128,
"available": 384
}
}
]
}

删除内容​

接口地址: POST /delete

请求参数:

{
"subject": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
"code": "123456",
"token": "abc123def456-789012345678901234"
}

响应示例:

{
"success": true,
"msg": "",
"data": null
}

投票​

接口地址: POST /vote

请求参数:

{
"subject": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
"id": "789012345678901234",
"vote": 1,
"code": "123456"
}

响应示例:

{
"success": true,
"msg": "",
"data": {
"percent": 80
}
}

使用说明​

1. 提交内容​

  1. 输入主题(至少6个字符)
  2. 输入要提交的内容
  3. 输入6位数字验证码
  4. 提交后保存删除令牌

2. 查询内容​

  1. 输入64位十六进制主题哈希
  2. 输入6位数字验证码
  3. 查看内容列表和可信度评分

3. 删除内容​

  1. 输入64位十六进制主题哈希
  2. 输入6位数字验证码
  3. 输入删除令牌
  4. 确认删除操作

4. 内容投票​

  1. 输入64位十六进制主题哈希
  2. 输入记录ID
  3. 选择投票类型(可信/不可信)
  4. 输入6位数字验证码

技术架构​

后端技术栈​

  • 存储: Git仓库 + Redis缓存
  • 验证: 验证码机制 + Token验证
  • 安全: SHA256哈希 + 位图投票系统

前端技术栈​

  • 框架: React + TypeScript
  • UI库: Material-UI
  • 状态管理: React Hooks

安全机制​

验证码机制​

  • 验证码存储在Redis中,有效期24小时
  • 每个验证码最多可使用15次
  • Redis键格式:icey:subject:{sha256后的subject}:{code}

认证机制​

  • 所有接口都需要验证码验证
  • 删除接口额外需要token验证
  • Git操作使用SSH密钥认证

在线工具​

访问 Meea Icey 内容管理系统 开始使用。

相关链接​

手机微信扫码,体验 PISM 小程序

小程序体验

手机微信扫码,体验 PISM 小程序