From b3cd115bd9b75d6f95dc90e457462ee4a2c28f04 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 1 Nov 2026 18:48:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(design):=20=E4=B8=BB=E8=89=B2=E7=94=B1?= =?UTF-8?q?=E5=A2=A8=E6=9D=BE=E7=BB=BF=E6=94=B9=E4=B8=BA=E6=99=AF=E6=B3=B0?= =?UTF-8?q?=E8=93=9D=E8=93=9D=E7=B3=BB=EF=BC=8CLogo=20=E4=B8=8E=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 纸白底改冷调与主色同轴;语义色 sage/wheat/rust 不变,sky 提亮与主色区分。Logo 三段线改浅蓝白、圆点改亮蓝;favicon/PWA 图标/安卓自适应图标/状态栏一并重绘,新增 tools/make-icons.py 作为唯一出处。 --- .gitignore | 3 + 2.Design/ROADMAP-M0-M1.md | 4 +- 2.Design/screens/android-icon-512.png | Bin 22077 -> 22550 bytes README.md | 2 +- android/README.md | 2 +- .../java/com/dadao/task/ui/KnowledgeScreen.kt | 2 +- .../com/dadao/task/ui/RichTextEditorScreen.kt | 2 +- .../src/main/java/com/dadao/task/ui/Theme.kt | 28 +++---- .../res/drawable/ic_launcher_foreground.xml | 8 +- android/app/src/main/res/values/colors.xml | 4 +- android/app/src/main/res/values/themes.xml | 4 +- tools/make-icons.py | 76 ++++++++++++++++++ web/index.html | 6 +- web/public/icons/apple-touch-icon.png | Bin 3160 -> 4048 bytes web/public/icons/icon-192.png | Bin 7153 -> 7211 bytes web/public/icons/icon-512.png | Bin 22359 -> 22550 bytes web/public/icons/maskable-512.png | Bin 8659 -> 9883 bytes web/src/components/icons.tsx | 6 +- web/tailwind.config.js | 65 +++++++-------- 19 files changed, 146 insertions(+), 66 deletions(-) create mode 100644 tools/make-icons.py diff --git a/.gitignore b/.gitignore index f7a0ce1..9c96374 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,6 @@ backend/pytest-of-*/ # Vditor 运行时资源(lute/i18n/icons,约 3.8 MB) # 由 web/scripts/vendor-vditor.mjs 从 node_modules 生成,不进版本库 web/public/vditor/ + +# 本机部署/调试的临时脚本与缓存 +.tmp/ diff --git a/2.Design/ROADMAP-M0-M1.md b/2.Design/ROADMAP-M0-M1.md index 40e92f9..8415e82 100644 --- a/2.Design/ROADMAP-M0-M1.md +++ b/2.Design/ROADMAP-M0-M1.md @@ -359,7 +359,7 @@ 重做不是换配色,而是**先立设计系统、再让页面去用它**,否则下次还是东拼西凑。 ### 4.1 设计系统(两端共用一套 token) -- [x] 色板:纸白 `paper`、墨绿 `primary`、陶土橙 `clay`,语义色 sage/wheat/rust/sky(Web `tailwind.config.js`,安卓 `ui/Theme.kt` 同名同值) +- [x] 色板:纸白 `paper`、景泰蓝 `primary`、陶土橙 `clay`,语义色 sage/wheat/rust/sky(Web `tailwind.config.js`,安卓 `ui/Theme.kt` 同名同值)(2026-11-01 主色由墨绿改蓝系,语义色不变) - [x] 字号阶:11/12/13/14/15/18/22/26/36,正文 14、辅助 11/12;细描边 + 极轻投影 + 14dp 圆角 - [x] 组件:卡片 / 按钮(primary、ghost、subtle、clay、danger)/ 状态 pill / 输入 / 空态 / 骨架屏 / 抽屉 - [x] 图标:Web 用自绘线性图标集(`components/icons.tsx`),安卓用 Material Icons + 少量自绘,线宽一致 @@ -436,7 +436,7 @@ - [x] `ui/UpdateDialog.kt`:当前/新版本号、更新说明、下载进度、失败重试;「允许安装未知应用」只跳系统设置,不代点 - [x] 权限回来那一跳要接住:用户在系统设置里开完开关回到 App,再点同一个按钮时先复查权限,开了就直接装——否则按钮点了没反应 - [x] 启动时自动查一次;首页底部有「检查更新」手动入口,结果用一句话回给用户 -- [x] 图标换成与 Web 的 `` 同一套图形(墨绿圆角底 + 三条米白圆头线 + 陶土点),生成 `mipmap-*/ic_launcher{,_round}.png` 与自适应图标 `mipmap-anydpi-v26/ic_launcher{,_round}.xml`,512px 预览存 `2.Design/screens/android-icon-512.png` +- [x] 图标换成与 Web 的 `` 同一套图形(景泰蓝圆角底 + 三条浅蓝白圆头线 + 亮蓝点),生成 `mipmap-*/ic_launcher{,_round}.png` 与自适应图标 `mipmap-anydpi-v26/ic_launcher{,_round}.xml`,512px 预览存 `2.Design/screens/android-icon-512.png` - [x] 版本 `versionCode = 2` / `versionName = "0.2.0"`;发布签名从 `android/keystore.properties` 读,无该文件时回落调试签名(保证别人 clone 下来也能 `assembleRelease`) ### 6.3 构建环境(本机踩过的坑) diff --git a/2.Design/screens/android-icon-512.png b/2.Design/screens/android-icon-512.png index 78ceb41bbee0d86b1b2b4be44d3a4a86d4bfb769..82bbb6264197e98acd632d94f75dc2c95d8d7ddd 100644 GIT binary patch literal 22550 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 diff --git a/android/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml index cef75a5..19681ca 100644 --- a/android/app/src/main/res/values/colors.xml +++ b/android/app/src/main/res/values/colors.xml @@ -1,5 +1,5 @@ - - #2F6054 + + #274B73 diff --git a/android/app/src/main/res/values/themes.xml b/android/app/src/main/res/values/themes.xml index 7412c85..a12cb34 100644 --- a/android/app/src/main/res/values/themes.xml +++ b/android/app/src/main/res/values/themes.xml @@ -2,7 +2,7 @@ diff --git a/tools/make-icons.py b/tools/make-icons.py new file mode 100644 index 0000000..3c07cb8 --- /dev/null +++ b/tools/make-icons.py @@ -0,0 +1,76 @@ +"""按 Web Logo(icons.tsx 的 )重绘 PWA 图标:景泰蓝底 + 三条浅蓝白线 + 一点亮蓝。 + +用法:python tools/make-icons.py +输出覆盖 web/public/icons/*.png(与 SVG 同一套比例:64 画布,rx=18,线宽 4,点半径 6)。 +""" + +from __future__ import annotations + +from pathlib import Path + +from PIL import Image, ImageDraw + +ROOT = Path(__file__).resolve().parents[1] +OUT = ROOT / "web" / "public" / "icons" + +BG = "#274B73" +LINE = "#EAF3FB" +DOT = "#5CA8E8" + +SS = 8 # 超采样倍数,边缘才不毛 + + +def draw(size: int, *, rounded: bool, inset: float = 0.0) -> Image.Image: + """在 size×size 上画 logo。inset 是安全区留白比例(maskable 图标要留)。""" + big = size * SS + img = Image.new("RGBA", (big, big), (0, 0, 0, 0)) + d = ImageDraw.Draw(img) + + if rounded: + d.rounded_rectangle([0, 0, big - 1, big - 1], radius=big * 18 / 64, fill=BG) + else: + d.rectangle([0, 0, big, big], fill=BG) + + # 64 画布坐标 → 像素;inset 让图形整体缩小居中(给 maskable 留安全区) + scale = big / 64 * (1 - 2 * inset) + off = big * inset + + def box(x: float, y: float) -> tuple[float, float]: + return off + x * scale, off + y * scale + + stroke = max(1, round(4 * scale)) + for y, x2 in ((23, 46), (32, 37), (41, 30)): + x1, yy = box(18, y) + d.line([x1, yy, *box(x2, y)], fill=LINE, width=stroke) + # 圆头:PIL 的 line 没有 cap,用小圆补两端 + r = stroke / 2 + for cx, cy in ((x1, yy), box(x2, y)): + d.ellipse([cx - r, cy - r, cx + r, cy + r], fill=LINE) + + cx, cy = box(46, 41) + r = 6 * scale + d.ellipse([cx - r, cy - r, cx + r, cy + r], fill=DOT) + + return img.resize((size, size), Image.LANCZOS) + + +def main() -> None: + OUT.mkdir(parents=True, exist_ok=True) + # 圆角版:favicon 之外的常规 PWA 图标 + draw(192, rounded=True).save(OUT / "icon-192.png") + draw(512, rounded=True).save(OUT / "icon-512.png") + # iOS 会自己裁圆角,底图必须是方的 + draw(180, rounded=False).save(OUT / "apple-touch-icon.png") + # maskable:图形缩进 12% 安全区 + draw(512, rounded=False, inset=0.12).save(OUT / "maskable-512.png") + # 文档里引用的安卓图标预览 + preview = ROOT / "2.Design" / "screens" / "android-icon-512.png" + preview.parent.mkdir(parents=True, exist_ok=True) + draw(512, rounded=True).save(preview) + for p in sorted(OUT.glob("*.png")): + print(p.relative_to(ROOT), Image.open(p).size) + print(preview.relative_to(ROOT), Image.open(preview).size) + + +if __name__ == "__main__": + main() diff --git a/web/index.html b/web/index.html index c6eed9b..b265564 100644 --- a/web/index.html +++ b/web/index.html @@ -5,13 +5,13 @@ 达道Task - + - + diff --git a/web/public/icons/apple-touch-icon.png b/web/public/icons/apple-touch-icon.png index d19f7d3c6d8e0cd244f6d072e129e4ec99fee4aa..2610586e87013e19e860034b7ed5356303643921 100644 GIT binary patch literal 4048 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 literal 3160 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 literal 8659 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 diff --git a/web/src/components/icons.tsx b/web/src/components/icons.tsx index a147fc7..241bd03 100644 --- a/web/src/components/icons.tsx +++ b/web/src/components/icons.tsx @@ -290,13 +290,13 @@ export const Spinner = ({ size = 16, className = "" }: { size?: number; classNam export const Logo = ({ size = 28 }: { size?: number }) => ( - + - + ); diff --git a/web/tailwind.config.js b/web/tailwind.config.js index e03b597..b39d57e 100644 --- a/web/tailwind.config.js +++ b/web/tailwind.config.js @@ -6,42 +6,42 @@ export default { colors: { // 底色:暖白纸面,不用纯白,避免刺眼、也让卡片有层次 paper: { - 50: "#FCFCFA", - 100: "#F7F7F3", - 200: "#F0F0EA", - 300: "#E6E6DE", + 50: "#F9FAFC", + 100: "#F3F5F9", + 200: "#E9EDF3", + 300: "#DFE5ED", }, - // 分隔线与描边 + // 分隔线与描边(冷灰,跟蓝主色同一个中性轴) line: { - 100: "#ECECE6", - 200: "#E1E1D9", - 300: "#D2D2C8", + 100: "#EDEFF3", + 200: "#E2E6EC", + 300: "#D3D9E1", }, // 文字与中性 ink: { - 50: "#F6F8F7", - 100: "#E9EDEB", - 200: "#D7DDDA", - 300: "#BAC3C0", - 400: "#96A19D", - 500: "#6D7874", - 600: "#4E5956", - 700: "#39443F", - 800: "#252E2A", - 900: "#161C1A", + 50: "#F6F8FA", + 100: "#E9EEF3", + 200: "#D7DEE7", + 300: "#B8C2CE", + 400: "#929EAD", + 500: "#6C7788", + 600: "#4E5867", + 700: "#3A4352", + 800: "#262D39", + 900: "#161C25", }, - // 主色:墨松绿,克制、有"工作台"气质,避开任务工具常见的荧光蓝 + // 主色:景泰蓝(沉一点的靛蓝),克制、有"工作台"气质,避开任务工具常见的荧光蓝 primary: { - 50: "#EFF5F3", - 100: "#DBE9E4", - 200: "#B7D2C9", - 300: "#8CB6A9", - 400: "#619688", - 500: "#41796A", - 600: "#2F6054", - 700: "#264E44", - 800: "#1E3E36", - 900: "#172F29", + 50: "#EFF5FB", + 100: "#DCE9F7", + 200: "#B9D3EC", + 300: "#8FB6DD", + 400: "#6094C8", + 500: "#3E76AC", + 600: "#2E5D8D", + 700: "#274B73", + 800: "#1F3B5B", + 900: "#1A2F48", }, // 强调色:陶土橙,只用在"需要人注意"的地方 clay: { @@ -59,7 +59,8 @@ export default { sage: { 500: "#2F7D5E", 50: "#EAF4EF" }, wheat: { 500: "#A97C25", 50: "#F8F1E2" }, rust: { 500: "#B04A32", 50: "#FAEDE9" }, - sky: { 500: "#3E6F91", 50: "#EBF2F7" }, + // 信息色:比主色更亮更青一档,免得和 primary 的「进行中」糊在一起 + sky: { 500: "#2F86B0", 50: "#E8F4FA" }, }, fontFamily: { sans: [ @@ -93,8 +94,8 @@ export default { "3xl": "24px", }, boxShadow: { - card: "0 1px 2px rgba(22,28,26,0.04), 0 8px 24px -16px rgba(22,28,26,0.35)", - pop: "0 2px 6px rgba(22,28,26,0.06), 0 20px 48px -24px rgba(22,28,26,0.35)", + card: "0 1px 2px rgba(20,27,36,0.04), 0 8px 24px -16px rgba(20,27,36,0.35)", + pop: "0 2px 6px rgba(20,27,36,0.06), 0 20px 48px -24px rgba(20,27,36,0.35)", inset: "inset 0 1px 0 rgba(255,255,255,0.6)", }, keyframes: {