我在幹什麼#
Tauri#
最近又有新的需求,決定拿 tauri 糊。serialport 用著沒啥問題。
tauri 有個 tauri::ipc::Channel 可以直接作為 #[tauri::command] 的引數,前端那裡放個 event handler 就行。至於單次的串列埠讀寫/polling之間,照例還是 Mutex,方便解耦 & 在讀寫前後寫點處理資料的程式碼。
Carbon Design System#
前端準備還是用點其他的框架(指非 Svelte)。嘗試了 Carbon Design System 的 Vue 庫 @carbon/vue3,“文件”僅有個故事書 ,怎麼寫都渲染不出來,感覺是漏了 CSS 什麼的。這個設計系統是以前用 Svelte 時為數不多的選擇——其他要麼需要 install package per component 如 Svelte Material UI ,要麼是 atomic 的需要 Tailwind(如圖)。
而且 Carbon 不愧是老牌 IBM 廠設計的,配合著自家的 IBM Plex Sans (SC) / Mono,給人樸實、硬朗的感覺,非常清爽。雖然看著可能沒有什麼細節上的動效,但是總比隔壁天天在 YT 上拿渲染出來的概念動畫 發 Shorts 務實——後者的實際體驗完全不是那麼一回事。
群友閱讀本文的預印本後,說:
y****
可惜現在 LLM 只會用 tailwind,沒救了
2025/11/19 16:45
從新版 office 圖示來看,這家公司已經徹底沒救了
2025/11/19 16:46
IBM 可能還在用自己的大型機,所以沒有被 MACos 腐蝕腦子
2025/11/19 16:47
Vibe Coding#
一個需求是做一個嵌在軟體裡面的 manual。讓我回想起我小時候用的軟體都有
chm 什麼的。下面是其中一天的歪卜摳頂的對話記錄:
@workspace
- 給 PROJECT 寫文件
- 現在 我有一個比較特殊的需求:客戶需要一個比較傳統的 software manual。
- 下面,請你在 status bar 的末端加一個撳鈕,開啟一個全屏的manual介面。其中複用現有的元件來介紹功能。 AI View details Browse files View details Collecting workspace information
AI View details Browse files View details 我會幫你在狀態列末端新增一個按鈕,開啟全屏的軟體手冊介面。讓我建立相關的元件和修改:
Full Response 這個方案提供了:
完整的使用手冊介面 :使用 Carbon Design System 的 Modal 和 Tabs 元件
四個主要章節 :
概述:軟體介紹、功能、系統要求
主介面:詳細介紹各個介面區域
標定模式:說明兩種模式和偏差計算
操作流程:分步驟的操作指南和故障排除
複用現有元件 :
CalibrationModeSelector 用於演示標定模式
DataDisplay 用於展示資料佈局
狀態列元素用於說明底部資訊欄
狀態列按鈕 :在 StatusBar 末端新增使用手冊按鈕,點選開啟全屏手冊
友好的排版 :清晰的標題層級、充足的間距、合理的配色
這樣客戶可以隨時開啟手冊檢視軟體的詳細使用說明!
你這邊不對——
1. please 說明 開始/停止 和其他按鈕的 disabled 的狀態變化
2. 缺少開啟原廠軟體的按鈕介紹(雖然目前還沒實現)
AI View details Browse files View details Full Response Using "Replace String in File" Tool usage 現在修改了手冊中控制欄的說明,包括:
詳細說明了按鈕的 disabled 狀態變化 :
串列埠輸入框:監測停止時可編輯,執行時禁用
開始/停止按鈕:始終可用,會根據狀態切換文字和顏色
切換原廠軟體:僅在停止時可用
退出按鈕:僅在停止時可用,執行時禁用
新增了按鈕的介紹 :
說明其功能是啟動裝置原廠配套軟體
解釋點選後會隱藏當前視窗
說明原廠軟體關閉後會自動返回
在演示區域也新增了該按鈕 ,使用 Settings 圖示來展示
這樣使用者就能清楚地瞭解每個控制元件在不同狀態下的行為了!
Made changes.
這個縮放會讓 Manual 的 Modal 佈局錯誤(超出螢幕),但是我又不能 刪掉這個
AI View details Browse files View details 我理解了,全域性的 zoom: 1.2 會影響 Modal 的佈局。我們可以在 Manual 的 Modal 上重置 zoom。讓我修改 CSS:
Full Response Using "Replace String in File" Tool usage
Read [](file:///c%3A/.../PROJECT/src/App.css#130-130), lines 130 to 170 Tool usage 我看到問題了,有一個 // ...existing code... 的註釋造成了錯誤。讓我修復它:
Using "Replace String in File" Tool usage AI View details Browse files View details 我來修改 Manual 中的演示按鈕,讓它們顯示正確的顏色狀態而不是都禁用:
Full Response Using "Replace String in File" Tool usage
完成!我已經將演示按鈕從 disabled 改為使用 pointerEvents: "none",這樣:
✅ "開始監測" 按鈕顯示為藍色主按鈕(kind="primary")
✅ "停止監測" 按鈕顯示為紅色危險按鈕(kind="danger")
✅ "切換原廠軟體" 按鈕顯示為灰色第三級按鈕(kind="tertiary")
✅ "退出" 按鈕顯示為紅色第三級按鈕(kind="danger--tertiary")
所有按鈕都保持了正確的顏色,但透過 pointerEvents: "none" 阻止點選,這樣在手冊中就能看到它們正常的視覺效果了!
Made changes.
AI View details Browse files View details 我來把 Markdown 格式的列表改成 HTML 列表:
Full Response Using "Replace String in File" Tool usage
完成!我已經將 Markdown 風格的列表(使用 • 和 - 以及 <br /> 和 )改成了正確的 HTML 巢狀列表結構:
使用 <ul> 和 <li> 標籤
主要專案作為一級列表
詳細說明作為巢狀的二級列表
新增了適當的間距樣式
這樣語義更清晰,樣式也更容易控制!
Made changes.
請把四個 tab 拆成4個 components檔案
AI View details Browse files View details Full Response Created [](file:///c%3A/.../PROJECT/src/components/manual/OverviewTab.tsx) Tool usage
Created [](file:///c%3A/.../PROJECT/src/components/manual/InterfaceTab.tsx) Tool usage
Created [](file:///c%3A/.../PROJECT/src/components/manual/CalibrationTab.tsx) Tool usage
Created [](file:///c%3A/.../PROJECT/src/components/manual/WorkflowTab.tsx) Tool usage 現在更新 Manual.tsx 來使用這些新元件:
Using "Replace String in File" Tool usage
Using "Replace String in File" Tool usage
現在替換 TabPanels 的內容:
Made changes.
AI View details Browse files View details 讓我重新替換 Manual.tsx 中的 TabPanels 部分:
Full Response Using "Replace String in File" Tool usage
AI View details Browse files View details Full Response Read [](file:///c%3A/.../PROJECT/src/Manual.tsx#115-115), lines 115 to 250 Tool usage
Using "Replace String in File" Tool usage
Read [](file:///c%3A/.../PROJECT/src/Manual.tsx#125-125), lines 125 to 400 Tool usage 我看到問題了,還有重複的內容。讓我刪除這些重複的部分:
Using "Replace String in File" Tool usage
完成!我已經成功將四個 Tab 拆分成獨立的元件檔案:
OverviewTab.tsx - 概述標籤,包含軟體簡介、主要功能和系統要求
InterfaceTab.tsx - 主介面標籤,展示控制欄、資料展示區和狀態列
CalibrationTab.tsx - 標定模式標籤,說明兩種標定模式和偏差計算
WorkflowTab.tsx - 操作流程標籤,提供分步驟操作指南和故障排除
現在 Manual.tsx 變得更加簡潔,只負責組織這些Tab元件的結構,而每個Tab的具體內容都在獨立的元件檔案中,便於維護和複用!
Made changes.
由於不會在 Windows on ARM 上交叉編譯 x64 的 Rust 程式,所以我最後掏出了我的舊的華為筆記本。
區域網開了一個 http-server,在 client 機器上下載執行的時候非常麻煩,首先是 Edge 會千方百計地阻止你下載這個程式;其次還會有司馬的Screen 彈窗。最後將軟體刻進光碟,和機器一同寄給客戶。
我在看什麼#
評論
寫評論