mirror of
https://gitee.com/xmz7891/ykxmz.git
synced 2026-10-19 11:50:45 +00:00
1.7.1:修白屏 + 配对 + 官网管理页分家
手表端 - 修「连上后一片白屏」:initTabs() 从来没被调用过, 导致 tabDefs 为 null、selectTab 直接 return, 标签栏里只剩一个孤立的滑动指示器 - 应用名改成 ykxmz 被控端 - 修「设备已关闭新设备配对」:配对码本身就是密钥, 拿着正确的码就该放行。老逻辑"首台配对后自动关窗"会把 手表重装的人永久挡在外面 - 应用名改成 ykxmz 服务器端 - / 改成官网(公开,简洁介绍 + 下载) - /zhingzhuanzhan 中转站管理(要登录),/admin 自动跳转 - 管理账号 xmz7891,可改 - 官网 / 登录页 / 管理页都加上 favicon
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
r"""应用名统一改成 ykxmz(用户:"直接改成 ykxmz")。
|
||||
|
||||
要改的地方:
|
||||
windows/lanremote/__init__.py APP_NAME = "局域网遥控 被控端" -> "ykxmz"
|
||||
installer/ykxmz.iss MyAppName -> "ykxmz"
|
||||
(安装向导标题、控制面板卸载项都用它)
|
||||
windows/version_info.txt EXE 属性里的产品名
|
||||
|
||||
顺带修测试脚本:不带 --code 时 setup_done 是 false,
|
||||
程序会去弹设置窗口而不会静默监听,所以测试必须带 --code。
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import ast
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(r"C:\Users\shu\Desktop\deepseekagent\LanRemote")
|
||||
INIT = ROOT / "windows" / "lanremote" / "__init__.py"
|
||||
ISS = ROOT / "installer" / "ykxmz.iss"
|
||||
VINFO = ROOT / "windows" / "version_info.txt"
|
||||
TEST = ROOT / "_build" / "test_pair_reopen.py"
|
||||
|
||||
OLD_NAMES = (
|
||||
"ykxmz 教室电脑手表遥控",
|
||||
"局域网遥控 被控端",
|
||||
"局域网遥控 · 被控端",
|
||||
"局域网遥控 被控端(Windows)",
|
||||
)
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ok = True
|
||||
|
||||
# ---- 1. 内部应用名 ----
|
||||
text = INIT.read_text(encoding="utf-8")
|
||||
if 'APP_NAME = "ykxmz"' in text:
|
||||
print(" __init__.py: 已经是 ykxmz")
|
||||
else:
|
||||
for old in OLD_NAMES:
|
||||
text = text.replace(f'"{old}"', '"ykxmz"')
|
||||
INIT.write_text(text, encoding="utf-8", newline="\n")
|
||||
print(" __init__.py: 应用名 -> ykxmz")
|
||||
|
||||
# ---- 2. 安装包显示名 ----
|
||||
itext = ISS.read_text(encoding="utf-8")
|
||||
if '#define MyAppName "ykxmz"' in itext:
|
||||
print(" ykxmz.iss: 已经是 ykxmz")
|
||||
else:
|
||||
for old in OLD_NAMES:
|
||||
itext = itext.replace(f'#define MyAppName "{old}"',
|
||||
'#define MyAppName "ykxmz"')
|
||||
ISS.write_text(itext, encoding="utf-8", newline="\r\n")
|
||||
print(" ykxmz.iss: 安装向导显示名 -> ykxmz")
|
||||
|
||||
# ---- 3. EXE 版本信息里的产品名 ----
|
||||
if VINFO.is_file():
|
||||
vtext = VINFO.read_text(encoding="utf-8")
|
||||
changed = False
|
||||
for old in OLD_NAMES:
|
||||
if f'"{old}"' in vtext:
|
||||
vtext = vtext.replace(f'"{old}"', '"ykxmz"')
|
||||
changed = True
|
||||
if changed:
|
||||
VINFO.write_text(vtext, encoding="utf-8", newline="\n")
|
||||
print(" version_info.txt: 产品名 -> ykxmz")
|
||||
|
||||
# ---- 4. 测试脚本:必须带 --code ----
|
||||
ttext = TEST.read_text(encoding="utf-8")
|
||||
old = ''' [sys.executable, "run_agent.py", "--port", str(PORT), "--new-code"],'''
|
||||
new = ''' # 必须带 --code:不然 setup_done 是 false,
|
||||
# 程序会去弹设置窗口(需要桌面),根本不会静默监听端口。
|
||||
[sys.executable, "run_agent.py", "--port", str(PORT),
|
||||
"--code", "135790", "--silent"],'''
|
||||
if old in ttext:
|
||||
TEST.write_text(ttext.replace(old, new, 1),
|
||||
encoding="utf-8", newline="\n")
|
||||
print(" 测试脚本: 改成带 --code --silent 启动")
|
||||
|
||||
# ---- 复核 ----
|
||||
print()
|
||||
checks = [
|
||||
(INIT, 'APP_NAME = "ykxmz"', "内部应用名"),
|
||||
(ISS, '#define MyAppName "ykxmz"', "安装包显示名"),
|
||||
(TEST, '"--code", "135790"', "测试启动参数"),
|
||||
]
|
||||
for path, needle, label in checks:
|
||||
got = needle in path.read_text(encoding="utf-8")
|
||||
print(f" {label}: {'✓' if got else '✗'}")
|
||||
ok = ok and got
|
||||
|
||||
for path, label in ((INIT, "__init__.py"), (TEST, "测试脚本")):
|
||||
try:
|
||||
ast.parse(path.read_text(encoding="utf-8"))
|
||||
print(f" {label} 语法 OK")
|
||||
except SyntaxError as exc:
|
||||
print(f" [失败] {label} 语法错误: 行 {exc.lineno}: {exc.msg}")
|
||||
ok = False
|
||||
return 0 if ok else 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
Reference in New Issue
Block a user