跳到主要内容

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 小程序
建议在手机上使用