cask "usmart-trade" do arch arm: "-arm64" livecheck_arch = on_arch_conditional arm: "mac_arm", intel: "mac" on_arm do version "4.1.0,c0fdfd9c-1702-4b58-8108-08e5f189a4eb,2025-06-24" sha256 "77e2d6193d7bac5eb072cad64f3e2e1971405e4d48cbeb4549785449b9a25c6a" end on_intel do version "4.1.0,104e8d21-a138-494e-8fc1-80dd2b68b37c,2025-06-24" sha256 "b56e04b7de088a427c8d44649fc54bd6db616df09ba91a36c43321708794249b" end url "https://jy-common-prd-1257884527.cos.ap-guangzhou.myqcloud.com/admin/app-version-file/#{version.csv.third}/#{version.csv.second}/uSMART%20Trade-#{version.csv.first}#{arch}.dmg", verified: "jy-common-prd-1257884527.cos.ap-guangzhou.myqcloud.com/" name "uSMART Trade" desc "Stock and options trading platform" homepage "https://www.usmartglobal.com/" livecheck do url "https://jy.yxzq.com/config-manager-admin/api/get-latest-package/v1", post_json: { appType: 7, system: livecheck_arch, } regex(%r{file/(\d+[-_]\d+[-_]\d+)/((?:\w+-)+(?:\w+))/.*?Trade[-_]?(\d+(?:\.\d+)+)#{arch}\.dmg}i) strategy :json do |json, regex| match = json.dig("data", 0, "url")&.match(regex) next if match.blank? "#{match[3]},#{match[2]},#{match[1]}" end end app "uSMART Trade.app" zap trash: [ "~/Library/Application Support/uSmart", "~/Library/Preferences/com.usmart.mac.test.plist", "~/Library/Saved Application State/com.usmart.mac.test.savedState", ] end