超腾开源平台网站模块

2026-01-07 超腾开源 26 次阅读 0 次点赞
本文档介绍了网站模块API,该模块为公开访问的网站端提供了一系列无需认证或仅需基本认证的接口。主要内容包括用户管理(注册、登录)、内容获取(博客、微博、Wiki、产品文档)、互动功能(评论、留言、反馈、收藏、购物车)以及辅助服务(站点地图、邮件订阅、友情链接、统计)。文档详细说明了各接口的地址、方法、认证要求和请求响应示例,并提供了Python和JavaScript的调用示例。整体设计旨在支持前端网站直接调用,方便构建公开的网站功能。

网站模块 API

概述

网站模块提供了与内容模块类似的功能,但用于公开访问的网站端。这些接口不需要认证或只需要基本认证,适合前端网站直接调用。

目录


用户接口

网站端用户接口提供用户注册、登录、信息查询等功能。

接口地址 方法 说明 认证
/api/website/users/me GET 获取当前用户信息
/api/website/users/register POST 用户注册
/api/website/users/login POST 用户登录
/api/website/users/logout POST 用户登出
/api/website/users/update POST 更新用户信息
/api/website/users/change-password POST 修改密码

用户注册

接口地址: POST /api/website/users/register

需要认证: 否

请求体:

{
  "username": "newuser",
  "password": "password123",
  "email": "newuser@example.com",
  "nickname": "新用户",
  "captcha_key": "key",
  "captcha_value": "1234"
}

用户登录

接口地址: POST /api/website/users/login

需要认证: 否

请求体:

{
  "username": "admin",
  "password": "password123",
  "captcha_key": "key",
  "captcha_value": "1234"
}

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "登录成功",
  "data": {
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "token_type": "bearer",
    "user": {
      "id": "1",
      "username": "admin",
      "nickname": "管理员",
      "email": "admin@example.com"
    }
  }
}

博客接口

网站端博客接口提供博客的公开访问功能。

接口地址 方法 说明 认证
/api/website/blogs/detail GET 获取博客详情
/api/website/blogs/list GET 获取博客列表
/api/website/blogs/page GET 获取博客分页

获取博客详情

接口地址: GET /api/website/blogs/detail

需要认证: 否

请求参数:

参数 类型 必填 说明
id string 博客 ID

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": "1",
    "title": "我的第一篇博客",
    "abstract": "这是博客摘要",
    "content": "博客内容...",
    "author_name": "张三",
    "view_count": 100,
    "like_count": 10,
    "comment_count": 5,
    "create_time": "2026-01-01T00:00:00Z",
    "images": [
      {
        "image_url": "https://example.com/image1.jpg",
        "image_type": "content"
      }
    ]
  }
}

获取博客列表

接口地址: GET /api/website/blogs/list

需要认证: 否

请求参数:

参数 类型 必填 说明
title string 标题
keywords string 关键词
author_id string 作者 ID
order string 排序字段

微博接口

网站端微博接口提供微博的公开访问功能。

接口地址 方法 说明 认证
/api/website/microblogs/detail GET 获取微博详情
/api/website/microblogs/list GET 获取微博列表
/api/website/microblogs/page GET 获取微博分页

反馈接口

网站端反馈接口提供反馈提交功能。

接口地址 方法 说明 认证
/api/website/feedbacks/create POST 创建反馈

创建反馈

接口地址: POST /api/website/feedbacks/create

需要认证: 否

请求体:

{
  "title": "功能建议",
  "content": "建议增加XXX功能",
  "contact_info": "user@example.com"
}

留言接口

网站端留言接口提供留言的公开访问和提交功能。

接口地址 方法 说明 认证
/api/website/guestbooks/public/list GET 获取公开留言列表
/api/website/guestbooks/public/page GET 获取公开留言分页
/api/website/guestbooks/anonymous/create POST 匿名创建留言

匿名创建留言

接口地址: POST /api/website/guestbooks/anonymous/create

需要认证: 否

请求体:

{
  "user_name": "访客",
  "content": "网站做得很好!",
  "contact_info": "guest@example.com"
}

日志接口

网站端日志接口提供日志查询功能。

接口地址 方法 说明 认证
/api/website/logs/detail GET 获取日志详情
/api/website/logs/list GET 获取日志列表
/api/website/logs/page GET 获取日志分页

商品接口

网站端商品接口提供商品的公开访问功能。

接口地址 方法 说明 认证
/api/website/items/detail GET 获取商品详情
/api/website/items/list GET 获取商品列表
/api/website/items/page GET 获取商品分页

获取商品详情

接口地址: GET /api/website/items/detail

需要认证: 否

请求参数:

参数 类型 必填 说明
id string 商品 ID

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": "1",
    "name": "商品名称",
    "description": "商品描述",
    "price": 99.99,
    "discount_price": 89.99,
    "thumbnail": "https://example.com/thumb.jpg",
    "images": [
      "https://example.com/image1.jpg",
      "https://example.com/image2.jpg"
    ],
    "stock": 100,
    "category": "电子产品",
    "status": "available"
  }
}

注册接口

接口地址 方法 说明 认证
/api/website/register POST 用户注册

站点地图

接口地址 方法 说明 认证
/api/website/sitemap GET 获取站点地图

获取站点地图

接口地址: GET /api/website/sitemap

需要认证: 否

响应示例:

{
  "success": true,
  "code": 200,
  "msg": "操作成功",
  "data": [
    {
      "url": "https://example.com/blog/article-1",
      "last_modified": "2026-01-01T00:00:00Z",
      "change_frequency": "weekly",
      "priority": 0.8
    },
    {
      "url": "https://example.com/wiki/document-1",
      "last_modified": "2026-01-01T00:00:00Z",
      "change_frequency": "monthly",
      "priority": 0.6
    }
  ]
}

Wiki 接口

网站端 Wiki 接口提供 Wiki 文档的公开访问功能。

接口地址 方法 说明 认证
/api/website/xwiki/detail GET 获取 Wiki 详情
/api/website/xwiki/list GET 获取 Wiki 列表
/api/website/xwiki/page GET 获取 Wiki 分页

域名白名单

网站端域名白名单接口提供域名白名单的公开访问功能。

接口地址 方法 说明 认证
/api/website/domain-whitelists/list GET 获取域名白名单列表
/api/website/domain-whitelists/page GET 获取域名白名单分页

收藏接口

网站端收藏接口提供收藏功能。

接口地址 方法 说明 认证
/api/website/favorites/add POST 添加收藏
/api/website/favorites/remove POST 取消收藏
/api/website/favorites/check GET 检查是否已收藏

检查是否已收藏

接口地址: GET /api/website/favorites/check

需要认证: 是

请求参数:

参数 类型 必填 说明
item_id string 商品 ID

购物车接口

网站端购物车接口提供购物车功能。

接口地址 方法 说明 认证
/api/website/carts/add POST 添加到购物车
/api/website/carts/list GET 获取购物车

评论接口

网站端评论接口提供评论查询功能。

接口地址 方法 说明 认证
/api/website/comments/list GET 获取评论列表
/api/website/comments/page GET 获取评论分页

远程主机

网站端远程主机接口提供远程主机查询功能。

接口地址 方法 说明 认证
/api/website/remote_host/detail GET 获取远程主机详情
/api/website/remote_host/list GET 获取远程主机列表
/api/website/remote_host/page GET 获取远程主机分页

邮件订阅

网站端邮件订阅接口提供邮件订阅功能。

接口地址 方法 说明 认证
/api/website/email-subscriptions/create POST 创建邮件订阅

创建邮件订阅

接口地址: POST /api/website/email-subscriptions/create

需要认证: 否

请求体:

{
  "email": "user@example.com",
  "subscription_type": "all"
}

友情链接

网站端友情链接接口提供友情链接查询功能。

接口地址 方法 说明 认证
/api/website/links/list GET 获取友情链接列表
/api/website/links/page GET 获取友情链接分页

产品文档

网站端产品文档接口提供产品文档的公开访问功能。

接口地址 方法 说明 认证
/api/website/products/detail GET 获取产品详情
/api/website/products/list GET 获取产品列表
/api/website/products/page GET 获取产品分页

统计接口

网站端统计接口提供统计数据收集和查询功能。

接口地址 方法 说明 认证
/api/website/analytics/collect POST 收集访问数据
/api/website/analytics/stats GET 获取统计数据

收集访问数据

接口地址: POST /api/website/analytics/collect

需要认证: 否

请求体:

{
  "url": "/blog/article-1",
  "referrer": "https://google.com",
  "user_agent": "Mozilla/5.0...",
  "device_type": "desktop"
}

使用示例

Python 示例

import requests

base_url = 'http://localhost:8000/api/website'

# 用户登录(无需认证)
response = requests.post(
    f'{base_url}/users/login',
    json={
        'username': 'admin',
        'password': 'password123',
        'captcha_key': 'key',
        'captcha_value': '1234'
    }
)
print(response.json())

# 获取博客列表(无需认证)
response = requests.get(
    f'{base_url}/blogs/list',
    params={'order': 'create_time_desc'}
)
print(response.json())

# 获取商品详情(无需认证)
response = requests.get(
    f'{base_url}/items/detail',
    params={'id': '1'}
)
print(response.json())

# 创建反馈(无需认证)
response = requests.post(
    f'{base_url}/feedbacks/create',
    json={
        'title': '功能建议',
        'content': '建议增加XXX功能',
        'contact_info': 'user@example.com'
    }
)
print(response.json())

# 收集访问数据(无需认证)
response = requests.post(
    f'{base_url}/analytics/collect',
    json={
        'url': '/home',
        'referrer': '',
        'device_type': 'desktop'
    }
)
print(response.json())

JavaScript 示例

// 用户登录
async function loginUser(username, password, captchaKey, captchaValue) {
  const response = await fetch(
    "http://localhost:8000/api/website/users/login",
    {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        username,
        password,
        captcha_key: captchaKey,
        captcha_value: captchaValue,
      }),
    }
  );
  return await response.json();
}

// 获取博客列表
async function getBlogs(filters = {}) {
  const params = new URLSearchParams(filters);
  const response = await fetch(
    `http://localhost:8000/api/website/blogs/list?${params}`
  );
  return await response.json();
}

// 获取商品详情
async function getItemDetail(itemId) {
  const response = await fetch(
    `http://localhost:8000/api/website/items/detail?id=${itemId}`
  );
  return await response.json();
}

// 创建反馈
async function createFeedback(feedbackData) {
  const response = await fetch(
    "http://localhost:8000/api/website/feedbacks/create",
    {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify(feedbackData),
    }
  );
  return await response.json();
}

// 收集访问数据
function collectPageView(url, referrer, deviceType) {
  fetch("http://localhost:8000/api/website/analytics/collect", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      url,
      referrer,
      device_type: deviceType,
    }),
  });
}

// 使用示例
loginUser("admin", "password", "key", "1234").then(console.log);
getBlogs({ order: "create_time_desc" }).then(console.log);

注意事项

  1. 无需认证: 网站端大部分接口无需认证即可访问,但登录后可以获得更多功能。
  2. 公开访问: 只返回已发布且公开的内容,未发布的内容不会显示。
  3. 数据限制: 列表接口返回的数据量有限制,大量数据建议使用分页。
  4. 统计收集: 统计数据收集使用异步方式,不会阻塞页面加载。
  5. 验证码: 登录和注册接口需要先调用验证码接口获取验证码。
  6. 敏感信息: 网站端接口不会返回敏感信息(如密码、私钥等)。

相关文档

本文由人工编写,AI优化,转载请注明原文地址: 超腾开源平台网站模块

评论 (0)

登录后发表评论

暂无评论,快来发表第一条评论吧!