@@ -105,8 +105,10 @@ paths:
105
105
remain :
106
106
type : integer
107
107
description : 剩余可用登录次数。
108
+ ' 415 ' :
109
+ description : content-type 不是 `application/json`
108
110
' 422 ' :
109
- description : 无法以 JSON 格式解析请求
111
+ description : JSON 语法错误
110
112
' 502 ' :
111
113
description : hCaptcha HTTP 请求失败
112
114
/p/logout :
@@ -139,6 +141,89 @@ paths:
139
141
$ref : ' #/components/schemas/User'
140
142
' 401 ' :
141
143
description : 用户未登录或者 session 已失效
144
+ /p/groups/{name} :
145
+ get :
146
+ tags :
147
+ - 小组
148
+ summary : 获取小组首页信息
149
+ operationId : getGroupProfileByName
150
+ parameters :
151
+ - name : name
152
+ in : path
153
+ schema :
154
+ type : string
155
+ description : 小组名,类似于 `https://bgm.tv/groups/boring` 的 `boring`
156
+ required : true
157
+ responses :
158
+ ' 200 ' :
159
+ description : 返回当前用户
160
+ content :
161
+ application/json :
162
+ schema :
163
+ $ref : ' #/components/schemas/Group'
164
+ ' 404 ' :
165
+ description : 小组不存在
166
+ /p/groups/{name}/members :
167
+ get :
168
+ tags :
169
+ - 小组
170
+ summary : 获取小组成员信息
171
+ operationId : listGroupMembersByName
172
+ parameters :
173
+ - name : name
174
+ in : path
175
+ schema :
176
+ type : string
177
+ description : 小组名,类似于 `https://bgm.tv/groups/boring` 的 `boring`
178
+ required : true
179
+ - name : type
180
+ in : query
181
+ schema :
182
+ type : string
183
+ default : all
184
+ enum :
185
+ - mod
186
+ - normal
187
+ - all
188
+ description : 成员类型,默认为 `all`
189
+ required : true
190
+ - required : false
191
+ schema :
192
+ title : Limit
193
+ maximum : 50
194
+ minimum : 1
195
+ type : integer
196
+ default : 30
197
+ name : limit
198
+ description : 分页参数
199
+ in : query
200
+ - required : false
201
+ schema :
202
+ title : Offset
203
+ minimum : 0
204
+ type : integer
205
+ default : 0
206
+ description : 分页参数
207
+ name : offset
208
+ in : query
209
+ responses :
210
+ ' 200 ' :
211
+ description : 列出用户
212
+ content :
213
+ application/json :
214
+ schema :
215
+ title : Paged[GroupMember]
216
+ allOf :
217
+ - $ref : ' #/components/schemas/Paged'
218
+ - type : object
219
+ properties :
220
+ data :
221
+ title : Data
222
+ type : array
223
+ items :
224
+ $ref : ' #/components/schemas/GroupMember'
225
+ ' 404 ' :
226
+ description : 小组不存在
142
227
components :
143
228
schemas :
144
229
User :
@@ -220,7 +305,58 @@ components:
220
305
title : Sign
221
306
description : 个人签名
222
307
type : string
308
+ Group :
309
+ additionalProperties : false
310
+ properties :
311
+ id :
312
+ description : 小组的数字 ID
313
+ example : 11
314
+ type : integer
315
+ created_at :
316
+ format : date-time
317
+ example : ' 2008-08-01T06:11:29+08:00'
318
+ type : string
319
+ description :
320
+ example : " 本小组欢迎对各种技术有一定了解的人,\r\n 比如像橘花热衷杀人技术……\r\n\r\n 不过、本组主要谈论PC软硬件方面,\r\n 想了解相关知识,结识可怕的技术宅,请进。"
321
+ format : bbcode
322
+ type : string
323
+ icon :
324
+ format : url
325
+ type : string
326
+ example : https://lain.bgm.tv/pic/icon/l/000/00/00/11.jpg
327
+ name :
328
+ example : a
329
+ description : 小组的 string ID,原本出现在小组URL中
330
+ type : string
331
+ new_members :
332
+ description : 新加入的用户,最多 10 个。
333
+ type : array
334
+ items :
335
+ $ref : ' #/components/schemas/GroupMember/items'
336
+ title :
337
+ type : string
338
+ example : ~技术宅真可怕~
339
+ total_members :
340
+ example : 9450
341
+ description : 用户数
342
+ type : integer
343
+ required :
344
+ - created_at
345
+ - name
346
+ - title
347
+ - description
348
+ - icon
349
+ - related_groups
350
+ - new_topics
351
+ - new_members
352
+ - total_members
353
+ - id
354
+ type : object
223
355
Avatar :
356
+ example :
357
+ large : https://lain.bgm.tv/pic/user/l/000/00/00/1.jpg?r=1391790456
358
+ medium : https://lain.bgm.tv/pic/user/m/000/00/00/1.jpg?r=1391790456
359
+ small : https://lain.bgm.tv/pic/user/s/000/00/00/1.jpg?r=1391790456
224
360
title : Avatar
225
361
required :
226
362
- large
@@ -265,6 +401,45 @@ components:
265
401
path :
266
402
type : string
267
403
description : request path
404
+ Paged :
405
+ type : object
406
+ properties :
407
+ total :
408
+ title : Total
409
+ type : integer
410
+ limit :
411
+ title : Limit
412
+ type : integer
413
+ offset :
414
+ title : Offset
415
+ type : integer
416
+ GroupMember :
417
+ type : array
418
+ items :
419
+ additionalProperties : false
420
+ properties :
421
+ avatar :
422
+ $ref : ' #/components/schemas/Avatar'
423
+ id :
424
+ type : integer
425
+ example : 1
426
+ nickname :
427
+ type : string
428
+ example : Sai🖖
429
+ username :
430
+ type : string
431
+ example : sai
432
+ joined_at :
433
+ type : string
434
+ format : date-time
435
+ example : ' 2022-06-25T21:07:38.466+08:00'
436
+ required :
437
+ - id
438
+ - username
439
+ - nickname
440
+ - avatar
441
+ - joined_at
442
+ type : object
268
443
securitySchemes :
269
444
CookiesSession :
270
445
name : sessionID
0 commit comments