Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
FastService
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
AppWaiBao
FastService
Commits
ad2a407a
Commit
ad2a407a
authored
Apr 28, 2025
by
xuning
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
设置+骑手信息
parent
69ff8776
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
629 additions
and
2 deletions
+629
-2
project.pbxproj
FastService.xcodeproj/project.pbxproj
+18
-0
UserInterfaceState.xcuserstate
...serdata/xuning.xcuserdatad/UserInterfaceState.xcuserstate
+0
-0
Contents.json
...Service/Assets.xcassets/健康证/jk群组 1.imageset/Contents.json
+0
-0
群组 1@3x.png
FastService/Assets.xcassets/健康证/jk群组 1.imageset/群组 1@3x.png
+0
-0
XVBaseViewController.m
FastService/Base/Controller/XVBaseViewController.m
+1
-1
XVAboutViewController.h
FastService/Personal/Controller/XVAboutViewController.h
+17
-0
XVAboutViewController.m
FastService/Personal/Controller/XVAboutViewController.m
+182
-0
XVMyViewController.h
FastService/Personal/Controller/XVMyViewController.h
+17
-0
XVMyViewController.m
FastService/Personal/Controller/XVMyViewController.m
+274
-0
XVPersonalViewController.m
FastService/Personal/Controller/XVPersonalViewController.m
+8
-0
XVSettingViewController.m
FastService/Personal/Controller/XVSettingViewController.m
+5
-1
XVMyCertificateView.h
FastService/Personal/View/XVMyCertificateView.h
+21
-0
XVMyCertificateView.m
FastService/Personal/View/XVMyCertificateView.m
+83
-0
XVSettingTableViewCell.m
FastService/Personal/View/XVSettingTableViewCell.m
+3
-0
No files found.
FastService.xcodeproj/project.pbxproj
View file @
ad2a407a
...
...
@@ -12,6 +12,9 @@
79267AA32DBD1BFF000D2180
/* XVPersonalHeaderItemView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
79267AA22DBD1BFF000D2180
/* XVPersonalHeaderItemView.m */
;
};
79267AA62DBE5720000D2180
/* XVSettingViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
79267AA52DBE5720000D2180
/* XVSettingViewController.m */
;
};
79267AA92DBE655F000D2180
/* XVSettingTableViewCell.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
79267AA82DBE655F000D2180
/* XVSettingTableViewCell.m */
;
};
79267AAC2DBFC421000D2180
/* XVAboutViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
79267AAB2DBFC421000D2180
/* XVAboutViewController.m */
;
};
79267AAF2DBFC7AF000D2180
/* XVMyViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
79267AAE2DBFC7AF000D2180
/* XVMyViewController.m */
;
};
79267AB22DBFCC44000D2180
/* XVMyCertificateView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
79267AB12DBFCC44000D2180
/* XVMyCertificateView.m */
;
};
798136512DB7AD84004BC05B
/* CoreGraphics.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
798136502DB7AD84004BC05B
/* CoreGraphics.framework */
;
};
798136532DB7AD90004BC05B
/* CoreLocation.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
798136522DB7AD90004BC05B
/* CoreLocation.framework */
;
};
798136572DB7ADB6004BC05B
/* OpenGLES.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
798136562DB7ADB6004BC05B
/* OpenGLES.framework */
;
};
...
...
@@ -81,6 +84,12 @@
79267AA52DBE5720000D2180
/* XVSettingViewController.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
XVSettingViewController.m
;
sourceTree
=
"<group>"
;
};
79267AA72DBE655F000D2180
/* XVSettingTableViewCell.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
XVSettingTableViewCell.h
;
sourceTree
=
"<group>"
;
};
79267AA82DBE655F000D2180
/* XVSettingTableViewCell.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
XVSettingTableViewCell.m
;
sourceTree
=
"<group>"
;
};
79267AAA2DBFC421000D2180
/* XVAboutViewController.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
XVAboutViewController.h
;
sourceTree
=
"<group>"
;
};
79267AAB2DBFC421000D2180
/* XVAboutViewController.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
XVAboutViewController.m
;
sourceTree
=
"<group>"
;
};
79267AAD2DBFC7AF000D2180
/* XVMyViewController.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
XVMyViewController.h
;
sourceTree
=
"<group>"
;
};
79267AAE2DBFC7AF000D2180
/* XVMyViewController.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
XVMyViewController.m
;
sourceTree
=
"<group>"
;
};
79267AB02DBFCC44000D2180
/* XVMyCertificateView.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
XVMyCertificateView.h
;
sourceTree
=
"<group>"
;
};
79267AB12DBFCC44000D2180
/* XVMyCertificateView.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
XVMyCertificateView.m
;
sourceTree
=
"<group>"
;
};
798136262DB7AD09004BC05B
/* BaiduMapAPI_Map.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
name
=
BaiduMapAPI_Map.framework
;
path
=
"Pods/BaiduNaviKit-All/BaiduNaviKit-All/MapSDK/BaiduMapAPI_Map.framework"
;
sourceTree
=
"<group>"
;
};
798136272DB7AD09004BC05B
/* BaiduMapAPI_WalkNavi.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
name
=
BaiduMapAPI_WalkNavi.framework
;
path
=
"Pods/BaiduNaviKit-All/BaiduNaviKit-All/MapSDK/BaiduMapAPI_WalkNavi.framework"
;
sourceTree
=
"<group>"
;
};
798136282DB7AD09004BC05B
/* BaiduMapAPI_Base.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
name
=
BaiduMapAPI_Base.framework
;
path
=
"Pods/BaiduNaviKit-All/BaiduNaviKit-All/MapSDK/BaiduMapAPI_Base.framework"
;
sourceTree
=
"<group>"
;
};
...
...
@@ -394,6 +403,10 @@
79DC8B712B74B3EC00DBD8EA
/* XVOrderSettingViewController.m */
,
79267AA42DBE5720000D2180
/* XVSettingViewController.h */
,
79267AA52DBE5720000D2180
/* XVSettingViewController.m */
,
79267AAA2DBFC421000D2180
/* XVAboutViewController.h */
,
79267AAB2DBFC421000D2180
/* XVAboutViewController.m */
,
79267AAD2DBFC7AF000D2180
/* XVMyViewController.h */
,
79267AAE2DBFC7AF000D2180
/* XVMyViewController.m */
,
);
path
=
Controller
;
sourceTree
=
"<group>"
;
...
...
@@ -411,6 +424,8 @@
79267AA22DBD1BFF000D2180
/* XVPersonalHeaderItemView.m */
,
79267AA72DBE655F000D2180
/* XVSettingTableViewCell.h */
,
79267AA82DBE655F000D2180
/* XVSettingTableViewCell.m */
,
79267AB02DBFCC44000D2180
/* XVMyCertificateView.h */
,
79267AB12DBFCC44000D2180
/* XVMyCertificateView.m */
,
);
path
=
View
;
sourceTree
=
"<group>"
;
...
...
@@ -736,9 +751,11 @@
7981EACF2B6F63CF00F357E7
/* XVMainJobViewController.m in Sources */
,
799DF1042B6D220300680907
/* XVBaseViewController.m in Sources */
,
79DC8B8A2B8D818000DBD8EA
/* XVVerticalButton.m in Sources */
,
79267AAF2DBFC7AF000D2180
/* XVMyViewController.m in Sources */
,
799DF0C62B6BD8AF00680907
/* AppDelegate.m in Sources */
,
7981EAC72B6F41B000F357E7
/* XVRegisterViewController.m in Sources */
,
79DC8B7B2B7AF42800DBD8EA
/* XVOrderInfoTopView.m in Sources */
,
79267AB22DBFCC44000D2180
/* XVMyCertificateView.m in Sources */
,
799DF1112B6D25B400680907
/* NSObject+SXRuntime.m in Sources */
,
7981EABA2B6E670200F357E7
/* UIView+XVAdd.m in Sources */
,
7981EAD32B6F656900F357E7
/* XVCustomBarView.m in Sources */
,
...
...
@@ -768,6 +785,7 @@
799DF11A2B6D2B3200680907
/* XVLoginViewController.m in Sources */
,
79267A9C2DBA8E0F000D2180
/* WMDragView.m in Sources */
,
7981EAED2B6FC05B00F357E7
/* XVCategoryTitleView.m in Sources */
,
79267AAC2DBFC421000D2180
/* XVAboutViewController.m in Sources */
,
799DF1102B6D25B400680907
/* UIBarButtonItem+SXCreate.m in Sources */
,
79DC8B8D2B8D887000DBD8EA
/* XVDispatchOrderAlter.m in Sources */
,
799DF10F2B6D25B400680907
/* UINavigation+SXFixSpace.m in Sources */
,
...
...
FastService.xcworkspace/xcuserdata/xuning.xcuserdatad/UserInterfaceState.xcuserstate
View file @
ad2a407a
No preview for this file type
FastService/Assets.xcassets/健康证/群组 1.imageset/Contents.json
→
FastService/Assets.xcassets/健康证/
jk
群组 1.imageset/Contents.json
View file @
ad2a407a
File moved
FastService/Assets.xcassets/健康证/群组 1.imageset/群组 1@3x.png
→
FastService/Assets.xcassets/健康证/
jk
群组 1.imageset/群组 1@3x.png
View file @
ad2a407a
File moved
FastService/Base/Controller/XVBaseViewController.m
View file @
ad2a407a
...
...
@@ -24,7 +24,7 @@
[
self
setNavigationBarsetBackgroundColor
:[
UIColor
whiteColor
]];
//ctrl + i 格式化
}
-
(
void
)
setNavigationBarsetBackgroundColor
:
(
UIColor
*
)
color
{
...
...
FastService/Personal/Controller/XVAboutViewController.h
0 → 100644
View file @
ad2a407a
//
// XVAboutViewController.h
// fastservice
//
// Created by xuning on 4/28/25.
// Copyright © 2025 FastService. All rights reserved.
//
#import "XVBaseViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface
XVAboutViewController
:
XVBaseViewController
@end
NS_ASSUME_NONNULL_END
FastService/Personal/Controller/XVAboutViewController.m
0 → 100644
View file @
ad2a407a
//
// XVAboutViewController.m
// fastservice
//
// Created by xuning on 4/28/25.
// Copyright © 2025 FastService. All rights reserved.
//
#import "XVAboutViewController.h"
#import "XVSettingTableViewCell.h"
@interface
XVAboutViewController
()
@property
(
nonatomic
,
strong
)
UITableView
*
tableView
;
@property
(
nonatomic
,
strong
)
NSMutableArray
<
NSDictionary
*>
*
dataArray
;
@property
(
nonatomic
,
strong
)
UIImageView
*
logoImageView
;
@property
(
nonatomic
,
strong
)
UIButton
*
versionButton
;
@end
@implementation
XVAboutViewController
-
(
void
)
viewDidLoad
{
[
super
viewDidLoad
];
self
.
navigationItem
.
title
=
@"关于快服务骑士"
;
[
self
setupUI
];
}
-
(
void
)
setupUI
{
[
self
.
view
addSubview
:
self
.
tableView
];
[
self
.
tableView
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
edges
.
mas_equalTo
(
UIEdgeInsetsMake
(
0
,
7
,
0
,
7
));
}];
}
#pragma mark - TableViewDelegate & Datasource
-
(
void
)
tableView
:
(
UITableView
*
)
tableView
willDisplayCell
:
(
UITableViewCell
*
)
cell
forRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
CGFloat
cornerRadius
=
10
.
0
;
CGRect
bounds
=
cell
.
bounds
;
// 每区行数
NSInteger
numberOfRows
=
[
tableView
numberOfRowsInSection
:
indexPath
.
section
];
//绘制曲线
UIBezierPath
*
bezierPath
=
nil
;
if
(
indexPath
.
row
==
0
&&
numberOfRows
==
1
)
{
//四个角都为圆角
bezierPath
=
[
UIBezierPath
bezierPathWithRoundedRect
:
bounds
byRoundingCorners
:
UIRectCornerAllCorners
cornerRadii
:
CGSizeMake
(
cornerRadius
,
cornerRadius
)];
}
else
if
(
indexPath
.
row
==
0
)
{
// cell.separatorInset = UIEdgeInsetsMake(0, 0, 0, cell.bounds.size.width);
//左上、右上角为圆角
bezierPath
=
[
UIBezierPath
bezierPathWithRoundedRect
:
bounds
byRoundingCorners
:(
UIRectCornerTopLeft
|
UIRectCornerTopRight
)
cornerRadii
:
CGSizeMake
(
cornerRadius
,
cornerRadius
)];
}
else
if
(
indexPath
.
row
==
numberOfRows
-
1
)
{
// cell.separatorInset = UIEdgeInsetsMake(0, 0, 0, cell.bounds.size.width);
//某个区的最后一行:左下、右下角为圆角
bezierPath
=
[
UIBezierPath
bezierPathWithRoundedRect
:
bounds
byRoundingCorners
:(
UIRectCornerBottomLeft
|
UIRectCornerBottomRight
)
cornerRadii
:
CGSizeMake
(
cornerRadius
,
cornerRadius
)];
}
else
{
//某个区的中间行:为矩形
bezierPath
=
[
UIBezierPath
bezierPathWithRect
:
bounds
];
}
cell
.
backgroundColor
=
[
UIColor
clearColor
];
//新建一个layer层,设置填充色和边框颜色
CAShapeLayer
*
layer
=
[
CAShapeLayer
layer
];
layer
.
path
=
bezierPath
.
CGPath
;
layer
.
fillColor
=
[
UIColor
whiteColor
].
CGColor
;
layer
.
strokeColor
=
[
UIColor
whiteColor
].
CGColor
;
//将layer层添加到cell.layer中,并插到最底层
[
cell
.
layer
insertSublayer
:
layer
atIndex
:
0
];
}
-
(
NSInteger
)
tableView
:
(
UITableView
*
)
tableView
numberOfRowsInSection
:
(
NSInteger
)
section
{
return
self
.
dataArray
.
count
;
}
-
(
UITableViewCell
*
)
tableView
:
(
UITableView
*
)
tableView
cellForRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
NSDictionary
*
dict
=
self
.
dataArray
[
indexPath
.
row
];
XVSettingTableViewCell
*
cell
=
[
tableView
dequeueReusableCellWithIdentifier
:
@"XVAboutViewController"
];
cell
.
dict
=
dict
;
return
cell
;
}
-
(
void
)
tableView
:
(
UITableView
*
)
tableView
didSelectRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
}
-
(
CGFloat
)
tableView
:
(
UITableView
*
)
tableView
heightForRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
return
44
;
}
-
(
CGFloat
)
tableView
:
(
UITableView
*
)
tableView
heightForHeaderInSection
:
(
NSInteger
)
section
{
return
188
;
}
-
(
CGFloat
)
tableView
:
(
UITableView
*
)
tableView
heightForFooterInSection
:
(
NSInteger
)
section
{
return
CGFLOAT_MIN
;
}
-
(
nullable
UIView
*
)
tableView
:
(
UITableView
*
)
tableView
viewForHeaderInSection
:
(
NSInteger
)
section
{
UIView
*
view
=
[[
UIView
alloc
]
initWithFrame
:
CGRectMake
(
0
,
0
,
self
.
tableView
.
width
,
114
)];
[
view
addSubview
:
self
.
logoImageView
];
[
self
.
logoImageView
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
size
.
mas_equalTo
(
CGSizeMake
(
86
,
86
));
make
.
centerX
.
mas_equalTo
(
view
);
make
.
top
.
mas_equalTo
(
view
).
mas_offset
(
31
);
}];
[
view
addSubview
:
self
.
versionButton
];
[
self
.
versionButton
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
left
.
right
.
centerX
.
mas_equalTo
(
view
);
make
.
top
.
mas_equalTo
(
self
.
logoImageView
.
mas_bottom
).
mas_offset
(
16
);
}];
return
view
;
return
[
UIView
new
];
}
-
(
nullable
UIView
*
)
tableView
:
(
UITableView
*
)
tableView
viewForFooterInSection
:
(
NSInteger
)
section
{
return
[
UIView
new
];
}
-
(
UITableView
*
)
tableView
{
if
(
_tableView
==
nil
)
{
_tableView
=
[[
UITableView
alloc
]
initWithFrame
:
CGRectZero
style
:
UITableViewStyleGrouped
];
_tableView
.
delegate
=
self
;
_tableView
.
dataSource
=
self
;
_tableView
.
tableFooterView
=
[
UIView
new
];
_tableView
.
backgroundColor
=
DEFAULT_BACKGROUND_COLOR
;
_tableView
.
separatorStyle
=
UITableViewCellSeparatorStyleNone
;
//设置分割线的分割
[
_tableView
registerClass
:[
XVSettingTableViewCell
class
]
forCellReuseIdentifier
:
@"XVAboutViewController"
];
}
return
_tableView
;
}
-
(
NSMutableArray
*
)
dataArray
{
if
(
_dataArray
==
nil
)
{
_dataArray
=
[
NSMutableArray
arrayWithCapacity
:
4
];
[
_dataArray
addObjectsFromArray
:@[
@{
@"title"
:
@"骑士协议"
,
@"type"
:
@
(
4
)},
@{
@"title"
:
@"隐私协议"
,
@"type"
:
@
(
4
)},
@{
@"title"
:
@"官网"
,
@"type"
:
@
(
4
)},
@{
@"title"
:
@"检查新版"
,
@"type"
:
@
(
4
)}]];
}
return
_dataArray
;
}
-
(
UIImageView
*
)
logoImageView
{
if
(
_logoImageView
==
nil
)
{
_logoImageView
=
[[
UIImageView
alloc
]
initWithImageName
:
@"tubiao"
];
}
return
_logoImageView
;
}
-
(
UIButton
*
)
versionButton
{
if
(
_versionButton
==
nil
)
{
_versionButton
=
[[
UIButton
alloc
]
initWithTitle
:
S
(
@"当前版本号:%@(Build %@)"
,
APP_VERSION
,
APP_BUILD
)
fontSize
:
12
titleColor
:
F_606060_COLOR
bgColor
:
nil
];
}
return
_versionButton
;
}
@end
FastService/Personal/Controller/XVMyViewController.h
0 → 100644
View file @
ad2a407a
//
// XVMyViewController.h
// fastservice
//
// Created by xuning on 4/28/25.
// Copyright © 2025 FastService. All rights reserved.
//
#import "XVBaseViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface
XVMyViewController
:
XVBaseViewController
@end
NS_ASSUME_NONNULL_END
FastService/Personal/Controller/XVMyViewController.m
0 → 100644
View file @
ad2a407a
//
// XVMyViewController.m
// fastservice
//
// Created by xuning on 4/28/25.
// Copyright © 2025 FastService. All rights reserved.
//
#import "XVMyViewController.h"
#import "XVMyCertificateView.h"
@interface
XVMyViewController
()
@property
(
nonatomic
,
strong
)
UIImageView
*
userImageView
;
@property
(
nonatomic
,
strong
)
UILabel
*
nameLabel
;
@property
(
nonatomic
,
strong
)
UIImageView
*
levelImageView
;
@property
(
nonatomic
,
strong
)
UILabel
*
phoneLabel
;
@property
(
nonatomic
,
strong
)
UIButton
*
eyeButton
;
// 健康证
@property
(
nonatomic
,
strong
)
UIButton
*
healthButton
;
@property
(
nonatomic
,
strong
)
UIButton
*
idButton
;
@property
(
nonatomic
,
strong
)
UIImageView
*
levelBgView
;
@property
(
nonatomic
,
strong
)
UILabel
*
titleLabel
;
@property
(
nonatomic
,
strong
)
UIView
*
bottomView
;
@property
(
nonatomic
,
strong
)
XVMyCertificateView
*
realNameView
;
@property
(
nonatomic
,
strong
)
XVMyCertificateView
*
vehicleView
;
@property
(
nonatomic
,
strong
)
XVMyCertificateView
*
healthView
;
@property
(
nonatomic
,
strong
)
XVMyCertificateView
*
deviceView
;
@end
@implementation
XVMyViewController
-
(
void
)
viewDidLoad
{
[
super
viewDidLoad
];
[
self
setNavigationBarsetBackgroundColor
:
DEFAULT_BACKGROUND_COLOR
];
[
self
setupUI
];
}
-
(
void
)
setupUI
{
[
self
.
view
addSubview
:
self
.
userImageView
];
[
self
.
userImageView
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
top
.
mas_equalTo
(
self
.
view
).
mas_offset
(
11
);
make
.
left
.
mas_equalTo
(
self
.
view
).
mas_offset
(
25
);
make
.
size
.
mas_equalTo
(
CGSizeMake
(
66
,
66
));
}];
[
self
.
view
addSubview
:
self
.
nameLabel
];
[
self
.
nameLabel
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
left
.
mas_equalTo
(
self
.
userImageView
.
mas_right
).
mas_offset
(
13
);
make
.
top
.
mas_equalTo
(
self
.
userImageView
);
}];
[
self
.
view
addSubview
:
self
.
levelImageView
];
[
self
.
levelImageView
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
centerY
.
mas_equalTo
(
self
.
nameLabel
);
make
.
size
.
mas_equalTo
(
CGSizeMake
(
84
,
24
));
make
.
left
.
mas_equalTo
(
self
.
nameLabel
.
mas_right
).
mas_offset
(
4
);
}];
[
self
.
view
addSubview
:
self
.
phoneLabel
];
[
self
.
phoneLabel
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
left
.
mas_equalTo
(
self
.
userImageView
.
mas_right
).
mas_offset
(
13
);
make
.
top
.
mas_equalTo
(
self
.
nameLabel
.
mas_bottom
).
mas_offset
(
7
);
}];
[
self
.
view
addSubview
:
self
.
eyeButton
];
[
self
.
eyeButton
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
size
.
mas_equalTo
(
CGSizeMake
(
17
,
17
));
make
.
centerY
.
mas_equalTo
(
self
.
phoneLabel
);
make
.
left
.
mas_equalTo
(
self
.
phoneLabel
.
mas_right
).
mas_offset
(
4
);
}];
[
self
.
view
addSubview
:
self
.
healthButton
];
[
self
.
healthButton
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
size
.
mas_equalTo
(
CGSizeMake
(
20
,
20
));
make
.
centerY
.
mas_equalTo
(
self
.
phoneLabel
);
make
.
left
.
mas_equalTo
(
self
.
eyeButton
.
mas_right
).
mas_offset
(
4
);
}];
[
self
.
view
addSubview
:
self
.
idButton
];
[
self
.
idButton
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
size
.
mas_equalTo
(
CGSizeMake
(
20
,
20
));
make
.
centerY
.
mas_equalTo
(
self
.
phoneLabel
);
make
.
left
.
mas_equalTo
(
self
.
healthButton
.
mas_right
).
mas_offset
(
4
);
}];
[
self
.
view
addSubview
:
self
.
levelBgView
];
[
self
.
levelBgView
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
top
.
mas_equalTo
(
self
.
userImageView
.
mas_bottom
).
mas_offset
(
20
);
make
.
left
.
mas_equalTo
(
self
.
view
).
mas_offset
(
33
);
make
.
right
.
mas_equalTo
(
self
.
view
).
mas_offset
(
-
33
);
make
.
height
.
mas_equalTo
((
SCREEN_WIDTH
-
70
)
*
173
/
324
);
}];
[
self
.
view
addSubview
:
self
.
bottomView
];
[
self
.
bottomView
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
left
.
mas_equalTo
(
self
.
view
).
mas_offset
(
9
);
make
.
right
.
mas_equalTo
(
self
.
view
).
mas_offset
(
-
9
);
make
.
top
.
mas_equalTo
(
self
.
levelBgView
.
mas_bottom
).
mas_offset
(
14
);
make
.
height
.
mas_equalTo
(
165
);
}];
kViewBorderRadius
(
self
.
bottomView
,
20
,
0
,
[
UIColor
whiteColor
]);
[
self
.
bottomView
addSubview
:
self
.
titleLabel
];
[
self
.
titleLabel
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
top
.
mas_equalTo
(
self
.
bottomView
).
mas_offset
(
16
);
make
.
left
.
mas_equalTo
(
self
.
bottomView
).
mas_offset
(
18
);
}];
[
self
.
bottomView
addSubview
:
self
.
realNameView
];
[
self
.
bottomView
addSubview
:
self
.
vehicleView
];
[
self
.
bottomView
addSubview
:
self
.
healthView
];
[
self
.
bottomView
addSubview
:
self
.
deviceView
];
CGFloat
w
=
(
SCREEN_WIDTH
-
19
)
/
4
;
[
self
.
realNameView
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
top
.
mas_equalTo
(
self
.
titleLabel
.
mas_bottom
).
mas_offset
(
17
);
make
.
left
.
mas_equalTo
(
self
.
bottomView
);
make
.
width
.
mas_equalTo
(
w
);
make
.
height
.
mas_equalTo
(
100
);
}];
[
self
.
vehicleView
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
top
.
mas_equalTo
(
self
.
titleLabel
.
mas_bottom
).
mas_offset
(
17
);
make
.
left
.
mas_equalTo
(
self
.
realNameView
.
mas_right
);
make
.
width
.
mas_equalTo
(
w
);
make
.
height
.
mas_equalTo
(
100
);
}];
[
self
.
healthView
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
top
.
mas_equalTo
(
self
.
titleLabel
.
mas_bottom
).
mas_offset
(
17
);
make
.
left
.
mas_equalTo
(
self
.
vehicleView
.
mas_right
);
make
.
width
.
mas_equalTo
(
w
);
make
.
height
.
mas_equalTo
(
100
);
}];
[
self
.
deviceView
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
top
.
mas_equalTo
(
self
.
titleLabel
.
mas_bottom
).
mas_offset
(
17
);
make
.
left
.
mas_equalTo
(
self
.
healthView
.
mas_right
);
make
.
width
.
mas_equalTo
(
w
);
make
.
height
.
mas_equalTo
(
100
);
}];
}
-
(
UIImageView
*
)
userImageView
{
if
(
_userImageView
==
nil
)
{
_userImageView
=
[[
UIImageView
alloc
]
initWithImageName
:
@"qishi-head"
];
}
return
_userImageView
;
}
-
(
UILabel
*
)
nameLabel
{
if
(
_nameLabel
==
nil
)
{
_nameLabel
=
[[
UILabel
alloc
]
initWithText
:
@"骑士"
textColor
:
F_101010_COLOR
textAlignment
:
(
NSTextAlignmentLeft
)
fontSize
:
26
];
}
return
_nameLabel
;
}
-
(
UILabel
*
)
phoneLabel
{
if
(
_phoneLabel
==
nil
)
{
_phoneLabel
=
[[
UILabel
alloc
]
initWithText
:
@"138****0018"
textColor
:
F_101010_COLOR
textAlignment
:
(
NSTextAlignmentLeft
)
fontSize
:
20
];
}
return
_phoneLabel
;
}
-
(
UIButton
*
)
eyeButton
{
if
(
_eyeButton
==
nil
)
{
_eyeButton
=
[[
UIButton
alloc
]
initWithNormalImageName
:
@"closeeyes"
selectedImgName
:
@"openeyes"
];
}
return
_eyeButton
;
}
-
(
UIButton
*
)
healthButton
{
if
(
_healthButton
==
nil
)
{
_healthButton
=
[[
UIButton
alloc
]
initWithNormalImageName
:
@"fa5-address-card-fas 1 Copy 1"
selectedImgName
:
@"fa5-address-card-fas 1"
];
}
return
_healthButton
;
}
-
(
UIButton
*
)
idButton
{
if
(
_idButton
==
nil
)
{
_idButton
=
[[
UIButton
alloc
]
initWithNormalImageName
:
@"riFill-shield-user-fill 1 Copy 1"
selectedImgName
:
@"riFill-shield-user-fill 1"
];
}
return
_idButton
;
}
-
(
UIImageView
*
)
levelImageView
{
if
(
_levelImageView
==
nil
)
{
_levelImageView
=
[[
UIImageView
alloc
]
initWithImageName
:
@"tongpai3x"
];
}
return
_levelImageView
;
}
-
(
UIImageView
*
)
levelBgView
{
if
(
_levelBgView
==
nil
)
{
_levelBgView
=
[[
UIImageView
alloc
]
initWithImageName
:
@"群组 13"
];
}
return
_levelBgView
;
}
-
(
UILabel
*
)
titleLabel
{
if
(
_titleLabel
==
nil
)
{
_titleLabel
=
[[
UILabel
alloc
]
initWithText
:
@"我的证件&设备"
textColor
:
F_101010_COLOR
textAlignment
:
(
NSTextAlignmentLeft
)
fontSize
:
12
];
_titleLabel
.
font
=
[
UIFont
boldSystemFontOfSize
:
12
];
}
return
_titleLabel
;
}
-
(
UIView
*
)
bottomView
{
if
(
_bottomView
==
nil
)
{
_bottomView
=
[[
UIView
alloc
]
init
];
_bottomView
.
backgroundColor
=
[
UIColor
whiteColor
];
}
return
_bottomView
;
}
-
(
XVMyCertificateView
*
)
realNameView
{
if
(
_realNameView
==
nil
)
{
_realNameView
=
[[
XVMyCertificateView
alloc
]
init
];
[
_realNameView
setNormalImageName
:
@"群组 3"
selectedImgName
:
@"群组 3"
title
:
@"实名认证"
];
}
return
_realNameView
;
}
-
(
XVMyCertificateView
*
)
vehicleView
{
if
(
_vehicleView
==
nil
)
{
_vehicleView
=
[[
XVMyCertificateView
alloc
]
init
];
[
_vehicleView
setNormalImageName
:
@"群组 1"
selectedImgName
:
@"群组 1"
title
:
@"车辆认证"
];
}
return
_vehicleView
;
}
-
(
XVMyCertificateView
*
)
healthView
{
if
(
_healthView
==
nil
)
{
_healthView
=
[[
XVMyCertificateView
alloc
]
init
];
[
_healthView
setNormalImageName
:
@"群组 2"
selectedImgName
:
@"群组 2"
title
:
@"健康证"
];
}
return
_healthView
;
}
-
(
XVMyCertificateView
*
)
deviceView
{
if
(
_deviceView
==
nil
)
{
_deviceView
=
[[
XVMyCertificateView
alloc
]
init
];
[
_deviceView
setNormalImageName
:
@"群组 18"
selectedImgName
:
@"群组 18"
title
:
@"智能设备"
];
}
return
_deviceView
;
}
@end
FastService/Personal/Controller/XVPersonalViewController.m
View file @
ad2a407a
...
...
@@ -11,6 +11,7 @@
#import <SDCycleScrollView/SDCycleScrollView.h>
#import "XVVerticalButton.h"
#import "XVSettingViewController.h"
#import "XVMyViewController.h"
@interface
XVPersonalViewController
()
...
...
@@ -277,6 +278,13 @@
-
(
UIImageView
*
)
levelImageView
{
if
(
_levelImageView
==
nil
)
{
_levelImageView
=
[[
UIImageView
alloc
]
initWithImageName
:
@"tongpai3x"
];
_levelImageView
.
userInteractionEnabled
=
YES
;
WS
(
weakSelf
)
UITapGestureRecognizer
*
tap
=
[[
UITapGestureRecognizer
alloc
]
initWithActionBlock
:
^
(
id
_Nonnull
sender
)
{
XVMyViewController
*
myVc
=
[[
XVMyViewController
alloc
]
init
];
[
weakSelf
cw_pushViewController
:
myVc
];
}];
[
_levelImageView
addGestureRecognizer
:
tap
];
}
return
_levelImageView
;
}
...
...
FastService/Personal/Controller/XVSettingViewController.m
View file @
ad2a407a
...
...
@@ -8,6 +8,7 @@
#import "XVSettingViewController.h"
#import "XVSettingTableViewCell.h"
#import "XVAboutViewController.h"
@interface
XVSettingViewController
()
...
...
@@ -26,7 +27,7 @@
-
(
void
)
viewDidLoad
{
[
super
viewDidLoad
];
self
.
navigationItem
.
title
=
@"设置"
;
self
.
title
=
@"设置"
;
[
self
setupUI
];
}
...
...
@@ -101,6 +102,9 @@
-
(
void
)
tableView
:
(
UITableView
*
)
tableView
didSelectRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
XVAboutViewController
*
aboutVc
=
[[
XVAboutViewController
alloc
]
init
];
[
self
.
navigationController
pushViewController
:
aboutVc
animated
:
YES
];
}
-
(
CGFloat
)
tableView
:
(
UITableView
*
)
tableView
heightForRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
...
...
FastService/Personal/View/XVMyCertificateView.h
0 → 100644
View file @
ad2a407a
//
// XVMyCertificateView.h
// fastservice
//
// Created by xuning on 4/28/25.
// Copyright © 2025 FastService. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface
XVMyCertificateView
:
UIView
-
(
void
)
setNormalImageName
:(
NSString
*
)
imageName
selectedImgName
:(
NSString
*
)
selectedImgName
title
:(
NSString
*
)
title
;
@end
NS_ASSUME_NONNULL_END
FastService/Personal/View/XVMyCertificateView.m
0 → 100644
View file @
ad2a407a
//
// XVMyCertificateView.m
// fastservice
//
// Created by xuning on 4/28/25.
// Copyright © 2025 FastService. All rights reserved.
//
#import "XVMyCertificateView.h"
#import "XVVerticalButton.h"
@interface
XVMyCertificateView
()
@property
(
nonatomic
,
strong
)
XVVerticalButton
*
button
;
@property
(
nonatomic
,
strong
)
UILabel
*
label
;
@end
@implementation
XVMyCertificateView
-
(
instancetype
)
init
{
if
(
self
=
[
super
init
])
{
[
self
setupUI
];
}
return
self
;
}
-
(
instancetype
)
initWithFrame
:
(
CGRect
)
frame
{
if
(
self
=
[
super
initWithFrame
:
frame
])
{
[
self
setupUI
];
}
return
self
;
}
-
(
void
)
setupUI
{
[
self
addSubview
:
self
.
button
];
[
self
.
button
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
centerX
.
mas_equalTo
(
self
);
make
.
size
.
mas_equalTo
(
CGSizeMake
(
62
,
80
));
make
.
top
.
mas_equalTo
(
self
);
}];
[
self
addSubview
:
self
.
label
];
[
self
.
label
mas_makeConstraints
:
^
(
MASConstraintMaker
*
make
)
{
make
.
centerX
.
mas_equalTo
(
self
);
make
.
top
.
mas_equalTo
(
self
.
button
.
mas_bottom
).
mas_offset
(
2
);
make
.
left
.
right
.
mas_equalTo
(
self
);
}];
}
-
(
void
)
setNormalImageName
:
(
NSString
*
)
imageName
selectedImgName
:
(
NSString
*
)
selectedImgName
title
:
(
nonnull
NSString
*
)
title
{
[
_button
setImage
:
IMG
(
imageName
)
forState
:(
UIControlStateNormal
)];
[
_button
setImage
:
IMG
(
selectedImgName
)
forState
:(
UIControlStateSelected
)];
_label
.
text
=
title
;
}
-
(
XVVerticalButton
*
)
button
{
if
(
_button
==
nil
)
{
_button
=
[[
XVVerticalButton
alloc
]
init
];
_button
.
imageIsRound
=
NO
;
_button
.
imageViewMaxSize
=
CGSizeMake
(
62
,
62
);
_button
.
imageTextSpace
=
3
;
[
_button
setImage
:
IMG
(
@"群组 3"
)
forState
:(
UIControlStateNormal
)];
[
_button
setTitle
:
@"未认证"
forState
:
UIControlStateNormal
];
[
_button
setTitleColor
:
kHexRGB
(
0xF78606
)
forState
:
UIControlStateNormal
];
[
_button
setTitleColor
:
kHexRGB
(
0x00BE70
)
forState
:
UIControlStateSelected
];
_button
.
titleLabel
.
font
=
[
UIFont
systemFontOfSize
:
10
];
}
return
_button
;
}
-
(
UILabel
*
)
label
{
if
(
_label
==
nil
)
{
_label
=
[[
UILabel
alloc
]
initWithText
:
@"实名认证"
textColor
:
F_101010_COLOR
textAlignment
:
(
NSTextAlignmentCenter
)
fontSize
:
12
];
}
return
_label
;
}
@end
FastService/Personal/View/XVSettingTableViewCell.m
View file @
ad2a407a
...
...
@@ -36,6 +36,7 @@
}
-
(
void
)
setDict
:(
NSDictionary
*
)
dict
{
_dict
=
dict
;
int
type
=
[
dict
[
@"type"
]
intValue
];
if
(
type
==
1
)
{
...
...
@@ -77,6 +78,8 @@
}];
}
}
self
.
titleLabel
.
text
=
dict
[
@"title"
];
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment