# -*- coding: utf-8 -*- r'''官网细节打磨。 看截图发现的问题: 1. 导航还是老的四个链接,新增的「长什么样」「怎么连上的」进不去 2. 手表 mockup 的状态栏「已连接 · 局域网 3 ms」被挤到换行 3. 连接示意的图标(⌚☁🖥)太小太淡,看不清 4. 电脑端截图直接贴了窗口标题栏,显得毛糙 —— 加个浅色边框和内边距 ''' from __future__ import annotations import ast import sys from pathlib import Path ROOT = Path(r"C:\Users\shu\Desktop\deepseekagent\LanRemote") LANDING = ROOT / "relay" / "landing.py" SHOWCASE = ROOT / "relay" / "showcase.py" def polish_landing() -> None: text = LANDING.read_text(encoding="utf-8") changed = [] # 1) 导航加链接 old_nav = '''
''' new_nav = ''' ''' if old_nav in text: text = text.replace(old_nav, new_nav, 1) changed.append("导航链接") LANDING.write_text(text, encoding="utf-8", newline="\n") try: ast.parse(text) print(" landing.py 语法 OK") except SyntaxError as exc: print(" [失败] landing.py 行 %s: %s" % (exc.lineno, exc.msg)) for item in changed: print(" 改了: %s" % item) def polish_showcase() -> None: text = SHOWCASE.read_text(encoding="utf-8") changed = [] # 2) 状态栏:把「已连接 · 局域网 3 ms」拆短,别挤 old = '● 已连接 · 局域网 3 ms' new = '● 局域网 3 ms' if old in text: text = text.replace(old, new, 1) changed.append("状态栏文案") # 3) 图标放大 + 连线加粗,并给节点一个底色圆 css_fixes = [ # 节点图标更大更清晰 (".node{display:flex;flex-direction:column;align-items:center;gap:4px;\n" " font-size:22px;flex:none}", ".node{display:flex;flex-direction:column;align-items:center;gap:6px;\n" " font-size:26px;flex:none;width:64px}"), (".node span{font-size:11px;color:#6b7280}", ".node span{font-size:12px;color:#4b5563;font-weight:500}"), (".node.relay{font-size:19px}", ".node.relay{font-size:24px}"), # 连线更明显 (".link .line{width:100%%;height:2px;background:#d1d5db;border-radius:2px}", ".link .line{width:100%%;height:2px;background:#c7cdd6;\n" " border-radius:2px}"), # 手表状态栏字号再小一点,保证一行放得下 (".w-status{display:flex;justify-content:space-between;align-items:center;\n" " padding:11px 13px 7px;font-size:10px;font-weight:600}", ".w-status{display:flex;justify-content:space-between;align-items:center;\n" " padding:11px 12px 7px;font-size:9px;font-weight:600;\n" " gap:6px;white-space:nowrap}"), # 电脑端截图:加个浅色容器,别让窗口标题栏直接贴边 (".pcshot img{width:100%%;max-width:360px;height:auto;\n" " border:1px solid %(W_BORDER)s;border-radius:12px;\n" " box-shadow:0 18px 40px rgba(16,24,40,.14)}", ".pcshot img{width:100%%;max-width:352px;height:auto;\n" " border-radius:10px;display:block;margin:0 auto;\n" " box-shadow:0 18px 40px rgba(16,24,40,.16)}\n" ".pcshot{padding:14px;background:#f2f4f7;border-radius:16px;\n" " border:1px solid %(W_BORDER)s}"), ] for old_css, new_css in css_fixes: if old_css in text: text = text.replace(old_css, new_css, 1) changed.append("样式") SHOWCASE.write_text(text, encoding="utf-8", newline="\n") try: ast.parse(text) print(" showcase.py 语法 OK") except SyntaxError as exc: print(" [失败] showcase.py 行 %s: %s" % (exc.lineno, exc.msg)) print(" 改了 %d 处" % len(changed)) def main() -> int: print(" 一、landing.py") polish_landing() print() print(" 二、showcase.py") polish_showcase() return 0 if __name__ == "__main__": sys.exit(main())