眼镜UI调整
authorliangzhenying <867174124@qq.com>
Wed, 14 Jan 2026 01:49:54 +0000 (09:49 +0800)
committerliangzhenying <867174124@qq.com>
Wed, 14 Jan 2026 01:49:54 +0000 (09:49 +0800)
70 files changed:
ShenYin/402111402111.txt [new file with mode: 0644]
ShenYin/ShenYin.xcodeproj/project.pbxproj
ShenYin/ShenYin/Assets.xcassets/mine/device_list_icon.imageset/Slice 7@2x.png [deleted file]
ShenYin/ShenYin/Assets.xcassets/mine/device_list_icon.imageset/Slice 7@3x.png [deleted file]
ShenYin/ShenYin/UI/Customer/CustomerHeaderView.swift
ShenYin/ShenYin/UI/Home/Device/HomeAddDeviceView.swift [new file with mode: 0644]
ShenYin/ShenYin/UI/Home/Device/HomeDeviceVC.swift
ShenYin/ShenYin/UI/Home/HistoryRecord/VC/CalendarPickerVC.swift
ShenYin/ShenYin/UI/Login/Controller/Binding/BindingPhoneVC.swift
ShenYin/ShenYin/UI/Login/Controller/Binding/VarifyBindingVC.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/SetPhoneVC.swift
ShenYin/ShenYin/UI/Login/Controller/SmsLoginVC.swift
ShenYin/ShenYin/UI/Login/Controller/VerifyCodeVC.swift
ShenYin/ShenYin/UI/Login/Controller/VerifyEmailVC.swift
ShenYin/ShenYin/UI/Login/Controller/VerifyPhoneVC.swift
ShenYin/ShenYin/UI/Login/View/OthersLoginView.swift
ShenYin/ShenYin/UI/Mine/AboutVC.swift
ShenYin/ShenYin/UI/Mine/Device/MyDeviceListVC.swift
ShenYin/ShenYin/UI/Mine/Feedback/Commit/FeedbackCommitVC.swift
ShenYin/ShenYin/UI/Mine/Feedback/FeedbackContentView.swift
ShenYin/ShenYin/UI/Mine/MoreSetVC.swift
ShenYin/ShenYin/UI/Mine/RevokeCodeVC.swift
ShenYin/ShenYin/UI/Mine/RevokeVC.swift
ShenYin/ShenYin/UI/Mine/UserInfo/NickNameVC.swift
ShenYin/ShenYin/UI/Mode/GlassesFindVC.swift [new file with mode: 0644]
ShenYin/ShenYin/UI/Mode/ModeVC.swift
ShenYin/ShenYin/UI/common/CustomButton.swift
ShenYin/ShenYin/UI/common/pop/PopTextField.swift
ShenYin/ShenYin/playboy.xcassets/New Folder/Contents.json [deleted file]
ShenYin/ShenYin/playboy.xcassets/device/add_device.imageset/Contents.json [moved from ShenYin/ShenYin/Assets.xcassets/mine/device_list_icon.imageset/Contents.json with 78% similarity]
ShenYin/ShenYin/playboy.xcassets/device/add_device.imageset/Slice 77@2x.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/device/add_device.imageset/Slice 77@3x.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/home/tips_dialog.imageset/Contents.json
ShenYin/ShenYin/playboy.xcassets/home/tips_dialog.imageset/Slice 98@2x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/home/tips_dialog.imageset/Slice 98@3x 1.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/home/tips_tongchuan.imageset/Contents.json
ShenYin/ShenYin/playboy.xcassets/home/tips_tongchuan.imageset/Slice 99@2x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/home/tips_tongchuan.imageset/Slice 99@3x 1.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/launch/Contents.json [deleted file]
ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Contents.json [deleted file]
ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Frame_2259.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Frame_2259@2x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Frame_2259@3x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Contents.json [deleted file]
ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Frame_2260.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Frame_2260@2x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Frame_2260@3x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/logo_4.imageset/Contents.json [moved from ShenYin/ShenYin/playboy.xcassets/mine/device_list_icon.imageset/Contents.json with 77% similarity]
ShenYin/ShenYin/playboy.xcassets/logo_4.imageset/Slice 113@2x.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/logo_4.imageset/Slice 113@3x.png [new file with mode: 0644]
ShenYin/ShenYin/playboy.xcassets/mine/add_picture.imageset/Frame_2291@2x.png
ShenYin/ShenYin/playboy.xcassets/mine/add_picture.imageset/Frame_2291@3x.png
ShenYin/ShenYin/playboy.xcassets/mine/device_list_icon.imageset/Slice 7@2x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/mine/device_list_icon.imageset/Slice 7@3x.png [deleted file]
ShenYin/ShenYin/playboy.xcassets/mine/device_record.imageset/Slice 7@2x.png
ShenYin/ShenYin/playboy.xcassets/mine/device_record.imageset/Slice 7@3x.png
ShenYin/ShenYin/playboy.xcassets/mine/mine_cloud.imageset/天气_多云_1@2x.png
ShenYin/ShenYin/playboy.xcassets/mine/mine_cloud.imageset/天气_多云_1@3x.png
document/科强/apple-app-site-association [new file with mode: 0644]
document/科强/iOS/ScreenShot_2026-01-12_182839_883.png [new file with mode: 0644]
document/科强/iOS/ScreenShot_2026-01-12_182850_342.png [new file with mode: 0644]
document/科强/iOS/ScreenShot_2026-01-12_182902_616.png [new file with mode: 0644]
document/科强/iOS/ScreenShot_2026-01-12_182910_451.png [new file with mode: 0644]
document/科强/iOS/ScreenShot_2026-01-12_182917_063.png [new file with mode: 0644]
document/科强/科强.txt [new file with mode: 0644]

diff --git a/ShenYin/402111402111.txt b/ShenYin/402111402111.txt
new file mode 100644 (file)
index 0000000..efb103e
--- /dev/null
@@ -0,0 +1 @@
+402111
\ No newline at end of file
index 8eb828f..a8bc97e 100644 (file)
@@ -7,6 +7,8 @@
        objects = {
 
 /* Begin PBXBuildFile section */
+               3F08A3912F14F42C0085463E /* 402111402111.txt in Resources */ = {isa = PBXBuildFile; fileRef = 3F08A3902F14F42C0085463E /* 402111402111.txt */; };
+               3F08A3922F14F42C0085463E /* 402111402111.txt in Resources */ = {isa = PBXBuildFile; fileRef = 3F08A3902F14F42C0085463E /* 402111402111.txt */; };
                3F469CB12F0B539600121DBD /* DeepChordsSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D54E0EF2F0A61E600A80EE7 /* DeepChordsSdk.framework */; };
                3F8F58292EBCA2B800FFC00B /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 3F8F58282EBCA2B800FFC00B /* PrivacyInfo.xcprivacy */; };
                3FD1A2952F0BCACB00A62733 /* JLAudioUnitKit.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3FD1A2912F0BC9D800A62733 /* JLAudioUnitKit.xcframework */; };
@@ -78,6 +80,7 @@
                0D54E0EF2F0A61E600A80EE7 /* DeepChordsSdk.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = DeepChordsSdk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
                248D8B53B5A178ACA5867275 /* Pods_DeepChordsSdk.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DeepChordsSdk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
                34AD41433DCDC288CFB8C5DA /* Pods-playboy.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-playboy.release.xcconfig"; path = "Target Support Files/Pods-playboy/Pods-playboy.release.xcconfig"; sourceTree = "<group>"; };
+               3F08A3902F14F42C0085463E /* 402111402111.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = 402111402111.txt; sourceTree = "<group>"; };
                3F7602EA2EFA891200588C18 /* DeepChordsSdk.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DeepChordsSdk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
                3F887B9C2E38D8DC00C98658 /* ShenYin.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ShenYin.app; sourceTree = BUILT_PRODUCTS_DIR; };
                3F8F58282EBCA2B800FFC00B /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
                3F887B932E38D8DC00C98658 = {
                        isa = PBXGroup;
                        children = (
+                               3F08A3902F14F42C0085463E /* 402111402111.txt */,
                                3F8F58282EBCA2B800FFC00B /* PrivacyInfo.xcprivacy */,
                                3F887B9E2E38D8DC00C98658 /* ShenYin */,
                                3F8F68802EC1F25700FFC00B /* New Group */,
                        buildActionMask = 2147483647;
                        files = (
                                3F8F58292EBCA2B800FFC00B /* PrivacyInfo.xcprivacy in Resources */,
+                               3F08A3922F14F42C0085463E /* 402111402111.txt in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        buildActionMask = 2147483647;
                        files = (
                                3FD1DFED2F0E00BF00A62733 /* PrivacyInfo.xcprivacy in Resources */,
+                               3F08A3912F14F42C0085463E /* 402111402111.txt in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                                CODE_SIGN_IDENTITY = "Apple Development";
                                CODE_SIGN_STYLE = Automatic;
                                CURRENT_PROJECT_VERSION = 1;
+                               DEAD_CODE_STRIPPING = NO;
                                DEVELOPMENT_TEAM = G23X75CJ67;
                                DYLIB_COMPATIBILITY_VERSION = 1;
                                DYLIB_CURRENT_VERSION = 1;
                                        "@executable_path/Frameworks",
                                        "@loader_path/Frameworks",
                                );
+                               LINK_WITH_STANDARD_LIBRARIES = NO;
                                MACH_O_TYPE = staticlib;
                                MARKETING_VERSION = 1.0;
                                MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
                                CODE_SIGN_IDENTITY = "Apple Development";
                                CODE_SIGN_STYLE = Automatic;
                                CURRENT_PROJECT_VERSION = 1;
+                               DEAD_CODE_STRIPPING = NO;
                                DEVELOPMENT_TEAM = G23X75CJ67;
                                DYLIB_COMPATIBILITY_VERSION = 1;
                                DYLIB_CURRENT_VERSION = 1;
                                        "@executable_path/Frameworks",
                                        "@loader_path/Frameworks",
                                );
+                               LINK_WITH_STANDARD_LIBRARIES = NO;
                                MACH_O_TYPE = staticlib;
                                MARKETING_VERSION = 1.0;
                                MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
                                CODE_SIGN_IDENTITY = "Apple Development";
                                CODE_SIGN_STYLE = Automatic;
                                CURRENT_PROJECT_VERSION = 1000;
-                               DEVELOPMENT_TEAM = G23X75CJ67;
+                               DEVELOPMENT_TEAM = JKLJ58J33Q;
                                FRAMEWORK_SEARCH_PATHS = (
                                        "$(inherited)",
                                        "$(PROJECT_DIR)",
                                        "$(PROJECT_DIR)/ShenYin/Sdk/DcSdk/opus/code_opus/lib",
                                );
                                MARKETING_VERSION = 1.0.0;
-                               PRODUCT_BUNDLE_IDENTIFIER = com.deepchords.playboy;
+                               PRODUCT_BUNDLE_IDENTIFIER = com.ios.playboy;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                                PROVISIONING_PROFILE_SPECIFIER = "";
                                SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
                                CODE_SIGN_IDENTITY = "Apple Development";
                                CODE_SIGN_STYLE = Automatic;
                                CURRENT_PROJECT_VERSION = 1000;
-                               DEVELOPMENT_TEAM = G23X75CJ67;
+                               DEVELOPMENT_TEAM = JKLJ58J33Q;
                                FRAMEWORK_SEARCH_PATHS = (
                                        "$(inherited)",
                                        "$(PROJECT_DIR)",
                                        "$(PROJECT_DIR)/ShenYin/Sdk/DcSdk/opus/code_opus/lib",
                                );
                                MARKETING_VERSION = 1.0.0;
-                               PRODUCT_BUNDLE_IDENTIFIER = com.deepchords.playboy;
+                               PRODUCT_BUNDLE_IDENTIFIER = com.ios.playboy;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                                PROVISIONING_PROFILE_SPECIFIER = "";
                                SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
diff --git a/ShenYin/ShenYin/Assets.xcassets/mine/device_list_icon.imageset/Slice 7@2x.png b/ShenYin/ShenYin/Assets.xcassets/mine/device_list_icon.imageset/Slice 7@2x.png
deleted file mode 100644 (file)
index 9c8b926..0000000
Binary files a/ShenYin/ShenYin/Assets.xcassets/mine/device_list_icon.imageset/Slice 7@2x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/Assets.xcassets/mine/device_list_icon.imageset/Slice 7@3x.png b/ShenYin/ShenYin/Assets.xcassets/mine/device_list_icon.imageset/Slice 7@3x.png
deleted file mode 100644 (file)
index d5ecc95..0000000
Binary files a/ShenYin/ShenYin/Assets.xcassets/mine/device_list_icon.imageset/Slice 7@3x.png and /dev/null differ
index b81b825..26aff73 100644 (file)
@@ -189,7 +189,7 @@ class CustomerHeaderCell:BaseView{
             else{
                 bgView.backgroundColor = .clear
                 originalLabel.textColor = .color(.first)
-                icon.image = UIImage(named: "logo_2")
+                icon.image = CCDevice.isJoy ? UIImage(named: "logo_2"):UIImage(named: "logo_4")
                 icon.snp.remakeConstraints { make in
                     make.size.equalTo(36)
                     make.top.equalToSuperview().inset(16)
diff --git a/ShenYin/ShenYin/UI/Home/Device/HomeAddDeviceView.swift b/ShenYin/ShenYin/UI/Home/Device/HomeAddDeviceView.swift
new file mode 100644 (file)
index 0000000..8fc3ce2
--- /dev/null
@@ -0,0 +1,74 @@
+//
+//  HomeAddDeviceView.swift
+//  ShenYin
+//
+//  Created by liangshi on 2026/1/13.
+//
+
+import UIKit
+
+class HomeAddDeviceView: BaseColletionSetionHeader {
+    let bgView = UIView()
+    let icon = HomeAddBtn()
+
+    override func setupViews() {
+        addSubviews([bgView])
+        bgView.addSubviews([icon])
+        
+        bgView.do { v in
+            v.backgroundColor = .white
+            v.yc.setCornerRadius(26)
+            v.yc.addTap(target: self, action: #selector(tapAction))
+        }
+        icon.do { v in
+        }
+    }
+    
+    override func setupLayout() {
+        bgView.snp.makeConstraints { make in
+            make.left.right.equalToSuperview()
+            make.top.equalToSuperview().inset(30)
+            make.bottom.equalToSuperview()
+        }
+        icon.snp.makeConstraints { make in
+            make.centerY.equalToSuperview()
+            make.height.equalToSuperview()
+            make.centerX.equalToSuperview()
+        }
+    }
+    @objc func tapAction(){
+        App.shared.goToPage(BleScanVC())
+    }
+}
+
+ class HomeAddBtn: BaseView {
+    let icon = UIImageView()
+    let titleLabel = UILabel()
+    
+    override func setupViews() {
+        addSubviews([icon,titleLabel])
+        
+        icon.do { v in
+            v.image = UIImage(named: "add_device")
+        }
+        titleLabel.do { (v) in
+            v.textColor = .color(.secondary)
+            v.font = .regular(14)
+            v.textAlignment = .left
+            v.text = "添加新设备".l10n
+        }
+    }
+    
+    override func setupLayout() {
+        icon.snp.makeConstraints { make in
+            make.size.equalTo(24)
+            make.left.equalToSuperview()
+            make.centerY.equalToSuperview()
+        }
+        titleLabel.snp.makeConstraints { (m) in
+            m.centerY.equalToSuperview()
+            m.left.equalTo(icon.snp.right).offset(10)
+            m.right.equalToSuperview()
+        }
+    }
+}
index 440c18b..30af5fa 100644 (file)
@@ -46,6 +46,7 @@ class HomeDeviceVC:BaseVC{
             v.contentInset = UIEdgeInsets(top: 0, left: 18, bottom: 0, right: 18)
             v.register(HomeDeviceCell.self, forCellWithReuseIdentifier: HomeDeviceCell.reuseID)
             v.register(HomeHeadInfoView.self, forSupplementaryViewOfKind: UICollectionView.elementKindSectionHeader, withReuseIdentifier:HomeHeadInfoView.reuseID )
+            v.register(HomeAddDeviceView.self, forSupplementaryViewOfKind: UICollectionView.elementKindSectionFooter, withReuseIdentifier:HomeAddDeviceView.reuseID )
         }
         imgView.do { v in
 //            v.backgroundColor = .red
@@ -167,13 +168,25 @@ extension HomeDeviceVC:UICollectionViewDataSource,UICollectionViewDelegate,UICol
         
     }
     func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView{
+        
+        if kind == UICollectionView.elementKindSectionFooter {
+            let footer = HomeAddDeviceView.footer(with: collectionView, indexPath: indexPath)
+            footer.isHidden = DeviceVM.shared.dataList.count > 0
+            return footer
+        } else {
             let header = HomeHeadInfoView.header(with: collectionView, indexPath: indexPath)
             header.updateUI()
-        header.updateColor(currentBg)
+            header.updateColor(currentBg)
             return header
+        }
+        
+
     }
     
     func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
         return CGSize(width: kScreenWid, height: 160)
     }
+    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForFooterInSection section: Int) -> CGSize {
+        return CGSize(width: kScreenWid, height: 82)
+    }
 }
index 166ddfe..5e94d11 100644 (file)
@@ -48,6 +48,7 @@ class CalendarPickerVC: BaseVC {
         navBar.titleLabel.text = "按日期查找".l10n
         
         calendarView = CalendarView(initialContent: makeContent())
+        calendarView.backgroundColor = .color(.bgColor)
         calendarView.daySelectionHandler = { [weak self] day in
             guard let self = self else { return }
             
@@ -69,6 +70,8 @@ class CalendarPickerVC: BaseVC {
             make.left.right.equalToSuperview()
             make.bottom.equalToSuperview()
         }
+        
+        calendarView.scroll(toDayContaining: Date(), scrollPosition: .centered, animated: false)
     }
     
     func makeContent() -> CalendarViewContent {
@@ -104,7 +107,7 @@ class CalendarPickerVC: BaseVC {
             )
             var style = MonthHeaderView.InvariantViewProperties.base
             style.font = .systemFont(ofSize: 18, weight: .semibold)
-            style.textColor = .darkGray
+            style.textColor = .color(.first)
             return MonthHeaderView.calendarItemModel(
                 invariantViewProperties: style,
                 content: content
@@ -129,7 +132,7 @@ class CalendarPickerVC: BaseVC {
             // 配置星期标题的样式
             var style = DayOfWeekView.InvariantViewProperties.base
             style.font = .systemFont(ofSize: 14, weight: .medium)
-            style.textColor = .gray
+            style.textColor = .color(.first)
             
             // 返回星期标题的视图模型(content参数名应为dayOfWeekText,而非text)
             return DayOfWeekView.calendarItemModel(
@@ -143,14 +146,20 @@ class CalendarPickerVC: BaseVC {
         
         // 日期配置
         .dayItemProvider { [weak self, calendar, dayDateFormatter] day in
-            guard let self else { return nil }  // 解包 weak self
+            guard let self else { return nil }
 
             var invariantViewProperties = DayView.InvariantViewProperties.baseInteractive
             
+
+            
             let date = calendar.date(from: day.components)
             let selectedDate = date?.format(.short)
             if let text = defaultDate, selectedDate == text {
-                invariantViewProperties.backgroundShapeDrawingConfig.fillColor = .color(.theme).withAlphaComponent(0.5)
+                invariantViewProperties.textColor = .color(.first)
+                invariantViewProperties.backgroundShapeDrawingConfig.fillColor = .color(.theme)
+            }
+            else{
+                invariantViewProperties.textColor = .color(.secondary)
             }
             return DayView.calendarItemModel(
                 invariantViewProperties: invariantViewProperties,
index 0fca24d..7c9a8c7 100644 (file)
@@ -55,7 +55,7 @@ class BindingPhoneVC:BaseVC{
         loginBtn.snp.makeConstraints { make in
             make.top.equalTo(phoneView.snp.bottom).offset(40)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
         
     }
index 3aff919..1ef3f7e 100644 (file)
@@ -55,7 +55,7 @@ class VarifyBindingVC:BaseVC{
         loginBtn.snp.makeConstraints { make in
             make.top.equalTo(codeView.snp.bottom).offset(40)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
     }
     override func setupData() {
index b0a7722..162be85 100644 (file)
@@ -94,7 +94,7 @@ class ForgetVC:BaseVC{
         loginBtn.snp.makeConstraints { make in
             make.top.equalTo(pwdView.snp.bottom).offset(54)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
         agreeView.snp.makeConstraints { make in
             make.bottom.equalToSuperview().inset(62)
index 0b14ff6..7dc2978 100644 (file)
@@ -79,7 +79,7 @@ class LoginVC:BaseVC{
         loginBtn.snp.makeConstraints { make in
             make.top.equalTo(pwdView.snp.bottom).offset(54)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
         agreeView.snp.makeConstraints { make in
             make.top.equalTo(pwdView.snp.bottom).offset(10)
index d4030ce..81db0ae 100644 (file)
@@ -93,7 +93,7 @@ class RegisterVC:BaseVC{
         registerBtn.snp.makeConstraints { make in
             make.top.equalTo(pwdView.snp.bottom).offset(54)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
         agreeView.snp.makeConstraints { make in
             make.top.equalTo(pwdView.snp.bottom).offset(10)
index 541cdad..ba28f6a 100644 (file)
@@ -48,7 +48,7 @@ class SetEmailVC:BaseVC{
         loginBtn.snp.makeConstraints { make in
             make.top.equalTo(phoneView.snp.bottom).offset(40)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
         
     }
index bc05c2b..4a31174 100644 (file)
@@ -61,7 +61,7 @@ class SetPwdVC:BaseVC{
         loginBtn.snp.makeConstraints { make in
             make.top.equalTo(pwdView2.snp.bottom).offset(74)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
         desLabel.snp.makeConstraints { make in
             make.top.equalTo(pwdView2.snp.bottom).offset(14)
index 81a5ba8..75c2899 100644 (file)
@@ -46,7 +46,7 @@ class SetPhoneVC:BaseVC{
         loginBtn.snp.makeConstraints { make in
             make.top.equalTo(phoneView.snp.bottom).offset(40)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
 
     }
index 439e876..0fe6edd 100644 (file)
@@ -88,12 +88,12 @@ class SmsLoginVC:BaseVC{
         loginBtn.snp.makeConstraints { make in
             make.top.equalTo(codeView.snp.bottom).offset(54)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
         pwdBtn.snp.makeConstraints { make in
             make.top.equalTo(loginBtn.snp.bottom).offset(20)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
         agreeView.snp.makeConstraints { make in
             make.top.equalTo(codeView.snp.bottom).offset(10)
index 4b3010a..8061677 100644 (file)
@@ -64,7 +64,7 @@ class VerifyCodeVC:BaseVC{
         loginBtn.snp.makeConstraints { make in
             make.top.equalTo(codeView.snp.bottom).offset(40)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
         
     }
index 1684a34..d6b733c 100644 (file)
@@ -54,7 +54,7 @@ class VerifyEmailVC:BaseVC{
         loginBtn.snp.makeConstraints { make in
             make.top.equalTo(codeView.snp.bottom).offset(40)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
     }
     override func setupData() {
index 398c525..b63ddcb 100644 (file)
@@ -54,7 +54,7 @@ class VerifyPhoneVC:BaseVC{
         loginBtn.snp.makeConstraints { make in
             make.top.equalTo(codeView.snp.bottom).offset(40)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
     }
     override func setupData() {
index c6f454c..d5becca 100644 (file)
@@ -42,7 +42,7 @@ class OthersLoginView: BaseView {
             v.text = "验证码登录".l10n
             v.textColor = .color(.secondary)
             v.font = .regular(12)
-            v.textAlignment = .center
+            v.textAlignment = .left
             v.yc.addTap(target: self, action: #selector(smsAction))
         }
     }
index ad9cd23..4f8bca7 100644 (file)
@@ -105,7 +105,8 @@ class AboutHeaderView: BaseView {
         addSubviews([titleLabel,icon])
         
         icon.do { v in
-            v.image = UIImage(named: "logo_1")
+            v.image = UIImage(named: "logo_2")
+            v.yc.setBorder(width: 1.5, color: .white, radius: 8)
         }
         titleLabel.do { (v) in
             v.textColor = .color(.secondary)
index 76f0b9d..21d7adc 100644 (file)
@@ -112,7 +112,7 @@ class MyDeviceListCell: BaseTableViewCell {
         }
         
         icon.do { v in
-            v.image = UIImage(named: "device_list_icon")
+            v.image = UIImage(named: "scan_device")
         }
         nextIcon.image = UIImage(named: "arrow_next")
     }
index 58b2b27..247597a 100644 (file)
@@ -73,7 +73,7 @@ class FeedbackCommitVC:BaseVC{
             make.top.equalTo(contactView.snp.bottom).offset(40)
             make.centerX.equalToSuperview()
             make.width.equalTo(kScreenWid - 102)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
             make.bottom.equalToSuperview().inset(50)
         }
     }
index 7858030..f855ee9 100644 (file)
@@ -91,6 +91,7 @@ class FeedbackContentViewCell:BaseTableViewCell{
         }
         icon.do { v in
             v.yc.setCornerRadius(18)
+            v.backgroundColor = .color(.cellBg)
         }
         contentView.addSubviews([bgView,icon])
         
@@ -134,7 +135,7 @@ class FeedbackContentViewCell:BaseTableViewCell{
             else{
                 bgView.backgroundColor = .color(.cellBg)
                 originalLabel.textColor = .color(.first)
-                icon.image = UIImage(named: "logo_2")
+                icon.image = CCDevice.isJoy ? UIImage(named: "logo_2"):UIImage(named: "logo_4")
                 icon.snp.remakeConstraints { make in
                     make.size.equalTo(36)
                     make.top.equalToSuperview().inset(16)
index 5fdaff3..f40599f 100644 (file)
@@ -50,17 +50,17 @@ class MoreSetVC: BaseVC{
         deactivateBtn.snp.makeConstraints { make in
             make.bottom.equalToSuperview().inset(kSafeBtm + 10)
             make.left.right.equalToSuperview().inset(18)
-            make.height.equalTo(55)
+            make.height.equalTo(48)
         }
         logoutBtn.snp.makeConstraints { make in
             make.bottom.equalTo(deactivateBtn.snp.top).offset(-10)
             make.left.right.equalToSuperview().inset(18)
-            make.height.equalTo(55)
+            make.height.equalTo(48)
         }
         switchBtn.snp.makeConstraints { make in
             make.bottom.equalTo(logoutBtn.snp.top).offset(-10)
             make.left.right.equalToSuperview().inset(18)
-            make.height.equalTo(55)
+            make.height.equalTo(48)
         }
     }
     @objc func swictAction(){
index 6214d3f..4092862 100644 (file)
@@ -54,7 +54,7 @@ class RevokeCodeVC:BaseVC{
             make.top.equalTo(codeView.snp.bottom).offset(40)
             make.left.equalToSuperview().inset(50)
             make.width.equalTo(kScreenWid - 100)
-            make.height.equalTo(48)
+            make.height.equalTo(46)
         }
         
     }
index 75484e0..75c93c3 100644 (file)
@@ -50,7 +50,7 @@ class RevokeVC:BaseVC{
         btn.snp.makeConstraints { make in
             make.left.equalToSuperview().inset(50)
             make.width.equalTo(kScreenWid - 100)
-            make.height.equalTo(48)
+            make.height.equalTo(46)
             make.top.equalTo(label.snp.bottom).offset(100)
             make.bottom.equalToSuperview().inset(20)
         }
index d8e548d..0c7583e 100644 (file)
@@ -39,7 +39,7 @@ class NickNameVC:BaseVC{
         loginBtn.snp.makeConstraints { make in
             make.top.equalTo(phoneView.snp.bottom).offset(40)
             make.left.right.equalToSuperview().inset(51)
-            make.height.equalTo(55)
+            make.height.equalTo(46)
         }
         
     }
diff --git a/ShenYin/ShenYin/UI/Mode/GlassesFindVC.swift b/ShenYin/ShenYin/UI/Mode/GlassesFindVC.swift
new file mode 100644 (file)
index 0000000..d7d6247
--- /dev/null
@@ -0,0 +1,170 @@
+//
+//  GlassesFindVC.swift
+//  ShenYin
+//
+//  Created by liangshi on 2026/1/13.
+//
+
+
+import UIKit
+
+class GlassesFindVC:BaseVC{
+    private let titleLabel = UILabel()
+    private let desLabel = UILabel()
+    private let radar = ScanRadarView()
+    private let btn = UIButton(type: .custom)
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        
+    }
+    
+    override func setupViews() {
+        self.navBar.title = "查找眼镜".l10n
+        navBar.backgroundColor = .clear
+        view.backgroundColor = .color(.bgColor)
+        view.addSubviews([titleLabel,desLabel,radar,btn])
+        
+
+        titleLabel.do { v in
+            v.text =  CCBleManager.shared.connectPeripheral?.device.name ?? ""
+            v.font = .regular(20)
+            v.textColor = .color(.first)
+            
+        }
+        desLabel.do { v in
+            v.text = "耳机在附近,可通过响铃进行查找".l10n
+            v.font = .regular(14)
+            v.textColor = .color(.secondary)
+            
+        }
+        btn.do { v in
+            v.setTitle("眼镜响铃".l10n, for: .normal)
+            v.addTarget(self, action: #selector(btnAction), for: .touchUpInside)
+            v.layer.cornerRadius = 23
+            v.layer.masksToBounds = true
+            v.titleLabel?.font = .bold(14)
+            v.setTitleColor(.rgb(0x121212), for: .normal)
+            v.setBackgroundImage(UIColor.white.image(), for: .normal)
+            v.setBackgroundImage(UIColor.color(.theme).image(), for: .selected)
+//            v.backgroundColor = .white
+        }
+    }
+    override func setupLayout() {
+        titleLabel.snp.makeConstraints { make in
+            make.bottom.equalToSuperview().inset(184)
+            make.centerX.equalToSuperview()
+        }
+        desLabel.snp.makeConstraints { make in
+            make.bottom.equalToSuperview().inset(147)
+            make.centerX.equalToSuperview()
+        }
+        radar.snp.makeConstraints { make in
+            make.centerY.equalToSuperview().offset(-80)
+            make.left.equalToSuperview().inset(60)
+            make.size.equalTo(280)
+        }
+
+        btn.snp.makeConstraints { make in
+            make.height.equalTo(46)
+            make.bottom.equalToSuperview().inset(81)
+            make.left.right.equalToSuperview().inset(18)
+        }
+    }
+    override func setupData() {
+        
+    }
+    @objc func btnAction(){
+        btn.isSelected = !btn.isSelected
+        if btn.isSelected {
+            CustomAlert.showWith(title: "音量警告".l10n, messgage: "为保护听力,请勿在佩戴耳机时使用此功能。".l10n, cancel: "取消".l10n, cancelCallback: {[weak self] in
+                self?.btn.isSelected = false
+            } ,okCallback: { [weak self] in
+//                self?.radar.start = true
+                self?.findAction()
+            })
+        }
+        else{
+//            leftRadar.start = false
+            findAction()
+        }
+    }
+
+    func findAction(){
+        var mode:FindType = .cancel
+        if btn.isSelected{
+            mode = .all
+        }
+        CCDevice.findHeadphone(mode)
+    }
+}
+
+fileprivate class ButtonItem: BaseView {
+    let valueLabel = UILabel()
+    let titleLabel = UILabel()
+    var selected:Bool = false{
+        didSet{
+            if selected{
+                backgroundColor = .color(.theme)
+                titleLabel.textColor = .white
+                valueLabel.backgroundColor = .white
+                valueLabel.textColor = backgroundColor
+            }
+            else{
+                backgroundColor = .color(.cellBg)
+                titleLabel.textColor = .color(.first)
+                valueLabel.backgroundColor = .color(.theme)
+                valueLabel.textColor = .white
+            }
+        }
+    }
+    
+    override func setupViews() {
+        addSubviews([titleLabel,valueLabel])
+        yc.setCornerRadius(12)
+        titleLabel.do { v in
+            v.font = .regular(14)
+        }
+        valueLabel.do { v in
+            v.font = .regular(14)
+            v.yc.setCornerRadius(9)
+            v.textAlignment = .center
+        }
+    }
+    
+    override func setupLayout() {
+        titleLabel.snp.makeConstraints { make in
+            make.left.equalToSuperview().inset(14)
+            make.centerY.equalToSuperview()
+        }
+        valueLabel.snp.makeConstraints { make in
+            make.size.equalTo(18)
+            make.right.equalToSuperview().inset(14)
+            make.centerY.equalToSuperview()
+        }
+    }
+}
+
+fileprivate class ScanRadarView: BaseView {
+    var radarImageView = UIImageView()
+    override func setupViews() {
+            addSubviews([radarImageView])
+            
+            radarImageView.do { v in
+                v.image = UIImage(named: "radar_icon")
+                //
+                let animation = CABasicAnimation.init(keyPath: "transform.rotation.z")
+                animation.beginTime = 0.0
+                animation.fromValue = 0.0
+                animation.toValue = 2*Double.pi
+                animation.duration = 2
+                animation.repeatCount = MAXFLOAT
+                v.layer.add(animation, forKey: "radar.transform.rotation.x")
+            }
+            radarImageView.snp.makeConstraints { make in
+                make.size.equalTo(200)
+                make.center.equalToSuperview()
+            }
+        }
+    
+}
index c6ff1a9..e27c0e1 100644 (file)
@@ -97,7 +97,12 @@ extension ModeVC{
     }
     @objc func findAction(){
         if CCBleManager.shared.isConnetd {
-            App.shared.goToPage(FindVC())
+            if CCDevice.isJoy{
+                App.shared.goToPage(FindVC())
+            }
+            else{
+                App.shared.goToPage(GlassesFindVC())
+            }
         }
         
     }
index 408ddbe..e4f08a9 100644 (file)
@@ -19,13 +19,13 @@ class CustomButton: UIButton {
     func set(title:String,font:UIFont = .bold(14),style:CustomButtonStyle = .theme1, target: Any?, action: Selector) {
         setTitle(title, for: .normal)
         addTarget(target, action: action, for: .touchUpInside)
-        layer.cornerRadius = 12
+        layer.cornerRadius = 23
         layer.masksToBounds = true
         titleLabel?.font = font
         
         if style == .theme1 {
-            setTitleColor(.white, for: .normal)
-            backgroundColor =  UIColor.color(.theme)
+            setTitleColor(.rgb(0x121212), for: .normal)
+            backgroundColor =  .white
         }
         else if style == .theme4 {
             setTitleColor(.hexString("#FF4E4E"), for: .normal)
@@ -34,15 +34,16 @@ class CustomButton: UIButton {
             titleLabel?.font = .bold(14)
         }
         else if style == .theme3 {
-            setTitleColor(.color(.secondary), for: .normal)
+            layer.cornerRadius = 12
+            setTitleColor(.color(.first), for: .normal)
             backgroundColor =  .color(.cellBg)
             titleLabel?.font = .regular(14)
         }
         else{
-            setTitleColor(.color(.theme), for: .normal)
+            setTitleColor(.white, for: .normal)
             backgroundColor = .clear
             layer.borderWidth = 1.4
-            layer.borderColor = UIColor.color(.theme).cgColor
+            layer.borderColor = UIColor.color(.first).cgColor
         }
     }
     
index 3c1451c..a157b1c 100644 (file)
@@ -52,7 +52,7 @@ class PopTextField: BasePresentView2 {
         }
         cancelButton.snp.makeConstraints { (m) in
             m.top.equalToSuperview().inset(132)
-            m.height.equalTo(45)
+            m.height.equalTo(46)
             m.width.equalTo(138)
             m.left.equalToSuperview().inset(23)
         }
diff --git a/ShenYin/ShenYin/playboy.xcassets/New Folder/Contents.json b/ShenYin/ShenYin/playboy.xcassets/New Folder/Contents.json
deleted file mode 100644 (file)
index 73c0059..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
@@ -5,12 +5,12 @@
       "scale" : "1x"
     },
     {
-      "filename" : "Slice 7@2x.png",
+      "filename" : "Slice 77@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "Slice 7@3x.png",
+      "filename" : "Slice 77@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }
diff --git a/ShenYin/ShenYin/playboy.xcassets/device/add_device.imageset/Slice 77@2x.png b/ShenYin/ShenYin/playboy.xcassets/device/add_device.imageset/Slice 77@2x.png
new file mode 100644 (file)
index 0000000..d775aaf
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/device/add_device.imageset/Slice 77@2x.png differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/device/add_device.imageset/Slice 77@3x.png b/ShenYin/ShenYin/playboy.xcassets/device/add_device.imageset/Slice 77@3x.png
new file mode 100644 (file)
index 0000000..9ce0a9b
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/device/add_device.imageset/Slice 77@3x.png differ
index fe78bf5..b164b25 100644 (file)
@@ -5,7 +5,7 @@
       "scale" : "1x"
     },
     {
-      "filename" : "Slice 98@2x.png",
+      "filename" : "Slice 98@3x 1.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/tips_dialog.imageset/Slice 98@2x.png b/ShenYin/ShenYin/playboy.xcassets/home/tips_dialog.imageset/Slice 98@2x.png
deleted file mode 100644 (file)
index cd39323..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/tips_dialog.imageset/Slice 98@2x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/tips_dialog.imageset/Slice 98@3x 1.png b/ShenYin/ShenYin/playboy.xcassets/home/tips_dialog.imageset/Slice 98@3x 1.png
new file mode 100644 (file)
index 0000000..2d51821
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/home/tips_dialog.imageset/Slice 98@3x 1.png differ
index 558d763..09c9bf2 100644 (file)
@@ -5,7 +5,7 @@
       "scale" : "1x"
     },
     {
-      "filename" : "Slice 99@2x.png",
+      "filename" : "Slice 99@3x 1.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/tips_tongchuan.imageset/Slice 99@2x.png b/ShenYin/ShenYin/playboy.xcassets/home/tips_tongchuan.imageset/Slice 99@2x.png
deleted file mode 100644 (file)
index 3954516..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/home/tips_tongchuan.imageset/Slice 99@2x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/home/tips_tongchuan.imageset/Slice 99@3x 1.png b/ShenYin/ShenYin/playboy.xcassets/home/tips_tongchuan.imageset/Slice 99@3x 1.png
new file mode 100644 (file)
index 0000000..c3e53cc
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/home/tips_tongchuan.imageset/Slice 99@3x 1.png differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/launch/Contents.json b/ShenYin/ShenYin/playboy.xcassets/launch/Contents.json
deleted file mode 100644 (file)
index 73c0059..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Contents.json b/ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Contents.json
deleted file mode 100644 (file)
index 22cc82e..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "Frame_2259.png",
-      "idiom" : "universal",
-      "scale" : "1x"
-    },
-    {
-      "filename" : "Frame_2259@2x.png",
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "filename" : "Frame_2259@3x.png",
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Frame_2259.png b/ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Frame_2259.png
deleted file mode 100644 (file)
index 5dbdefc..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Frame_2259.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Frame_2259@2x.png b/ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Frame_2259@2x.png
deleted file mode 100644 (file)
index ffbc565..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Frame_2259@2x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Frame_2259@3x.png b/ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Frame_2259@3x.png
deleted file mode 100644 (file)
index 044609f..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/launch/launch_1.imageset/Frame_2259@3x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Contents.json b/ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Contents.json
deleted file mode 100644 (file)
index 6948cb0..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "Frame_2260.png",
-      "idiom" : "universal",
-      "scale" : "1x"
-    },
-    {
-      "filename" : "Frame_2260@2x.png",
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "filename" : "Frame_2260@3x.png",
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Frame_2260.png b/ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Frame_2260.png
deleted file mode 100644 (file)
index 44b6b2d..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Frame_2260.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Frame_2260@2x.png b/ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Frame_2260@2x.png
deleted file mode 100644 (file)
index 2affb43..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Frame_2260@2x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Frame_2260@3x.png b/ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Frame_2260@3x.png
deleted file mode 100644 (file)
index c582a9b..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/launch/launch_2.imageset/Frame_2260@3x.png and /dev/null differ
@@ -5,12 +5,12 @@
       "scale" : "1x"
     },
     {
-      "filename" : "Slice 7@2x.png",
+      "filename" : "Slice 113@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "Slice 7@3x.png",
+      "filename" : "Slice 113@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }
diff --git a/ShenYin/ShenYin/playboy.xcassets/logo_4.imageset/Slice 113@2x.png b/ShenYin/ShenYin/playboy.xcassets/logo_4.imageset/Slice 113@2x.png
new file mode 100644 (file)
index 0000000..4ca80fb
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/logo_4.imageset/Slice 113@2x.png differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/logo_4.imageset/Slice 113@3x.png b/ShenYin/ShenYin/playboy.xcassets/logo_4.imageset/Slice 113@3x.png
new file mode 100644 (file)
index 0000000..dd52587
Binary files /dev/null and b/ShenYin/ShenYin/playboy.xcassets/logo_4.imageset/Slice 113@3x.png differ
index b4befe4..fc1922a 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/mine/add_picture.imageset/Frame_2291@2x.png and b/ShenYin/ShenYin/playboy.xcassets/mine/add_picture.imageset/Frame_2291@2x.png differ
index de783a7..1d12b00 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/mine/add_picture.imageset/Frame_2291@3x.png and b/ShenYin/ShenYin/playboy.xcassets/mine/add_picture.imageset/Frame_2291@3x.png differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/mine/device_list_icon.imageset/Slice 7@2x.png b/ShenYin/ShenYin/playboy.xcassets/mine/device_list_icon.imageset/Slice 7@2x.png
deleted file mode 100644 (file)
index 9c8b926..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/mine/device_list_icon.imageset/Slice 7@2x.png and /dev/null differ
diff --git a/ShenYin/ShenYin/playboy.xcassets/mine/device_list_icon.imageset/Slice 7@3x.png b/ShenYin/ShenYin/playboy.xcassets/mine/device_list_icon.imageset/Slice 7@3x.png
deleted file mode 100644 (file)
index d5ecc95..0000000
Binary files a/ShenYin/ShenYin/playboy.xcassets/mine/device_list_icon.imageset/Slice 7@3x.png and /dev/null differ
index f59b190..2a953ae 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/mine/device_record.imageset/Slice 7@2x.png and b/ShenYin/ShenYin/playboy.xcassets/mine/device_record.imageset/Slice 7@2x.png differ
index e5acb6c..cb1e3a1 100644 (file)
Binary files a/ShenYin/ShenYin/playboy.xcassets/mine/device_record.imageset/Slice 7@3x.png and b/ShenYin/ShenYin/playboy.xcassets/mine/device_record.imageset/Slice 7@3x.png differ
index 7fa426d..04715cb 100644 (file)
Binary files "a/ShenYin/ShenYin/playboy.xcassets/mine/mine_cloud.imageset/\345\244\251\346\260\224_\345\244\232\344\272\221_1@2x.png" and "b/ShenYin/ShenYin/playboy.xcassets/mine/mine_cloud.imageset/\345\244\251\346\260\224_\345\244\232\344\272\221_1@2x.png" differ
index c9650dc..326a325 100644 (file)
Binary files "a/ShenYin/ShenYin/playboy.xcassets/mine/mine_cloud.imageset/\345\244\251\346\260\224_\345\244\232\344\272\221_1@3x.png" and "b/ShenYin/ShenYin/playboy.xcassets/mine/mine_cloud.imageset/\345\244\251\346\260\224_\345\244\232\344\272\221_1@3x.png" differ
diff --git a/document/科强/apple-app-site-association b/document/科强/apple-app-site-association
new file mode 100644 (file)
index 0000000..6eaec11
--- /dev/null
@@ -0,0 +1,13 @@
+{
+    "applinks": {
+        "apps": [],
+        "details": [
+            {
+                "appID": "JKLJ58J33Q.com.ios.playboy",
+                "paths": [
+                    "/app/*",
+                ]
+            }
+        ]
+    }
+}
\ No newline at end of file
diff --git a/document/科强/iOS/ScreenShot_2026-01-12_182839_883.png b/document/科强/iOS/ScreenShot_2026-01-12_182839_883.png
new file mode 100644 (file)
index 0000000..3c236ab
Binary files /dev/null and "b/document/\347\247\221\345\274\272/iOS/ScreenShot_2026-01-12_182839_883.png" differ
diff --git a/document/科强/iOS/ScreenShot_2026-01-12_182850_342.png b/document/科强/iOS/ScreenShot_2026-01-12_182850_342.png
new file mode 100644 (file)
index 0000000..1b86f58
Binary files /dev/null and "b/document/\347\247\221\345\274\272/iOS/ScreenShot_2026-01-12_182850_342.png" differ
diff --git a/document/科强/iOS/ScreenShot_2026-01-12_182902_616.png b/document/科强/iOS/ScreenShot_2026-01-12_182902_616.png
new file mode 100644 (file)
index 0000000..d79382e
Binary files /dev/null and "b/document/\347\247\221\345\274\272/iOS/ScreenShot_2026-01-12_182902_616.png" differ
diff --git a/document/科强/iOS/ScreenShot_2026-01-12_182910_451.png b/document/科强/iOS/ScreenShot_2026-01-12_182910_451.png
new file mode 100644 (file)
index 0000000..ba6d36c
Binary files /dev/null and "b/document/\347\247\221\345\274\272/iOS/ScreenShot_2026-01-12_182910_451.png" differ
diff --git a/document/科强/iOS/ScreenShot_2026-01-12_182917_063.png b/document/科强/iOS/ScreenShot_2026-01-12_182917_063.png
new file mode 100644 (file)
index 0000000..77ad58c
Binary files /dev/null and "b/document/\347\247\221\345\274\272/iOS/ScreenShot_2026-01-12_182917_063.png" differ
diff --git a/document/科强/科强.txt b/document/科强/科强.txt
new file mode 100644 (file)
index 0000000..9dffdba
--- /dev/null
@@ -0,0 +1,4 @@
+@LIUCHENG 13、IOS开发者账号
+账号:keqianggx@163.com
+密码:KEqiang123456
+绑定手机号:18668363066
\ No newline at end of file