眼镜版UI修改
authorliangzhenying <867174124@qq.com>
Thu, 8 Jan 2026 07:35:06 +0000 (15:35 +0800)
committerliangzhenying <867174124@qq.com>
Thu, 8 Jan 2026 07:35:06 +0000 (15:35 +0800)
124 files changed:
ShenYin/ShenYin/Resource/colors/Colors+YL.swift
ShenYin/ShenYin/Resource/record_start.gif
ShenYin/ShenYin/Sdk/DcSdk/DcSdkManager.swift
ShenYin/ShenYin/Sdk/DcSdk/VC/DcChatVC.swift
ShenYin/ShenYin/Sdk/DcSdk/VC/DcStereoCallVC.swift
ShenYin/ShenYin/Sdk/DcSdk/VC/DcTctyVC.swift
ShenYin/ShenYin/Sdk/DcSdk/VC/DcXclyVC.swift
ShenYin/ShenYin/Sdk/JoySdk/VC/JoyTctyVC.swift
ShenYin/ShenYin/Tools/ShareView.swift
ShenYin/ShenYin/UI/Customer/CustomerHeaderView.swift
ShenYin/ShenYin/UI/Customer/CustomerVC.swift
ShenYin/ShenYin/UI/Customer/QaHeaderView.swift
ShenYin/ShenYin/UI/Home/Chat/ChatCell.swift
ShenYin/ShenYin/UI/Home/Chat/ChatHeaderView.swift
ShenYin/ShenYin/UI/Home/Chat/RecordButton.swift
ShenYin/ShenYin/UI/Home/Chat/RoleListVC.swift
ShenYin/ShenYin/UI/Home/Chinese2English/Chinese2EnglishCell.swift
ShenYin/ShenYin/UI/Home/Device/HomeHeadInfoView.swift
ShenYin/ShenYin/UI/Home/Dialog/DialogRecordBar.swift
ShenYin/ShenYin/UI/Home/Dialog/DialogSplitView.swift
ShenYin/ShenYin/UI/Home/Dialog/DialogTranslateCell.swift
ShenYin/ShenYin/UI/Home/FieldRecording/FieldRecordBar.swift
ShenYin/ShenYin/UI/Home/FieldRecording/RecordBar.swift
ShenYin/ShenYin/UI/Home/HistoryRecord/HistoryBottonView.swift
ShenYin/ShenYin/UI/Home/HistoryRecord/HistoryRecordCell.swift
ShenYin/ShenYin/UI/Home/HistoryRecord/RecordSearchBar.swift
ShenYin/ShenYin/UI/Home/HistoryRecord/SelecteCell.swift
ShenYin/ShenYin/UI/Home/HistoryRecord/VC/RecordShareVC.swift
ShenYin/ShenYin/UI/Home/HistoryRecord/search/CloudSelectedCell.swift
ShenYin/ShenYin/UI/Home/HistoryRecord/search/CloudSelectedVC.swift
ShenYin/ShenYin/UI/Home/HistoryRecord/search/HistorySearchCell.swift
ShenYin/ShenYin/UI/Home/HistoryRecord/search/HistorySelectedVC.swift
ShenYin/ShenYin/UI/Home/RecordDetail/RecordDetailTopBar.swift
ShenYin/ShenYin/UI/Home/RecordDetail/RecordDetailVC.swift
ShenYin/ShenYin/UI/Home/Scan/BleScanVC.swift
ShenYin/ShenYin/UI/Home/TextTranslate/TranslateCell.swift
ShenYin/ShenYin/UI/Login/Controller/ForgetVC.swift
ShenYin/ShenYin/UI/Login/Controller/LoginVC.swift
ShenYin/ShenYin/UI/Login/Controller/RegisterVC.swift
ShenYin/ShenYin/UI/Login/Controller/SetEmailVC.swift
ShenYin/ShenYin/UI/Login/Controller/SetPasswordVC.swift
ShenYin/ShenYin/UI/Login/Controller/SmsLoginVC.swift
ShenYin/ShenYin/UI/Login/View/AgreeView.swift
ShenYin/ShenYin/UI/Login/View/CodeView.swift
ShenYin/ShenYin/UI/Login/View/CustomInputView.swift
ShenYin/ShenYin/UI/Login/View/OthersLoginView.swift
ShenYin/ShenYin/UI/Login/View/PasswordView.swift
ShenYin/ShenYin/UI/Login/View/RegionView.swift
ShenYin/ShenYin/UI/Mine/AboutVC.swift
ShenYin/ShenYin/UI/Mine/AccountSetVC.swift
ShenYin/ShenYin/UI/Mine/Feedback/Commit/FeedbackCommitVC.swift
ShenYin/ShenYin/UI/Mine/Feedback/Commit/FeedbackContactView.swift
ShenYin/ShenYin/UI/Mine/Feedback/Commit/FeedbackInputView.swift
ShenYin/ShenYin/UI/Mine/Feedback/Commit/FeedbackTypeView.swift
ShenYin/ShenYin/UI/Mine/Feedback/FeedbackBottomView.swift
ShenYin/ShenYin/UI/Mine/Feedback/FeedbackContentView.swift
ShenYin/ShenYin/UI/Mine/Feedback/FeedbackHistoryVC.swift
ShenYin/ShenYin/UI/Mine/Feedback/FeedbackQaListView.swift
ShenYin/ShenYin/UI/Mine/Instructions/SearchBar.swift
ShenYin/ShenYin/UI/Mine/ProtocolVC.swift
ShenYin/ShenYin/UI/Mine/RevokeVC.swift
ShenYin/ShenYin/UI/Mine/Root/MineHeaderView.swift
ShenYin/ShenYin/UI/Mine/UserInfo/CustomCell1.swift
ShenYin/ShenYin/UI/Mine/UserInfo/NickNameVC.swift
ShenYin/ShenYin/UI/Mode/FindVC.swift
ShenYin/ShenYin/UI/Mode/ModeControView.swift
ShenYin/ShenYin/UI/Sleep/AudioPlayView.swift
ShenYin/ShenYin/UI/common/BrokenLineView.swift
ShenYin/ShenYin/UI/common/CommonCell.swift
ShenYin/ShenYin/UI/common/LoadingButton.swift
ShenYin/ShenYin/UI/common/PlaceHolderTextView.swift
ShenYin/ShenYin/UI/common/SendToolBar.swift
ShenYin/ShenYin/UI/common/pop/AgreeMentPopView.swift
ShenYin/ShenYin/UI/common/pop/CustomPicker.swift
ShenYin/ShenYin/UI/common/pop/LanguagePicker/LanguagePickerTitle.swift
ShenYin/ShenYin/UI/common/pop/LanguagePicker/LanguagePickerView.swift
ShenYin/ShenYin/UI/common/pop/LanguagePicker/LanguageSelectItem.swift
ShenYin/ShenYin/UI/common/pop/PopCloudView.swift
ShenYin/ShenYin/UI/common/pop/PopPlayView.swift
ShenYin/ShenYin/UI/common/pop/PopTextField.swift
ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Contents.json
ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Frame (3).png [deleted file]
ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Frame (4).png [deleted file]
ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Slice 100@2x.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Slice 100@3x.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/Contents.json
ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/record_normal@2x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/record_normal@3x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/录音条-静态.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/智能对话录音条-静态.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/home/btn_record_normal.imageset/Group 2104@2x.png
ShenYin/ShenYin/playboy.xcassets/home/btn_record_normal.imageset/Group 2104@3x.png
ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Contents.json
ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group 2158@2x.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group 2158@3x.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group_2122@2x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group_2122@3x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/home/close_icon.imageset/Vector@2x.png
ShenYin/ShenYin/playboy.xcassets/home/close_icon.imageset/Vector@3x.png
ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Contents.json
ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Frame_2245@2x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Frame_2245@3x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Group_2299@2x.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Group_2299@3x.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Contents.json
ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Frame_2246@2x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Frame_2246@3x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Group_2299@2x.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Group_2299@3x.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/home/record_select_language.imageset/Group_2299@2x.png
ShenYin/ShenYin/playboy.xcassets/home/record_select_language.imageset/Group_2299@3x.png
ShenYin/ShenYin/playboy.xcassets/home/upload.imageset/Frame@2x.png
ShenYin/ShenYin/playboy.xcassets/home/upload.imageset/Frame@3x.png
ShenYin/ShenYin/playboy.xcassets/mine/cloud_upload.imageset/上传@2x.png
ShenYin/ShenYin/playboy.xcassets/mine/cloud_upload.imageset/上传@3x.png
ShenYin/ShenYin/playboy.xcassets/mine/feedback_chat.imageset/Frame_2252@2x.png
ShenYin/ShenYin/playboy.xcassets/mine/feedback_chat.imageset/Frame_2252@3x.png
ShenYin/ShenYin/playboy.xcassets/mine/feedback_edit.imageset/Frame@2x.png
ShenYin/ShenYin/playboy.xcassets/mine/feedback_edit.imageset/Frame@3x.png
ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Contents.json
ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Frame 2254 (1).png [deleted file]
ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Frame 2254.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Slice 76@2x.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Slice 76@3x.png [new file with mode: 0644]

index c8323ad..d0dd774 100644 (file)
@@ -18,11 +18,13 @@ public enum YLColor {
     case first
     ///  主标题 - 0x333333
     case primary
-    ///  二级标题 - 0x666666
+    ///  二级标题
     case secondary
-    ///  三级标题 - 0x999999
+    ///  三级标题
     case tertiary
 
+    case placeholder
+
     case separateLine
     
     case cellBg
@@ -46,6 +48,8 @@ extension YLColor: ColorRGBProviderProtocol {
                 return 0x666666
             case .tertiary:
                 return 0x999999
+            case .placeholder:
+                return 0xcccccc
             case .separateLine:
                 return 0xffffff
             case .cellBg:
@@ -63,13 +67,15 @@ extension YLColor: ColorRGBProviderProtocol {
             case .first:
                 return 0xffffff
             case .primary:
-                return 0x333333
+                return 0xffffff
             case .secondary:
-                return 0x666666
+                return 0x999999
             case .tertiary:
                 return 0x999999
+            case .placeholder:
+                return 0x666666
             case .separateLine:
-                return 0xffffff
+                return 0x666666
             case .cellBg:
                 return 0x242424
             }
index 89700a2..ba3a58c 100644 (file)
Binary files a/ShenYin/ShenYin/Resource/record_start.gif and b/ShenYin/ShenYin/Resource/record_start.gif differ
index f099593..04442f2 100644 (file)
@@ -92,9 +92,10 @@ class DcSdkManager{
     }
     func authSuccessCallback() {
         Logger.debug("鉴权成功")
+        guard let  device = CCBleManager.shared.connectPeripheral else { return  }
         CCAiManager.preparePlayBlueTooth()
         
-        DeviceCache.saveLastConnected(mac: CCBleManager.shared.connectPeripheral!.mac)
+        DeviceCache.saveLastConnected(mac: device.mac)
         DeviceCache.shared.add(CCBleManager.shared.connectPeripheral!.device.identifier.uuidString, mac: CCBleManager.shared.connectPeripheral!.mac)
         CCBleManager.shared.isConnetd = true
         CCBleManager.shared.didConnectDeviceCallback?(CCBleManager.shared.connectPeripheral!)
index 9de5665..e2f4302 100644 (file)
@@ -47,7 +47,7 @@ class DcChatVC:BaseVC{
         tipsLabel.do { v in
             v.text = "内容由AI生成,请仔细甄别".l10n
             v.font = .regular(10)
-            v.textColor = .hexString("#919191")
+            v.textColor = .color(.placeholder)
         }
     }
     override func setupLayout() {
index 99c25ab..b540769 100644 (file)
@@ -33,7 +33,7 @@ class DcStereoCallVC:BaseVC{
     }
     override func setupViews() {
         navBar.title = "通话录音".l10n
-        navBar.backgroundColor = .white
+        navBar.backgroundColor = .clear
         
         
         toolBar.do { v in
@@ -44,10 +44,10 @@ class DcStereoCallVC:BaseVC{
         }
         
         
-        view.backgroundColor = .white
+        view.backgroundColor = .color(.bgColor)
         //        rhythView.backgroundColor = .blue
         selfTextView.do { v in
-            v.backgroundColor = .white
+            v.backgroundColor = .clear
             v.isEditable = false
             v.font = .regular(14)
             v.text = ""
@@ -56,7 +56,7 @@ class DcStereoCallVC:BaseVC{
             //            v.backgroundColor = .green
         }
         otherTextView.do { v in
-            v.backgroundColor = .white
+            v.backgroundColor = .clear
             v.isEditable = false
             v.font = .regular(14)
             v.text = ""
index 2208545..cb3b125 100644 (file)
@@ -34,7 +34,7 @@ class DcTctyVC:BaseVC{
         
         textView.do { v in
             v.placeHolde = "此处将显示原文".l10n
-            v.textView.textColor = .hexString("#666666")
+            v.textView.textColor = .color(.secondary)
         }
         translateTextView.do { v in
             v.textView.textColor = .color(.first)
index 07e3ce8..434a261 100644 (file)
@@ -32,17 +32,17 @@ class DcXclyVC:BaseVC{
     
     override func setupViews() {
         navBar.title = "现场录音".l10n
-        navBar.backgroundColor = .white
+        navBar.backgroundColor = .clear
         toolBar.do { v in
             v.delegate = self
             v.leftItem.language = AiLanguageCache.get(type: .xcly) ?? .chinse
         }
-        view.backgroundColor = .white
+        view.backgroundColor = .color(.bgColor)
         textView.do { v in
             v.isEditable = false
             v.font = .regular(14)
             v.text = ""
-            v.backgroundColor = .white
+            v.backgroundColor = .clear
             v.textColor = .color(.first)
             v.contentInset = UIEdgeInsets(top: 0, left: 18, bottom: 0, right: 18)
         }
index 5ab1875..fd897f7 100644 (file)
@@ -34,7 +34,7 @@ class JoyTctyVC:BaseVC{
         
         textView.do { v in
             v.placeHolde = "此处将显示原文".l10n
-            v.textView.textColor = .hexString("#666666")
+            v.textView.textColor = .color(.secondary)
         }
         translateTextView.do { v in
             v.textView.textColor = .color(.first)
index 9bb1bc6..ce7939f 100644 (file)
@@ -69,7 +69,7 @@
 //                v.textAlignment = .left
 //                v.numberOfLines = 0
 //                v.font = .regular(12)
-//                v.textColor = .rgb(0x666666)
+//                v.textColor = .color(.secondary)
 //            }
 //            selectButton.do { (v) in
 //                v.yc.setBorder(width: 1.fitR, color: .rgb(0x999999), radius: 2.fitR)
index 3dce916..b81b825 100644 (file)
@@ -58,7 +58,7 @@ class CustomerHeaderView: BaseView {
         for item in vm.list {
             let label = HeaderCell()
             label.text = item.title
-            label.textColor = .hexString("#666666")
+            label.textColor = .color(.secondary)
             label.font = .regular(14)
             label.numberOfLines = 0
             label.width = kScreenWid - 140
@@ -71,7 +71,7 @@ class CustomerHeaderView: BaseView {
             
 //            if item !== vm.list.last {
 //                let line = UIView()
-//                line.backgroundColor = .hexString("#F2F2F2")
+//                line.backgroundColor = .hexString("#.color(.separateLine)")
 //                line.height = 1
 //                line.width = kScreenWid - 2*70
 //                line.left = 10
@@ -108,7 +108,7 @@ fileprivate class HeaderViewCell: BaseView {
         addSubviews([titleLabel])
         
         titleLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.textAlignment = .left
             v.numberOfLines = 0
@@ -140,7 +140,7 @@ class CustomerHeaderCell:BaseView{
         }
         originalLabel.do { v in
             v.font = .regular(14)
-            v.textColor = .hexString("#606D80")
+            v.textColor = .color(.first)
             v.numberOfLines = 0
             v.textAlignment = .left
         }
index 1a34d96..e5d4931 100644 (file)
@@ -36,7 +36,8 @@ class CustomerVC:BaseVC{
         toolBar.do { v in
             v.textField.text = ""
             v.delegate = self
-            v.textField.placeholder = "请用一句话简单描述下您的问题~".l10n
+            v.textField.attributedPlaceholder = NSAttributedString(string: "请用一句话简单描述下您的问题~".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
+
 //            v.backgroundColor = .green
         }
         qaView.do { v in
index ca374dc..2fc7d1e 100644 (file)
@@ -15,7 +15,7 @@ class QaHeaderView: BaseView {
     override func setupViews() {
 //        backgroundColor = .red
         bgView.do { v in
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.cellBg)
             v.yc.setCornerRadius(12)
         }
         titleLabel.do { (v) in
@@ -93,7 +93,7 @@ class QaHeaderViewCell: BaseTableViewCell {
         contentView.addSubviews([titleLabel])
         
         titleLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.textAlignment = .left
             v.numberOfLines = 0
index e5ca3de..ba3d257 100644 (file)
@@ -20,7 +20,9 @@ class ChatCell:BaseTableViewCell{
     }
     
     override func setupViews() {
-        contentView.backgroundColor = .rgb(0xF6F6F6)
+        contentView.backgroundColor = .clear
+        backgroundView?.backgroundColor = .clear
+        backgroundColor = .clear
         
         bgView.do { v in
             v.yc.setCornerRadius(12)
@@ -29,7 +31,7 @@ class ChatCell:BaseTableViewCell{
         originalLabel.do { v in
             v.text = "你好,欢迎使用AI翻译,点击下方按钮立即开始咱们的对话吧".l10n
             v.font = .medium(14)
-            v.textColor = .hexString("#606D80")
+            v.textColor = .color(.first)
             v.numberOfLines = 0
             v.textAlignment = .left
         }
@@ -74,7 +76,7 @@ class ChatCell:BaseTableViewCell{
                 }
             }
             else{
-                bgView.backgroundColor = .white
+                bgView.backgroundColor = .color(.cellBg)
                 originalLabel.textColor = .color(.first)
                 
                 bgView.snp.remakeConstraints { make in
index 1fc46b2..e757d2b 100644 (file)
@@ -33,7 +33,7 @@ class ChatHeaderView: BaseView {
             v.text = "我可以帮你搜索、答疑、写作,请把你的任务交给 我吧~".l10n
             v.numberOfLines = 0
             v.textAlignment = .center
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.font = .bold(14)
         }
     }
index 0d2b34c..3319aaf 100644 (file)
@@ -51,7 +51,7 @@ class RecordButton: UIView {
                 cancelLabel.isHidden = true
             }
             else{
-                animationBg.backgroundColor = .white
+                animationBg.backgroundColor = .color(.cellBg)
                 animationView.isHidden = true
                 animationView.isHidden = true
                 titleLabel.isHidden = state != .finish
@@ -79,7 +79,7 @@ class RecordButton: UIView {
             titleLabel.text = "按住说话".l10n
         }
         cancelLabel.do { v in
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .center
             v.text = "松手发送,上移取消".l10n
@@ -87,7 +87,7 @@ class RecordButton: UIView {
         
         animationBg.do { v in
             v.yc.setCornerRadius(16)
-            animationBg.backgroundColor = .white
+            animationBg.backgroundColor = .color(.bgColor)
         }
         
         animationView.kf.setImage(with: Bundle.main.url(forResource: "dialog_record", withExtension: "gif")!)
@@ -188,7 +188,7 @@ class RecordButton: UIView {
             titleLabel.isHidden = false
             cancelLabel.isHidden = true
             
-            animationBg.backgroundColor = .white
+            animationBg.backgroundColor = .color(.cellBg)
             animationView.isHidden = true
             animationView.isHidden = true
         }
index 0a68cce..56ee983 100644 (file)
@@ -117,7 +117,7 @@ class RoleListCell: BaseTableViewCell {
         }
         selectedIcon.image = UIImage(named: "cell_selected")
         line.do { v in
-            v.backgroundColor = .hexString("#F2F2F2")
+            v.backgroundColor = .color(.separateLine)
         }
     }
     
index 17a8d05..4cae225 100644 (file)
@@ -33,15 +33,17 @@ class Chinese2EnglishCell:BaseTableViewCell{
     }
     
     override func setupViews() {
-        contentView.backgroundColor = .rgb(0xF6F6F6)
+        contentView.backgroundColor = .clear
+        backgroundView?.backgroundColor = .clear
+        backgroundColor = .clear
         
         bgView.do { v in
             v.yc.setCornerRadius(12)
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.cellBg)
         }
         originalLabel.do { v in
             v.font = .regular(14)
-            v.textColor = .hexString("#606D80")
+            v.textColor = .color(.first)
             v.numberOfLines = 0
             v.textAlignment = .left
         }
@@ -52,7 +54,6 @@ class Chinese2EnglishCell:BaseTableViewCell{
             v.textAlignment = .left
         }
         line.do { v in
-//                        v.backgroundColor = .hexString("#93C6EC")
         }
         playIcon.do { v in
             v.image = UIImage(named: "play_animate_3")
index 46acfbe..4c88bee 100644 (file)
@@ -20,7 +20,7 @@ class HomeHeadInfoView: BaseColletionSetionHeader {
             v.textAlignment = .left
         }
         deviceLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.textAlignment = .left
             v.text = "共4个智能设备"
index acc4998..a0abc8a 100644 (file)
@@ -316,7 +316,7 @@ class DialogRecordBar: BaseView {
                 v.font = .bold(16)
             }
             valueLabel.do { v in
-                v.textColor = .rgb(0x666666)
+                v.textColor = .color(.secondary)
                 v.font = .regular(10)
             }
         }
index 4def81d..d9c7acd 100644 (file)
@@ -177,7 +177,7 @@ class DialogSplitCell:BaseTableViewCell{
                     make.left.equalToSuperview().inset(18)
                 }
                 bgView.backgroundColor = .white
-                originalLabel.textColor = .hexString("#606D80")
+                originalLabel.textColor = .color(.first)
             }
         }
         else{
@@ -197,7 +197,7 @@ class DialogSplitCell:BaseTableViewCell{
                     make.left.equalToSuperview().inset(18)
                 }
                 bgView.backgroundColor = .white
-                originalLabel.textColor = .hexString("#606D80")
+                originalLabel.textColor = .color(.first)
             }
         }
     }
index 5e7ce72..630fc36 100644 (file)
@@ -37,15 +37,17 @@ class DialogTranslateCell:BaseTableViewCell{
     }
     
     override func setupViews() {
-        contentView.backgroundColor = .color(.bgColor)
+        contentView.backgroundColor = .clear
+        backgroundView?.backgroundColor = .clear
+        backgroundColor = .clear
         
         bgView.do { v in
             v.yc.setCornerRadius(12)
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.cellBg)
         }
         originalLabel.do { v in
             v.font = .regular(14)
-            v.textColor = .hexString("#606D80")
+            v.textColor = .color(.first)
             v.numberOfLines = 0
             v.textAlignment = .left
         }
@@ -56,7 +58,6 @@ class DialogTranslateCell:BaseTableViewCell{
             v.textAlignment = .left
         }
         line.do { v in
-//            v.backgroundColor = .hexString("#93C6EC")
         }
         playIcon.do { v in
             v.image = UIImage(named: "play_animate_3")
@@ -125,8 +126,8 @@ class DialogTranslateCell:BaseTableViewCell{
 //                    make.width.equalTo(kScreenWid - 78)
                     make.left.equalToSuperview().inset(18)
                 }
-                bgView.backgroundColor = .white
-                originalLabel.textColor = .hexString("#606D80")
+                bgView.backgroundColor = .color(.cellBg)
+                originalLabel.textColor = .color(.first)
                 translationLabel.textColor = .color(.first)
             }
             line.setNeedsLayout()
index ee9d231..4adba0e 100644 (file)
@@ -27,7 +27,7 @@ class FieldRecordBar: BaseView {
     var hasRightItem:Bool = true
     
     override func setupViews() {
-        backgroundColor = .white
+        backgroundColor = .color(.cellBg)
         addSubviews([leftItem,rightItem,recordBtn])
         
         recordBtn.do { v in
index 0c25f15..547d359 100644 (file)
@@ -172,7 +172,7 @@ class RecordBar: BaseView {
                 v.font = .bold(16)
             }
             valueLabel.do { v in
-                v.textColor = .rgb(0x666666)
+                v.textColor = .color(.secondary)
                 v.font = .regular(10)
                 v.text = "耳机".l10n
             }
index 3777a3e..8ea92b3 100644 (file)
@@ -16,7 +16,7 @@ class HistoryBottonView: BaseView {
     override func setupViews() {
         addSubviews([titleLabel])
         titleLabel.do { (v) in
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.numberOfLines = 0
             
index 9675574..3409e05 100644 (file)
@@ -68,25 +68,25 @@ class HistoryRecordCell: BaseTableViewCell {
             bgView.addGestureRecognizer(longTap)
         }
         titleLabel.do { (v) in
-            v.textColor = .rgb(0x121212)
+            v.textColor = .color(.first)
             v.font = .bold(16)
             v.textAlignment = .left
             v.text = "周一会议总结"
         }
         durationLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .left
             v.text = "00:32:27"
         }
         typeLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .left
             v.text = "现场录音"
         }
         dateLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .left
             v.text = "2025-06-02 10:28"
index 0f3ca6a..9f7941c 100644 (file)
@@ -27,7 +27,7 @@ class RecordSearchBar:BaseView{
         
         cancelBtn.do { v in
             v.setTitle("取消".l10n, for: .normal)
-            v.setTitleColor(.rgb(0x666666), for: .normal)
+            v.setTitleColor(.color(.secondary), for: .normal)
             v.titleLabel?.font = .regular(14)
             v.addTarget(self, action: #selector(cancelAction), for: .touchUpInside)
 //            v.backgroundColor = .yellow
@@ -46,7 +46,7 @@ class RecordSearchBar:BaseView{
         textField.do { v in
             v.clearButtonMode = .whileEditing
             v.backgroundColor = .clear
-            v.placeholder = "搜索".l10n
+            v.attributedPlaceholder = NSAttributedString(string: "搜索".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
             v.returnKeyType = .done
             v.delegate = self
             v.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
index a803147..7be2808 100644 (file)
@@ -109,7 +109,7 @@ class SelectCell: BaseTableViewCell {
         
         selectedIcon.image = UIImage(named: "cell_selected")
         line.do { v in
-            v.backgroundColor = .hexString("#F2F2F2")
+            v.backgroundColor = .hexString("#.color(.separateLine)")
         }
     }
     
index 007ec51..8e6bcdc 100644 (file)
@@ -239,7 +239,7 @@ class ShareHeaderView: BaseView {
     override func setupViews() {
         addSubviews([titleLabel])
         titleLabel.do { (v) in
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.numberOfLines = 0
 
index 848c16a..64ff2a5 100644 (file)
@@ -67,19 +67,19 @@ class CloudSelectedCell: BaseTableViewCell {
             v.text = "周一会议总结"
         }
         durationLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .left
             v.text = "00:32:27"
         }
         typeLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .left
             v.text = "现场录音"
         }
         dateLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .left
             v.text = "2025-06-02 10:28"
index 678b4e0..38e68d1 100644 (file)
@@ -58,8 +58,8 @@ class CloudSelectedVC: BaseVC{
             
             let leftLabel = UILabel()
             leftLabel.text = "全选".l10n
-            leftLabel.textColor = .hexString("#666666")
-            leftLabel.yc.setBorder(width: 1, color: .hexString("#666666"), radius: 11)
+            leftLabel.textColor = .color(.secondary)
+            leftLabel.yc.setBorder(width: 1, color: .color(.secondary), radius: 11)
             leftLabel.font = .regular(12)
             leftLabel.textAlignment = .center
             leftLabel.yc.addTap(target: self, action: #selector(allSelctedAction))
@@ -137,6 +137,9 @@ class CloudSelectedVC: BaseVC{
                 tempList.append(item.model)
             }
         }
+        if tempList.count == 0 {
+            return
+        }
         App.shared.goToPage(RecordShareVC(cloudList: tempList))
     }
     @objc func deleteAction(){
index d502f04..6347a80 100644 (file)
@@ -60,25 +60,25 @@ class HistorySearchCell: BaseTableViewCell {
             v.layer.masksToBounds = true
         }
         titleLabel.do { (v) in
-            v.textColor = .rgb(0x121212)
+            v.textColor = .color(.first)
             v.font = .bold(16)
             v.textAlignment = .left
             v.text = "周一会议总结"
         }
         durationLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .left
             v.text = "00:32:27"
         }
         typeLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .left
             v.text = "现场录音"
         }
         dateLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .left
             v.text = "2025-06-02 10:28"
index 7a57cf0..bce6665 100644 (file)
@@ -56,8 +56,8 @@ class HistorySelectedVC: BaseVC{
             
             let leftLabel = UILabel()
             leftLabel.text = "全选"
-            leftLabel.textColor = .hexString("#666666")
-            leftLabel.yc.setBorder(width: 1, color: .hexString("#666666"), radius: 11)
+            leftLabel.textColor = .color(.secondary)
+            leftLabel.yc.setBorder(width: 1, color: .color(.secondary), radius: 11)
             leftLabel.font = .regular(12)
             leftLabel.textAlignment = .center
             leftLabel.yc.addTap(target: self, action: #selector(allSelctedAction))
@@ -135,6 +135,9 @@ class HistorySelectedVC: BaseVC{
                 tempList.append(item.model)
             }
         }
+        if tempList.count == 0 {
+            return
+        }
         App.shared.goToPage(RecordShareVC(localList: tempList))
     }
     @objc func deleteAction(){
index f111496..0092d2a 100644 (file)
@@ -93,7 +93,7 @@ class RecordDetailTopBar: BaseView {
             label.do { (v) in
                 v.font = .medium(14)
                 v.textAlignment = .center
-                v.backgroundColor = .clear
+                v.backgroundColor = .color(.cellBg)
                 v.textColor = .color(.theme)
             }
         }
index 3fa7b46..731144f 100644 (file)
@@ -86,7 +86,7 @@ class RecordDetailVC:BaseVC{
         timeLabel.do { (v) in
             v.font = .regular(14)
             v.textAlignment = .center
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.text = data.createTime
         }
         originView.do { v in
index 14796db..8b1369a 100644 (file)
@@ -242,7 +242,7 @@ class BleScanCell: BaseTableViewCell {
             v.numberOfLines = 0
         }
         valueLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(13)
             v.textAlignment = .left
             v.numberOfLines = 0
index f6ebd67..0a6fc6f 100644 (file)
@@ -35,15 +35,17 @@ class TranslateCell:BaseTableViewCell{
     }
     
     override func setupViews() {
-        contentView.backgroundColor = .rgb(0xF6F6F6)
+        contentView.backgroundColor = .clear
+        backgroundView?.backgroundColor = .clear
+        backgroundColor = .clear
         
         bgView.do { v in
             v.yc.setCornerRadius(12)
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.cellBg)
         }
         originalLabel.do { v in
             v.font = .regular(14)
-            v.textColor = .hexString("#606D80")
+            v.textColor = .color(.first)
             v.numberOfLines = 0
             v.textAlignment = .left
         }
@@ -54,7 +56,6 @@ class TranslateCell:BaseTableViewCell{
             v.textAlignment = .left
         }
         line.do { v in
-            //            v.backgroundColor = .hexString("#93C6EC")
         }
         copyIcon.do { v in
             v.image = UIImage(named: "copy_icon")
index 5c02ef7..2b4f2fc 100644 (file)
@@ -39,7 +39,7 @@ class ForgetVC:BaseVC{
         tipsLabel.do { v in
             v.numberOfLines = 0
             v.font = .medium(22)
-            v.textColor = .rgb(0x121212)
+            v.textColor = .color(.first)
             let text = "您好, \n欢迎使用DeepChords".l10n
             let stype = NSMutableParagraphStyle()
             stype.lineSpacing = 10
@@ -50,7 +50,7 @@ class ForgetVC:BaseVC{
         }
         
         bgView.do { v in
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.bgColor)
             v.yc.setCorners(withRoundedRect: CGRect(x: 0, y: 0, width: kScreenWid, height: kScreenHei - 244), roundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: 50, height: 50))
         }
         titleLabel.do { v in
@@ -59,14 +59,14 @@ class ForgetVC:BaseVC{
             v.textColor = .color(.first)
         }
         phoneView.do { v in
-            v.textField.placeholder = "请输入手机号码/邮箱".l10n
+            v.textField.attributedPlaceholder = NSAttributedString(string: "请输入手机号码/邮箱".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
             v.textField.keyboardType = .emailAddress
         }
         codeView.do { v in
             v.codeButton.addTarget(self, action: #selector(codeButtonAction), for: .touchUpInside)
         }
         pwdView.do { v in
-            v.textField.placeholder = "请输入密码".l10n
+            v.textField.attributedPlaceholder = NSAttributedString(string: "请输入密码".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
         }
         loginBtn.set(title: "确认".l10n,style: .theme1, target: self, action: #selector(loginAction))
         agreeView.isHidden = true
index b4e3809..894bab3 100644 (file)
@@ -29,7 +29,7 @@ class LoginVC:BaseVC{
         tipsLabel.do { v in
             v.numberOfLines = 0
             v.font = .medium(22)
-            v.textColor = .rgb(0x121212)
+            v.textColor = .color(.first)
             let text = "您好, \n欢迎使用DeepChords".l10n
             let stype = NSMutableParagraphStyle()
             stype.lineSpacing = 10
@@ -40,7 +40,7 @@ class LoginVC:BaseVC{
         }
         
         bgView.do { v in
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.bgColor)
             v.yc.setCorners(withRoundedRect: CGRect(x: 0, y: 0, width: kScreenWid, height: kScreenHei - 244), roundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: 50, height: 50))
         }
         titleLabel.do { v in
@@ -50,11 +50,12 @@ class LoginVC:BaseVC{
         }
         phoneView.do { v in
 //            v.textField.text = "13480939445"
-            v.textField.placeholder = "请输入手机号码/邮箱".l10n
+            v.textField.attributedPlaceholder = NSAttributedString(string: "请输入手机号码/邮箱".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
             v.textField.keyboardType = .emailAddress
         }
         pwdView.do { v in
-            v.textField.placeholder = "请输入密码".l10n
+            v.textField.attributedPlaceholder = NSAttributedString(string: "请输入密码".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
+
         }
         
         loginBtn.set(title: "登录".l10n,style: .theme1, target: self, action: #selector(loginAction))
index 6519f1c..4778d66 100644 (file)
@@ -30,7 +30,7 @@ class RegisterVC:BaseVC{
         tipsLabel.do { v in
             v.numberOfLines = 0
             v.font = .medium(22)
-            v.textColor = .rgb(0x121212)
+            v.textColor = .color(.first)
             let text = "您好, \n欢迎使用DeepChords".l10n
             let stype = NSMutableParagraphStyle()
             stype.lineSpacing = 10
@@ -41,7 +41,7 @@ class RegisterVC:BaseVC{
         }
         
         bgView.do { v in
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.bgColor)
             v.yc.setCorners(withRoundedRect: CGRect(x: 0, y: 0, width: kScreenWid, height: kScreenHei - 244), roundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: 50, height: 50))
         }
         titleLabel.do { v in
@@ -114,11 +114,12 @@ class RegisterVC:BaseVC{
     }
     func updateLayout(){
         if regionView.region.isChinese{
-            phoneView.textField.placeholder = "请输入手机号码".l10n
+            phoneView.textField.attributedPlaceholder = NSAttributedString(string: "请输入手机号码".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
+
             phoneView.textField.keyboardType = .phonePad
         }
         else{
-            phoneView.textField.placeholder = "请输入邮箱".l10n
+            phoneView.textField.attributedPlaceholder = NSAttributedString(string: "请输入邮箱".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
             phoneView.textField.keyboardType = .emailAddress
         }
     }
index 11e7ba4..541cdad 100644 (file)
@@ -26,7 +26,8 @@ class SetEmailVC:BaseVC{
             v.textColor = .color(.first)
         }
         phoneView.do { v in
-            v.textField.placeholder = "请输入邮箱地址".l10n
+            v.textField.attributedPlaceholder = NSAttributedString(string: "请输入邮箱".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
+
             v.textField.keyboardType = .emailAddress
         }
         loginBtn.set(title: "下一步".l10n,style: .theme1, target: self, action: #selector(loginAction))
index ce33ba9..bc05c2b 100644 (file)
@@ -28,10 +28,12 @@ class SetPwdVC:BaseVC{
             v.textColor = .color(.first)
         }
         pwdView1.do { v in
-            v.textField.placeholder = "请输入密码".l10n
+            v.textField.attributedPlaceholder = NSAttributedString(string: "请输入密码".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
+
         }
         pwdView2.do { v in
-            v.textField.placeholder = "请输入确认密码".l10n
+            v.textField.attributedPlaceholder = NSAttributedString(string: "请输入确认密码".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
+
         }
         desLabel.do { v in
             v.text = "密码长度8-16位,数字、字母、字符至少包含两种".l10n
index 9abe63d..fda3548 100644 (file)
@@ -28,7 +28,7 @@ class SmsLoginVC:BaseVC{
         tipsLabel.do { v in
             v.numberOfLines = 0
             v.font = .medium(22)
-            v.textColor = .rgb(0x121212)
+            v.textColor = .color(.first)
             let text = "您好, \n欢迎使用DeepChords".l10n
             let stype = NSMutableParagraphStyle()
             stype.lineSpacing = 10
@@ -39,7 +39,7 @@ class SmsLoginVC:BaseVC{
         }
         
         bgView.do { v in
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.bgColor)
             v.yc.setCorners(withRoundedRect: CGRect(x: 0, y: 0, width: kScreenWid, height: kScreenHei - 244), roundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: 50, height: 50))
         }
         titleLabel.do { v in
@@ -114,11 +114,13 @@ class SmsLoginVC:BaseVC{
     }
     func updateLayout(){
         if regionView.region.isChinese{
-            phoneView.textField.placeholder = "请输入手机号码".l10n
+            phoneView.textField.attributedPlaceholder = NSAttributedString(string: "请输入手机号码".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
+
             phoneView.textField.keyboardType = .phonePad
         }
         else{
-            phoneView.textField.placeholder = "请输入邮箱".l10n
+            phoneView.textField.attributedPlaceholder = NSAttributedString(string: "请输入邮箱".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
+
             phoneView.textField.keyboardType = .emailAddress
         }
     }
index e3884b3..2446173 100644 (file)
@@ -24,7 +24,7 @@ class AgreeView: BaseView {
             v.addTarget(self, action: #selector(agreeBtnAction), for: .touchUpInside)
         }
         agreeTitle.do { (v) in
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .left
             v.text = "登录并同意".l10n
@@ -37,7 +37,7 @@ class AgreeView: BaseView {
             v.add(target: self, action: #selector(agreementAction))
         }
         andlabel.do { (v) in
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .left
             v.text = " 和 ".l10n
index ca1d3a4..596dacd 100644 (file)
@@ -13,9 +13,10 @@ class CodeView: BaseView {
     override func setupViews() {
 //        backgroundColor = .red
         textField.do { v in
-            v.textColor = .black
+            v.textColor = .color(.first)
             v.keyboardType = .phonePad
-            v.placeholder = "请输入验证码".l10n
+            v.attributedPlaceholder = NSAttributedString(string: "请输入验证码".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
+
         }
         codeButton.do { (v) in
             v.maxCount = 60
@@ -25,7 +26,7 @@ class CodeView: BaseView {
             v.label.text = "点击获取".l10n
         }
         
-        inputBgView.backgroundColor = .rgb(0xF3F4F8)
+        inputBgView.backgroundColor = .color(.cellBg)
         inputBgView.layer.cornerRadius = 12
         inputBgView.layer.masksToBounds = true
         
@@ -71,7 +72,7 @@ extension UIView{
     }
     func addRightLine(height:Float){
         let line = UIView()
-        line.backgroundColor = .hexString("#666666")
+        line.backgroundColor = .color(.secondary)
         addSubview(line)
         line.snp.makeConstraints { make in
             make.height.equalTo(height)
@@ -82,7 +83,7 @@ extension UIView{
     }
     func addBottomLine(){
         let line = UIView()
-        line.backgroundColor = .hexString("#F2F2F2")
+        line.backgroundColor = .hexString("#.color(.separateLine)")
         addSubview(line)
         line.snp.makeConstraints { make in
             make.height.equalTo(1)
index 90b4514..da7090f 100644 (file)
@@ -12,12 +12,12 @@ class CustomInputView: BaseView {
 //        backgroundColor = .red
 
         textField.do { v in
-            v.textColor = .black
+            v.textColor = .color(.first)
             v.keyboardType = .phonePad
-            v.placeholder = "请输入手机号码".l10n
-            
+            v.attributedPlaceholder = NSAttributedString(string: "请输入手机号码".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
+
             let label = UILabel()
-            label.textColor = .hexString("#666666")
+            label.textColor = .color(.secondary)
             label.font = .medium(16)
             let imageAtt = NSTextAttachment()
             imageAtt.image = UIImage(named: "arrow_next")
@@ -36,7 +36,7 @@ class CustomInputView: BaseView {
             v.leftViewMode = .never
         }
         
-        inputBgView.backgroundColor =  .rgb(0xF3F4F8)
+        inputBgView.backgroundColor =  .color(.cellBg)
         inputBgView.layer.cornerRadius = 10
         inputBgView.layer.masksToBounds = true
         addSubviews([inputBgView])
index da1033a..c6f454c 100644 (file)
@@ -21,26 +21,26 @@ class OthersLoginView: BaseView {
 //        backgroundColor = .red
         addSubviews([toolView,thirdView])
         toolView.addSubviews([registerLabel,pwdLabel,smsLabel,line1,line2])
-        line1.backgroundColor = .hexString("#666666")
-        line2.backgroundColor = .hexString("#666666")
+        line1.backgroundColor = .color(.secondary)
+        line2.backgroundColor = .color(.secondary)
         
         registerLabel.do { v in
             v.text = "注册".l10n
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .center
             v.yc.addTap(target: self, action: #selector(registerAction))
         }
         pwdLabel.do { v in
             v.text = "忘记密码".l10n
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .center
             v.yc.addTap(target: self, action: #selector(forgetAction))
         }
         smsLabel.do { v in
             v.text = "验证码登录".l10n
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .center
             v.yc.addTap(target: self, action: #selector(smsAction))
@@ -114,7 +114,7 @@ class ThirdLoginView: BaseView {
         
         label.do { v in
             v.text = "其他登录方式".l10n
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.font = .regular(12)
             v.textAlignment = .center
         }
index 6d3f69a..76926db 100644 (file)
@@ -14,9 +14,9 @@ class PasswordView: BaseView {
         //        backgroundColor = .red
         
         textField.do { v in
-            v.textColor = .black
+            v.textColor = .color(.first)
             v.keyboardType = .default
-            v.placeholder = "请输入密码".l10n
+            v.attributedPlaceholder = NSAttributedString(string: "请输入密码".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
             v.isSecureTextEntry = true
 //            v.returnKeyType = .done
         }
@@ -27,7 +27,7 @@ class PasswordView: BaseView {
         textField.rightView = btn
         textField.rightViewMode = .always
         
-        inputBgView.backgroundColor =  .rgb(0xF3F4F8)
+        inputBgView.backgroundColor =  .color(.cellBg)
         inputBgView.layer.cornerRadius = 10
         inputBgView.layer.masksToBounds = true
         addSubviews([inputBgView])
index b371b9f..9a3805e 100644 (file)
@@ -25,13 +25,13 @@ class RegionView: BaseView {
         addSubviews([inputBgView])
         inputBgView.addSubviews([titleLabel,valeLabel,arrrowIcon])
         
-        inputBgView.backgroundColor =  .rgb(0xF3F4F8)
+        inputBgView.backgroundColor =  .color(.cellBg)
         inputBgView.layer.cornerRadius = 10
         inputBgView.layer.masksToBounds = true
         inputBgView.yc.addTap(target: self, action: #selector(tapAction))
         titleLabel.do { v in
             v.text = "国家/地区".l10n
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.font = .medium(16)
             v.textAlignment = .center
         }
index d95bf08..ad9cd23 100644 (file)
@@ -108,7 +108,7 @@ class AboutHeaderView: BaseView {
             v.image = UIImage(named: "logo_1")
         }
         titleLabel.do { (v) in
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.textAlignment = .left
             v.text = "当前版本".l10n + ":\(Bundle.main.appVersion ?? "") "
index e0bd2c9..5ca7cf7 100644 (file)
@@ -55,7 +55,7 @@ extension AccountSetVC:UITableViewDelegate,UITableViewDataSource {
     func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
         let view = CustomSectionHeader.header(withTableView: tableView)
         view.titleLabel.text = list[section].title
-        view.titleLabel.textColor = .hexString("#666666")
+        view.titleLabel.textColor = .color(.secondary)
         return view
     }
     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
@@ -115,7 +115,7 @@ class AccountSetHeaderView: BaseView {
             v.textAlignment = .left
         }
         valueLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.textAlignment = .left
         }
index bd24550..58b2b27 100644 (file)
@@ -31,7 +31,7 @@ class FeedbackCommitVC:BaseVC{
         bgView.addSubviews([typeView,contentView,imgView,contactView,loginBtn])
         
         bgView.do { v in
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.cellBg)
             v.yc.setCornerRadius(12)
         }
         loginBtn.set(title: "确定".l10n,style: .theme1, target: self, action: #selector(loginAction))
index 5422552..367ef62 100644 (file)
@@ -17,15 +17,16 @@ class FeedbackContactView: BaseView,UITextFieldDelegate {
         titleLabel.do { v in
             v.textAlignment = .center
             v.font = .bold(14)
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.text = "联系方式".l10n
         }
         bgView.do { v in
-            v.backgroundColor = .hexString("#F7F8F9")
+            v.backgroundColor = .color(.bgColor)
             v.yc.setCornerRadius(12)
         }
         textField.do { v in
-            v.placeholder = "请输入手机号或邮箱".l10n
+            v.attributedPlaceholder = NSAttributedString(string: "请输入手机号或邮箱".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
+
             v.font = .regular(14)
             v.returnKeyType = .done
             v.delegate = self
index bcdd429..b36ba0c 100644 (file)
@@ -18,11 +18,11 @@ class FeedbackInputView: BaseView {
         titleLabel.do { v in
             v.textAlignment = .center
             v.font = .bold(14)
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.text = "问题描述或建议".l10n
         }
         bgView.do { v in
-            v.backgroundColor = .hexString("#F7F8F9")
+            v.backgroundColor = .color(.bgColor)
             v.yc.setCornerRadius(12)
         }
         textView.do {v in
index 11c791d..b0e0135 100644 (file)
@@ -30,7 +30,7 @@ class FeedbackTypeView: BaseView {
         titleLabel.do { v in
             v.textAlignment = .center
             v.font = .bold(14)
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.text = "问题类型".l10n
         }
         errorItem.do { v in
@@ -82,18 +82,19 @@ class FeedbackTypeView: BaseView {
                 }
                 else{
                     titleLabel.textColor = .color(.first)
-                    backgroundColor = .hexString("#F7F8F9")
+                    backgroundColor = .color(.bgColor)
                 }
             }
         }
         
         override func setupViews() {
-            backgroundColor = .hexString("#F7F8F9")
+            backgroundColor = .color(.bgColor)
             addSubviews([titleLabel])
             titleLabel.do { v in
                 v.textAlignment = .center
                 v.adjustsFontSizeToFitWidth = true
                 v.font = .regular(14)
+                v.textColor = .color(.first)
                 v.yc.setCornerRadius(6)
             }
         }
index 59b5709..2a6da3a 100644 (file)
@@ -13,7 +13,7 @@ class FeedbackBottomView: BaseView {
     let line = UIView()
     
     override func setupViews() {
-        backgroundColor = .white
+        backgroundColor = .color(.cellBg)
         addSubviews([feedbackItem,chatItem,line])
         feedbackItem.do { v in
             v.icon.image = UIImage(named: "feedback_edit")
index 4fa5fa0..7858030 100644 (file)
@@ -85,7 +85,7 @@ class FeedbackContentViewCell:BaseTableViewCell{
         }
         originalLabel.do { v in
             v.font = .regular(14)
-            v.textColor = .hexString("#606D80")
+            v.textColor = .color(.first)
             v.numberOfLines = 0
             v.textAlignment = .left
         }
index 90fbb3e..adc1851 100644 (file)
@@ -104,7 +104,7 @@ fileprivate class FeedbackHistoryCell: BaseTableViewCell {
             v.lineBreakMode = .byTruncatingTail
         }
         contentLabel.do { v in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.textAlignment = .left
             v.lineBreakMode = .byTruncatingTail
index 44c05de..936e0ca 100644 (file)
@@ -11,7 +11,7 @@ class FeedbackQaListView: BaseView {
     var didSelected:((_ model:QaModelListModel)->Void)?
     
     override func setupViews() {
-        backgroundColor = .white
+        backgroundColor = .color(.cellBg)
         yc.setCornerRadius(12)
         tableView.do { v in
             v.delegate = self
@@ -69,7 +69,7 @@ class FeedbackQaListViewCell: BaseTableViewCell {
         contentView.addSubviews([titleLabel])
 
         titleLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.textAlignment = .left
             v.numberOfLines = 0
index 169f45c..e00225c 100644 (file)
@@ -23,14 +23,15 @@ class SearchBar:UIView{
         
         bgView.do { v in
             v.yc.setCornerRadius(8)
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.cellBg)
         }
 
         
         textField.do { v in
             v.clearButtonMode = .whileEditing
             v.backgroundColor = .clear
-            v.placeholder = "请输入型号查询".l10n
+            v.attributedPlaceholder = NSAttributedString(string: "请输入型号查询".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
+
             v.returnKeyType = .done
             v.delegate = self
             v.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
index 6f9cfe4..fa494cb 100644 (file)
@@ -43,7 +43,7 @@ final class FileDownloadVC: BaseVC {
         webView.addObserver(self, forKeyPath: "estimatedProgress", options: .new, context: nil)
         webView.addObserver(self, forKeyPath: "canGoBack", options: .new, context: nil)
         webView.addObserver(self, forKeyPath: "title", options: .new, context: nil)
-        webView.evaluateJavaScript("document.getElementsByTagName('body')[0].style.background='#FAFAFA'", completionHandler: nil)
+//        webView.evaluateJavaScript("document.getElementsByTagName('body')[0].style.background='#FAFAFA'", completionHandler: nil)
         
         /// 进度条
         progressView.trackTintColor = .clear
@@ -139,9 +139,9 @@ final class FileDownloadVC: BaseVC {
 extension FileDownloadVC: WKNavigationDelegate {
     
     func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
-        webView.evaluateJavaScript(
-            "document.getElementsByTagName('body')[0].style.background='#FAFAFA'",
-            completionHandler: nil)
+//        webView.evaluateJavaScript(
+//            "document.getElementsByTagName('body')[0].style.background='#FAFAFA'",
+//            completionHandler: nil)
     }
     func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {
         k_log("==== error: \(error)")
index 3d4ebd4..75484e0 100644 (file)
@@ -24,7 +24,7 @@ class RevokeVC:BaseVC{
         
         label.do { v in
             v.font = .regular(14)
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.numberOfLines = 0
             let text = "请您确保您是有权进行本撤回同意隐私政策操作的相关当事人。撤回同意隐私政策,您将放弃以下资产或者权益:\n\n1.数据清空\n将会停止收集您的个人信息。您使用DeepChords应用过程中产生的数据将被清空;手机中DeepChords应用的缓存数据将被清除。\n\n2.设备解除绑定\nDeepChords账号中,所有设备会与您当前登录的账号解除绑定,并清除设备之前存储在服务器的数据。存储在物理设备中的数据请通过人工本地物理重置来清除。如果您需要重新使用设备,需要您再次进行绑定并且重新授权。\n\n3.其他\n此举还将撤回您对用户协议的同意,并退出DeepChords应用。\n\n请您知悉,撤回同意隐私政策不代表撤回同意前的相关行为和责任得到豁免或减轻。若您需要重新在该账号管理设备,需要您重新授权并绑定。请谨慎操作!".l10n
             
index 2a61d7b..b0a1e88 100644 (file)
@@ -65,7 +65,7 @@ class MineUserInfoView: BaseView {
         }
         deviceLabel.do { (v) in
             v.backgroundColor = .color(.cellBg)
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.textAlignment = .center
             v.yc.setCornerRadius(15)
@@ -150,7 +150,7 @@ class CloudStorageView: BaseView {
             v.text = ""
         }
         nameLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.textAlignment = .left
             v.text = "云储存空间".l10n
index 2ff4c80..b6b2506 100644 (file)
@@ -139,7 +139,7 @@ class CustomCell1: BaseTableViewCell {
             v.textAlignment = .left
         }
         valueLabel.do { v in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.textAlignment = .right
         }
index 9381df3..d8e548d 100644 (file)
@@ -21,7 +21,8 @@ class NickNameVC:BaseVC{
         view.backgroundColor = .color(.bgColor)
 
         phoneView.do { v in
-            v.textField.placeholder = "请输入昵称".l10n
+            v.textField.attributedPlaceholder = NSAttributedString(string: "请输入昵称".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
+
             v.textField.keyboardType = .default
         }
         loginBtn.set(title: "确定".l10n,style: .theme1, target: self, action: #selector(loginAction))
index 3330235..f1de807 100644 (file)
@@ -47,7 +47,7 @@ class FindVC:BaseVC{
         desLabel.do { v in
             v.text = "耳机在附近,可通过响铃进行查找".l10n
             v.font = .regular(14)
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             
         }
         leftBtn.do { v in
@@ -155,7 +155,7 @@ fileprivate class ButtonItem: BaseView {
                 valueLabel.textColor = backgroundColor
             }
             else{
-                backgroundColor = .white
+                backgroundColor = .color(.cellBg)
                 titleLabel.textColor = .color(.first)
                 valueLabel.backgroundColor = .color(.theme)
                 valueLabel.textColor = .white
index 2665a3d..c8d7624 100644 (file)
@@ -113,7 +113,7 @@ class ModeControView: BaseView {
                     imgBg.backgroundColor = .color(.theme)
                 }
                 else{
-                    titleLabel.textColor = .rgb(0x666666)
+                    titleLabel.textColor = .color(.secondary)
                     imgBg.backgroundColor = .color(.bgColor)
                 }
             }
@@ -128,7 +128,7 @@ class ModeControView: BaseView {
                 v.contentMode = .center
             }
             titleLabel.do { (v) in
-                v.textColor = .rgb(0x666666)
+                v.textColor = .color(.secondary)
                 v.font = .regular(12)
             }
         }
index 9e159e2..92cd28b 100644 (file)
@@ -45,7 +45,7 @@ class AudioPlayView: BaseView {
         tagLabel.do { v in
             v.text = "旋律"
             v.font = .regular(12)
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
         }
         musicView.do { v in
             v.yc.setCornerRadius(6)
index 900401d..1724801 100644 (file)
@@ -5,26 +5,6 @@
 //  Created by liangshi on 2025/8/26.
 //
 
-//class BrokenLineView: UIView {
-//    override func draw(_ rect: CGRect) {
-//        super.draw(rect)
-//        let path = UIBezierPath()
-//        let lineWidth: CGFloat = 0.5
-//        let dashLength: CGFloat = 5.0
-//        let spaceLength: CGFloat = 3.0
-//        let startPoint = CGPoint(x: 0, y: bounds.midY)
-//        let endPoint = CGPoint(x: bounds.width, y: bounds.midY)
-//        path.move(to: startPoint)
-//        path.addLine(to: endPoint)
-//        let shapeLayer = CAShapeLayer()
-//        shapeLayer.path = path.cgPath
-//        shapeLayer.strokeColor = UIColor.hexString("#93C6EC").cgColor
-//        shapeLayer.fillColor = UIColor.clear.cgColor
-//        shapeLayer.lineWidth = lineWidth
-//        shapeLayer.lineDashPattern = [NSNumber(value: dashLength), NSNumber(value: spaceLength)]
-//        layer.addSublayer(shapeLayer)
-//    }
-//}
 class BrokenLineView: UIView {
     private var shapeLayer: CAShapeLayer!
     
@@ -40,7 +20,7 @@ class BrokenLineView: UIView {
     
     private func setupShapeLayer() {
         shapeLayer = CAShapeLayer()
-        shapeLayer.strokeColor = UIColor.hexString("#93C6EC").cgColor
+        shapeLayer.strokeColor = UIColor.color(.separateLine).cgColor
         shapeLayer.fillColor = UIColor.clear.cgColor
         shapeLayer.lineWidth = 0.5
         shapeLayer.lineDashPattern = [NSNumber(value: 5.0), NSNumber(value: 3.0)]
index f280167..6e2646b 100644 (file)
@@ -50,7 +50,7 @@ class CommonCell: BaseTableViewCell {
             v.textAlignment = .left
         }
         valueLabel.do { v in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.textAlignment = .right
         }
index 0747240..c81cbd8 100644 (file)
@@ -33,7 +33,7 @@ class LoadingButton:UIButton{
 //    }
     func startAnimating(){
         loading = true
-        activeView.backgroundColor = .white
+        activeView.backgroundColor = .color(.cellBg)
         activeView.startAnimating()
     }
     func stopAnimating(){
index 1df7531..1b31ef2 100644 (file)
@@ -39,7 +39,7 @@ class PlaceHolderTextView: BaseView {
         label.do { v in
             v.backgroundColor = .clear
             v.textAlignment = .center
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.font = .regular(16)
         }
         textView.do { v in
@@ -93,7 +93,7 @@ class PlaceHolderTextView2: BaseView,UITextViewDelegate {
         label.do { v in
             v.backgroundColor = .clear
             v.textAlignment = .left
-            v.textColor = .hexString("#999999")
+            v.textColor = UIColor.color(.placeholder)
             v.font = .regular(14)
             v.numberOfLines = 0
 //            v.backgroundColor = .red
index 193e329..800be90 100644 (file)
@@ -30,7 +30,7 @@ class SendToolBar:UIView{
         
         textField.do { v in
             v.backgroundColor = .clear
-            v.placeholder = "请输入...".l10n
+            v.attributedPlaceholder = NSAttributedString(string: "请输入...".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
             v.returnKeyType = .done
             v.delegate = self
         }
index 4742902..2d97d42 100644 (file)
@@ -71,7 +71,7 @@ class AgreeMentPopView: BasePresentView {
             v.textAlignment = .left
             v.numberOfLines = 0
             v.font = .regular(12)
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
         }
         selectButton.do { (v) in
             v.yc.setBorder(width: 1.fitR, color: .rgb(0x999999), radius: 2.fitR)
index e20c7b3..5411bf4 100644 (file)
@@ -67,9 +67,9 @@ class CustomPicker: BasePresentView {
     
     override func setupStyle() {
         super.setupStyle()
-        contentView.backgroundColor = .white
+        contentView.backgroundColor = .color(.cellBg)
         titleLabel.do { (v) in
-            v.textColor = .rgb(0x333333)
+            v.textColor = .color(.secondary)
             v.font = .semiBold(16)
             v.textAlignment = .center
             v.text = title
@@ -79,7 +79,7 @@ class CustomPicker: BasePresentView {
             v.addTarget(self, action: #selector(closeAction), for: .touchUpInside)
         }
         tableView.do { v in
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.cellBg)
             v.delegate = self
             v.dataSource = self
             v.rowHeight = 52
@@ -168,7 +168,7 @@ fileprivate extension CustomButton {
             
             selectedIcon.image = UIImage(named: "cell_selected")
             line.do { v in
-                v.backgroundColor = .hexString("#F2F2F2")
+                v.backgroundColor = .hexString("#.color(.separateLine)")
             }
         }
         
index ebee169..df9fd71 100644 (file)
@@ -33,7 +33,7 @@ class LanguagePickerTitle: BaseView {
         //        backgroundColor = .blue
         
         titleLabel.do { (v) in
-            v.textColor = .rgb(0x333333)
+            v.textColor = .color(.first)
             v.font = .semiBold(16)
             v.textAlignment = .center
             v.text = "请选择语言".l10n
@@ -132,7 +132,7 @@ class LanguagePickerTitle: BaseView {
             label.do { (v) in
                 v.font = .medium(14)
                 v.textAlignment = .center
-                v.backgroundColor = .white
+                v.backgroundColor = .color(.bgColor)
                 v.textColor = .color(.theme)
                 v.yc.setBorder(width: 1.5, color: .color(.theme), radius: 9)
             }
index 38439eb..6f2231e 100644 (file)
@@ -69,7 +69,7 @@ class LanguagePickerView: BasePresentView {
     
     override func setupStyle() {
         super.setupStyle()
-        contentView.backgroundColor = .white
+        contentView.backgroundColor = .color(.cellBg)
 
         segView.do { v in
             v.valueChange = { [weak self] in
@@ -83,7 +83,7 @@ class LanguagePickerView: BasePresentView {
         }
         tableView.do { v in
 //            v.isScrollEnabled = false
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.cellBg)
             v.delegate = self
             v.dataSource = self
             v.rowHeight = 52
@@ -197,7 +197,7 @@ fileprivate extension LanguagePickerView {
             
             selectedIcon.image = UIImage(named: "cell_selected")
             line.do { v in
-                v.backgroundColor = .hexString("#F2F2F2")
+                v.backgroundColor = .hexString("#.color(.separateLine)")
             }
         }
         
index fb04851..2029b27 100644 (file)
@@ -21,7 +21,7 @@ class LanguageSelectItem: BaseView {
 //            v.backgroundColor = .red
         }
         bottonView.do { v in
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.cellBg)
             v.yc.setBorder(width: 1.5, color: .color(.theme), radius: 9)
             v.yc.addTap(target: self, action: #selector(switchAction))
         }
index e95dc00..cfb5ebd 100644 (file)
@@ -55,13 +55,14 @@ class PopCloudView: BasePresentView2 {
             v.textAlignment = .left
         }
         nameLabel.do { (v) in
-            v.textColor = .rgb(0x666666)
+            v.textColor = .color(.secondary)
             v.font = .regular(14)
             v.textAlignment = .left
             v.text = "云储存空间".l10n
         }
         progressView.do { v in
             v.yc.setCornerRadius(2)
+            v.progressTintColor = .color(.theme)
         }
         yc.addTap(target: self, action: #selector(closeAction))
         closeBtn.do { v in
@@ -74,7 +75,7 @@ class PopCloudView: BasePresentView2 {
     override func setupLayout() {
         super.setupLayout()
         contentView.do { (v) in
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.cellBg)
             v.yc.setCornerRadius(20)
         }
        
index 021f854..58f072b 100644 (file)
@@ -70,7 +70,7 @@ class PopPlayView: BasePresentView2 {
         }
         progressLabel.do { v in
             v.text = "00:00"
-            v.textColor = .hexString("#666666")
+            v.textColor = .color(.secondary)
             v.textAlignment = .center
             v.font = .regular(12)
         }
index fd9e24c..3c1451c 100644 (file)
@@ -34,7 +34,7 @@ class PopTextField: BasePresentView2 {
     override func setupLayout() {
         super.setupLayout()
         contentView.do { (v) in
-            v.backgroundColor = .white
+            v.backgroundColor = .color(.cellBg)
             v.yc.setCornerRadius(20)
         }
         
@@ -70,7 +70,7 @@ class PopTextField: BasePresentView2 {
             make.centerY.equalToSuperview().offset(-60)
         }
         titleLabel.do { (v) in
-            v.textColor = .rgb(0x121212)
+            v.textColor = .color(.first)
             v.font = .bold(20)
             v.textAlignment = .center
             v.text = "保存录音".l10n
@@ -81,7 +81,7 @@ class PopTextField: BasePresentView2 {
         }
         textFiled.do { v in
             v.text = Date().format(.full3)
-            v.placeholder = "请输入录音名字".l10n
+            v.attributedPlaceholder = NSAttributedString(string: "请输入录音名字".l10n, attributes: [NSAttributedString.Key.foregroundColor: UIColor.color(.placeholder)])
             v.font = .bold(16)
             v.textColor = .color(.first)
 //            v.becomeFirstResponder()
index d7bbe0b..7a1f523 100644 (file)
@@ -5,12 +5,12 @@
       "scale" : "1x"
     },
     {
-      "filename" : "Frame (3).png",
+      "filename" : "Slice 100@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "Frame (4).png",
+      "filename" : "Slice 100@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }
diff --git a/ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Frame (3).png b/ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Frame (3).png
deleted file mode 100644 (file)
index c334c39..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Frame (3).png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Frame (4).png b/ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Frame (4).png
deleted file mode 100644 (file)
index 5695e2b..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Frame (4).png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Slice 100@2x.png b/ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Slice 100@2x.png
new file mode 100644 (file)
index 0000000..ef769c2
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Slice 100@2x.png differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Slice 100@3x.png b/ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Slice 100@3x.png
new file mode 100644 (file)
index 0000000..eb506c5
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/customer/help_icon.imageset/Slice 100@3x.png differ
index 0ffdf24..f31fded 100644 (file)
@@ -5,12 +5,12 @@
       "scale" : "1x"
     },
     {
-      "filename" : "record_normal@2x.png",
+      "filename" : "智能对话录音条-静态.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "record_normal@3x.png",
+      "filename" : "录音条-静态.png",
       "idiom" : "universal",
       "scale" : "3x"
     }
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/record_normal@2x.png b/ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/record_normal@2x.png
deleted file mode 100644 (file)
index 675a506..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/record_normal@2x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/record_normal@3x.png b/ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/record_normal@3x.png
deleted file mode 100644 (file)
index d9ec282..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/record_normal@3x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/录音条-静态.png b/ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/录音条-静态.png
new file mode 100644 (file)
index 0000000..821372a
Binary files /dev/null and "b/ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/\345\275\225\351\237\263\346\235\241-\351\235\231\346\200\201.png" differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/智能对话录音条-静态.png b/ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/智能对话录音条-静态.png
new file mode 100644 (file)
index 0000000..11f8bf5
Binary files /dev/null and "b/ShenYin/ShenYin/playboy.xcassets/home/audio_record_normal.imageset/\346\231\272\350\203\275\345\257\271\350\257\235\345\275\225\351\237\263\346\235\241-\351\235\231\346\200\201.png" differ
index 238251e..366ef74 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/btn_record_normal.imageset/Group 2104@2x.png and b/ShenYin/ShenYin/playboy.xcassets/home/btn_record_normal.imageset/Group 2104@2x.png differ
index 052a3af..ee40d35 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/btn_record_normal.imageset/Group 2104@3x.png and b/ShenYin/ShenYin/playboy.xcassets/home/btn_record_normal.imageset/Group 2104@3x.png differ
index 3adc415..7bdc045 100644 (file)
@@ -5,12 +5,12 @@
       "scale" : "1x"
     },
     {
-      "filename" : "Group_2122@2x.png",
+      "filename" : "Group 2158@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "Group_2122@3x.png",
+      "filename" : "Group 2158@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group 2158@2x.png b/ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group 2158@2x.png
new file mode 100644 (file)
index 0000000..dd703d3
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group 2158@2x.png differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group 2158@3x.png b/ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group 2158@3x.png
new file mode 100644 (file)
index 0000000..7716d09
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group 2158@3x.png differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group_2122@2x.png b/ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group_2122@2x.png
deleted file mode 100644 (file)
index 1ffb38a..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group_2122@2x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group_2122@3x.png b/ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group_2122@3x.png
deleted file mode 100644 (file)
index 93b3ac8..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/btn_record_stop.imageset/Group_2122@3x.png and /dev/null differ
index bc7a506..b132cc3 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/close_icon.imageset/Vector@2x.png and b/ShenYin/ShenYin/playboy.xcassets/home/close_icon.imageset/Vector@2x.png differ
index 32a9a9d..31253a8 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/close_icon.imageset/Vector@3x.png and b/ShenYin/ShenYin/playboy.xcassets/home/close_icon.imageset/Vector@3x.png differ
index 0eb1e60..59c99fd 100644 (file)
@@ -5,12 +5,12 @@
       "scale" : "1x"
     },
     {
-      "filename" : "Frame_2245@2x.png",
+      "filename" : "Group_2299@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "Frame_2245@3x.png",
+      "filename" : "Group_2299@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Frame_2245@2x.png b/ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Frame_2245@2x.png
deleted file mode 100644 (file)
index 08d52df..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Frame_2245@2x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Frame_2245@3x.png b/ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Frame_2245@3x.png
deleted file mode 100644 (file)
index 6013525..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Frame_2245@3x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Group_2299@2x.png b/ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Group_2299@2x.png
new file mode 100644 (file)
index 0000000..a3c8eae
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Group_2299@2x.png differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Group_2299@3x.png b/ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Group_2299@3x.png
new file mode 100644 (file)
index 0000000..f3f4608
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/home/record_pause.imageset/Group_2299@3x.png differ
index 194398d..59c99fd 100644 (file)
@@ -5,12 +5,12 @@
       "scale" : "1x"
     },
     {
-      "filename" : "Frame_2246@2x.png",
+      "filename" : "Group_2299@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "Frame_2246@3x.png",
+      "filename" : "Group_2299@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Frame_2246@2x.png b/ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Frame_2246@2x.png
deleted file mode 100644 (file)
index 1eaefed..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Frame_2246@2x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Frame_2246@3x.png b/ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Frame_2246@3x.png
deleted file mode 100644 (file)
index cccb1e0..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Frame_2246@3x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Group_2299@2x.png b/ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Group_2299@2x.png
new file mode 100644 (file)
index 0000000..c75531b
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Group_2299@2x.png differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Group_2299@3x.png b/ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Group_2299@3x.png
new file mode 100644 (file)
index 0000000..9b1ff50
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/home/record_play.imageset/Group_2299@3x.png differ
index 310df38..8322ef2 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/record_select_language.imageset/Group_2299@2x.png and b/ShenYin/ShenYin/playboy.xcassets/home/record_select_language.imageset/Group_2299@2x.png differ
index 0b5ba98..b282410 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/record_select_language.imageset/Group_2299@3x.png and b/ShenYin/ShenYin/playboy.xcassets/home/record_select_language.imageset/Group_2299@3x.png differ
index 3ce50ed..a9d2f9c 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/upload.imageset/Frame@2x.png and b/ShenYin/ShenYin/playboy.xcassets/home/upload.imageset/Frame@2x.png differ
index 375579f..00a58ed 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/upload.imageset/Frame@3x.png and b/ShenYin/ShenYin/playboy.xcassets/home/upload.imageset/Frame@3x.png differ
index 1f8388b..be0a6ee 100644 (file)
Binary files "a/ShenYin/ShenYin/playboy.xcassets/mine/cloud_upload.imageset/\344\270\212\344\274\240@2x.png" and "b/ShenYin/ShenYin/playboy.xcassets/mine/cloud_upload.imageset/\344\270\212\344\274\240@2x.png" differ
index 93d9301..5d1c27d 100644 (file)
Binary files "a/ShenYin/ShenYin/playboy.xcassets/mine/cloud_upload.imageset/\344\270\212\344\274\240@3x.png" and "b/ShenYin/ShenYin/playboy.xcassets/mine/cloud_upload.imageset/\344\270\212\344\274\240@3x.png" differ
index 263e0bf..cc4f759 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/mine/feedback_chat.imageset/Frame_2252@2x.png and b/ShenYin/ShenYin/playboy.xcassets/mine/feedback_chat.imageset/Frame_2252@2x.png differ
index 26d63da..9d01615 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/mine/feedback_chat.imageset/Frame_2252@3x.png and b/ShenYin/ShenYin/playboy.xcassets/mine/feedback_chat.imageset/Frame_2252@3x.png differ
index 377c4d7..7dfc0bb 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/mine/feedback_edit.imageset/Frame@2x.png and b/ShenYin/ShenYin/playboy.xcassets/mine/feedback_edit.imageset/Frame@2x.png differ
index 8bc7f28..df887af 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/mine/feedback_edit.imageset/Frame@3x.png and b/ShenYin/ShenYin/playboy.xcassets/mine/feedback_edit.imageset/Frame@3x.png differ
index 37f273d..ac4d3f1 100644 (file)
@@ -5,12 +5,12 @@
       "scale" : "1x"
     },
     {
-      "filename" : "Frame 2254.png",
+      "filename" : "Slice 76@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "Frame 2254 (1).png",
+      "filename" : "Slice 76@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }
diff --git a/ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Frame 2254 (1).png b/ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Frame 2254 (1).png
deleted file mode 100644 (file)
index eba837d..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Frame 2254 (1).png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Frame 2254.png b/ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Frame 2254.png
deleted file mode 100644 (file)
index f087678..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Frame 2254.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Slice 76@2x.png b/ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Slice 76@2x.png
new file mode 100644 (file)
index 0000000..edd3508
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Slice 76@2x.png differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Slice 76@3x.png b/ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Slice 76@3x.png
new file mode 100644 (file)
index 0000000..8d91ee1
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/mode/add_icon.imageset/Slice 76@3x.png differ