Skip to content

Commit 9a73201

Browse files
committed
add /get/status_list
1 parent 04b6eca commit 9a73201

File tree

3 files changed

+37
-5
lines changed

3 files changed

+37
-5
lines changed

README.md

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,11 @@ python3 start.py
7272
| -------------------------------------- | ------------------- |
7373
| `/` | 显示主页 |
7474
| `/query` | 获取状态 |
75+
| `/get/status_list` | 获取可用状态列表 |
7576
| `/set?secret=<secret>&status=<status>` | 设置状态 (url 参数) |
7677
| `/set/<secret>/<status>` | 设置状态 (路径) |
7778

78-
> 以下是三个接口的解释
79+
> 以下是 4 个接口的解释
7980
8081
1. `/query`:
8182

@@ -95,7 +96,33 @@ python3 start.py
9596
}
9697
```
9798

98-
2. `/set?secret=<secret>&status=<status>`
99+
2. `/get/status_list`
100+
101+
获取可用状态的列表 (无需鉴权)
102+
103+
返回 json:
104+
105+
```jsonc
106+
[
107+
{
108+
"id": 0, // 索引,取决于配置文件中的有无
109+
"name": "活着", // 状态名称
110+
"desc": "目前在线,可以通过任何可用的联系方式联系本人。", // 状态描述
111+
"color": "awake" // 状态颜色, 对应 static/style.css 中的 .sleeping .awake 等类
112+
},
113+
{
114+
"id": 1,
115+
"name": "似了",
116+
"desc": "睡似了或其他原因不在线,紧急情况请使用电话联系。",
117+
"color": "sleeping"
118+
},
119+
// 以此类推
120+
]
121+
```
122+
123+
> 就是返回 `data.json` 中的 `status_list` 字段
124+
125+
3. `/set?secret=<secret>&status=<status>`
99126

100127
设置当前状态
101128

@@ -127,7 +154,7 @@ python3 start.py
127154
}
128155
```
129156

130-
3. `/set/<secret>/<status>`
157+
4. `/set/<secret>/<status>`
131158

132159
同上 `2.`, 唯一的不同是 url 格式
133160

example.jsonc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"status_list": [ // 状态列表, 索引从 0 开始, 对应上面的 status
99
{ // status: 0
1010

11-
"id": 0, // 没有任何作用,仅为方便查看
11+
"id": 0, // 与索引相同,非必须,仅为方便查看 (建议加上)
1212
"name": "活着", // 状态名称
1313
"desc": "目前在线,可以通过任何可用的联系方式联系本人。", // 状态描述
1414
"color": "awake" // 状态颜色, 对应 static/style.css 中的 .sleeping .awake 等类, 可自行前往修改

server.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,14 @@ def query():
7676
}
7777
return u.format_dict(ret)
7878

79+
@app.route('/get/status_list')
80+
def get_status_list():
81+
showip(request, '/get/status_list')
82+
stlst = d.dget('status_list')
83+
return u.format_dict(stlst)
7984

8085
@app.route('/set', methods=['GET', 'POST'])
81-
def set():
86+
def set_normal():
8287
showip(request, '/set')
8388
if request.method == "GET":
8489
status = escape(request.args.get("status"))

0 commit comments

Comments
 (0)