更新API文档

This commit is contained in:
MarkusJoe
2022-04-09 10:53:13 +08:00
parent 686a397614
commit ea1ef94fa1
6 files changed
+138 -37

No files matched your search

+1
View File
@@ -59,3 +59,4 @@ $ python3 app.py
# 一些信息 # 一些信息
- 使用了Python3.6 的标准库`Sqlite3`进行数据库操作 - 使用了Python3.6 的标准库`Sqlite3`进行数据库操作
- 你可以在`api`获取原始数据, 文档地址: [文档](https://markusjoe.github.io/RequestCounter/#/api)
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/env python3
# -- coding:utf-8 --
# @Author: markushammered@gmail.com
# @Development Tool: PyCharm
# @Create Time: 2022/4/9
# @File Name: __init__.py.py
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/env python3
# -- coding:utf-8 --
# @Author: markushammered@gmail.com
# @Development Tool: PyCharm
# @Create Time: 2022/4/9
# @File Name: errors.py
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/env python3
# -- coding:utf-8 --
# @Author: markushammered@gmail.com
# @Development Tool: PyCharm
# @Create Time: 2022/4/9
# @File Name: views.py
-28
View File
@@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDG8Xg9jeccwQAz
EH0uR2FiVrvK6ZExXTI3KUEqHgZEkB2OgUOd7BahVXKfwh8JSg8+XgtYUVVWgA+K
t68J0umj85ZumyQzRM1CQCsLU2BDe/mcI0rBOWmekJIgjsjPOvrTcoME6p13z2WO
19V1R7hNBgQOde3NSzYF+dvWDk6j0ZyE2oz9ZVNpukLnZYbPkPpkCz7Ahi+L09vj
qtQGip7V51sNHbsyZCBRUtYrJW0OMAcTrylMGHmZdunAA1V8qVI37jrdE+QMfTu/
QmjFo1vcsyJUce9BeLUK6QOtfaMhR97tk5vaANvA1V7mM9/N+ShLyw8S5mee1lpH
iE+0/KX7AgMBAAECggEBAKCx4acO3VS7jPayZfsgy0fMuWoA2jfeiLZHy4xCrltp
cYZvYXfJgMoWpDzpZ3pwaPm+qzlOkTkKvgMVtfygcfrtwmBbTpVfCNFv1ZUTZtl7
5ba6RyLmxiq/qllEHG5PvNVZVP1+qW1iiC0mqBRQt0z4BATOOyStkNio52rzKZBm
TafwAVc7Re1H9e4RHuedb3K7JrTblY4o5e55SQGMHmYzMkBtZHC54s4EsphT64d0
1+0NWGK60tNP+1mV686EClf3Sgvyou/vBs4YokmC9Wka4Qg8nqJerpu0+qzoIWsp
C5jMnbM6JewVerNC/wI/cmkDsBkcCOeMewwtqLzrI4kCgYEA0nLDNNFTNPO2eW3X
iWyzLkqAJsBNysT+Q0LM97/mWm3ftTtX0NzBP2StMde++pRKpaD9Faunc+nx6sPA
BgNFTizSzWdvA62pBrtxJ/FEpGa4+OyPnBgt/dzasTWBcLy3VaxCiHXGnGc/4S2T
wmmLwY3HGVW/NmN5ZANL4olqMecCgYEA8gEyMTP5fSGnBKlmsqwYaJSJpA8pdBVr
xV0kpElJTHTntEVh+zsPqlAIZMMZIYLV+y7XXU1G4RE3Tu9pm/KUe3PK3ZqRZdll
W+epEw1IbtqRcFky80FKhHL0ngai9S2aF9fvjoFsPZud4esQ1FvZ3Qbr7L18cycO
H6d2EjuB0M0CgYEAtmBkUTKStFH8sfECGANOqPBBbNO81tuvKeULMi1o2LddZnbe
HJAjHOgHvCknRYsbwbvpeE1BGhAE6ZnooI1XE29+5CkeKQbnc4EfiCjrfrnS1U5V
CkZeHSG3mFkxKt0w2JsnMZE3pLVJw8A2zAWh6wQOJiOMSPsd6RF+Qv0pPcMCgYEA
5YrA4u6bjFbpJoDPilW16SxKybQf652N1Wwdnz5sKfsQ82qEH1nL6A11iK2NHr4M
3O13FWaA/mXoAhUQJP0YXWhdWYiMtQBZJa08L3f/5jWmkdvpedXKKosm/uTomImi
iU8mSBL2ahE61diy49ojcYRpLuokKs02lkuusGiFH1kCgYBrmSx4O104/BxBbu9E
mpxSriXfpC4yDUke+IVgKQZXgEGjKJuEu/4ZdES+xRvCQmPYJqml2AC8eoD1yNgt
I1cH6i9njIYdl+m7SEIZfNXjfIXqn/bkWNIdNx80zZ6lg9tJABpZ9PBMw/K5DPE9
o9/jJ9Ty8iIjIv5v5v8VxwEi4w==
-----END PRIVATE KEY-----
+117 -7
View File
@@ -1,16 +1,22 @@
# 这里是Request Counter的文档 # 这里是Request Counter的文档
> 虽然说项目很小根本不需要文档 > 虽然说项目很小根本不需要文档
# 灵感来源 # 灵感来源
[Moe-Counter](https://github.com/journey-ad/Moe-counter) [Moe-Counter](https://github.com/journey-ad/Moe-counter)
> 看到这个项目感觉挺有意思就用Python写了一个 此项目中添加了原项目中没有的功能 `Length` `设置长度` > 看到这个项目感觉挺有意思就用Python写了一个 此项目中添加了原项目中没有的功能 `Length` `设置长度`
# 工作原理 # 工作原理
使用Flask建立服务器接收请求分析获取到的数据写入数据库 使用Flask建立服务器接收请求分析获取到的数据写入数据库
# 部署 # 部署
> 在部署之前你需要先安装`python3.10.x`以上的版本 > 在部署之前你需要先安装`python3.10.x`以上的版本
## 部署到本地服务器 ## 部署到本地服务器
```shell ```shell
$ git clone https://github.com/MarkusJoe/RequestCounter.git $ git clone https://github.com/MarkusJoe/RequestCounter.git
$ cd RequestCounter $ cd RequestCounter
@@ -18,29 +24,133 @@
$ python3 app.py $ python3 app.py
``` ```
# 基本信息 # 基本信息
- Python版本: `3.10.x` - Python版本: `3.10.x`
- 请求方法: `GET` `POST` - 请求方法: `GET` `POST`
- 请求地址: `/count/<string:name>` or `/api/v1/<string:name>` - 请求地址: `/count/<string:name>` or `/api/v1/<string:name>`
- 你需要在 请求地址末尾加入你需要使用的名称来进行计数 - 你需要在 请求地址末尾加入你需要使用的名称来进行计数
- 可选参数: `theme` `length` - 可选参数: `theme` `length`
# API
## 获取主题数据库文件 > 地址前缀: `/api/`
* 此接口没有在本项目中, 该仓库为私人仓库暂不开源
* 访问 `http://resource-base.herokuapp.com/` or `https://filebase.vercel.app/download/data.db` 获取数据库文件
* 由于速度较慢建议使用多线程进行下载
* 项目中自动下载主题数据库的文件也是来自此处
- 接口地址: `/overall/`, `/query/`, `/theme/`
- 请求方法: `GET` `POST`
## `/overall/` 接口
> 使用此接口获取数据库中所有的数据
> 必选参数: `limit: int` > 自定义查询数量, 输入的数字大于等于最大值时, 将返回最大值
### 调用示例
```shell
$ curl -X GET https://requestcounter.herokuapp.com/api/overall?limit=20
```
```json
{
"code": 200,
"msg": "Success. Total: 7 row(s)",
"data": [
{
"name": "sda",
"times": 72
},
{
"name": "main",
"times": 59
}
]
}
```
## `/query/` 接口
> 使用此接口获取数据库中指定的数据
***使用此接口查询的名称计数数值会加一***
> 必选参数: `name: str` > 查询指定名称的计数数据
> 可选参数: `nochange: Any`
> `nochange`: 'Any` > 将参数值设置为任意值则仅查询不增加
### 调用示例
```shell
$ curl -X GET https://requestcounter.herokuapp.com/api/query?name=main&nochange=1
```
```json
{
"code": 200,
"msg": "Success",
"data": [
"main",
59
]
}
```
## `/theme/` 接口
> 使用此接口获取数据库内原始的base64编码的主题图片
> 必选参数: `theme: str`
### 调用示例
```shell
$ curl -X GET https://requestcounter.herokuapp.com/api/theme?name=lewd
```
```json
{
"code": 200,
"msg": "Success",
"data": [
{
"index": "0",
"base64": "...",
"width": 45,
"height": 100
},
...
]
}
```
## `/alltables/` 接口
> 此接口可以获取数据库内所有的表名 > 返回的数据中不包含`ReqCount`
> 无参数
```shell
$ curl -X GET https://requestcounter.herokuapp.com/api/alltables
```
```json
{
"code": 200,
"msg": "Success",
"data": [
...
]
}
```
# 关于 # 关于
## 开源 ## 开源
- 本项目以Apache-2.0许可开源, 即: - 本项目以Apache-2.0许可开源, 即:
- 你可以直接使用该项目提供的功能, 无需任何授权 - 你可以直接使用该项目提供的功能, 无需任何授权
- 你可以在**注明来源版权信息**的情况下对源代码进行任意分发和修改以及衍生 - 你可以在**注明来源版权信息**的情况下对源代码进行任意分发和修改以及衍生
## 关于此页面 ## 关于此页面
此文档由 [docsify](https://github.com/docsifyjs/docsify) 生成. docsify 是一个动态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 .md 转成 .html 文件,所有转换工作都是在运行时进行。
此文档由 [docsify](https://github.com/docsifyjs/docsify) 生成. docsify 是一个动态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 .md 转成 .html
文件,所有转换工作都是在运行时进行。