puzhibing
2026-07-24 a0bc9aaf968a81eba1321008be66d62c702e8fc3
更新
4个文件已删除
137 文件已重命名
5个文件已添加
25个文件已修改
557 ■■■■■ 已修改文件
.DS_Store 补丁 | 查看 | 原始文档 | blame | 历史
Pods/Pods.xcodeproj/xcuserdata/qingher.xcuserdatad/xcschemes/xcschememanagement.plist 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject.xcodeproj/project.pbxproj 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject.xcodeproj/xcuserdata/qingher.xcuserdatad/xcschemes/xcschememanagement.plist 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject.xcworkspace/xcuserdata/qingher.xcuserdatad/UserInterfaceState.xcuserstate 补丁 | 查看 | 原始文档 | blame | 历史
XWProject.xcworkspace/xcuserdata/qingher.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject.xcworkspace/xcuserdata/zhangshuiwen.xcuserdatad/UserInterfaceState.xcuserstate 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/.DS_Store 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/AppDelegate/AppDelegate.swift 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/Expired_en.imageset/宸茶繃鏈烜2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/Expired_en.imageset/宸茶繃鏈烜3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/Expired_fr.imageset/宸蹭娇鐢ˊ2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/Expired_fr.imageset/宸蹭娇鐢ˊ3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/Rectangle澶囦唤.imageset/Contents.json 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/Rectangle澶囦唤.imageset/鐭╁舰@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/Rectangle澶囦唤.imageset/鐭╁舰@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/bg_gradient.imageset/鐭╁舰@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/bg_gradient.imageset/鐭╁舰@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/bg_pink.imageset/鐭╁舰@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/bg_pink.imageset/鐭╁舰@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/defaultlaunch.imageset/鍚姩@3x 1.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/defaultlaunch.imageset/鍚姩@3x 2.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/defaultlaunch.imageset/鍚姩@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/evaluate_empty(3).imageset/璺緞.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/evaluate_empty(3).imageset/璺緞@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/evaluate_empty(3).imageset/璺緞@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/icon_end point.imageset/璧风偣.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/icon_end point.imageset/璧风偣@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/icon_end point.imageset/璧风偣@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/icon_logo_share.imageset/未标题-3.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/icon_starting point.imageset/璧风偣.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/icon_starting point.imageset/璧风偣@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/icon_starting point.imageset/璧风偣@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/icon_time的副本.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/icon_time的副本.imageset/icon_time@2x的副本.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/icon_time的副本.imageset/icon_time@3x的副本.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/ios_120.imageset/涔樺120.jpg 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/login_twitter.imageset/login_face澶囦唤 3@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/login_twitter.imageset/login_face澶囦唤 3@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/map_position.imageset/瀹氫綅.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/map_position.imageset/瀹氫綅@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/map_position.imageset/瀹氫綅@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/start_full.imageset/璺緞.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/start_full.imageset/璺緞@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/start_full.imageset/璺緞@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/used_en.imageset/宸蹭娇鐢ˊ2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/used_en.imageset/宸蹭娇鐢ˊ3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/used_fr.imageset/宸蹭娇鐢ˊ2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/used_fr.imageset/宸蹭娇鐢ˊ3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/zuobiao.imageset/缂栫粍 2.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/zuobiao.imageset/缂栫粍 2@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Assets.xcassets/zuobiao.imageset/缂栫粍 2@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Charter(鍖呰溅)/Controllers/CarModelslistVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Charter(鍖呰溅)/Controllers/CharterHomeVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Charter(鍖呰溅)/Controllers/CharterHomeVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Charter(鍖呰溅)/Models/CharterCarModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Charter(鍖呰溅)/ViewModels/CharterViewModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Charter(鍖呰溅)/Views/CarModelsTableViewCell.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Charter(鍖呰溅)/Views/CarModelsTableViewCell.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Home/Controller/HomeViewController.swift 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/LeftMenu/Controller/MineModifyPasswordVC.swift 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/LeftMenu/Controller/MineModifyPhoneSubVC.swift 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Login/Controller/BindPhoneVC.swift 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Login/Controller/ForgotPasswordVC.swift 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Login/Controller/LoginVC.swift 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Login/ViewModel/LoginViewModel.swift 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/ChooseItemTypeVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/ChooseItemTypeVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/LogisticsGuideVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/LogisticsGuideVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/LogisticsListVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/RecipientInformationVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/RecipientInformationVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/ShippingInformationVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/ShippingInformationVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/SmallLogistiAgreementVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/SmallLogistiAgreementVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/SmallLogisticsHomeVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/SmallLogisticsHomeVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Models/LogisticsModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Models/RecipientInfomationModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/ViewModels/LositcsViewModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Views/LogisticsListCell.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Views/LogisticsListCell.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/RideHailing/ViewModel/TravelServicePayViewModel.swift 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Taxi/Controller/TravelServicePayVC.swift 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/Taxi/Controller/TravelServicePayVC.xib 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/AgreementAlert.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/AgreementAlert.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelCarSeatAlterView.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelCarSeatAlterView.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelPepoleAlertView.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelPepoleAlertView.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelSevenAlertView.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelSevenAlertView.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelSuccessView.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelSuccessView.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelTimerAlterView.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelTimerAlterView.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/ShuttleBusesVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/ShuttleBusesVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/SureTravelInfoController.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/SureTravelInfoController.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelAppointmentSuccessVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelAppointmentSuccessVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelChooseCarVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelChooseCarVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelChooseCityVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelChooseCityVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelChooseEndAddressVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelChooseEndAddressVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelCityHomeVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelCityHomeVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelInstructionsView.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelInstructionsView.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelLineVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelOrderSuccessVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelOrderSuccessVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelSetAddressVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelSetStartAddressVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelSetStartAddressVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Models/TravelDriverListModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Models/TravelLineModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Models/TravelSiteModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Models/TravleCityModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/ViewModels/TravelCityViewModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/ViewModels/TravelLineViewModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/ViewModels/TravelSiteViewModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/BusesCollectionViewCell.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/BusesCollectionViewCell.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/MZCalendarKit.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/MZDateUtils.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/MZDaysCell.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelAddressCell.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelAddressCell.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelChooseCarCell.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelChooseCarCell.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelCityCell.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelCityCell.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelCityOneCell.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelCityOneCell.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelLineViewCell.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelLineViewCell.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/ChangeControllerVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/ChangeControllerVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/ChangeListCell.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/ChangeListCell.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/ChangeListVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/ChangeListVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/MyPointsVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/MyPointsVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/PoinstModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/PointsCollectionReusableView.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/PointsCollectionReusableView.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/PointsCollectionViewCell.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/PointsCollectionViewCell.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/PointsDeatilVC.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/PointsDeatilVC.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/PointsViewModel.swift 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Class/绉垎/zh-Hans.lproj/PointsCollectionViewCell.xib 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Tools/.DS_Store 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Tools/Macro/Macro.swift 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Tools/UMSocial/.DS_Store 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Tools/YYLocationManager/GoogleMapAPI.swift 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Tools/YYLocationManager/YYLocationManager.swift 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/Tools/YYMapView/YYMapViewManager.swift 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/en.lproj/Info.plist 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
XWProject/fr.lproj/Info.plist 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
en.lproj/Localizable.strings 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fr.lproj/Localizable.strings 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zh-Hans.lproj/Localizable.strings 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.DS_Store
Binary files differ
Pods/Pods.xcodeproj/xcuserdata/qingher.xcuserdatad/xcschemes/xcschememanagement.plist
New file
@@ -0,0 +1,174 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>SchemeUserState</key>
    <dict>
        <key>Alamofire.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>8</integer>
        </dict>
        <key>CocoaAsyncSocket.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>21</integer>
        </dict>
        <key>DZNEmptyDataSet.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>7</integer>
        </dict>
        <key>FBAEMKit.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>24</integer>
        </dict>
        <key>FBSDKCoreKit.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>3</integer>
        </dict>
        <key>FBSDKCoreKit_Basics.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>6</integer>
        </dict>
        <key>FBSDKLoginKit.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>20</integer>
        </dict>
        <key>FBSDKShareKit.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>22</integer>
        </dict>
        <key>GoogleMaps-GoogleMapsResources.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>33</integer>
        </dict>
        <key>GoogleMaps.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>32</integer>
        </dict>
        <key>HCSStarRatingView.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>15</integer>
        </dict>
        <key>HandyJSON.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>11</integer>
        </dict>
        <key>IQKeyboardManager.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>10</integer>
        </dict>
        <key>Kingfisher.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>4</integer>
        </dict>
        <key>MBProgressHUD.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>16</integer>
        </dict>
        <key>MJRefresh.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>23</integer>
        </dict>
        <key>Moya.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>9</integer>
        </dict>
        <key>NSObject+Rx.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>2</integer>
        </dict>
        <key>Pods-XWProject.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>25</integer>
        </dict>
        <key>QMUIKit-QMUIKit.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>12</integer>
        </dict>
        <key>QMUIKit-QMUIResources.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>13</integer>
        </dict>
        <key>QMUIKit.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>17</integer>
        </dict>
        <key>RHSocketKit.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>29</integer>
        </dict>
        <key>RxCocoa.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>14</integer>
        </dict>
        <key>RxRelay.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>31</integer>
        </dict>
        <key>RxSwift.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>26</integer>
        </dict>
        <key>SGQRCode.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>5</integer>
        </dict>
        <key>SnapKit.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>30</integer>
        </dict>
        <key>SwiftDate.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>28</integer>
        </dict>
        <key>SwiftEntryKit.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>18</integer>
        </dict>
        <key>SwifterSwift.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>27</integer>
        </dict>
        <key>TTTAttributedLabel.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>19</integer>
        </dict>
        <key>VTMagic.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>1</integer>
        </dict>
    </dict>
</dict>
</plist>
XWProject.xcodeproj/project.pbxproj
@@ -644,13 +644,13 @@
        13EACE6B2B68D958007F02E6 /* PointsDeatilVC.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PointsDeatilVC.xib; sourceTree = "<group>"; };
        13F8DF4428BDABDB0074D62D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = "<group>"; };
        13F8DF4528BDABDB0074D62D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = "<group>"; };
        13F8DF4628BDAE740074D62D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Main.strings; sourceTree = "<group>"; };
        13F8DF4728BDAE740074D62D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/LaunchScreen.strings; sourceTree = "<group>"; };
        13F8DF4928BDAE830074D62D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
        13F8DF4B28BDAE860074D62D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
        13F8DF4C28BDAE870074D62D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = "<group>"; };
        13F910CB2AA72F17009DB91A /* MineReceiptTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MineReceiptTCell.swift; sourceTree = "<group>"; };
        13F910CC2AA72F17009DB91A /* MineReceiptTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MineReceiptTCell.xib; sourceTree = "<group>"; };
        1A9B003D2F87352900FDFEA5 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/LaunchScreen.strings; sourceTree = "<group>"; };
        1A9B003E2F87352900FDFEA5 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Main.strings; sourceTree = "<group>"; };
        3D745011253828F700C5D8A3 /* YYSpecialCarCanceledNoDriverViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YYSpecialCarCanceledNoDriverViewController.swift; sourceTree = "<group>"; };
        3D7450152538299600C5D8A3 /* YYSpecialCarCanceledNoDriverViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YYSpecialCarCanceledNoDriverViewCell.swift; sourceTree = "<group>"; };
        3D7450162538299600C5D8A3 /* YYSpecialCarCanceledNoDriverViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = YYSpecialCarCanceledNoDriverViewCell.xib; sourceTree = "<group>"; };
@@ -2761,7 +2761,7 @@
            };
            buildConfigurationList = D982D5632474C3F100FB5A09 /* Build configuration list for PBXProject "XWProject" */;
            compatibilityVersion = "Xcode 9.3";
            developmentRegion = en;
            developmentRegion = fr;
            hasScannedForEncodings = 0;
            knownRegions = (
                en,
@@ -3427,7 +3427,7 @@
            children = (
                D982D5722474C3F100FB5A09 /* Base */,
                13F8DF4428BDABDB0074D62D /* zh-Hans */,
                13F8DF4628BDAE740074D62D /* fr */,
                1A9B003E2F87352900FDFEA5 /* fr */,
            );
            name = Main.storyboard;
            sourceTree = "<group>";
@@ -3437,7 +3437,7 @@
            children = (
                D982D5772474C3F300FB5A09 /* Base */,
                13F8DF4528BDABDB0074D62D /* zh-Hans */,
                13F8DF4728BDAE740074D62D /* fr */,
                1A9B003D2F87352900FDFEA5 /* fr */,
            );
            name = LaunchScreen.storyboard;
            sourceTree = "<group>";
@@ -3571,7 +3571,7 @@
                CODE_SIGN_ENTITLEMENTS = XWProject/XWProjectDebug.entitlements;
                CODE_SIGN_IDENTITY = "Apple Development";
                CODE_SIGN_STYLE = Automatic;
                CURRENT_PROJECT_VERSION = 2;
                CURRENT_PROJECT_VERSION = 1;
                DEVELOPMENT_TEAM = Y6BCX27Z39;
                ENABLE_BITCODE = NO;
                FRAMEWORK_SEARCH_PATHS = (
@@ -3604,7 +3604,7 @@
                    "$(PROJECT_DIR)/XWProject/Tools/YYPaymentManager/WeChatPay",
                    "$(PROJECT_DIR)/XWProject/Tools/UMSocial/share/share_ios_6.9.9/SocialLibraries/WeChat/WechatSDK",
                );
                MARKETING_VERSION = 1.0;
                MARKETING_VERSION = 1.3;
                OTHER_LDFLAGS = (
                    "$(inherited)",
                    "-ObjC",
@@ -3756,7 +3756,7 @@
                CODE_SIGN_ENTITLEMENTS = XWProject/XWProjectRelease.entitlements;
                CODE_SIGN_IDENTITY = "Apple Development";
                CODE_SIGN_STYLE = Automatic;
                CURRENT_PROJECT_VERSION = 2;
                CURRENT_PROJECT_VERSION = 1;
                DEVELOPMENT_TEAM = Y6BCX27Z39;
                ENABLE_BITCODE = NO;
                FRAMEWORK_SEARCH_PATHS = (
@@ -3789,7 +3789,7 @@
                    "$(PROJECT_DIR)/XWProject/Tools/YYPaymentManager/WeChatPay",
                    "$(PROJECT_DIR)/XWProject/Tools/UMSocial/share/share_ios_6.9.9/SocialLibraries/WeChat/WechatSDK",
                );
                MARKETING_VERSION = 1.0;
                MARKETING_VERSION = 1.3;
                OTHER_LDFLAGS = (
                    "$(inherited)",
                    "-ObjC",
XWProject.xcodeproj/xcuserdata/qingher.xcuserdatad/xcschemes/xcschememanagement.plist
New file
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>SchemeUserState</key>
    <dict>
        <key>XWProject.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>0</integer>
        </dict>
    </dict>
</dict>
</plist>
XWProject.xcworkspace/xcuserdata/qingher.xcuserdatad/UserInterfaceState.xcuserstate
Binary files differ
XWProject.xcworkspace/xcuserdata/qingher.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
   uuid = "CB99D5DC-CF19-4D51-B35E-665400B29278"
   type = "0"
   version = "2.0">
</Bucket>
XWProject.xcworkspace/xcuserdata/zhangshuiwen.xcuserdatad/UserInterfaceState.xcuserstate
Binary files differ
XWProject/.DS_Store
Binary files differ
XWProject/AppDelegate/AppDelegate.swift
@@ -102,6 +102,7 @@
        
        //facebook
        ApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
//        checkVersion(silent: true)
        return true
    }
    
@@ -188,11 +189,10 @@
        UMSocialManager.default()?.openLog(true)
    }
    /// 版本更新
    func checkVersion(){
        //获取当前手机安装使用的版本号
    /// - Parameter silent: 是否静默检查(静默模式下只有更新时才提示,手动检查时显示完整提示)
    func checkVersion(silent: Bool = false){
        let appId = APPID
        let localVersion:String = Bundle.main.infoDictionary!["CFBundleShortVersionString"] as! String
        // App Store版本号
        let url = URL(string: "http://itunes.apple.com/lookup?id=\(appId)")
        var request = URLRequest(url: url!)
        request.httpMethod = "POST"
@@ -219,11 +219,13 @@
                                                } cancelClick: {
                                                }
                                            }
                                        }else{
                                            alert(popup: .single, title: localized("提示"), text: localized("当前已经是最新版本了"), submitTitle: localized("确定"), cancelTitle: "取消") {
                                            } cancelClick: {
                                        }else if !silent {
                                            DispatchQueue.main.async{
                                                alert(popup: .single, title: localized("提示"), text: localized("当前已经是最新版本了"), submitTitle: localized("确定"), cancelTitle: "取消") {
                                                } cancelClick: {
                                                }
                                            }
                                        }
                                    }
@@ -242,6 +244,7 @@
    }
    func applicationDidBecomeActive(_ application: UIApplication) {
        NotificationCenter.default.post(Notification.init(name: Notification.Name.init(YYRefreshInfo)))
//        checkVersion(silent: true)
    }
    
    func applicationDidEnterBackground(_ application: UIApplication) {
XWProject/Assets.xcassets/Expired_en.imageset/宸茶繃鏈烜2x.png

XWProject/Assets.xcassets/Expired_en.imageset/宸茶繃鏈烜3x.png

XWProject/Assets.xcassets/Expired_fr.imageset/宸蹭娇鐢ˊ2x.png

XWProject/Assets.xcassets/Expired_fr.imageset/宸蹭娇鐢ˊ3x.png

XWProject/Assets.xcassets/Rectangle澶囦唤.imageset/Contents.json
XWProject/Assets.xcassets/Rectangle澶囦唤.imageset/鐭╁舰@2x.png

XWProject/Assets.xcassets/Rectangle澶囦唤.imageset/鐭╁舰@3x.png

XWProject/Assets.xcassets/bg_gradient.imageset/鐭╁舰@2x.png

XWProject/Assets.xcassets/bg_gradient.imageset/鐭╁舰@3x.png

XWProject/Assets.xcassets/bg_pink.imageset/鐭╁舰@2x.png

XWProject/Assets.xcassets/bg_pink.imageset/鐭╁舰@3x.png

XWProject/Assets.xcassets/defaultlaunch.imageset/鍚姩@3x 1.png

XWProject/Assets.xcassets/defaultlaunch.imageset/鍚姩@3x 2.png

XWProject/Assets.xcassets/defaultlaunch.imageset/鍚姩@3x.png

XWProject/Assets.xcassets/evaluate_empty(3).imageset/璺緞.png

XWProject/Assets.xcassets/evaluate_empty(3).imageset/璺緞@2x.png

XWProject/Assets.xcassets/evaluate_empty(3).imageset/璺緞@3x.png

XWProject/Assets.xcassets/icon_end point.imageset/璧风偣.png

XWProject/Assets.xcassets/icon_end point.imageset/璧风偣@2x.png

XWProject/Assets.xcassets/icon_end point.imageset/璧风偣@3x.png

XWProject/Assets.xcassets/icon_logo_share.imageset/未标题-3.png
Binary files differ
XWProject/Assets.xcassets/icon_starting point.imageset/璧风偣.png

XWProject/Assets.xcassets/icon_starting point.imageset/璧风偣@2x.png

XWProject/Assets.xcassets/icon_starting point.imageset/璧风偣@3x.png

XWProject/Assets.xcassets/icon_time的副本.imageset/Contents.json
File was deleted
XWProject/Assets.xcassets/icon_time的副本.imageset/icon_time@2x的副本.png
Binary files differ
XWProject/Assets.xcassets/icon_time的副本.imageset/icon_time@3x的副本.png
Binary files differ
XWProject/Assets.xcassets/ios_120.imageset/涔樺120.jpg

XWProject/Assets.xcassets/login_twitter.imageset/login_face澶囦唤 3@2x.png

XWProject/Assets.xcassets/login_twitter.imageset/login_face澶囦唤 3@3x.png

XWProject/Assets.xcassets/map_position.imageset/瀹氫綅.png

XWProject/Assets.xcassets/map_position.imageset/瀹氫綅@2x.png

XWProject/Assets.xcassets/map_position.imageset/瀹氫綅@3x.png

XWProject/Assets.xcassets/start_full.imageset/璺緞.png

XWProject/Assets.xcassets/start_full.imageset/璺緞@2x.png

XWProject/Assets.xcassets/start_full.imageset/璺緞@3x.png

XWProject/Assets.xcassets/used_en.imageset/宸蹭娇鐢ˊ2x.png

XWProject/Assets.xcassets/used_en.imageset/宸蹭娇鐢ˊ3x.png

XWProject/Assets.xcassets/used_fr.imageset/宸蹭娇鐢ˊ2x.png

XWProject/Assets.xcassets/used_fr.imageset/宸蹭娇鐢ˊ3x.png

XWProject/Assets.xcassets/zuobiao.imageset/缂栫粍 2.png

XWProject/Assets.xcassets/zuobiao.imageset/缂栫粍 2@2x.png

XWProject/Assets.xcassets/zuobiao.imageset/缂栫粍 2@3x.png

XWProject/Class/Charter(鍖呰溅)/Controllers/CarModelslistVC.swift
XWProject/Class/Charter(鍖呰溅)/Controllers/CharterHomeVC.swift
XWProject/Class/Charter(鍖呰溅)/Controllers/CharterHomeVC.xib
XWProject/Class/Charter(鍖呰溅)/Models/CharterCarModel.swift
XWProject/Class/Charter(鍖呰溅)/ViewModels/CharterViewModel.swift
XWProject/Class/Charter(鍖呰溅)/Views/CarModelsTableViewCell.swift
XWProject/Class/Charter(鍖呰溅)/Views/CarModelsTableViewCell.xib
XWProject/Class/Home/Controller/HomeViewController.swift
@@ -320,7 +320,7 @@
                    yy_push(vc: vc)
                }
            } else {
                openURL(url: "https://www.maersk.com/")
                openURL(url: "https://exp.hyuusoft.com/official-huoyun-new-h5")
            }
        case 2:
            let data = self.viewModel.dataSource[indexPath.section].data[indexPath.row]
XWProject/Class/LeftMenu/Controller/MineModifyPasswordVC.swift
@@ -79,13 +79,13 @@
             }
             */
            DispatchQueue.main.async { [self] in
                let recaptcha = RecaptchaVisual(
                    viewController: self, siteKey: WEB_SITE_KEY, baseUrl: URL(string: WEB_BASE_URL)!)
                recaptcha.runCaptcha { (token: String?, error: Error?) in
                    guard let token = token  else {return}
                    self.viewModel.token.accept(token)
//                let recaptcha = RecaptchaVisual(
//                    viewController: self, siteKey: WEB_SITE_KEY, baseUrl: URL(string: WEB_BASE_URL)!)
//                recaptcha.runCaptcha { (token: String?, error: Error?) in
//                    guard let token = token  else {return}
//                    self.viewModel.token.accept(token)
                    self.viewModel.sendSMSCode(type: 4, kaptcha: "")
                }
//                }
            }
        }).disposed(by: disposeBag)
        
XWProject/Class/LeftMenu/Controller/MineModifyPhoneSubVC.swift
@@ -94,13 +94,13 @@
            }
            
            DispatchQueue.main.async { [self] in
                let recaptcha = RecaptchaVisual(
                    viewController: self, siteKey: WEB_SITE_KEY, baseUrl: URL(string: WEB_BASE_URL)!)
                recaptcha.runCaptcha { (token: String?, error: Error?) in
                    guard let token = token  else {return}
                    self.viewModel.token.accept(token)
//                let recaptcha = RecaptchaVisual(
//                    viewController: self, siteKey: WEB_SITE_KEY, baseUrl: URL(string: WEB_BASE_URL)!)
//                recaptcha.runCaptcha { (token: String?, error: Error?) in
//                    guard let token = token  else {return}
//                    self.viewModel.token.accept(token)
                    self.viewModel.sendSMSCode(type: 4, kaptcha: "")
                }
//                }
            }
            
//            let view = CodeImageView.loadView()
XWProject/Class/Login/Controller/BindPhoneVC.swift
@@ -104,13 +104,13 @@
             }
             */
            DispatchQueue.main.async { [self] in
                let recaptcha = RecaptchaVisual(
                    viewController: self, siteKey: WEB_SITE_KEY, baseUrl: URL(string: WEB_BASE_URL)!)
                recaptcha.runCaptcha { (token: String?, error: Error?) in
                    guard let token = token  else {return}
                    self.viewModel.token.accept(token)
//                let recaptcha = RecaptchaVisual(
//                    viewController: self, siteKey: WEB_SITE_KEY, baseUrl: URL(string: WEB_BASE_URL)!)
//                recaptcha.runCaptcha { (token: String?, error: Error?) in
//                    guard let token = token  else {return}
//                    self.viewModel.token.accept(token)
                    self.viewModel.sendSMSCode(type: 3, kaptcha: "")
                }
//                }
            }
        }).disposed(by: disposeBag)
        
XWProject/Class/Login/Controller/ForgotPasswordVC.swift
@@ -110,13 +110,13 @@
             }
             */
            DispatchQueue.main.async { [self] in
                let recaptcha = RecaptchaVisual(
                    viewController: self, siteKey: WEB_SITE_KEY, baseUrl: URL(string: WEB_BASE_URL)!)
                recaptcha.runCaptcha { (token: String?, error: Error?) in
                    guard let token = token  else {return}
                    self.viewModel.token.accept(token)
//                let recaptcha = RecaptchaVisual(
//                    viewController: self, siteKey: WEB_SITE_KEY, baseUrl: URL(string: WEB_BASE_URL)!)
//                recaptcha.runCaptcha { (token: String?, error: Error?) in
//                    guard let token = token  else {return}
//                    self.viewModel.token.accept(token)
                    self.viewModel.sendSMSCode(type: 4, kaptcha: "")
                }
//                }
            }
        }).disposed(by: disposeBag)
        
XWProject/Class/Login/Controller/LoginVC.swift
@@ -245,7 +245,6 @@
                    self.textField_code.keyboardType = .numberPad
                    self.button_code.isSelected = true
                    self.button_password.isSelected = false
                    self.phoneInputView.showsAreaCode = true
                    self.label_code.text = localized("验证码")
                    self.image_code.image = UIImage.init(named: "icon_login_code")
                    self.textField_code.placeholder = localized("请输入验证码")
@@ -267,7 +266,6 @@
                    self.textField_code.keyboardType = .default
                    self.button_code.isSelected = false
                    self.button_password.isSelected = true
                    self.phoneInputView.showsAreaCode = false
                    self.button_forget.setTitle(String(format: "%@?", localized("忘记密码")), for: .normal)
                    self.label_code.text = localized("密码")
                    self.image_code.image = UIImage.init(named: "icon_login_password")
@@ -303,13 +301,13 @@
             */
            
            DispatchQueue.main.async { [self] in
                let recaptcha = RecaptchaVisual(
                    viewController: self, siteKey: WEB_SITE_KEY, baseUrl: URL(string: WEB_BASE_URL)!)
                recaptcha.runCaptcha { (token: String?, error: Error?) in
                    guard let token = token  else {return}
                    self.viewModel.token.accept(token)
//                let recaptcha = RecaptchaVisual(
//                    viewController: self, siteKey: WEB_SITE_KEY, baseUrl: URL(string: WEB_BASE_URL)!)
//                recaptcha.runCaptcha { (token: String?, error: Error?) in
//                    guard let token = token  else {return}
//                    self.viewModel.token.accept(token)
                    self.viewModel.sendSMSCode(type: 2, kaptcha: "")
                }
//                }
            }
            
        }).disposed(by: disposeBag)
XWProject/Class/Login/ViewModel/LoginViewModel.swift
@@ -84,7 +84,7 @@
            }else{
                loginSubject.onNext(.loading)
                APIManager.shared.provider.rx
                    .request(.userLogin(phone: phoneNumber.value, password: password.value))
                    .request(.userLogin(phone: areaCode.value + phoneNumber.value, password: password.value))
                    .map(YYModel<LoginModel>.self)
                    .validate()
                    .subscribe(onSuccess: { [unowned self] (model) in
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/ChooseItemTypeVC.swift
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/ChooseItemTypeVC.xib
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/LogisticsGuideVC.swift
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/LogisticsGuideVC.xib
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/LogisticsListVC.swift
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/RecipientInformationVC.swift
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/RecipientInformationVC.xib
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/ShippingInformationVC.swift
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/ShippingInformationVC.xib
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/SmallLogistiAgreementVC.swift
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/SmallLogistiAgreementVC.xib
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/SmallLogisticsHomeVC.swift
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Controllers/SmallLogisticsHomeVC.xib
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Models/LogisticsModel.swift
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Models/RecipientInfomationModel.swift
XWProject/Class/Logistics(灏忎欢鐗╂祦)/ViewModels/LositcsViewModel.swift
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Views/LogisticsListCell.swift
XWProject/Class/Logistics(灏忎欢鐗╂祦)/Views/LogisticsListCell.xib
XWProject/Class/RideHailing/ViewModel/TravelServicePayViewModel.swift
@@ -57,15 +57,15 @@
    func payTaxiOrder()  {
        requestSubject.onNext(.loading)
        APIManager.shared.provider.rx
                                                .request(.payTaxiOrder(orderId: orderId.value, payType: payType.value,orderType: orderType.value.parame(), couponId: couponId.value, bankId: payBankId.value,redDeduction: isRedDeduction.value))
        .map(YYModel<String>.self)
        .validate()
        .subscribe(onSuccess: { [unowned self] (model) in
            self.requestSubject.onNext(.success(model.data))
        }) {[unowned self] (error) in
            self.requestSubject.onNext(.error(error))
        }
        .disposed(by: disposeBag)
            .request(.payTaxiOrder(orderId: orderId.value, payType: payType.value,orderType: orderType.value.parame(), couponId: couponId.value, bankId: payBankId.value,redDeduction: isRedDeduction.value))
            .map(YYModel<String>.self)
            .validate()
            .subscribe(onSuccess: { [unowned self] (model) in
                self.requestSubject.onNext(.success(model.data))
            }) {[unowned self] (error) in
                self.requestSubject.onNext(.error(error))
            }
            .disposed(by: disposeBag)
    }
    /// 支付物流差价
    func paylogisicOrder()  {
XWProject/Class/Taxi/Controller/TravelServicePayVC.swift
@@ -41,6 +41,8 @@
    /// 手机支付
    @IBOutlet weak var button_phone: UIButton!
    
    /// 线下支付
    @IBOutlet weak var button_offlinePayment: UIButton!
    /// 余额支付
    @IBOutlet weak var button_balance: UIButton!
    
@@ -75,6 +77,8 @@
    @IBOutlet weak var label_redpackeAmount: UILabel!
    @IBOutlet weak var label_redpackeCanUsed: UILabel!
    
    // 线下支付
    @IBOutlet weak var labelOfflinePayment: UILabel!
    private var redenvelopeModel:RedenvelopeModel?
    
    
@@ -88,7 +92,7 @@
        case bank
        case cash
        case phone
        case aiPay
        case offlinePayment // 线下支付
        func parame() -> Int {
            switch self {
            case .bank:
@@ -97,7 +101,7 @@
                return 4
            case .phone:
                return 1
            case .aiPay:
            case .offlinePayment:
                return 4
            default:
                return 3
@@ -105,7 +109,7 @@
        }
    }
    /// 支付方式
    let payType = BehaviorRelay<PayTypeNormal>(value: .balance)
    let payType = BehaviorRelay<PayTypeNormal>(value: .offlinePayment)
    
    private var money: Double = 0
    
@@ -161,6 +165,7 @@
        button_bank.isHidden = true
        button_cash.isHidden = true
        button_redpackage.isHidden = true
        button_balance.isHidden = true
        button_redpackage.alpha = viewModel.redenvelopeModel.value?.deductionAmount == 0 ? 0.5:1
        button_redpackage.isUserInteractionEnabled = viewModel.redenvelopeModel.value?.deductionAmount == 0 ? false:true
        
@@ -218,6 +223,7 @@
        label_balance.text = localized("余额支付")
        button_cash.setTitle(localized("余额支付"), for: .normal)
        label_carshPay.text = localized("现金支付")
        labelOfflinePayment.text = localized("线下支付")
        btn_payNow.setTitle(localized("立即支付_2"), for: .normal)
        self.label_payMoney.text = String(format: "\(GlobalCurrencySymbol) %.2lf",money)
    }
@@ -294,7 +300,7 @@
                    break
                case .success(let model):
                    self.hide()
                    if self.payType.value == .balance || self.payType.value == .cash || self.payType.value == .aiPay{
                    if self.payType.value == .balance || self.payType.value == .cash || self.payType.value == .offlinePayment{
                        alert(text: localized("支付成功"))
                        self.dismiss()
                        self.refresh.call()
@@ -337,7 +343,7 @@
                    self.updateButtonState(sender: self.button_bankState)
                case .phone:
                    self.updateButtonState(sender: self.button_phoneState)
                case .aiPay:
                case .offlinePayment:
                    self.updateButtonState(sender: self.aiLiPayButtonState)
                }
            }).disposed(by: rx.disposeBag)
@@ -346,9 +352,9 @@
            .subscribe(onNext: {[unowned self] (_) in
                self.payType.accept(.phone)
            }).disposed(by: rx.disposeBag)
        aiLiPayButton.rx.tap
        button_offlinePayment.rx.tap
            .subscribe(onNext: {[unowned self] (_) in
                self.payType.accept(.aiPay)
                self.payType.accept(.offlinePayment)
            }).disposed(by: rx.disposeBag)
        button_balance.rx.tap
            .subscribe(onNext: {[unowned self] (_) in
@@ -417,7 +423,7 @@
                }else {
                    self.viewModel.payTaxiOrder()
                }
            case .aiPay:
            case .offlinePayment:
                    if isLogisicUgentPay {
                        self.viewModel.paylogisicOrder()
                    }else {
XWProject/Class/Taxi/Controller/TravelServicePayVC.xib
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="24765" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
    <device id="retina6_1" orientation="portrait" appearance="light"/>
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="24743"/>
        <capability name="Named colors" minToolsVersion="9.0"/>
        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
        <capability name="System colors in document resources" minToolsVersion="11.0"/>
@@ -24,11 +24,13 @@
                <outlet property="button_cashState" destination="lTH-sb-puT" id="dTM-Yu-VN9"/>
                <outlet property="button_close" destination="cWP-JL-4WQ" id="zFc-Pu-rZj"/>
                <outlet property="button_coupons" destination="5hb-15-Yqd" id="vNe-vS-paq"/>
                <outlet property="button_offlinePayment" destination="zEs-bj-F7L" id="B2g-AW-Gh1"/>
                <outlet property="button_phone" destination="84B-Iz-ysQ" id="SPw-w1-Ojz"/>
                <outlet property="button_phoneState" destination="Eg3-b3-EhG" id="Jkp-3x-sEL"/>
                <outlet property="button_redpackage" destination="iPZ-AB-WZf" id="2fN-Np-UJK"/>
                <outlet property="button_redpackageState" destination="ccT-Nc-iPF" id="lTk-3Z-3pG"/>
                <outlet property="button_submit" destination="vZK-1k-e2S" id="eSN-v8-TWm"/>
                <outlet property="labelOfflinePayment" destination="swk-wx-Via" id="naw-Qb-1kO"/>
                <outlet property="label_balance" destination="4sU-p4-CJh" id="Y7z-uo-9ss"/>
                <outlet property="label_bankPay" destination="S4J-oo-ew0" id="6LD-Eg-rNF"/>
                <outlet property="label_carshPay" destination="XhR-f9-3GT" id="kU2-8T-GzV"/>
@@ -52,10 +54,10 @@
            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
            <subviews>
                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nKf-EP-jia">
                    <rect key="frame" x="0.0" y="226.5" width="414" height="635.5"/>
                    <rect key="frame" x="0.0" y="142.5" width="414" height="685.5"/>
                    <subviews>
                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="vZK-1k-e2S" customClass="YYButton" customModule="XWProject" customModuleProvider="target">
                            <rect key="frame" x="54" y="572.5" width="306" height="40"/>
                            <rect key="frame" x="54" y="622.5" width="306" height="40"/>
                            <color key="backgroundColor" red="0.1960784314" green="0.23137254900000001" blue="0.29803921570000003" alpha="1" colorSpace="custom" customColorSpace="displayP3"/>
                            <constraints>
                                <constraint firstAttribute="height" constant="40" id="jft-c9-Kzm"/>
@@ -69,7 +71,7 @@
                            </userDefinedRuntimeAttributes>
                        </button>
                        <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="Evq-pw-7KZ">
                            <rect key="frame" x="0.0" y="132.5" width="414" height="422"/>
                            <rect key="frame" x="0.0" y="132.5" width="414" height="472"/>
                            <subviews>
                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="GIP-Jh-h1I">
                                    <rect key="frame" x="0.0" y="0.0" width="414" height="52"/>
@@ -352,6 +354,40 @@
                                        <constraint firstItem="XhR-f9-3GT" firstAttribute="centerY" secondItem="m19-7Q-34u" secondAttribute="centerY" id="zZD-PL-rny"/>
                                    </constraints>
                                </view>
                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="293-XO-Jtl" customClass="UIButton">
                                    <rect key="frame" x="0.0" y="422" width="414" height="50"/>
                                    <subviews>
                                        <button opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" selected="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zEs-bj-F7L">
                                            <rect key="frame" x="380" y="14" width="20" height="22"/>
                                            <state key="normal" image="icon_raidobutton"/>
                                            <state key="selected" image="icon_raidobutton_selected"/>
                                        </button>
                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="线下支付" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="swk-wx-Via">
                                            <rect key="frame" x="14" y="16.5" width="56" height="17"/>
                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
                                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="calibratedRGB"/>
                                            <nil key="highlightedColor"/>
                                        </label>
                                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="icB-MQ-ZsD">
                                            <rect key="frame" x="14" y="49" width="386" height="1"/>
                                            <color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                            <constraints>
                                                <constraint firstAttribute="height" constant="1" id="Ag0-yV-h6a"/>
                                            </constraints>
                                        </view>
                                    </subviews>
                                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                    <constraints>
                                        <constraint firstItem="swk-wx-Via" firstAttribute="centerY" secondItem="293-XO-Jtl" secondAttribute="centerY" id="9Jd-gv-Dnc"/>
                                        <constraint firstAttribute="trailing" secondItem="zEs-bj-F7L" secondAttribute="trailing" constant="14" id="AUC-6L-3FX"/>
                                        <constraint firstAttribute="height" constant="50" id="B23-QL-bnV"/>
                                        <constraint firstAttribute="trailing" secondItem="icB-MQ-ZsD" secondAttribute="trailing" constant="14" id="DWE-Ic-L2B"/>
                                        <constraint firstItem="icB-MQ-ZsD" firstAttribute="leading" secondItem="293-XO-Jtl" secondAttribute="leading" constant="14" id="Nge-qO-o7k"/>
                                        <constraint firstItem="zEs-bj-F7L" firstAttribute="centerY" secondItem="293-XO-Jtl" secondAttribute="centerY" id="dmR-Mf-O8T"/>
                                        <constraint firstItem="swk-wx-Via" firstAttribute="leading" secondItem="293-XO-Jtl" secondAttribute="leading" constant="14" id="gZT-rn-E9c"/>
                                        <constraint firstAttribute="bottom" secondItem="icB-MQ-ZsD" secondAttribute="bottom" id="n70-Z7-fm0"/>
                                    </constraints>
                                </view>
                            </subviews>
                        </stackView>
                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0元" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ijt-mO-QlN">
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/AgreementAlert.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/AgreementAlert.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelCarSeatAlterView.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelCarSeatAlterView.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelPepoleAlertView.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelPepoleAlertView.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelSevenAlertView.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelSevenAlertView.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelSuccessView.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelSuccessView.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelTimerAlterView.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Alert/TravelTimerAlterView.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/ShuttleBusesVC.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/ShuttleBusesVC.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/SureTravelInfoController.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/SureTravelInfoController.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelAppointmentSuccessVC.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelAppointmentSuccessVC.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelChooseCarVC.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelChooseCarVC.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelChooseCityVC.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelChooseCityVC.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelChooseEndAddressVC.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelChooseEndAddressVC.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelCityHomeVC.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelCityHomeVC.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelInstructionsView.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelInstructionsView.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelLineVC.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelOrderSuccessVC.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelOrderSuccessVC.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelSetAddressVC.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelSetStartAddressVC.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Controller/TravelSetStartAddressVC.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Models/TravelDriverListModel.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Models/TravelLineModel.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Models/TravelSiteModel.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Models/TravleCityModel.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/ViewModels/TravelCityViewModel.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/ViewModels/TravelLineViewModel.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/ViewModels/TravelSiteViewModel.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/BusesCollectionViewCell.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/BusesCollectionViewCell.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/MZCalendarKit.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/MZDateUtils.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/MZDaysCell.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelAddressCell.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelAddressCell.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelChooseCarCell.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelChooseCarCell.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelCityCell.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelCityCell.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelCityOneCell.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelCityOneCell.xib
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelLineViewCell.swift
XWProject/Class/TravelAcrossCity(璺ㄥ煄)/Views/TravelLineViewCell.xib
XWProject/Class/绉垎/ChangeControllerVC.swift
XWProject/Class/绉垎/ChangeControllerVC.xib
XWProject/Class/绉垎/ChangeListCell.swift
XWProject/Class/绉垎/ChangeListCell.xib
XWProject/Class/绉垎/ChangeListVC.swift
XWProject/Class/绉垎/ChangeListVC.xib
XWProject/Class/绉垎/MyPointsVC.swift
XWProject/Class/绉垎/MyPointsVC.xib
XWProject/Class/绉垎/PoinstModel.swift
XWProject/Class/绉垎/PointsCollectionReusableView.swift
XWProject/Class/绉垎/PointsCollectionReusableView.xib
XWProject/Class/绉垎/PointsCollectionViewCell.swift
XWProject/Class/绉垎/PointsCollectionViewCell.xib
XWProject/Class/绉垎/PointsDeatilVC.swift
XWProject/Class/绉垎/PointsDeatilVC.xib
XWProject/Class/绉垎/PointsViewModel.swift
XWProject/Class/绉垎/zh-Hans.lproj/PointsCollectionViewCell.xib
XWProject/Tools/.DS_Store
Binary files differ
XWProject/Tools/Macro/Macro.swift
@@ -9,7 +9,7 @@
import Foundation
let APPID = ""
let APPID = "6755757176"
/// 友盟Key
let UmSocialAppkey = "62da152988ccdf4b7edb8a11" //已完成
XWProject/Tools/UMSocial/.DS_Store
Binary files differ
XWProject/Tools/YYLocationManager/GoogleMapAPI.swift
@@ -141,69 +141,69 @@
                var task: Task {
                                switch self {
                                                case .geocode(let location):
                                                                let params = APIParamsAppender()
                                                                                .append(key: "latlng", value: String(format: "%lf,%lf", location.latitude,location.longitude))
                                                                                .append(key: "result_type", value: "premise|street_address|neighborhood|route|administrative_area_level_2")
                                                                return .requestParameters(parameters: params.googleMapDone(), encoding: URLEncoding.queryString)
                                                case .nearbySearch(let location, let radius, let type, let keyword):
                                                                let params = APIParamsAppender()
                                                                                .append(key: "location", value: String(format: "%lf,%lf", location.latitude,location.longitude))
                                                                                .append(key: "radius", value: radius)
                                                                                .append(key: "type", value: type)
                                                                                .append(key: "keyword", value: keyword)
                                                                return .requestParameters(parameters: params.googleMapDone(canHasLang: false), encoding: URLEncoding.queryString)
                                                case .textSearch(let query, let location, let radius, let region):
                                                                let params = APIParamsAppender()
                                                                                .append(key: "query", value: query)
//                    .append(key: "language", value: AppSettings.shared.language.code)
                    .append(key: "location", value: "\(location!.latitude),\(location!.longitude)")
//                                                                            .append(key: "region", value: region)
                    .append(key: "radius", value: 25000)
                switch AppSettings.shared.language{
                    case .Chinese:
                        params.append(key: "language", value: "cn")
                    case .English:
                        params.append(key: "language", value: "en")
                    case .French:
                        params.append(key: "language", value: "fr")
                }
                                                                return .requestParameters(parameters: params.googleMapDone(canHasLang: false), encoding: URLEncoding.queryString)
                                                case .directions(let origin, let destination):
                                                                let params = APIParamsAppender()
                                                                                .append(key: "origin", value: origin.toFormat())
                                                                                .append(key: "destination", value: destination.toFormat())
                                                                                .append(key: "alternatives", value: false) //可供选择方案:会增加请求时间
                                                                                .append(key: "avoid", value: "indoor")
                                                                                .append(key: "mode", value: "driving")
                                                                //                    .append(key: "optimize", value: true)
                                                                //                    .append(key: "waypoint_order", value:"[3,2,0,1]")
                                                                return .requestParameters(parameters: params.googleMapDone(canHasLang: false), encoding: URLEncoding.queryString)
                                                case .findplaceFromtext(let text):
                                                                let params = APIParamsAppender()
                                                                                .append(key: "fields", value: "formatted_address,name,rating,opening_hours,geometry")
                                                                                .append(key: "input", value: text)
                                                                                .append(key: "inputtype", value: "textquery")
                                                                return .requestParameters(parameters: params.googleMapDone(canHasLang: false), encoding: URLEncoding.queryString)
            case .placeAutoComplete(let query, let code):
                let params = APIParamsAppender()
                    .append(key: "input", value: query)
                    .append(key: "components", value: "country:\(code)")
//                    .append(key: "locationbias", value: String(format: "circle:%ld@%lf,%lf", circle,lat,lon))
                return .requestParameters(parameters: params.googleMapDone(canHasLang: true), encoding: URLEncoding.queryString)
            case .placeDetails(placeId: let placeId):
                let params = APIParamsAppender()
                    .append(key: "place_id", value: placeId)
                    .append(key: "fields", value: "name,geometry")
                return .requestParameters(parameters: params.googleMapDone(canHasLang: true), encoding: URLEncoding.queryString)
                                }
                    switch self {
                    case .geocode(let location):
                        let params = APIParamsAppender()
                            .append(key: "latlng", value: String(format: "%lf,%lf", location.latitude,location.longitude))
                            .append(key: "result_type", value: "premise|street_address|neighborhood|route|administrative_area_level_2")
                        return .requestParameters(parameters: params.googleMapDone(), encoding: URLEncoding.queryString)
                    case .nearbySearch(let location, let radius, let type, let keyword):
                        let params = APIParamsAppender()
                            .append(key: "location", value: String(format: "%lf,%lf", location.latitude,location.longitude))
                            .append(key: "radius", value: radius)
                            .append(key: "type", value: type)
                            .append(key: "keyword", value: keyword)
                        return .requestParameters(parameters: params.googleMapDone(canHasLang: false), encoding: URLEncoding.queryString)
                    case .textSearch(let query, let location, let radius, let region):
                        let params = APIParamsAppender()
                            .append(key: "query", value: query)
                        //                    .append(key: "language", value: AppSettings.shared.language.code)
                            .append(key: "location", value: "\(location!.latitude),\(location!.longitude)")
                        //                                                                            .append(key: "region", value: region)
                            .append(key: "radius", value: 25000)
                        switch AppSettings.shared.language{
                        case .Chinese:
                            params.append(key: "language", value: "cn")
                        case .English:
                            params.append(key: "language", value: "en")
                        case .French:
                            params.append(key: "language", value: "fr")
                        }
                        return .requestParameters(parameters: params.googleMapDone(canHasLang: false), encoding: URLEncoding.queryString)
                    case .directions(let origin, let destination):
                        let params = APIParamsAppender()
                            .append(key: "origin", value: origin.toFormat())
                            .append(key: "destination", value: destination.toFormat())
                            .append(key: "alternatives", value: false) //可供选择方案:会增加请求时间
                            .append(key: "avoid", value: "indoor")
                            .append(key: "mode", value: "driving")
                        //                    .append(key: "optimize", value: true)
                        //                    .append(key: "waypoint_order", value:"[3,2,0,1]")
                        return .requestParameters(parameters: params.googleMapDone(canHasLang: false), encoding: URLEncoding.queryString)
                    case .findplaceFromtext(let text):
                        let params = APIParamsAppender()
                            .append(key: "fields", value: "formatted_address,name,rating,opening_hours,geometry")
                            .append(key: "input", value: text)
                            .append(key: "inputtype", value: "textquery")
                        return .requestParameters(parameters: params.googleMapDone(canHasLang: false), encoding: URLEncoding.queryString)
                    case .placeAutoComplete(let query, let code):
                        let params = APIParamsAppender()
                            .append(key: "input", value: query)
                            .append(key: "components", value: "country:\(code)")
                        //                    .append(key: "locationbias", value: String(format: "circle:%ld@%lf,%lf", circle,lat,lon))
                        return .requestParameters(parameters: params.googleMapDone(canHasLang: true), encoding: URLEncoding.queryString)
                    case .placeDetails(placeId: let placeId):
                        let params = APIParamsAppender()
                            .append(key: "place_id", value: placeId)
                            .append(key: "fields", value: "name,geometry")
                        return .requestParameters(parameters: params.googleMapDone(canHasLang: true), encoding: URLEncoding.queryString)
                    }
                }
}
XWProject/Tools/YYLocationManager/YYLocationManager.swift
@@ -312,6 +312,7 @@
            .map(GoogleMapModel<[GoogleResult]>.self)
            .googleValidate()
            .subscribe {[weak self] data in
                guard let self = self else { return }
                if let m = data.results?.first{
                    var model = YYPOIModel()
                    for v in m.address_components{
@@ -366,9 +367,10 @@
                        YYLocationManager.shared.fullname = String(format: "%@%@%@", model.country,model.province,model.city)
                    }
                    self?.successBlock?(model)
                    self?.locationManager.stopUpdatingLocation()
                    self.successBlock?(model)
                    self.locationManager.stopUpdatingLocation()
                }
            } onFailure: {[weak self] error in
                self?.failBlock?(error)
                self?.locationManager.stopUpdatingLocation()
XWProject/Tools/YYMapView/YYMapViewManager.swift
@@ -319,6 +319,7 @@
    
    /// 复位
    func position()  {
        self.allowOriginChange.accept(true)
        if YYLocationManager.shared.isValidated.value{
            YYLocationManager.shared.requestLocation(success: { (model) in
                YYLocationManager.shared.province = model.province
XWProject/en.lproj/Info.plist
@@ -128,6 +128,8 @@
        <string>location</string>
        <string>remote-notification</string>
    </array>
    <key>UIDesignRequiresCompatibility</key>
    <true/>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>
    <key>UIMainStoryboardFile</key>
@@ -149,7 +151,5 @@
    </array>
    <key>UIUserInterfaceStyle</key>
    <string>Light</string>
    <key>UIDesignRequiresCompatibility</key>
    <true/>
</dict>
</plist>
XWProject/fr.lproj/Info.plist
@@ -114,7 +114,7 @@
        <true/>
    </dict>
    <key>NSCameraUsageDescription</key>
    <string>Scanner des codes QR nécessite l&apos;accès à l&apos;appareil photo</string>
    <string>Scanner des codes QR nécessite l'accès à l'appareil photo</string>
    <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
    <string>GOPOST a besoin d’accéder à votre position pour obtenir les conducteurs à proximité</string>
    <key>NSLocationUsageDescription</key>
@@ -122,7 +122,7 @@
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>GOPOST a besoin d’accéder à votre position pour obtenir les conducteurs à proximité</string>
    <key>NSPhotoLibraryUsageDescription</key>
    <string>Scanner des codes QR nécessite l&apos;accès à l&apos;appareil photo</string>
    <string>Scanner des codes QR nécessite l'accès à l'appareil photo</string>
    <key>UIBackgroundModes</key>
    <array>
        <string>location</string>
en.lproj/Localizable.strings
@@ -337,6 +337,7 @@
"银行卡支付_1" = "Bank Card Payment";
"手机支付" = "Mobile Money";
"现金支付" = "Cash";
"线下支付" = "Offline payment";
"余额支付" = "Wallet";
"现金" = "Cash";
"余额" = "Balance";
fr.lproj/Localizable.strings
@@ -237,7 +237,7 @@
"请输入邮箱_1" = "Veuillez saisir une adresse e-mail valide";
"请选择服务城市" = "Séléctionnez une ville pour les services";
"提示" = "Rappel";
"打车" = "Course";
"打车" = "VTC";
"快件" = "Livraison Express";
"物流" = "Logistique";
"包裹" = "livraison";
@@ -335,6 +335,7 @@
"银行卡支付_1" = "Carte bacaire";
"手机支付" = "Argent mobile";
"现金支付" = "En espèces";
"线下支付" = "Paiement hors ligne";
"余额支付" = "Portefeuille GOPOST";
"现金" = "Espèces";
"余额" = "Solde";
@@ -588,7 +589,7 @@
"已提现" = "retiré";
"提现失败" = "Échec du retrait";
"提现方式_1" = "Méthode de retrait";
"专车订单" = "Course";
"专车订单" = "VTC";
"市内小件物流订单" = "Livraison";
//"收据" = "Facture";
"当前积分" = "Points actuels";
zh-Hans.lproj/Localizable.strings
@@ -335,6 +335,7 @@
"银行卡支付_1" = "银行卡支付";
"手机支付" = "手机支付";
"现金支付" = "现金支付";
"线下支付" = "线下支付";
"余额支付" = "余额支付";
"现金" = "现金";
"余额" = "余额";