20250904-初步功能已完成
This commit is contained in:
2
.idea/iOSAI.iml
generated
2
.idea/iOSAI.iml
generated
@@ -2,7 +2,7 @@
|
|||||||
<module type="PYTHON_MODULE" version="4">
|
<module type="PYTHON_MODULE" version="4">
|
||||||
<component name="NewModuleRootManager">
|
<component name="NewModuleRootManager">
|
||||||
<content url="file://$MODULE_DIR$" />
|
<content url="file://$MODULE_DIR$" />
|
||||||
<orderEntry type="jdk" jdkName="Python 3.12" jdkType="Python SDK" />
|
<orderEntry type="jdk" jdkName="Python 3.12 (IOS-AI)" jdkType="Python SDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -3,5 +3,5 @@
|
|||||||
<component name="Black">
|
<component name="Black">
|
||||||
<option name="sdkName" value="Python 3.12" />
|
<option name="sdkName" value="Python 3.12" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12" project-jdk-type="Python SDK" />
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (IOS-AI)" project-jdk-type="Python SDK" />
|
||||||
</project>
|
</project>
|
||||||
73
.idea/workspace.xml
generated
73
.idea/workspace.xml
generated
@@ -4,11 +4,19 @@
|
|||||||
<option name="autoReloadType" value="SELECTIVE" />
|
<option name="autoReloadType" value="SELECTIVE" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="eceeff5e-51c1-459c-a911-d21ec090a423" name="Changes" comment="ai 开始测试">
|
<list default="true" id="eceeff5e-51c1-459c-a911-d21ec090a423" name="Changes" comment="20250904-初步功能已完成">
|
||||||
|
<change afterPath="$PROJECT_DIR$/123.py" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/Module/log/acList.json" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/nuitka-crash-report.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/requirements.txt" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/resources/de041fd6509353490f5d2244a2079e94135bc1ee/bgv.png" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/iOSAI.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/iOSAI.iml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Entity/Variables.py" beforeDir="false" afterPath="$PROJECT_DIR$/Entity/Variables.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Utils/LogManager.py" beforeDir="false" afterPath="$PROJECT_DIR$/Utils/LogManager.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Module/DeviceInfo.py" beforeDir="false" afterPath="$PROJECT_DIR$/Module/DeviceInfo.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Utils/Requester.py" beforeDir="false" afterPath="$PROJECT_DIR$/Utils/Requester.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Module/FlaskService.py" beforeDir="false" afterPath="$PROJECT_DIR$/Module/FlaskService.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/build.bat" beforeDir="false" afterPath="$PROJECT_DIR$/build.bat" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/script/ScriptManager.py" beforeDir="false" afterPath="$PROJECT_DIR$/script/ScriptManager.py" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@@ -60,8 +68,8 @@
|
|||||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
"SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
"SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
||||||
"git-widget-placeholder": "main",
|
"git-widget-placeholder": "main",
|
||||||
"javascript.nodejs.core.library.configured.version": "22.18.0",
|
"javascript.nodejs.core.library.configured.version": "20.17.0",
|
||||||
"javascript.nodejs.core.library.typings.version": "22.18.1",
|
"javascript.nodejs.core.library.typings.version": "20.17.58",
|
||||||
"last_opened_file_path": "F:/company code/AI item/20250820/iOSAI",
|
"last_opened_file_path": "F:/company code/AI item/20250820/iOSAI",
|
||||||
"node.js.detected.package.eslint": "true",
|
"node.js.detected.package.eslint": "true",
|
||||||
"node.js.detected.package.tslint": "true",
|
"node.js.detected.package.tslint": "true",
|
||||||
@@ -78,7 +86,30 @@
|
|||||||
<recent name="E:\Code\python\iOSAI" />
|
<recent name="E:\Code\python\iOSAI" />
|
||||||
</key>
|
</key>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunManager">
|
<component name="RunManager" selected="Python.Main">
|
||||||
|
<configuration name="123" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
||||||
|
<module name="iOSAI" />
|
||||||
|
<option name="ENV_FILES" value="" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||||
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/123.py" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
|
<option name="EMULATE_TERMINAL" value="false" />
|
||||||
|
<option name="MODULE_MODE" value="false" />
|
||||||
|
<option name="REDIRECT_INPUT" value="false" />
|
||||||
|
<option name="INPUT_FILE" value="" />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
<configuration name="Main" type="PythonConfigurationType" factoryName="Python" nameIsGenerated="true">
|
<configuration name="Main" type="PythonConfigurationType" factoryName="Python" nameIsGenerated="true">
|
||||||
<module name="iOSAI" />
|
<module name="iOSAI" />
|
||||||
<option name="ENV_FILES" value="" />
|
<option name="ENV_FILES" value="" />
|
||||||
@@ -88,7 +119,6 @@
|
|||||||
<env name="PYTHONUNBUFFERED" value="1" />
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
</envs>
|
</envs>
|
||||||
<option name="SDK_HOME" value="" />
|
<option name="SDK_HOME" value="" />
|
||||||
<option name="SDK_NAME" value="Python 3.12" />
|
|
||||||
<option name="WORKING_DIRECTORY" value="" />
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
<option name="IS_MODULE_SDK" value="false" />
|
<option name="IS_MODULE_SDK" value="false" />
|
||||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
@@ -103,6 +133,11 @@
|
|||||||
<option name="INPUT_FILE" value="" />
|
<option name="INPUT_FILE" value="" />
|
||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<recent_temporary>
|
||||||
|
<list>
|
||||||
|
<item itemvalue="Python.123" />
|
||||||
|
</list>
|
||||||
|
</recent_temporary>
|
||||||
</component>
|
</component>
|
||||||
<component name="SharedIndexes">
|
<component name="SharedIndexes">
|
||||||
<attachedChunks>
|
<attachedChunks>
|
||||||
@@ -162,6 +197,13 @@
|
|||||||
<workItem from="1757309200278" duration="8241000" />
|
<workItem from="1757309200278" duration="8241000" />
|
||||||
<workItem from="1757317510820" duration="50000" />
|
<workItem from="1757317510820" duration="50000" />
|
||||||
<workItem from="1757317658542" duration="8554000" />
|
<workItem from="1757317658542" duration="8554000" />
|
||||||
|
<workItem from="1757394756623" duration="3551000" />
|
||||||
|
<workItem from="1757398358797" duration="1537000" />
|
||||||
|
<workItem from="1757400284539" duration="1222000" />
|
||||||
|
<workItem from="1757401525466" duration="46000" />
|
||||||
|
<workItem from="1757401583931" duration="29000" />
|
||||||
|
<workItem from="1757401717530" duration="4191000" />
|
||||||
|
<workItem from="1757411020282" duration="6895000" />
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00001" summary="ai 开始测试">
|
<task id="LOCAL-00001" summary="ai 开始测试">
|
||||||
<option name="closed" value="true" />
|
<option name="closed" value="true" />
|
||||||
@@ -197,15 +239,16 @@
|
|||||||
<option name="LAST_COMMIT_MESSAGE" value="ai 开始测试" />
|
<option name="LAST_COMMIT_MESSAGE" value="ai 开始测试" />
|
||||||
</component>
|
</component>
|
||||||
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
||||||
<SUITE FILE_PATH="coverage/iOSAI$123__1_.coverage" NAME="123 (1) 覆盖结果" MODIFIED="1756897091135" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
|
||||||
<SUITE FILE_PATH="coverage/iOSAI$Main.coverage" NAME="Main Coverage Results" MODIFIED="1757329579933" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" />
|
|
||||||
<SUITE FILE_PATH="coverage/iOSAI$mac_wda_agent.coverage" NAME="mac_wda_agent Coverage Results" MODIFIED="1756473148639" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/script" />
|
|
||||||
<SUITE FILE_PATH="coverage/iOSAI$tidevice_entry.coverage" NAME="tidevice_entry Coverage Results" MODIFIED="1756886706033" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
|
||||||
<SUITE FILE_PATH="coverage/iOSAI$ScriptManager.coverage" NAME="ScriptManager 覆盖结果" MODIFIED="1756896057801" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/script" />
|
|
||||||
<SUITE FILE_PATH="coverage/iOSAI$test.coverage" NAME="test 覆盖结果" MODIFIED="1756467664420" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
|
||||||
<SUITE FILE_PATH="coverage/iOSAI$123.coverage" NAME="123 覆盖结果" MODIFIED="1756300694280" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/test" />
|
|
||||||
<SUITE FILE_PATH="coverage/iOSAI$LogManager.coverage" NAME="LogManager 覆盖结果" MODIFIED="1756711414832" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Utils" />
|
<SUITE FILE_PATH="coverage/iOSAI$LogManager.coverage" NAME="LogManager 覆盖结果" MODIFIED="1756711414832" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Utils" />
|
||||||
|
<SUITE FILE_PATH="coverage/iOSAI$123__1_.coverage" NAME="123 (1) 覆盖结果" MODIFIED="1756897091135" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||||
<SUITE FILE_PATH="coverage/iOSAI$FlaskService.coverage" NAME="FlaskService 覆盖结果" MODIFIED="1756730187792" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Module" />
|
<SUITE FILE_PATH="coverage/iOSAI$FlaskService.coverage" NAME="FlaskService 覆盖结果" MODIFIED="1756730187792" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Module" />
|
||||||
|
<SUITE FILE_PATH="coverage/iOSAI$test.coverage" NAME="test 覆盖结果" MODIFIED="1756467664420" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||||
<SUITE FILE_PATH="coverage/iOSAI$windows_run.coverage" NAME="windows_run Coverage Results" MODIFIED="1756473558532" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/script" />
|
<SUITE FILE_PATH="coverage/iOSAI$windows_run.coverage" NAME="windows_run Coverage Results" MODIFIED="1756473558532" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/script" />
|
||||||
|
<SUITE FILE_PATH="coverage/iOSAI$tidevice_entry.coverage" NAME="tidevice_entry 覆盖结果" MODIFIED="1757061969626" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||||
|
<SUITE FILE_PATH="coverage/iOSAI$mac_wda_agent.coverage" NAME="mac_wda_agent Coverage Results" MODIFIED="1756473148639" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/script" />
|
||||||
|
<SUITE FILE_PATH="coverage/iOSAI$ScriptManager.coverage" NAME="ScriptManager 覆盖结果" MODIFIED="1756896057801" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/script" />
|
||||||
|
<SUITE FILE_PATH="coverage/iOSAI$Main.coverage" NAME="Main 覆盖结果" MODIFIED="1757421681940" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" />
|
||||||
|
<SUITE FILE_PATH="coverage/iOSAI$123.coverage" NAME="123 覆盖结果" MODIFIED="1757418859123" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||||
|
<SUITE FILE_PATH="coverage/iOSAI$2111.coverage" NAME="2111 覆盖结果" MODIFIED="1757330714370" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -206,6 +206,12 @@
|
|||||||
# return True
|
# return True
|
||||||
# return False
|
# return False
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import datetime
|
import datetime
|
||||||
import io
|
import io
|
||||||
@@ -219,22 +225,57 @@ from pathlib import Path
|
|||||||
import requests
|
import requests
|
||||||
|
|
||||||
# ========= 全局:强制 UTF-8(打包 EXE / 无控制台也生效) =========
|
# ========= 全局:强制 UTF-8(打包 EXE / 无控制台也生效) =========
|
||||||
|
# def _force_utf8_everywhere():
|
||||||
|
# os.environ.setdefault("PYTHONUTF8", "1")
|
||||||
|
# os.environ.setdefault("PYTHONIOENCODING", "utf-8")
|
||||||
|
# # windowed 模式下 stdout/stderr 可能没有 buffer,这里做保护包装
|
||||||
|
# try:
|
||||||
|
# if getattr(sys.stdout, "buffer", None):
|
||||||
|
# sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8", errors="replace")
|
||||||
|
# except Exception:
|
||||||
|
# pass
|
||||||
|
# try:
|
||||||
|
# if getattr(sys.stderr, "buffer", None):
|
||||||
|
# sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding="utf-8", errors="replace")
|
||||||
|
# except Exception:
|
||||||
|
# pass
|
||||||
|
#
|
||||||
|
# _force_utf8_everywhere()
|
||||||
|
|
||||||
|
|
||||||
|
# ========= 全局:强制 UTF-8 + 关闭缓冲(运行期立刻生效) =========
|
||||||
def _force_utf8_everywhere():
|
def _force_utf8_everywhere():
|
||||||
os.environ.setdefault("PYTHONUTF8", "1")
|
os.environ.setdefault("PYTHONUTF8", "1")
|
||||||
|
# 等价于 -u:让 stdout/stderr 无缓冲
|
||||||
|
os.environ.setdefault("PYTHONUNBUFFERED", "1")
|
||||||
os.environ.setdefault("PYTHONIOENCODING", "utf-8")
|
os.environ.setdefault("PYTHONIOENCODING", "utf-8")
|
||||||
# windowed 模式下 stdout/stderr 可能没有 buffer,这里做保护包装
|
|
||||||
|
# 若是 3.7+,优先用 reconfigure 实时改流
|
||||||
try:
|
try:
|
||||||
if getattr(sys.stdout, "buffer", None):
|
if hasattr(sys.stdout, "reconfigure"):
|
||||||
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8", errors="replace")
|
sys.stdout.reconfigure(encoding="utf-8", errors="replace",
|
||||||
except Exception:
|
line_buffering=True, write_through=True)
|
||||||
pass
|
elif getattr(sys.stdout, "buffer", None):
|
||||||
try:
|
# 退路:重新包一层,启用行缓冲 + 直写
|
||||||
if getattr(sys.stderr, "buffer", None):
|
sys.stdout = io.TextIOWrapper(
|
||||||
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding="utf-8", errors="replace")
|
sys.stdout.buffer, encoding="utf-8",
|
||||||
|
errors="replace", line_buffering=True
|
||||||
|
)
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
|
try:
|
||||||
|
if hasattr(sys.stderr, "reconfigure"):
|
||||||
|
sys.stderr.reconfigure(encoding="utf-8", errors="replace",
|
||||||
|
line_buffering=True, write_through=True)
|
||||||
|
elif getattr(sys.stderr, "buffer", None):
|
||||||
|
sys.stderr = io.TextIOWrapper(
|
||||||
|
sys.stderr.buffer, encoding="utf-8",
|
||||||
|
errors="replace", line_buffering=True
|
||||||
|
)
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
_force_utf8_everywhere()
|
|
||||||
# ===========================================================
|
# ===========================================================
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import requests
|
import requests
|
||||||
from Entity.Variables import prologueList
|
from Entity.Variables import prologueList
|
||||||
|
from Utils.LogManager import LogManager
|
||||||
|
|
||||||
BaseUrl = "https://crawlclient.api.yolozs.com/api/common/"
|
BaseUrl = "https://crawlclient.api.yolozs.com/api/common/"
|
||||||
|
|
||||||
@@ -23,16 +24,19 @@ class Requester():
|
|||||||
# 翻译
|
# 翻译
|
||||||
@classmethod
|
@classmethod
|
||||||
def translation(cls, msg, country="英国"):
|
def translation(cls, msg, country="英国"):
|
||||||
parame = {
|
try:
|
||||||
"msg": msg,
|
parame = {
|
||||||
"country": country,
|
"msg": msg,
|
||||||
}
|
"country": country,
|
||||||
url = "http://ai.zhukeping.com/translation"
|
}
|
||||||
result = requests.request(url=url, json=parame, method="POST")
|
url = "http://ai.zhukeping.com/translation"
|
||||||
json = result.json()
|
result = requests.request(url=url, json=parame, method="POST")
|
||||||
data = json.get("data")
|
json = result.json()
|
||||||
print(data)
|
data = json.get("data")
|
||||||
return data
|
print(data)
|
||||||
|
return data
|
||||||
|
except Exception as e:
|
||||||
|
LogManager.method_error(f"翻译失败,报错的原因:{e}","翻译失败")
|
||||||
|
|
||||||
# ai聊天
|
# ai聊天
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
49
build.bat
49
build.bat
@@ -1,24 +1,25 @@
|
|||||||
python -m nuitka Module/Main.py ^
|
python -m nuitka "Module/Main.py"^
|
||||||
--standalone ^
|
--standalone^
|
||||||
--msvc=latest ^
|
--msvc=latest^
|
||||||
--windows-console-mode=disable ^
|
--windows-console-mode=disable^
|
||||||
--remove-output ^
|
--remove-output^
|
||||||
--output-dir=out ^
|
--output-dir=out^
|
||||||
--output-filename=IOSAI ^
|
--output-filename=IOSAI^
|
||||||
--include-package=Module,Utils,Entity,script ^
|
--include-package=Module,Utils,Entity,script^
|
||||||
--include-module=flask ^
|
--include-module=flask^
|
||||||
--include-module=flask_cors ^
|
--include-module=flask_cors^
|
||||||
--include-module=jinja2 ^
|
--include-module=jinja2^
|
||||||
--include-module=werkzeug ^
|
--include-module=werkzeug^
|
||||||
--include-module=cv2 ^
|
--include-module=cv2^
|
||||||
--include-module=numpy ^
|
--include-module=numpy^
|
||||||
--include-module=lxml ^
|
--include-module=lxml^
|
||||||
--include-module=lxml.etree ^
|
--include-module=lxml.etree^
|
||||||
--include-module=requests ^
|
--include-module=requests^
|
||||||
--include-module=urllib3 ^
|
--include-module=urllib3^
|
||||||
--include-module=certifi ^
|
--include-module=certifi^
|
||||||
--include-module=idna ^
|
--include-module=idna^
|
||||||
--include-data-dir="E:/Code/python/iOSAI/SupportFiles=SupportFiles" ^
|
--include-data-dir="F:/company code/AI item/20250820/iOSAI/SupportFiles=SupportFiles"^
|
||||||
--include-data-dir="E:/Code/python/iOSAI/resources=resources" ^
|
--include-data-dir="F:/company code/AI item/20250820/iOSAI/resources=resources"^
|
||||||
--include-data-files="E:/Code/python/iOSAI/resources/iproxy/*=resources/iproxy/" ^
|
--include-data-files="F:/company code/AI item/20250820/iOSAI/resources/iproxy/*=resources/iproxy/"^
|
||||||
--windows-icon-from-ico=resources/icon.ico
|
--windows-icon-from-ico="F:/company code/AI item/20250820/iOSAI/resources/icon.ico"
|
||||||
|
|
||||||
|
|||||||
5
requirements.txt
Normal file
5
requirements.txt
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
facebook_wda==1.5.1
|
||||||
|
Flask==3.1.2
|
||||||
|
flask_cors==6.0.1
|
||||||
|
Requests==2.32.5
|
||||||
|
tidevice==0.12.10
|
||||||
@@ -276,6 +276,11 @@ class ScriptManager():
|
|||||||
retries = 0
|
retries = 0
|
||||||
while not event.is_set():
|
while not event.is_set():
|
||||||
try:
|
try:
|
||||||
|
anchor = AiUtils.pop_aclist_first()
|
||||||
|
|
||||||
|
if not anchor:
|
||||||
|
break
|
||||||
|
|
||||||
self.greetNewFollowers(udid, needReply, event)
|
self.greetNewFollowers(udid, needReply, event)
|
||||||
return # 成功执行就退出
|
return # 成功执行就退出
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -467,21 +472,27 @@ class ScriptManager():
|
|||||||
LogManager.method_info("找到输入框了, 准备发送一条打招呼消息", "关注打招呼", udid)
|
LogManager.method_info("找到输入框了, 准备发送一条打招呼消息", "关注打招呼", udid)
|
||||||
|
|
||||||
print("打招呼的数据", ev.prologueList)
|
print("打招呼的数据", ev.prologueList)
|
||||||
LogManager.method_info(f"打招呼的数据:{ev.prologueList}", "关注打招呼", udid)
|
LogManager.method_info(f"传递的打招呼的数据:{ev.prologueList}", "关注打招呼", udid)
|
||||||
|
|
||||||
# 准备打招呼的文案
|
# 准备打招呼的文案
|
||||||
text = random.choice(ev.prologueList)
|
text = random.choice(ev.prologueList)
|
||||||
|
|
||||||
LogManager.method_info(f"打招呼完成", "关注打招呼", udid)
|
LogManager.method_info(f"取出打招呼的数据,{text}, 判断是否需要翻译", "关注打招呼", udid)
|
||||||
|
|
||||||
isContainChniese = AiUtils.contains_chinese(text)
|
isContainChniese = AiUtils.contains_chinese(text)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if isContainChniese:
|
if isContainChniese:
|
||||||
# 翻译成主播国家的语言
|
# 翻译成主播国家的语言
|
||||||
|
LogManager.method_info(f"需要翻译:{text}, 即将进行翻译", "关注打招呼", udid)
|
||||||
|
|
||||||
msg = Requester.translation(text, anchorCountry)
|
msg = Requester.translation(text, anchorCountry)
|
||||||
|
LogManager.method_info(f"翻译成功:{msg}, ", "关注打招呼", udid)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
msg = text
|
msg = text
|
||||||
LogManager.method_info(f"翻译后的私信数据:{msg}", "关注打招呼", udid)
|
LogManager.method_info(f"即将发送的私信内容:{msg}", "关注打招呼", udid)
|
||||||
|
|
||||||
|
|
||||||
# 准备发送一条信息
|
# 准备发送一条信息
|
||||||
@@ -492,7 +503,7 @@ class ScriptManager():
|
|||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
else:
|
else:
|
||||||
print("无法发送信息")
|
print("无法发送信息")
|
||||||
LogManager.method_info(f"给主播{anchor.anchorId} 发送消息失败", "关注打招呼", udid)
|
LogManager.method_info(f"给主播{aid} 发送消息失败", "关注打招呼", udid)
|
||||||
|
|
||||||
# 接着下一个主播
|
# 接着下一个主播
|
||||||
# removeModelFromAnchorList(anchor)
|
# removeModelFromAnchorList(anchor)
|
||||||
@@ -500,8 +511,8 @@ class ScriptManager():
|
|||||||
goBack(4)
|
goBack(4)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print(f"{anchor.anchorId}:该主播没有视频")
|
print(f"{aid}:该主播没有视频")
|
||||||
LogManager.method_info(f"{anchor.anchorId}:该主播没有视频", "关注打招呼", udid)
|
LogManager.method_info(f"{aid}:该主播没有视频", "关注打招呼", udid)
|
||||||
goBack(3)
|
goBack(3)
|
||||||
session.appium_settings({"snapshotMaxDepth": 15})
|
session.appium_settings({"snapshotMaxDepth": 15})
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user