修改SNAPI内部路径,修改UA头

This commit is contained in:
2025-09-13 17:13:26 +08:00
parent 8ed1e3a4da
commit f9e1ffe04e
20 changed files with 44 additions and 28 deletions

View File

@@ -1,5 +1,3 @@
import platform
# 项目配置 # 项目配置
PROFECT_NAME : str = 'SolianForDesktop' PROFECT_NAME : str = 'SolianForDesktop'
PROFECT_VERSION : str = '1.0(alpha)' PROFECT_VERSION : str = '1.0(alpha)'
@@ -10,5 +8,4 @@ WINDOW_HEIGHT : int = 500
PYTHON_VERSION_MIN : tuple[int,int] = (3, 7) PYTHON_VERSION_MIN : tuple[int,int] = (3, 7)
PYTHON_VERSION_MAX : tuple[int,int] = (0, 0) PYTHON_VERSION_MAX : tuple[int,int] = (0, 0)
LIB_LIST : list[str] = ['flask'] LIB_LIST : list[str] = ['flask']
DOMAIN : str = 'https://solian.app/api' DOMAIN : str = 'https://solian.app/api'
UA : str = f"SolianForPythonApp/0.000.001 ({platform.system()})"

View File

@@ -1,6 +1,6 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from SNAPI.CallServer import _make_request from .SNAPI.CallServer import _make_request
from SNAPI import * from .SNAPI import *
###=========================活动API================================= ###=========================活动API=================================

View File

@@ -1,9 +1,18 @@
import sqlite3 import sqlite3
def DBStart(): def DBStart():
conn = sqlite3.connect('./dbfile/App.db') conn = sqlite3.connect('./UserData/App.db')
c = conn.cursor() c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS chat
(id TEXT PRIMARY KEY, accountid TEXT, name TEXT, avatar TEXT, lastmessage TEXT, lastmessagetime TEXT)''') def DBClose():
conn = sqlite3.connect('./UserData/App.db')
c = conn.cursor()
conn.close()
def DBRunSQL(sql):
conn = sqlite3.connect('./UserData/App.db')
c = conn.cursor()
c.executescript(sql)
conn.commit() conn.commit()
conn.close() conn.close()
return c.fetchall()

View File

@@ -3,6 +3,7 @@ import json
import uuid import uuid
import platform import platform
import hashlib import hashlib
from . import PyWebPageAPI
class AuthClient: class AuthClient:
def __init__(self, base_url): def __init__(self, base_url):
@@ -14,7 +15,7 @@ class AuthClient:
self.factors = [] self.factors = []
self.selected_factor_id = None self.selected_factor_id = None
self.password = '' self.password = ''
self.user_store = f"SolianForPythonApp/0.000.001({platform.system()})" # 您可以自定义此User-Agent字符串 self.user_store = f"SolianForPythonApp/0.0.1(A)({PyWebPageAPI.GetDeviceInfo()})" # 您可以自定义此User-Agent字符串
self.device_id = self.user_store self.device_id = self.user_store
def generate_device_id(self): def generate_device_id(self):
@@ -201,7 +202,7 @@ class AuthClient:
# 示例调用 # 示例调用
if __name__ == "__main__": if __name__ == "__main__":
auth_client = AuthClient(base_url='https://api.solian.app/id') auth_client = AuthClient(base_url='https://api.solian.app/id')
account_identifier = 'nanci'#你的账号 account_identifier = ''#你的账号
selected_factor_id = "enter-code" # 用户需要选择一个因素 selected_factor_id = "enter-code" # 用户需要选择一个因素
password = ''#你的密码 password = ''#你的密码
# 第一步:检查账户有效性 # 第一步:检查账户有效性

View File

@@ -75,4 +75,12 @@ def CheckPortAvailable(port : int) -> bool:
import socket import socket
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
return s.connect_ex(('localhost', port)) != 0 return s.connect_ex(('localhost', port)) != 0
return False return False
def GetDeviceInfo() -> str:
"""
获取设备信息
:return:
"""
import platform
return platform.system() + platform.version() + platform.machine()

View File

@@ -2,8 +2,9 @@ import requests
import json import json
from requests.exceptions import RequestException from requests.exceptions import RequestException
import platform import platform
from . import PyWebPageAPI
UA = f"SolianForPythonApp/0.000.001 ({platform.system()})" UA = f"SolianForPythonApp/0.0.1(A) ({PyWebPageAPI.GetDeviceInfo()})"
def _make_request(method: str, url: str, headers: dict, params: dict = None, normal_codes: list = [200], request_body: dict = None) -> dict: def _make_request(method: str, url: str, headers: dict, params: dict = None, normal_codes: list = [200], request_body: dict = None) -> dict:
"""内部辅助函数用于发送HTTP请求并处理响应""" """内部辅助函数用于发送HTTP请求并处理响应"""

View File

@@ -1,5 +1,5 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from CallServer import _make_request from .CallServer import _make_request
from typing import List,Any,Optional,Dict from typing import List,Any,Optional,Dict
###=========================聊天API================================= ###=========================聊天API=================================

View File

@@ -1,5 +1,5 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from CallServer import _make_request from .CallServer import _make_request
from typing import List,Any,Optional,Dict from typing import List,Any,Optional,Dict
###==========================投票功能============================ ###==========================投票功能============================

View File

@@ -1,5 +1,5 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from CallServer import _make_request from .CallServer import _make_request
from typing import List,Any,Optional,Dict from typing import List,Any,Optional,Dict
###==========================帖子管理============================ ###==========================帖子管理============================
def GetFeaturedPosts(Authorization: str) -> dict: def GetFeaturedPosts(Authorization: str) -> dict:

View File

@@ -1,5 +1,5 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from CallServer import _make_request from .CallServer import _make_request
from typing import Optional from typing import Optional
###==========================帖子分类管理============================ ###==========================帖子分类管理============================

View File

@@ -1,5 +1,5 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from CallServer import _make_request from .CallServer import _make_request
from typing import Optional from typing import Optional
###==========================帖子标签管理============================ ###==========================帖子标签管理============================

View File

@@ -1,5 +1,5 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from CallServer import _make_request from .CallServer import _make_request
from typing import Optional from typing import Optional
###==========================发布者管理============================ ###==========================发布者管理============================
def GetPublisher(Authorization: str, name: str) -> dict: def GetPublisher(Authorization: str, name: str) -> dict:

View File

@@ -1,5 +1,5 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from CallServer import _make_request from .CallServer import _make_request
###==========================领域部分========================== ###==========================领域部分==========================

View File

@@ -1,5 +1,5 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from CallServer import _make_request from.CallServer import _make_request
###==========================实时聊天========================== ###==========================实时聊天==========================

View File

@@ -1,5 +1,5 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from CallServer import _make_request from .CallServer import _make_request
###==========================贴纸========================== ###==========================贴纸==========================

View File

@@ -1,5 +1,5 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from CallServer import _make_request from .CallServer import _make_request
###==========================网页文章========================== ###==========================网页文章==========================

View File

@@ -1,5 +1,5 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from CallServer import _make_request from .CallServer import _make_request
###==========================网页流========================== ###==========================网页流==========================

View File

@@ -1,5 +1,5 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from CallServer import _make_request from .CallServer import _make_request
###==========================公共网页流========================== ###==========================公共网页流==========================

View File

@@ -1,5 +1,5 @@
from ProjectCfg import DOMAIN from ProjectCfg import DOMAIN
from CallServer import _make_request from .CallServer import _make_request
###==========================网页阅读器========================== ###==========================网页阅读器==========================
def ReadForURL(url:str,Authorization: str='' ) -> dict: def ReadForURL(url:str,Authorization: str='' ) -> dict:

View File

@@ -3,5 +3,5 @@ import webview
def WebViewWIndow(url: str,title: str,width: int,height: int):#创建Webview窗口 def WebViewWIndow(url: str,title: str,width: int,height: int):#创建Webview窗口
webview.create_window(title=title, url=url, width=width, height=height) webview.create_window(title=title, url=url, width=width, height=height)
webview.settings['ALLOW_DOWNLOADS'] = True webview.settings['ALLOW_DOWNLOADS'] = True
webview.start(icon="./assets/img/icon.png") webview.start(icon="./assets/img/icon.ico")
exit(0) exit(0)