選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

68 行
1.6KB

  1. from fastapi import APIRouter,Request,HTTPException
  2. from pydantic import BaseModel
  3. from fastapi import APIRouter, Depends
  4. from pydantic import BaseModel, ValidationError
  5. from model.models import AgentConfig,validate_wxid,auth_required_time
  6. import threading
  7. import asyncio
  8. import time,random
  9. from typing import Dict, Tuple, Any
  10. label_router = APIRouter(prefix="/api/label")
  11. class LabelAddRequest(BaseModel):
  12. wxid: str
  13. labelName: str
  14. class LabelDelRequest(BaseModel):
  15. wxid: str
  16. labelIds: list
  17. class LabelListRequest(BaseModel):
  18. wxid: str
  19. class LabelModifyRequest(BaseModel):
  20. wxid: str
  21. labelIds: list
  22. wxIds: list
  23. @label_router.post("/add", response_model=None)
  24. async def add_label(request: Request, body: LabelAddRequest):
  25. wxid = body.wxid
  26. label_name = body.labelName
  27. return { "labelName":label_name,"labelId":random.randint(1,100)}
  28. @label_router.post("/delete", response_model=None)
  29. async def delete_label(request: Request, body: LabelDelRequest, ):
  30. wxid = body.wxid
  31. label_ids= body.labelIds
  32. return {"message":"操作成功"}
  33. @label_router.post("/list", response_model=None)
  34. async def list_label(request: Request, body: LabelListRequest, ):
  35. wxid = body.wxid
  36. return {
  37. "labelList":[{
  38. "labelName": "朋友",
  39. "labelId": 1
  40. },{
  41. "labelName": "邻居",
  42. "labelId": 2
  43. }]
  44. }
  45. @label_router.post("/modifymembers", response_model=None)
  46. async def modifymembers_label(request: Request, body: LabelModifyRequest, ):
  47. wxid = body.wxid
  48. label_ids= body.labelIds
  49. wxids= body.wxIds
  50. return {"message":"操作成功"}