文档中心文档中心
主页
  • 简介
  • 快速上手
  • 功能说明
开发
更新
关于
GitHub
  • 简体中文
  • English
主页
  • 简介
  • 快速上手
  • 功能说明
开发
更新
关于
GitHub
  • 简体中文
  • English
  • InPageEdit 开发手册

    • InPageEdit 开发指南
    • API 文档
    • Hook 文档
    • InPageEdit 名词表
    • Plugin 开发指南
  • Analytics API 文档

    • InPageEdit Analytics 介绍
    • Analytics V5
      • 简介
      • 获取数据
        • 通用字段
        • 通过站台(wiki)查询数据
        • 通过用户(user)查询数据
        • 通过时间(date)查询数据
      • 提交数据
      • 错误返回
        • 常见错误代码
    • Analysis V4
    • Analysis V3
    • Analysis V2

Analytics V5

提示

InPageEdit Analysis 从此版本正式更名为 InPageEdit Analytics

注意

此版本相较上一版本,API 结构有破坏性变更,数据结构有变化。

V4 数据将被抛弃。

简介

API 接入点:

  • https://analytics.ipe.wiki/api
  • https://inpageedit-analytics.vercel.app/api

获取数据

/api/query/:type

通用字段

  • 过滤 prop {string}
    • 通过|分隔,以!开头表示过滤、否则表示显示
    • 例如:foo|!bar,显示foo字段、过滤bar字段
    • 当值为*时,显示所有字段
  • 排序 sort {string}
    • 通过|分隔,以!开头表示倒序、否则为正序
    • 例如:foo|!bar,首先以foo字段按顺序排列,相同的按bar字段倒序排列

通过站台(wiki)查询数据

GET /api/query/wiki

interface QueryWikiParams {
  siteUrl?: string // 不提供时查询全部 wiki
  limit?: number // 大于等于 1 且小于等于 100 的整数;预设 10
  offset?: number // 大于等于 0 的整数;预设 0
}
返回结果
interface QueryWikiResult {
  code: number
  message: string
  body: {
    query: {
      _total: number
      siteUrl: string
      siteName: string
      features: {
        featureID: string
        count: number
      }[]
      users: {
        userName: string
        count: number
      }[]
    }[]
  }
  limit: 10
  offset: 0
  hasNext: false
}

通过用户(user)查询数据

GET /api/query/user

interface QueryUserParams {
  userName: string // 可以以 | 分隔查询多个
  siteUrl: string
}
返回结果
interface QueryUserResult {
  code: number
  message: string
  body: {
    query: {
      userName: string
      siteUrl: string
      siteName: string
      _total: number
      features: {
        featureID: string
        count: number
      }[]
    }[]
  }
}

通过时间(date)查询数据

GET /api/query/date

interface QueryDateParams {
  // 可用于 Date 构造函数的字符串
  from: string
  to?: string // 预设为请求的当下
  interval?: 'year' | 'month' | 'day' | 'hour' // 预设为 day
}
返回结果
interface QueryDateResult {
  code: number
  message: string
  body: {
    query: {
      _total: number
      date: string
      users: {
        userName: string
        count: number
      }[]
      sites: {
        featureID: string
        count: number
      }[]
    }[]
  }
  fromTime: string // ISOString
  toTime: string // ISOString
}

提交数据

POST /api/submit

interface SubmitParams {}
返回结果
interface SubmitResult {
  code: number
  message: string
  body: {
    submit: {
      acknowledged: boolean
      insertedId: string
    }
  }
}

错误返回

当遇到请求未能正确完成的情况时,一定会返回非 200 状态码,并一般包含错误说明。

返回结果
interface ErrorResult {
  code: number // 一般不是 200
  message: string
  body: any
  error: any
}

常见错误代码

  • 400 Bad Request 客户端错误:请求时,提交的字段类型有误/缺少必要字段
  • 405 Method not allowed 客户端错误:请求时,使用了不允许的请求方法,例如有些接入点要求POST方法
  • 500 Internal Server Error 服务端错误:serverless 函数超时/MongoDB 操作失败/小鱼君的带宽用完了
帮助我们改善此页面
上次更新: 2022/5/12 06:40
编辑者: 机智的小鱼君, leranjun
Prev
InPageEdit Analytics 介绍
Next
Analysis V4