mirror of
https://gitee.com/xmz7891/ykxmz.git
synced 2026-10-18 13:40:45 +00:00
网页改成白色简洁 + 修官网两个 bug
配色 - 官网 / 登录页 / 管理页从 GitHub 深色风改成白色简洁 (用户的设计理念:所有东西都要白色简洁) - 白底上把浅灰文字换成深色,链接蓝也调深一档保证对比度 修 bug - 管理入口的链接拼接写坏了,页面上显示成 href= + ADMIN_PATH +, 点了打不开管理页 - .lead 用的是深色主题的浅灰,白底上几乎看不见 其他 - 清掉提交信息里的 BOM(PowerShell 的 Set-Content 加的)
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
1.7.1:修白屏 + 配对 + 官网管理页分家
|
||||
|
||||
手表端
|
||||
- 修「连上后一片白屏」:initTabs() 从来没被调用过,
|
||||
导致 tabDefs 为 null、selectTab 直接 return,
|
||||
标签栏里只剩一个孤立的滑动指示器
|
||||
- 应用名改成 ykxmz
|
||||
|
||||
被控端
|
||||
- 修「设备已关闭新设备配对」:配对码本身就是密钥,
|
||||
拿着正确的码就该放行。老逻辑"首台配对后自动关窗"会把
|
||||
手表重装的人永久挡在外面
|
||||
- 应用名改成 ykxmz
|
||||
|
||||
服务器端
|
||||
- / 改成官网(公开,简洁介绍 + 下载)
|
||||
- /zhingzhuanzhan 中转站管理(要登录),/admin 自动跳转
|
||||
- 管理账号 xmz7891,可改
|
||||
- 官网 / 登录页 / 管理页都加上 favicon
|
||||
@@ -0,0 +1,14 @@
|
||||
网页改成白色简洁 + 修官网两个 bug
|
||||
|
||||
配色
|
||||
- 官网 / 登录页 / 管理页从 GitHub 深色风改成白色简洁
|
||||
(用户的设计理念:所有东西都要白色简洁)
|
||||
- 白底上把浅灰文字换成深色,链接蓝也调深一档保证对比度
|
||||
|
||||
修 bug
|
||||
- 管理入口的链接拼接写坏了,页面上显示成 href= + ADMIN_PATH +,
|
||||
点了打不开管理页
|
||||
- .lead 用的是深色主题的浅灰,白底上几乎看不见
|
||||
|
||||
其他
|
||||
- 清掉提交信息里的 BOM(PowerShell 的 Set-Content 加的)
|
||||
@@ -0,0 +1,20 @@
|
||||
ykxmz 1.5.0:手表端 TLS 证书兼容 + 三端分开打包 + 下载区
|
||||
|
||||
手表端
|
||||
- 内置 GTS Root R4 / GlobalSign Root CA
|
||||
修 SSLHandshakeException: Chain validation failed
|
||||
- 连接错误翻译成人话:证书 / 时间 / 解析 / 超时分别给提示
|
||||
- 经中转连上后用服务器报的地址刷新已配对记录
|
||||
- 版本号 1.3.0 -> 1.5.0(AndroidManifest 之前漏改了)
|
||||
|
||||
服务器端
|
||||
- 支持 chunked 请求体,修每 16 秒一次的连接错乱与大面积 502
|
||||
- 网络调优 net-tune.sh(开机自动应用)
|
||||
- 新增下载区,管理页加下载卡片
|
||||
- 隧道改 HTTP/2 + 双连接
|
||||
|
||||
打包方式变更
|
||||
- 从一个合并 zip 改成三个独立产物:
|
||||
ykxmz-agent-*.zip 被控端
|
||||
ykxmz-server-*.zip 服务器端
|
||||
ykxmz-watch-*.apk 控制端
|
||||
@@ -0,0 +1,74 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
r'''修官网上残留的两个问题。
|
||||
|
||||
1. 管理入口的链接拼接写坏了
|
||||
生成的源码里是:
|
||||
· <a href="""" + ADMIN_PATH + """">管理入口</a>
|
||||
结果是页面上真的显示成 href= + ADMIN_PATH +,
|
||||
点了打不开管理页。改成直接写字面路径。
|
||||
|
||||
2. .lead{color:#c9d1d9} 是给深色底配的浅灰,
|
||||
白底上几乎看不见。换成深色。
|
||||
'''
|
||||
from __future__ import annotations
|
||||
|
||||
import ast
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(r"C:\Users\shu\Desktop\deepseekagent\LanRemote")
|
||||
sys.path.insert(0, str(ROOT / "_build"))
|
||||
|
||||
from devssh import run, upload # noqa: E402
|
||||
|
||||
RELAY = ROOT / "relay" / "relay.py"
|
||||
|
||||
FIXES = [
|
||||
# 管理入口链接
|
||||
(''' · <a href="""" + ADMIN_PATH + """">管理入口</a>''',
|
||||
''' · <a href="/zhingzhuanzhan">管理入口</a>'''),
|
||||
# 白底上看不见的浅灰
|
||||
("color:#c9d1d9", "color:#1f2328"),
|
||||
]
|
||||
|
||||
|
||||
def main() -> int:
|
||||
text = RELAY.read_text(encoding="utf-8")
|
||||
changed = []
|
||||
|
||||
for old, new in FIXES:
|
||||
if new in text:
|
||||
continue
|
||||
if old in text:
|
||||
text = text.replace(old, new)
|
||||
changed.append(old[:50])
|
||||
|
||||
if changed:
|
||||
RELAY.write_text(text, encoding="utf-8", newline="\n")
|
||||
for c in changed:
|
||||
print(f" 修好: {c}")
|
||||
else:
|
||||
print(" 没有要修的")
|
||||
|
||||
ast.parse(text)
|
||||
print(" 语法 OK")
|
||||
|
||||
# 复核
|
||||
print()
|
||||
print(" 复核:")
|
||||
has_link = 'href="/zhingzhuanzhan"' in text
|
||||
no_light = "#c9d1d9" not in text
|
||||
print(" 管理入口链接写字面量: " + ("✓" if has_link else "✗"))
|
||||
print(" 没有残留的 #c9d1d9: " + ("✓" if no_light else "✗"))
|
||||
|
||||
print()
|
||||
print(" 部署…")
|
||||
upload(str(RELAY), "/root/lanremote-relay/relay.py", 0o755)
|
||||
run("systemctl restart lanremote-relay", timeout=90)
|
||||
_c, out, _e = run("sleep 5; bash /root/check_web.sh 2>&1", timeout=200)
|
||||
print(out[-1000:])
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
@@ -0,0 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
r'''清掉提交信息开头的 BOM。
|
||||
|
||||
现象:Gitee 上提交记录显示 "1.7.1:修白屏...",
|
||||
开头那个看不见的字符就是 BOM ——
|
||||
PowerShell 的 Set-Content -Encoding UTF8 会加上它。
|
||||
|
||||
这个脚本给 git filter-branch --msg-filter 用。
|
||||
'''
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
|
||||
|
||||
def main() -> int:
|
||||
raw = sys.stdin.buffer.read()
|
||||
# 直接按字节去掉开头的 BOM,别先解码
|
||||
if raw.startswith(b"\xef\xbb\xbf"):
|
||||
raw = raw[3:]
|
||||
# 正文里也可能混进 BOM,一并清掉
|
||||
raw = raw.replace(b"\xef\xbb\xbf", b"")
|
||||
sys.stdout.buffer.write(raw)
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
@@ -0,0 +1,90 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
r'''把三个网页从深色改成白色简洁(用户的设计理念)。
|
||||
|
||||
用户:"所有东西都要白色简洁,这是我的设计理念"
|
||||
|
||||
当前配色(GitHub 深色风):
|
||||
#0d1117 页面底色
|
||||
#161b22 面板
|
||||
#1c2128 面板2
|
||||
#30363d 边框
|
||||
#e6edf3 主文字
|
||||
#8b949e 次要文字
|
||||
#6e7681 更淡的文字
|
||||
|
||||
改成白色简洁(GitHub 浅色风):
|
||||
#ffffff 页面底色
|
||||
#ffffff 面板
|
||||
#f6f8fa 面板2
|
||||
#d0d7de 边框
|
||||
#1f2328 主文字
|
||||
#656d76 次要文字
|
||||
#8b949e 更淡的文字
|
||||
|
||||
注意:只改 CSS 里的颜色值,不动别的逻辑。
|
||||
有些颜色(蓝/绿/红)在浅色底上对比度也够,保留。
|
||||
'''
|
||||
from __future__ import annotations
|
||||
|
||||
import ast
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
RELAY = Path(r"C:\Users\shu\Desktop\deepseekagent\LanRemote\relay" r"\relay.py")
|
||||
|
||||
# 深 -> 浅。用带 # 的完整形式,避免误伤。
|
||||
MAP = [
|
||||
("#0d1117", "#ffffff"), # 页面底色
|
||||
("#161b22", "#ffffff"), # 面板
|
||||
("#1c2128", "#f6f8fa"), # 面板2(略灰,用来区分层次)
|
||||
("#21262d", "#eaeef2"), # 分隔线
|
||||
("#30363d", "#d0d7de"), # 边框
|
||||
("#e6edf3", "#1f2328"), # 主文字
|
||||
("#8b949e", "#656d76"), # 次要文字
|
||||
("#6e7681", "#8b949e"), # 更淡的文字
|
||||
# 深色底上的高亮色,浅色底要换深一档才有对比度
|
||||
("#79c0ff", "#0969da"), # 链接蓝
|
||||
("#58a6ff", "#0969da"),
|
||||
("#2f81f7", "#0969da"),
|
||||
("#3fb950", "#1a7f37"), # 绿
|
||||
("#d29922", "#9a6700"), # 黄
|
||||
]
|
||||
|
||||
|
||||
def main() -> int:
|
||||
text = RELAY.read_text(encoding="utf-8")
|
||||
original = text
|
||||
counts = {}
|
||||
|
||||
for dark, light in MAP:
|
||||
n = text.count(dark)
|
||||
if n:
|
||||
text = text.replace(dark, light)
|
||||
counts[dark] = n
|
||||
|
||||
if text == original:
|
||||
print(" 颜色已经是浅色,没要改的")
|
||||
return 0
|
||||
|
||||
RELAY.write_text(text, encoding="utf-8", newline="\n")
|
||||
print(" 换掉的颜色:")
|
||||
for dark, n in counts.items():
|
||||
light = dict(MAP)[dark]
|
||||
print(f" {dark} -> {light} ({n} 处)")
|
||||
|
||||
try:
|
||||
ast.parse(text)
|
||||
print()
|
||||
print(" relay.py 语法 OK")
|
||||
except SyntaxError as exc:
|
||||
print(f" [失败] 语法错误: 行 {exc.lineno}: {exc.msg}")
|
||||
return 1
|
||||
|
||||
# 复核:不该再有深色底
|
||||
left = [d for d, _ in MAP if d in text]
|
||||
print(f" 残留的深色值: {left if left else '无 ✓'}")
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
Reference in New Issue
Block a user