Files
SNAPI/PostTag.py
2025-09-15 11:27:08 +00:00

43 lines
2.0 KiB
Python

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)