from ProjectCfg import DOMAIN from .CallServer import _make_request from typing import Optional ###==========================帖子标签管理============================ def GetPostTags(Authorization: str, query: Optional[str] = None, offset: int = 0, take: int = 20, order: Optional[str] = None) -> dict: """获取帖子标签""" url = f"{DOMAIN}/posts/tags" headers = {'accept': 'application/json', 'Authorization': Authorization} params = {"query": query, "offset": offset, "take": take, "order": order} return _make_request('GET', url, headers, params=params) def PostTag(Authorization: str, slug: Optional[str] = None, name: Optional[str] = None) -> dict: """创建帖子标签""" body = {"slug": slug, "name": name} url = f"{DOMAIN}/posts/tags" headers = {'accept': 'application/json', 'Authorization': Authorization} return _make_request('POST', url, headers, request_body=body, normal_codes=[201]) def GetTagBySlug(Authorization: str, slug: str) -> dict: """获取标签详情""" url = f"{DOMAIN}/posts/tags/{slug}" headers = {'accept': 'application/json', 'Authorization': Authorization} return _make_request('GET', url, headers) def PostSubscribeTag(Authorization: str, slug: str) -> dict: """订阅标签""" url = f"{DOMAIN}/posts/tags/{slug}/subscribe" headers = {'accept': 'application/json', 'Authorization': Authorization} return _make_request('POST', url, headers, normal_codes=[201]) def PostUnsubscribeTag(Authorization: str, slug: str) -> dict: """取消订阅标签""" url = f"{DOMAIN}/posts/tags/{slug}/unsubscribe" headers = {'accept': 'application/json', 'Authorization': Authorization} return _make_request('POST', url, headers, normal_codes=[201]) def GetTagSubscription(Authorization: str, slug: str) -> dict: """获取标签订阅状态""" url = f"{DOMAIN}/posts/tags/{slug}/subscription" headers = {'accept': 'application/json', 'Authorization': Authorization} return _make_request('GET', url, headers)