Splync v1.5 可自訂專案及類別分配比率
2025年9月16日,Splync v1.5 正式發布——就在我們的國際婚姻終於被城市接受的四天後。在此更新前,Splync 無法自訂分配比率;所有支出預設為均分。有了 v1.5,用戶現在可以為專案及類別設定自訂比率。這項改變讓情侶和朋友能更真實地分攤共同費用,而不只是一個簡單的50:50。您可以從十月開始一個新的會計專案,日常開支設定為60:40,而房租則保持在公平的50:50。如果您覺得雜貨更適合70:30,而水電則在62:38更合適,您現在可以在同一專案內分別設定這些比例——依類別不同。
如何設定自訂比率
v1.5 最明顯的變化是在新的成員與預設分配部分,您可以添加專案成員並為每個人分配預設份額。如果一個專案有兩位成員,比例可以是50:50、40:60,或者任何您覺得合適的比例。若有三位成員,比例可以是33.33:33.33:33.34、50:25:25,或任何您喜歡的組合。這成為專案的預設分配。若您希望類別的份額與專案預設不同,可向下滾動進行調整。當您為類別分配自訂比例時,其藍色比例標記會變為橙色——這是類別使用自己規則而非整個專案規則的小提示。雖然這項改變讓專案設定更加靈活,但也使創建/編輯專案視圖更複雜。為此,我在每個部分添加了資訊按鈕,您可以點擊這些按鈕查看小型問答助手。
Splync 如何實施自訂比率
實施這項變更比我預期的複雜。Splync 一直假設一個簡單的50:50世界——單一數字,應用於每個地方,數學計算完成。一旦我決定支持自訂比率,整個內部結構需要重新考慮。專案不再能依賴單一共享百分比。每個類別需要自己的比例,每筆支出都必須參照專案級別的預設和類別級別的覆蓋。為實現這一點,我從基礎重寫了計算邏輯。現在每筆支出都有一個小的決策樹:“這個類別有自己的比例嗎?如果有,使用它。如果沒有,回退到專案比例。”這聽起來簡單,但在應用程式中保持資料模型一致性——iOS 視圖、FastAPI 後端和 MariaDB 架構——需要比我預期更多的調整。
在伺服器上做變更
任何涉及伺服器端的更新都必須非常謹慎地處理。如果您不小心修改了現有的伺服器程式碼,仍使用 v1.4 的用戶會立即遇到錯誤或系統錯誤。例如,v1.5 的伺服器程式預期專案設置包含比率資料,但 v1.4 的應用程式傳送的專案設置完全不含任何比率。當這兩個版本嘗試溝通時,請求會失敗——僅僅因為它們講的“語言”略有不同。開發人員當然可以在測試環境中安全地進行變更。挑戰始於提交新版本給 Apple 審核後,而現有用戶仍在使用 v1.4。在從提交到發布的整個期間,伺服器必須同時支持兩個版本,以便 Apple 審核員可以測試 v1.5,而且現有用戶可以繼續使用 v1.4 而不中斷。
管理版本更新期間的端點
在應用程式開發中,“端點”就是應用程式向伺服器發送請求的地方,就像市政廳的特定櫃檯。一個櫃檯負責婚姻登記,另一個負責居民記錄,還有一個負責護照。應用程式的工作方式類似:每個端點都是伺服器接受特定請求類型的專用窗口,例如登錄、專案創建、費用編輯、好友請求等。當 Splync v1.4 發送請求時,它將前往理解舊格式的“舊”窗口。Splync v1.5 發送請求則到理解比率資料的“新”窗口。如果伺服器過早關閉舊窗口,v1.4 用戶將無法“提交”他們的資料。這就是為什麼在更新期間,伺服器需要保持兩個窗口都開啟——兩個端點——直到每位用戶安全轉移到新版本。老實說,同時管理這兩個窗口結合在一起就像是在思考一個額外的維度。
那麼每筆支出的分配呢
Splync v1.5 可以自訂專案和類別的分配,但尚未支持每筆支出的分配。要支持每筆支出的比率,我們需要另一個結構層次——基本上是對每筆支出如何存儲和計算其份額的更深入重寫。我們還必須小心不要為了增加功能而使應用程式介面變得複雜。這是一個比聽起來更大的升級。請給我們多一點時間來達成這一點。我們正在朝這個方向努力,並會實現。在此之前,讓我們探索新的專案和類別比率如何已經使共同支出變得更加靈活。