This commit is contained in:
2025-09-13 15:23:59 +08:00
18 changed files with 1159 additions and 10 deletions

View File

@@ -11,8 +11,7 @@ import core.PyWebPageAPI as PyWebPageAPI
import core.WebViewWIndow as WebViewWIndow
import core.DBServices as DBServices
import ProjectCfg
import core.CallServerAPIs as CallServerAPIs
def exit_handler(signum, frame):
"""处理退出信号"""

View File

@@ -10,12 +10,12 @@ class AuthClient:
self.stage = 'find-account'
self.error = None
self.account_identifier = ''
self.device_id = ''
self.challenge = None
self.factors = []
self.selected_factor_id = None
self.password = ''
self.user_store = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' # 您可以自定义此User-Agent字符串
self.user_store = f"SolianForPythonApp/0.000.001({platform.system()})" # 您可以自定义此User-Agent字符串
self.device_id = self.user_store
def generate_device_id(self):
"""生成设备指纹
@@ -41,7 +41,7 @@ class AuthClient:
try:
response = requests.post(
f"{self.base_url}/auth/challenge",
headers={'Content-Type': 'application/json', 'User-Agent': self.user_store,'device_name': "A Python login app.By NRFF & Deepseek"}, # 添加自定义User-Agent
headers={'Content-Type': 'application/json', 'User-Agent': self.user_store,"device_id":self.device_id}, # 添加自定义User-Agent
data=json.dumps({
'platform': 1,
'account': self.account_identifier,
@@ -68,7 +68,7 @@ class AuthClient:
try:
response = requests.get(
f"{self.base_url}/auth/challenge/{self.challenge['id']}/factors",
headers={'User-Agent': self.user_store,'device_name': "A Python login app.By NRFF & Deepseek"} # 添加自定义User-Agent
headers={'User-Agent': self.user_store,"device_id":self.device_id} # 添加自定义User-Agent
)
if not response.ok:
raise Exception('Could not fetch authentication factors.')
@@ -102,7 +102,7 @@ class AuthClient:
try:
response = requests.post(
f"{self.base_url}/auth/challenge/{self.challenge['id']}/factors/{self.selected_factor_id}",
headers={'Content-Type': 'application/json', 'User-Agent': self.user_store, 'device_name': "A Python login app.By NRFF & Deepseek"}, # 添加自定义User-Agent
headers={'Content-Type': 'application/json', 'User-Agent': self.user_store,"device_id":self.device_id}, # 添加自定义User-Agent
data=json.dumps(hint)
)
if not response.ok:
@@ -136,7 +136,7 @@ class AuthClient:
try:
response = requests.patch(
f"{self.base_url}/auth/challenge/{self.challenge['id']}",
headers={'Content-Type': 'application/json', 'User-Agent': self.user_store,'device_name': "A Python login app.By NRFF & Deepseek"}, # 添加自定义User-Agent
headers={'Content-Type': 'application/json', 'User-Agent': self.user_store,"device_id":self.device_id}, # 添加自定义User-Agent
data=json.dumps({
'factor_id': self.selected_factor_id,
'password': self.password,
@@ -165,7 +165,7 @@ class AuthClient:
try:
response = requests.post(
f"{self.base_url}/auth/token",
headers={'Content-Type': 'application/json', 'User-Agent': self.user_store,'device_name': "A Python login app.By NRFF & Deepseek"}, # 添加自定义User-Agent
headers={'Content-Type': 'application/json', 'User-Agent': self.user_store,"device_id":self.device_id}, # 添加自定义User-Agent
data=json.dumps({
'grant_type': 'authorization_code',
'code': self.challenge['id'],
@@ -201,7 +201,7 @@ class AuthClient:
# 示例调用
if __name__ == "__main__":
auth_client = AuthClient(base_url='https://api.solian.app/id')
account_identifier = ''#你的账号
account_identifier = 'nanci'#你的账号
selected_factor_id = "enter-code" # 用户需要选择一个因素
password = ''#你的密码
# 第一步:检查账户有效性

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
import requests
import json
from requests.exceptions import RequestException
@@ -27,4 +28,35 @@ def _make_request(method: str, url: str, headers: dict, params: dict = None, nor
except json.JSONDecodeError:
return {"error": response.text}
except RequestException as e:
=======
import requests
import json
from requests.exceptions import RequestException
import platform
UA = f"SolianForPythonApp/0.000.001 ({platform.system()})"
def _make_request(method: str, url: str, headers: dict, params: dict = None, normal_codes: list = [200], request_body: dict = None) -> dict:
"""内部辅助函数用于发送HTTP请求并处理响应"""
headers['User-Agent'] = UA
try:
if method == 'GET':
response = requests.get(url, headers=headers, params=params)
elif method == 'POST':
response = requests.post(url, headers=headers, data=json.dumps(request_body))
elif method == 'DELETE':
response = requests.delete(url, headers=headers, params=params)
elif method == 'PATCH':
response = requests.patch(url, headers=headers, data=json.dumps(request_body))
else:
return {"error": "Unsupported HTTP method"}
if response.status_code not in normal_codes:
return {"error": f"Unexpected status code: {response.status_code}"}
return response.json()
except json.JSONDecodeError:
return {"error": response.text}
except RequestException as e:
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf
return {"error": str(e)}

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
from typing import List,Any,Optional,Dict
@@ -197,3 +198,204 @@ def KickChatMember(Authorization: str, room_id: str, member_id: str) -> dict:
url = f"{DOMAIN}/chat/{room_id}/members/{member_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
=======
from ProjectCfg import DOMAIN
from CallServer import _make_request
from typing import List,Any,Optional,Dict
###=========================聊天API=================================
def ChatSummary(Authorization: str) -> dict:
"""获取聊天摘要"""
url = f"{DOMAIN}/chat/summary"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetChatMessages(Authorization: str, room_id: str, offset: int = 0, take: int = 20) -> dict:
"""获取聊天消息"""
url = f"{DOMAIN}/chat/{room_id}/messages"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset": offset, "take": take}
return _make_request('GET', url, headers, params=params)
def PostChatMessage(Authorization: str, room_id: str, content: str, nonce: Optional[str] = None, attachments_id: Optional[List[str]] = None, meta: Optional[Dict[str, Any]] = None, replied_message_id: Optional[str] = None, forwarded_message_id: Optional[str] = None) -> dict:
"""发送聊天消息"""
body = {
"content": content,
"nonce": nonce,
"attachments_id": attachments_id,
"meta": meta,
"replied_message_id": replied_message_id,
"forwarded_message_id": forwarded_message_id,
}
url = f"{DOMAIN}/chat/{room_id}/messages"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def GetChatMessageById(Authorization: str, room_id: str, message_id: str) -> dict:
"""获取具体聊天消息所有信息"""
url = f"{DOMAIN}/chat/{room_id}/messages/{message_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def PatchChatMessage(Authorization: str, room_id: str, message_id: str, content: Optional[str] = None, nonce: Optional[str] = None, attachments_id: Optional[List[str]] = None, meta: Optional[Dict[str, Any]] = None, replied_message_id: Optional[str] = None, forwarded_message_id: Optional[str] = None) -> dict:
"""修改聊天消息"""
body = {
"content": content,
"nonce": nonce,
"attachments_id": attachments_id,
"meta": meta,
"replied_message_id": replied_message_id,
"forwarded_message_id": forwarded_message_id,
}
url = f"{DOMAIN}/chat/{room_id}/messages/{message_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers, request_body=body)
def DeleteChatMessage(Authorization: str, room_id: str, message_id: str) -> dict:
"""删除聊天消息"""
url = f"{DOMAIN}/chat/{room_id}/messages/{message_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
def PostChatSync(Authorization: str, room_id: str, last_sync_timestamp: int) -> dict:
"""同步聊天消息"""
body = {"last_sync_timestamp": last_sync_timestamp}
url = f"{DOMAIN}/chat/{room_id}/sync"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body)
###=========================聊天室API=================================
def GetChatRoom(Authorization: str, id: str) -> dict:
"""获取聊天房间信息"""
url = f"{DOMAIN}/chat/{id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def PatchChatRoom(Authorization: str, id: str, name: Optional[str] = None, description: Optional[str] = None, picture_id: Optional[str] = None, background_id: Optional[str] = None, realm_id: Optional[str] = None, is_community: Optional[bool] = None, is_public: Optional[bool] = None) -> dict:
"""修改聊天房间信息"""
body = {
"name": name,
"description": description,
"picture_id": picture_id,
"background_id": background_id,
"realm_id": realm_id,
"is_community": is_community,
"is_public": is_public,
}
url = f"{DOMAIN}/chat/{id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers, request_body=body)
def DeleteChatRoom(Authorization: str, id: str) -> dict:
"""删除聊天房间"""
url = f"{DOMAIN}/chat/{id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
def GetChatRooms(Authorization: str) -> dict:
"""获取聊天列表"""
url = f"{DOMAIN}/chat"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def PostChatRoom(Authorization: str, name: str, description: Optional[str] = None, picture_id: Optional[str] = None, background_id: Optional[str] = None, realm_id: Optional[str] = None, is_community: Optional[bool] = None, is_public: Optional[bool] = None) -> dict:
"""创建聊天房间"""
body = {
"name": name,
"description": description,
"picture_id": picture_id,
"background_id": background_id,
"realm_id": realm_id,
"is_community": is_community,
"is_public": is_public,
}
url = f"{DOMAIN}/chat"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def GetDirectChat(Authorization: str, account_id: str) -> dict:
"""获取聊天对象用户信息"""
url = f"{DOMAIN}/chat/direct/{account_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetChatRoomSelfInfo(Authorization: str, room_id: str) -> dict:
"""获取聊天房间自己信息"""
url = f"{DOMAIN}/chat/{room_id}/members/me"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def JoinChatRoom(Authorization: str, room_id: str) -> dict:
"""加入聊天房间"""
url = f"{DOMAIN}/chat/{room_id}/members/me"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, normal_codes=[201])
def LeaveChatRoom(Authorization: str, room_id: str) -> dict:
"""退出聊天房间"""
url = f"{DOMAIN}/chat/{room_id}/members/me"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
def GetChatRoomMembers(Authorization: str, room_id: str, offset: int = 0, take: int = 20, with_status: bool = False) -> dict:
"""获取聊天房间成员"""
params = {
"offset": offset,
"take": take,
"withStatus": with_status,
}
url = f"{DOMAIN}/chat/{room_id}/members"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers, params=params)
def PostChatMemberInvite(Authorization: str, room_id: str, related_user_id: str, role: int) -> dict:
"""发送聊天邀请"""
body = {
"related_user_id": related_user_id,
"role": role,
}
url = f"{DOMAIN}/chat/invites/{room_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def GetChatInvites(Authorization: str) -> dict:
"""获取聊天邀请"""
url = f"{DOMAIN}/chat/invites"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def AcceptChatInvite(Authorization: str, room_id: str) -> dict:
"""接受聊天邀请"""
url = f"{DOMAIN}/chat/invites/{room_id}/accept"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers)
def DeclineChatInvite(Authorization: str, room_id: str) -> dict:
"""拒绝聊天邀请"""
url = f"{DOMAIN}/chat/invites/{room_id}/decline"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers)
def SetChatNotify(Authorization: str, room_id: str, notify_level: int, break_until: Optional[str] = None) -> dict:
"""设置聊天通知级别"""
body = {
"notify_level": notify_level,
"break_until": break_until,
}
url = f"{DOMAIN}/chat/{room_id}/members/me/notify"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers, request_body=body, normal_codes=[201])
def SetChatMemberRole(Authorization: str, room_id: str, member_id: str, role: int) -> dict:
"""设置聊天成员角色"""
body = {"role": role}
url = f"{DOMAIN}/chat/{room_id}/members/{member_id}/role"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers, request_body=body, normal_codes=[201])
def KickChatMember(Authorization: str, room_id: str, member_id: str) -> dict:
"""踢出聊天成员"""
url = f"{DOMAIN}/chat/{room_id}/members/{member_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
from typing import List,Any,Optional,Dict
@@ -67,3 +68,74 @@ def PatchPoll(Authorization: str, poll_id: str, title: Optional[str] = None, des
url = f"{DOMAIN}/polls/{poll_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers, request_body=body, normal_codes=[201])
=======
from ProjectCfg import DOMAIN
from CallServer import _make_request
from typing import List,Any,Optional,Dict
###==========================投票功能============================
def GetPoll(poll_id: str, Authorization: str) -> dict:
"""获取投票"""
url = f"{DOMAIN}/polls/{poll_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def PostPoll(Authorization: str, title: Optional[str] = None, description: Optional[str] = None, ended_at: Optional[str] = None, is_anonymous: Optional[bool] = None, questions: Optional[List[Dict[str, Any]]] = None) -> dict:
"""创建投票"""
body = {
"title": title,
"description": description,
"ended_at": ended_at,
"is_anonymous": is_anonymous,
"questions": questions,
}
url = f"{DOMAIN}/polls"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def DeletePoll(Authorization: str, poll_id: str) -> dict:
"""删除投票"""
url = f"{DOMAIN}/polls/{poll_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
def AnswerPoll(Authorization: str, poll_id: str, answer: Dict[str, Any]) -> dict:
"""回答投票"""
body = {"answer": answer}
url = f"{DOMAIN}/polls/{poll_id}/answer"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def DeletePollAnswer(Authorization: str, poll_id: str) -> dict:
"""删除投票回答"""
url = f"{DOMAIN}/polls/{poll_id}/answer"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
def GetPollFeedback(Authorization: str, poll_id: str, offset: int = 0, take: int = 20) -> dict:
"""获取投票反馈"""
url = f"{DOMAIN}/polls/{poll_id}/feedback"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {'offset': offset, 'take': take}
return _make_request('GET', url, headers, params=params)
def GetMyPolls(Authorization: str, pub: Optional[str] = None, active: bool = False, offset: int = 0, take: int = 20) -> dict:
"""获取我的投票"""
url = f"{DOMAIN}/polls/me"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {'offset': offset, 'take': take, 'pub': pub, 'active': active}
return _make_request('GET', url, headers, params=params)
def PatchPoll(Authorization: str, poll_id: str, title: Optional[str] = None, description: Optional[str] = None, ended_at: Optional[str] = None, is_anonymous: Optional[bool] = None, questions: Optional[List[Dict[str, Any]]] = None) -> dict:
"""修改投票"""
body = {
"title": title,
"description": description,
"ended_at": ended_at,
"is_anonymous": is_anonymous,
"questions": questions,
}
url = f"{DOMAIN}/polls/{poll_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers, request_body=body, normal_codes=[201])
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
from typing import List,Any,Optional,Dict
@@ -146,3 +147,153 @@ def DeletePinPost(Authorization: str, post_id: str) -> dict:
url = f"{DOMAIN}/posts/{post_id}/pin"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
=======
from ProjectCfg import DOMAIN
from CallServer import _make_request
from typing import List,Any,Optional,Dict
###==========================帖子管理============================
def GetFeaturedPosts(Authorization: str) -> dict:
"""获取精选帖子"""
url = f"{DOMAIN}/posts/featured"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetPosts(Authorization: str, offset: int = 0, take: int = 20, pub: Optional[str] = None, realm: Optional[str] = None, post_type: Optional[int] = None, categories: Optional[List[str]] = None, tags: Optional[List[str]] = None, query: Optional[str] = None, vector: bool = False, media: bool = False, shuffle: bool = False, replies: Optional[bool] = None, pinned: Optional[bool] = None) -> dict:
"""获取帖子列表"""
url = f"{DOMAIN}/posts"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {
"offset": offset,
"take": take,
"pub": pub,
"realm": realm,
"type": post_type,
"categories": categories,
"tags": tags,
"query": query,
"vector": vector,
"media": media,
"shuffle": shuffle,
"replies": replies,
"pinned": pinned,
}
return _make_request('GET', url, headers, params=params)
def PostPost(Authorization: str, title: str, description: str, slug: str, content: str, visibility: int, post_type: int, embed_view: Optional[Dict[str, Any]] = None, tags: Optional[List[str]] = None, categories: Optional[List[str]] = None, attachments: Optional[List[str]] = None, published_at: Optional[str] = None, replied_post_id: Optional[str] = None, forwarded_post_id: Optional[str] = None, realm_id: Optional[str] = None, poll_id: Optional[str] = None) -> dict:
"""创建帖子"""
body = {
"title": title,
"description": description,
"slug": slug,
"content": content,
"visibility": visibility,
"type": post_type,
"embed_view": embed_view,
"tags": tags,
"categories": categories,
"attachments": attachments,
"published_at": published_at,
"replied_post_id": replied_post_id,
"forwarded_post_id": forwarded_post_id,
"realm_id": realm_id,
"poll_id": poll_id,
}
url = f"{DOMAIN}/posts"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def GetPostById(Authorization: str, post_id: str) -> dict:
"""获取帖子详情"""
url = f"{DOMAIN}/posts/{post_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def PatchPost(Authorization: str, post_id: str, title: Optional[str] = None, description: Optional[str] = None, slug: Optional[str] = None, content: Optional[str] = None, visibility: Optional[int] = None, post_type: Optional[int] = None, embed_view: Optional[Dict[str, Any]] = None, tags: Optional[List[str]] = None, categories: Optional[List[str]] = None, attachments: Optional[List[str]] = None, published_at: Optional[str] = None, replied_post_id: Optional[str] = None, forwarded_post_id: Optional[str] = None, realm_id: Optional[str] = None, poll_id: Optional[str] = None) -> dict:
"""修改帖子"""
body = {
"title": title,
"description": description,
"slug": slug,
"content": content,
"visibility": visibility,
"type": post_type,
"embed_view": embed_view,
"tags": tags,
"categories": categories,
"attachments": attachments,
"published_at": published_at,
"replied_post_id": replied_post_id,
"forwarded_post_id": forwarded_post_id,
"realm_id": realm_id,
"poll_id": poll_id,
}
url = f"{DOMAIN}/posts/{post_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers, request_body=body)
def DeletePost(Authorization: str, post_id: str) -> dict:
"""删除帖子"""
url = f"{DOMAIN}/posts/{post_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
def GetPostReactions(Authorization: str, post_id: str, symbol: Optional[str] = None, offset: int = 0, take: int = 20) -> dict:
"""获取帖子反应"""
url = f"{DOMAIN}/posts/{post_id}/reactions"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"symbol": symbol, "offset": offset, "take": take}
return _make_request('GET', url, headers, params=params)
def PostPostReaction(Authorization: str, post_id: str, symbol: str, attitude: int) -> dict:
"""发送帖子反应"""
body = {"symbol": symbol, "attitude": attitude}
url = f"{DOMAIN}/posts/{post_id}/reactions"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def GetFeaturedPostReplies(Authorization: str, post_id: str) -> dict:
"""获取精选帖子回复"""
url = f"{DOMAIN}/posts/{post_id}/replies/featured"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetPinnedPostReplies(Authorization: str, post_id: str) -> dict:
"""获取置顶帖子回复"""
url = f"{DOMAIN}/posts/{post_id}/replies/pinned"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetPostReplies(Authorization: str, post_id: str, offset: int = 0, take: int = 20) -> dict:
"""获取帖子回复"""
url = f"{DOMAIN}/posts/{post_id}/replies"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset": offset, "take": take}
return _make_request('GET', url, headers, params=params)
def GetPostAwards(Authorization: str, post_id: str, offset: int = 0, take: int = 20) -> dict:
"""获取帖子奖励"""
url = f"{DOMAIN}/posts/{post_id}/awards"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset": offset, "take": take}
return _make_request('GET', url, headers, params=params)
def PostPostAward(Authorization: str, post_id: str, amount: float, attitude: int, message: Optional[str] = None) -> dict:
"""发送帖子奖励"""
body = {"amount": amount, "attitude": attitude, "message": message}
url = f"{DOMAIN}/posts/{post_id}/awards"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def PostPinPost(Authorization: str, post_id: str, mode: int) -> dict:
"""置顶帖子"""
body = {"mode": mode}
url = f"{DOMAIN}/posts/{post_id}/pin"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def DeletePinPost(Authorization: str, post_id: str) -> dict:
"""取消置顶帖子"""
url = f"{DOMAIN}/posts/{post_id}/pin"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
from typing import Optional
@@ -40,3 +41,47 @@ def GetCategorySubscription(Authorization: str, slug: str) -> dict:
url = f"{DOMAIN}/posts/categories/{slug}/subscription"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
=======
from ProjectCfg import DOMAIN
from CallServer import _make_request
from typing import Optional
###==========================帖子分类管理============================
def GetPostCategories(Authorization: str, query: Optional[str] = None, offset: int = 0, take: int = 20, order: Optional[str] = None) -> dict:
"""获取帖子分类"""
url = f"{DOMAIN}/posts/categories"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"query": query, "offset": offset, "take": take, "order": order}
return _make_request('GET', url, headers, params=params)
def PostPostCategory(Authorization: str, slug: Optional[str] = None, name: Optional[str] = None) -> dict:
"""创建帖子分类"""
body = {"slug": slug, "name": name}
url = f"{DOMAIN}/posts/categories"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def GetPostCategoryBySlug(Authorization: str, slug: str) -> dict:
"""获取帖子分类详情"""
url = f"{DOMAIN}/posts/categories/{slug}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def PostSubscribeCategory(Authorization: str, slug: str) -> dict:
"""订阅帖子分类"""
url = f"{DOMAIN}/posts/categories/{slug}/subscribe"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, normal_codes=[201])
def PostUnsubscribeCategory(Authorization: str, slug: str) -> dict:
"""取消订阅帖子分类"""
url = f"{DOMAIN}/posts/categories/{slug}/unsubscribe"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, normal_codes=[201])
def GetCategorySubscription(Authorization: str, slug: str) -> dict:
"""获取分类订阅状态"""
url = f"{DOMAIN}/posts/categories/{slug}/subscription"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
from typing import Optional
@@ -40,3 +41,47 @@ 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)
=======
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)
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
from typing import Optional
@@ -147,3 +148,154 @@ def PostPublisherUnsubscribe(Authorization: str, name: str) -> dict:
url = f"{DOMAIN}/api/publishers/{name}/unsubscribe"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers)
=======
from ProjectCfg import DOMAIN
from CallServer import _make_request
from typing import Optional
###==========================发布者管理============================
def GetPublisher(Authorization: str, name: str) -> dict:
"""获取发布者信息"""
url = f"{DOMAIN}/publishers/{name}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def PatchPublisher(Authorization: str, name: str, nick: Optional[str] = None, bio: Optional[str] = None, picture_id: Optional[str] = None, background_id: Optional[str] = None) -> dict:
"""修改发布者信息"""
body = {
"nick": nick,
"bio": bio,
"picture_id": picture_id,
"background_id": background_id,
}
url = f"{DOMAIN}/publishers/{name}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers, request_body=body, normal_codes=[201])
def DeletePublisher(Authorization: str, name: str) -> dict:
"""删除发布者"""
url = f"{DOMAIN}/publishers/{name}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
def GetPublisherStats(Authorization: str, name: str) -> dict:
"""获取发布者统计信息"""
url = f"{DOMAIN}/publishers/{name}/stats"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetPublishersOfAccountId(Authorization: str, account_id: str) -> dict:
"""获取指定账户的发布者"""
url = f"{DOMAIN}/publishers/of/{account_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetPublishers(Authorization: str) -> dict:
"""获取所有发布者"""
url = f"{DOMAIN}/publishers"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def PostPublisherInvite(Authorization: str, name: str, related_user_id: str, role: int) -> dict:
"""发送发布者邀请"""
body = {"related_user_id": related_user_id, "role": role}
url = f"{DOMAIN}/publishers/invites/{name}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def GetPublisherInvites(Authorization: str, name: str) -> dict:
"""获取发布者邀请"""
url = f"{DOMAIN}/publishers/invites/{name}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def AcceptPublisherInvite(Authorization: str, name: str) -> dict:
"""接受发布者邀请"""
url = f"{DOMAIN}/publishers/invites/{name}/accept"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, normal_codes=[201])
def DeclinePublisherInvite(Authorization: str, name: str) -> dict:
"""拒绝发布者邀请"""
url = f"{DOMAIN}/publishers/invites/{name}/decline"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, normal_codes=[201])
def DeletePublisherMember(Authorization: str, name: str, member_id: str) -> dict:
"""删除发布者成员"""
url = f"{DOMAIN}/publishers/{name}/members/{member_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
def PostIndividualPublisher(Authorization: str, name: str, nick: Optional[str] = None, bio: Optional[str] = None, picture_id: Optional[str] = None, background_id: Optional[str] = None) -> dict:
"""创建个人发布者"""
body = {
"name": name,
"nick": nick,
"bio": bio,
"picture_id": picture_id,
"background_id": background_id,
}
url = f"{DOMAIN}/publishers/individual"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def PostOrganizationPublisher(Authorization: str, name: str, realm_slug: str) -> dict:
"""创建组织发布者"""
body = {"name": name, "realm_slug": realm_slug}
url = f"{DOMAIN}/publishers/organization/{realm_slug}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def GetPublisherMembers(Authorization: str, name: str, offset: int = 0, take: int = 20) -> dict:
"""获取发布者成员"""
url = f"{DOMAIN}/publishers/{name}/members"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset": offset, "take": take}
return _make_request('GET', url, headers, params=params)
def GetMyPublisherMember(Authorization: str, name: str) -> dict:
"""获取我的发布者成员信息"""
url = f"{DOMAIN}/publishers/{name}/members/me"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def PostPublisherFeature(Authorization: str, name: str, flag: str, expired_at: Optional[str] = None) -> dict:
"""创建发布者特性"""
body = {"flag": flag, "expired_at": expired_at}
url = f"{DOMAIN}/publishers/{name}/features"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=body, normal_codes=[201])
def DeletePublisherFeature(Authorization: str, name: str, flag: str) -> dict:
"""删除发布者特性"""
url = f"{DOMAIN}/publishers/{name}/features/{flag}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers, normal_codes=[204])
def GetPublisherSubscriptions(Authorization: str) -> dict:
"""获取发布者订阅状态"""
url = f"{DOMAIN}/publishers/subscriptions"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetPublisherSubscription(Authorization: str, name: str) -> dict:
"""获取特定发布者的订阅状态"""
url = f"{DOMAIN}/api/publishers/{name}/subscription"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def PostPublisherSubscribe(Authorization: str, name: str, subscribeRequest: Optional[dict] = None,tier:int=0) -> dict:
"""订阅特定发布者"""
RequestsBody={
"tier":tier
}
url = f"{DOMAIN}/api/publishers/{name}/subscribe"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers, request_body=subscribeRequest)
def PostPublisherUnsubscribe(Authorization: str, name: str) -> dict:
"""取消订阅特定发布者"""
url = f"{DOMAIN}/api/publishers/{name}/unsubscribe"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers)
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
@@ -115,3 +116,122 @@ def SetMemberRoleRealm(slug:str,Authorization: str,user_id:str,role:int) -> dict
url = f"{DOMAIN}/realms/{slug}/members/{user_id}/role"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers,normal_codes=[201],request_body=role)
=======
from ProjectCfg import DOMAIN
from CallServer import _make_request
###==========================领域部分==========================
def GetRealm(slug:str,Authorization: str = '') -> dict:
"""获取领域详情"""
url = f"{DOMAIN}/realms/{slug}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def ModifyRealm(slug:str,Authorization: str ,name:str='',description:str='',picture_id:str='',background_id:str='',is_community:bool=True,is_public:bool=True) -> dict:
"""修改领域"""
request_body={
"slug": slug,
"name": name,
"description": description,
"picture_id": picture_id,
"background_id": background_id,
"is_community": is_community,
"is_public": is_public
}
url = f"{DOMAIN}/realms/{slug}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers,request_body=request_body,normal_codes=[201])
def DeleteRealm(slug:str,Authorization: str) -> dict:
"""删除领域"""
url = f"{DOMAIN}/realms/{slug}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers,normal_codes=[204])
def GetJoinedRealms(Authorization: str) -> dict:
"""获取加入的领域"""
url = f"{DOMAIN}/realms"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def CreateRealm(slug:str,Authorization: str,name:str='',description:str='',picture_id:str='',background_id:str='',is_community:bool=True,is_public:bool=True) -> dict:
"""创建领域"""
request_body={
"slug": slug,
"name": name,
"description": description,
"picture_id": picture_id,
"background_id": background_id,
"is_community": is_community,
"is_public": is_public
}
url = f"{DOMAIN}/realms"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,request_body=request_body,normal_codes=[201])
def GetRealmInvites(Authorization: str) -> dict:
"""获取领域邀请"""
url = f"{DOMAIN}/realms/invites"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def SendRealmInvite(slug:str,Authorization: str,user_id:str,role:int=0) -> dict:
"""发送领域邀请"""
request_body={
"related_user_id": user_id,
"role": role
}
url = f"{DOMAIN}/realms/invites/{slug}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,request_body=request_body,normal_codes=[201])
def AcceptRealmInvite(slug:str,Authorization: str) -> dict:
"""接受领域邀请"""
url = f"{DOMAIN}/realms/invites/{slug}/accept"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,normal_codes=[201])
def DeclineRealmInvite(slug:str,Authorization: str) -> dict:
"""拒绝领域邀请"""
url = f"{DOMAIN}/realms/invites/{slug}/decline"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,normal_codes=[201])
def GetRealmMembers(slug:str,Authorization: str,offset:int=0,take:int=20,withStatus:bool=False) -> dict:
"""获取领域成员"""
url = f"{DOMAIN}/realms/{slug}/members"
params = {"offset":offset,"take":take,"withStatus":withStatus}
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers,params=params)
def GetRealmMemberMe(slug:str,Authorization: str) -> dict:
"""获取领域成员"""
url = f"{DOMAIN}/realms/{slug}/members/me"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def LeaveRealm(slug:str,Authorization: str) -> dict:
"""退出领域"""
url = f"{DOMAIN}/realms/{slug}/members/me"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers,normal_codes=[204])
def JoinRealm(slug:str,Authorization: str) -> dict:
"""加入领域"""
url = f"{DOMAIN}/realms/{slug}/members/me"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,normal_codes=[201])
def KickMemberRealm(slug:str,Authorization: str,user_id:str) -> dict:
"""踢出领域成员"""
url = f"{DOMAIN}/realms/{slug}/members/{user_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers,normal_codes=[204])
def SetMemberRoleRealm(slug:str,Authorization: str,user_id:str,role:int) -> dict:
"""设置领域成员角色"""
url = f"{DOMAIN}/realms/{slug}/members/{user_id}/role"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers,normal_codes=[201],request_body=role)
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
@@ -25,4 +26,33 @@ def JoinRealtimeChat(Authorization: str,roomid:str ) -> dict:
"""加入实时聊天"""
url = f"{DOMAIN}/chat/realtime/{roomid}/join"
headers = {'accept': 'application/json', 'Authorization': Authorization}
=======
from ProjectCfg import DOMAIN
from CallServer import _make_request
###==========================实时聊天==========================
def GetRealtimeChat(Authorization: str,roomid:str ) -> dict:
"""获取实时聊天"""
url = f"{DOMAIN}/chat/realtime/{roomid}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def CreateRealtimeChat(Authorization: str,roomid:str ) -> dict:
"""创建实时聊天"""
url = f"{DOMAIN}/chat/realtime/{roomid}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,normal_codes=[201])
def LeaveRealtimeChat(Authorization: str,roomid:str ) -> dict:
"""离开实时聊天"""
url = f"{DOMAIN}/chat/realtime/{roomid}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers,normal_codes=[204])
def JoinRealtimeChat(Authorization: str,roomid:str ) -> dict:
"""加入实时聊天"""
url = f"{DOMAIN}/chat/realtime/{roomid}/join"
headers = {'accept': 'application/json', 'Authorization': Authorization}
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf
return _make_request('GET', url, headers)

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
@@ -115,4 +116,123 @@ def RemoveStickerPackage(Authorization: str,packid:str) -> dict:
"""移除贴纸包"""
url = f"{DOMAIN}/stickers/{packid}/own"
headers = {'accept': 'application/json', 'Authorization': Authorization}
=======
from ProjectCfg import DOMAIN
from CallServer import _make_request
###==========================贴纸==========================
def GetStickerPackageList(Authorization: str,offset:int=0,take:int=20,pub:str='',order:str='',query:str="") -> dict:
"""获取贴纸包列表"""
url = f"{DOMAIN}/stickers"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset":offset,"take":take,"pub":pub,"order":order,"query":query}
return _make_request('GET', url, headers,params=params)
def CreateStickerPackage(Authorization: str,pub:str,name:str,description:str,prefix:str) -> dict:
"""创建贴纸包"""
url = f"{DOMAIN}/stickers"
RequestsBody={
"name":name,
"description": description,
"prefix": prefix
}
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,request_body=RequestsBody,params={"pub":pub},normal_codes=[201])
def GetMyStickerList(Authorization: str) -> dict:
"""获取我的贴纸列表"""
url = f"{DOMAIN}/stickers/me"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetAStickerPackageInfo(Authorization: str,sticker_id:str) -> dict:
"""获取贴纸包信息"""
url = f"{DOMAIN}/stickers/{sticker_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def ModifyStickerPackage(Authorization: str,sticker_id:str,name:str,description:str,prefix:str) -> dict:
"""修改贴纸包"""
url = f"{DOMAIN}/stickers/{sticker_id}"
RequestsBody={
"name":name,
"description": description,
"prefix": prefix
}
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers,request_body=RequestsBody,normal_codes=[201])
def DeleteStickerPackage(Authorization: str,sticker_id:str) -> dict:
"""删除贴纸包"""
url = f"{DOMAIN}/stickers/{sticker_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers,normal_codes=[204])
def GetStickerPackageContent(Authorization: str,sticker_id:str) -> dict:
"""获取贴纸包内容"""
url = f"{DOMAIN}/stickers/{sticker_id}/content"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def ModifyStickerPackageContent(Authorization: str,sticker_id:str,slug:str,image_id:str) -> dict:
"""修改贴纸包内容"""
url = f"{DOMAIN}/stickers/{sticker_id}/content"
RequestsBody={
"slug":slug,
"image_id": image_id
}
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,request_body=RequestsBody,normal_codes=[201])
def GetStickerInfo(Authorization: str,sticker_id:str) -> dict:
"""获取贴纸信息"""
url = f"{DOMAIN}/stickers/lookup/{sticker_id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetStickerImg(Authorization: str,sticker_id:str) -> dict:
"""获取贴纸图片"""
url = f"{DOMAIN}/stickers/lookup/{sticker_id}/open"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetPackageStickerInfo(Authorization: str,packid:str,id:str) -> dict:
"""获取贴纸包信息"""
url = f"{DOMAIN}/stickers/{packid}/content/{id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def CreateStickerImageInPackage(Authorization: str,packid:str,slug:str,image_id:str) -> dict:
"""创建贴纸包图片"""
url = f"{DOMAIN}/stickers/{packid}/content"
RequestsBody={
"slug":slug,
"image_id": image_id
}
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers,request_body=RequestsBody,normal_codes=[201])
def DeleteStickerImageInPackage(Authorization: str,packid:str,id:str) -> dict:
"""删除贴纸包图片"""
url = f"{DOMAIN}/stickers/{packid}/content/{id}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers,normal_codes=[204])
def GetSelfHadStickerPackageInfo(Authorization: str,packid:str) -> dict:
"""获取自己已拥有的贴纸包信息"""
url = f"{DOMAIN}/stickers/{packid}/own"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def AddStickerPackage(Authorization: str,packid:str) -> dict:
"""添加贴纸包"""
url = f"{DOMAIN}/stickers/{packid}/own"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,normal_codes=[201])
def RemoveStickerPackage(Authorization: str,packid:str) -> dict:
"""移除贴纸包"""
url = f"{DOMAIN}/stickers/{packid}/own"
headers = {'accept': 'application/json', 'Authorization': Authorization}
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf
return _make_request('DELETE', url, headers,normal_codes=[204])

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
@@ -22,3 +23,29 @@ def RandomWebArticle(Authorization: str='',limit:int=5 ) -> dict:
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"limit":limit}
return _make_request('GET', url, headers,params=params)
=======
from ProjectCfg import DOMAIN
from CallServer import _make_request
###==========================网页文章==========================
def GetWebArticle(feedid:str,publisherid:str,limit:int=20,offset:int=0,Authorization: str='' ) -> dict:
"""获取网页文章"""
url = f"{DOMAIN}/feeds/articles"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"feedid":feedid,"publisherid":publisherid,"limit":limit,"offset":offset}
return _make_request('GET', url, headers,params=params)
def GetWebArticleDetail(articleid:str,Authorization: str='' ) -> dict:
"""获取网页文章详情"""
url = f"{DOMAIN}/feeds/articles/{articleid}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def RandomWebArticle(Authorization: str='',limit:int=5 ) -> dict:
"""随机获取网页文章"""
url = f"{DOMAIN}/feeds/articles/random"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"limit":limit}
return _make_request('GET', url, headers,params=params)
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
@@ -55,3 +56,62 @@ def SetScrapPage(pubname:str,id:str,Authorization: str='') -> dict:
url = f"{DOMAIN}/publishers/{pubname}/feeds/{id}/scrap"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,normal_codes=[201])
=======
from ProjectCfg import DOMAIN
from CallServer import _make_request
###==========================网页流==========================
def GetWebFeed(pubname:str,Authorization: str='') -> dict:
"""获取网页流"""
url = f"{DOMAIN}/publishers/{pubname}/feeds"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def SendWebFeed(pubname:str,Authorization: str='',URL:str='',Title:str='',Description:str='',ScrapPage:bool=True) -> dict:
"""发送网页流"""
url = f"{DOMAIN}/publishers/{pubname}/feeds"
RequestsBody={
"url": URL,
"title": Title,
"description": Description,
"config": {
"scrap_page": ScrapPage,
}
}
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,request_body=RequestsBody,normal_codes=[201])
def GetWebFeedDetail(feedid:str,pubname:str,Authorization: str='') -> dict:
"""获取网页流详情"""
url = f"{DOMAIN}/publishers/{pubname}/feeds/{feedid}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def ModifyWebFeed(feedid:str,pubname:str,Authorization: str='',URL:str='',Title:str='',Description:str='',ScrapPage:bool=True) -> dict:
"""修改网页流"""
url = f"{DOMAIN}/publishers/{pubname}/feeds/{feedid}"
RequestsBody={
"url": URL,
"title": Title,
"description": Description,
"config": {
"scrap_page": ScrapPage,
}
}
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('PATCH', url, headers,request_body=RequestsBody,normal_codes=[200])
def DeleteWebFeed(feedid:str,pubname:str,Authorization: str='') -> dict:
"""删除网页流"""
url = f"{DOMAIN}/publishers/{pubname}/feeds/{feedid}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers,normal_codes=[204])
def SetScrapPage(pubname:str,id:str,Authorization: str='') -> dict:
"""设置是否采集网页"""
url = f"{DOMAIN}/publishers/{pubname}/feeds/{id}/scrap"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,normal_codes=[201])
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
@@ -54,3 +55,61 @@ def GetWebFeedExplore(offset:int=0,take:int=20,query='',Authorization: str='') -
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset":offset,"take":take,"query":query}
return _make_request('GET', url, headers,params=params)
=======
from ProjectCfg import DOMAIN
from CallServer import _make_request
###==========================公共网页流==========================
def SubscribeWebFeed(feedid:str,Authorization: str) -> dict:
"""订阅公共网页流"""
url = f"{DOMAIN}/feeds/{feedid}/subscribe"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('POST', url, headers,normal_codes=[201])
def UnsubscribeWebFeed(feedid:str,Authorization: str) -> dict:
"""取消订阅公共网页流"""
url = f"{DOMAIN}/feeds/{feedid}/subscribe"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('DELETE', url, headers,normal_codes=[204])
def GetWebFeedSubscription(feedid:str,Authorization: str='') -> dict:
"""获取公共网页流订阅"""
url = f"{DOMAIN}/feeds/{feedid}/subscribe"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetWebFeedSubscribed(offset:int=0,take:int=20,Authorization: str='') -> dict:
"""获取公共网页流订阅"""
url = f"{DOMAIN}/feeds/subscribed"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset":offset,"take":take}
return _make_request('GET', url, headers,params=params)
def GetWebFeedInfo(offset:int=0,take:int=20,Authorization: str='') -> dict:
"""获取公共网页流信息"""
url = f"{DOMAIN}/feeds"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset":offset,"take":take}
return _make_request('GET', url, headers,params=params)
def GetWebFeedDetail(feedid:str,Authorization: str='') -> dict:
"""获取公共网页流详情"""
url = f"{DOMAIN}/feeds/{feedid}"
headers = {'accept': 'application/json', 'Authorization': Authorization}
return _make_request('GET', url, headers)
def GetWebFeedArticles(feedid:str,offset:int=0,take:int=20,Authorization: str='') -> dict:
"""获取公共网页流文章"""
url = f"{DOMAIN}/feeds/{feedid}/articles"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset":offset,"take":take}
return _make_request('GET', url, headers,params=params)
def GetWebFeedExplore(offset:int=0,take:int=20,query='',Authorization: str='') -> dict:
"""获取公共网页流探索"""
url = f"{DOMAIN}/feeds/explore"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"offset":offset,"take":take,"query":query}
return _make_request('GET', url, headers,params=params)
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf

View File

@@ -1,3 +1,4 @@
<<<<<<< HEAD
from ProjectCfg import DOMAIN
from CallServer import _make_request
@@ -20,4 +21,28 @@ def ClearAllReaderCache(Authorization: str='') -> dict:
"""清除所有缓存"""
url = f"{DOMAIN}/scrap/cache/all"
headers = {'accept': 'application/json', 'Authorization': Authorization}
=======
from ProjectCfg import DOMAIN
from CallServer import _make_request
###==========================网页阅读器==========================
def ReadForURL(url:str,Authorization: str='' ) -> dict:
"""通过URL读取网页"""
url = f"{DOMAIN}/scrap/link"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"url":url}
return _make_request('GET', url, headers,params=params)
def ClearReaderCache(url:str,Authorization: str='') -> dict:
"""清除缓存"""
url = f"{DOMAIN}/scrap/link/cache"
headers = {'accept': 'application/json', 'Authorization': Authorization}
params = {"url":url}
return _make_request('DELETE', url, headers,params=params)
def ClearAllReaderCache(Authorization: str='') -> dict:
"""清除所有缓存"""
url = f"{DOMAIN}/scrap/cache/all"
headers = {'accept': 'application/json', 'Authorization': Authorization}
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf
return _make_request('DELETE', url, headers)

View File

@@ -1 +1,5 @@
<<<<<<< HEAD
from . import Chat, Poll, Post,PostCategory,PostTag,Publisher,WebArticle,WebFeed,WebFeedPublic,WebReader,Sticker,CallServer,Realm,RealtimeCall
=======
from . import Chat, Poll, Post,PostCategory,PostTag,Publisher,WebArticle,WebFeed,WebFeedPublic,WebReader,Sticker,CallServer,Realm,RealtimeCall
>>>>>>> 967cea4c47a481e79c92fda0760c423de7fbcedf

6
desktop.ini Normal file
View File

@@ -0,0 +1,6 @@
[.ShellClassInfo]
IconResource=F:\exeliang\SolianForPython\assets\img\icon.ico,0
[ViewState]
Mode=
Vid=
FolderType=Generic