工单相关功能设置
KFRequests.h
注:用于创建工单视图控制器
属性说明
属性名称 | 类型 | 说明 |
createRequestBarType | KFNavBarUIType | 工单列表控制器rightBarButtonItem的显示方式 |
createRequestBarImageName | NSString | 工单列表控制器rightBarButtonItem的图片名称 |
createRequestBarTitle | NSString | 工单列表控制器rightBarButtonItem的标题名称 |
detailMessageBarType | KFNavBarUIType | 工单详情控制器rightBarButtonItem的显示方式,点击应进入显示详细信息控制器 |
detailMessageBarImageName | NSString | 工单详情控制器rightBarButtonItem的图片名称 |
detailMessageBarTitle | NSString | 工单详情控制器rightBarButtonItem的标题名称 |
fieldDict | NSDictionary | 工单自定义字段字典,如@{@"field_123":@"内容"},如果不为空,则在每次调用创建工单视图控制器时,都会自动加上 |
注:fieldDict如果不为空且含有必填的自定义字段,则必须设置,否则不能成功创建工单,该字段为全局字段,每次创建工单都会添加。点击查看获取fieldDict的接口
方法说明
1、 初始化方法
+ (instancetype) sharedRequests;
2、 present创建工单视图控制器
+ (KFRequestViewController *) presentRequestCreationWithNavController:(UINavigationController*)navController;
参数名称 | 类型 | 说明 |
navController | UINavigationController | 当前的navController |
3、 present创建工单视图控制器(待结果)
+ (KFRequestViewController *) presentRequestCreationWithNavController:(UINavigationController*)navController
withSuccess:(KFAPISuccess)success
andError:(KFAPIError)error;
参数名称 | 类型 | 说明 |
navController | UINavigationController | 用于push创建工单视图控制器 |
success | KFAPISuccess | 网络请求成功时返回 |
error | KFAPIError | 网络请求失败时返回 |
4、 present创建工单视图控制器(可添加自定义字段)
+ (KFRequestViewController *) presentRequestCreationWithNavController:(UINavigationController *)navController
fieldDict:(NSDictionary *)fieldDict
success:(KFAPISuccess)success
andError:(KFAPIError)error;
参数名称 | 类型 | 说明 |
navController | UINavigationController | 用于push创建工单视图控制器 |
fieldDict | NSDictionary | 工单自定义字段字典,如@{@"field_123":@"内容"} |
success | KFAPISuccess | 网络请求成功时返回 |
error | KFAPIError | 网络请求失败时返回 |
注:fieldDict如果不为空且含有必填的自定义字段,则必须设置,否则不能成功创建工单,该字段会覆盖全局字段fieldDict。点击查看获取fieldDict的接口
5、 push工单列表视图控制器
+ (KFTicketListViewController *) showRequestListWithNavController:(UINavigationController *)navController;
参数名称 | 类型 | 说明 |
navController | UINavigationController | 用于push工单列表视图控制器 |
6、 push工单列表视图控制器(带actionBlock)
+ (KFTicketListViewController *)showRequestListWithNavController:(UINavigationController *)navController
rightBarButtonActionBlock:(void (^)())actionBlock;
参数名称 | 类型 | 说明 |
navController | UINavigationController | 用于push工单列表视图控制器 |
actionBlock | Block | 点击工单列表navBar右侧按钮的事件处理,为NULL直接跳转 到创建工单控制器(不带工单自定义参数) |
7、 present工单列表视图控制器
+ (KFTicketListViewController *) presentRequestListWithNavController:(UINavigationController *)navController;
参数名称 | 类型 | 说明 |
navController | UINavigationController | 用于present工单列表视图控制器 |
8、present工单列表视图控制器(带actionBlock)
+ (KFTicketListViewController *) presentRequestListWithNavController:(UINavigationController *)navController
rightBarButtonActionBlock:(void (^)())actionBlock;
参数名称 | 类型 | 说明 |
navController | UINavigationController | 用于present工单列表视图控制器 |
actionBlock | Block | 点击工单列表navBar右侧按钮的事件处理,为NULL直接跳转 到创建工单控制器(不带工单自定义参数) |
9、 设置newRequest右侧navBarButton的图片名称
+ (void) setNewRequestBarButtonImage:(NSString *)name;
参数名称 | 类型 | 说明 |
name | NSString | 设置图片名称 |
10、 设置newRequest右侧navBarButton的内容
+ (void) setNewRequestBarButtonTitle:(NSString *)title;
参数名称 | 类型 | 说明 |
title | NSString | 设置navBarButton的内容 |
11、 设置工单列表右侧的navBarButton的显示方式
+ (void) setNavBarCreateRequestUIType:(KFNavBarUIType)type;
参数名称 | 类型 | 说明 |
type | KFNavBarUIType | 设置navBarButton的显示方式 |
12、设置详细工单右侧的navBarButton的图片名称
+ (void) setDetailMessageBarButtonImage:(NSString *)name;
参数名称 | 类型 | 说明 |
name | NSString | 设置图片名称 |
13、设置详细工单右侧的navBarButton的内容
+ (void) setDetailMessageBarButtonTitle:(NSString *)title;
参数名称 | 类型 | 说明 |
title | NSString | 设置navBarButton的内容 |
14、设置详细工单右侧的navBarButton的显示方式
+ (void) setNavBarDetailMessageUIType:(KFNavBarUIType)type;
参数名称 | 类型 | 说明 |
type | KFNavBarUIType | 设置navBarButton的显示方式 |
工单问题请求
KFTicketHttpTool.h
属性说明
代理说明
请求成功的代理方法
- (void)ticketHttpTool:(KFTicketHttpTool *)ticketHttpTool successWithResult:(NSDictionary *)result;
请求失败的代理方法
- (void)ticketHttpTool:(KFTicketHttpTool *)ticketHttpTool failureWithError:(KFError *)error;
方法说明
获取工单列表
- (NSURLSessionDataTask *)getTicketListWithPageSize:(NSString *)pageSize
page:(NSString *)page;
参数名称 | 类型 | 说明 |
pageSize | NSString | 每页工单的数量 |
page | NSString | 当前请求第几页 |
获取工单内容
- (NSURLSessionDataTask *)getTicketWithTicket_id:(NSString *)ticket_id
pageSize:(NSString *)pageSize
page:(NSString *)page;
参数名称 | 类型 | 说明 |
ticket_id | NSString | 工单的id |
pageSize | NSString | 每页工单的数量 |
page | NSString | 当前请求第几页 |
获取工单详情
- (NSURLSessionDataTask *)getTicketDetailMessageWithTicket_id:(NSString *)ticket_id;
参数名称 | 类型 | 说明 |
ticket_id | NSString | 工单的id |
回复工单
- (NSURLSessionDataTask *)replyTicketWithTicket_id:(NSString *)ticket_id
content:(NSString *)content
imageTokens:(NSArray *)imageTokens;
参数名称 | 类型 | 说明 |
ticket_id | NSString | 工单的id |
content | NSString | 回复内容 |
imageTokens | NSArray | 附件图片token数组 |
创建工单
- (NSURLSessionDataTask *)createTicketWithTitle:(NSString *)title
content:(NSString *)content
imageTokens:(NSArray *)imageTokens
custom_fields:(NSDictionary *)custom_fields;
参数名称 | 类型 | 说明 |
title | NSString | 工单标题 |
content | NSString | 回复内容 |
imageTokens | NSArray | 附件图片token数组 |
custom_fields | NSDictionary | 自定义字段,如@{@"field_123":@"手机端"},自定义字段的key需要使用获取自定义字段的接口获取 |
获取自定义字段
- (NSURLSessionDataTask *)getCustom_fields;
获取工单列表
+ (NSURLSessionDataTask *)getTicketListWithPageSize:(NSString *)pageSize
page:(NSString *)page
successBlock:(KFAPISuccess)successBlock
failureBlock:(KFAPIError)failureBlock;
参数名称 | 类型 | 说明 |
pageSize | NSString | 每页工单的数量 |
page | NSString | 当前请求第几页 |
successBlock | KFAPISuccess | 获取成功的回调 |
failureBlock | KFAPIError | 获取失败的回调 |
获取工单内容
+ (NSURLSessionDataTask *)getTicketWithTicket_id:(NSString *)ticket_id
pageSize:(NSString *)pageSize
page:(NSString *)page
successBlock:(KFAPISuccess)successBlock
failureBlock:(KFAPIError)failureBlock;
参数名称 | 类型 | 说明 |
ticket_id | NSString | 工单的id |
pageSize | NSString | 每页工单的数量 |
page | NSString | 当前请求第几页 |
successBlock | KFAPISuccess | 获取成功的回调 |
failureBlock | KFAPIError | 获取失败的回调 |
获取工单详情
+ (NSURLSessionDataTask *)getTicketDetailMessageWithTicket_id:(NSString *)ticket_id
successBlock:(KFAPISuccess)successBlock
failureBlock:(KFAPIError)failureBlock;
参数名称 | 类型 | 说明 |
ticket_id | NSString | 工单的id |
successBlock | KFAPISuccess | 获取成功的回调 |
failureBlock | KFAPIError | 获取失败的回调 |
回复工单
+ (NSURLSessionDataTask *)replyTicketWithTicket_id:(NSString *)ticket_id
content:(NSString *)content
imageTokens:(NSArray *)imageTokens
successBlock:(KFAPISuccess)successBlock
failureBlock:(KFAPIError)failureBlock;
参数名称 | 类型 | 说明 |
ticket_id | NSString | 工单的id |
content | NSString | 回复内容 |
imageTokens | NSArray | 附件图片token数组 |
successBlock | KFAPISuccess | 回复成功的回调 |
failureBlock | KFAPIError | 回复失败的回调 |
创建工单
+ (NSURLSessionDataTask *)createTicketWithTitle:(NSString *)title
content:(NSString *)content
imageTokens:(NSArray *)imageTokens
custom_fields:(NSDictionary *)custom_fields
successBlock:(KFAPISuccess)successBlock
failureBlock:(KFAPIError)failureBlock;
参数名称 | 类型 | 说明 |
title | NSString | 工单的id |
content | NSString | 回复内容 |
imageTokens | NSArray | 附件图片token数组 |
custom_fields | NSDictionary | 自定义字段,如@{@"field_123":@"手机端"},自定义字段的key需要使用获取自定义字段的接口获取 |
successBlock | KFAPISuccess | 创建成功的回调 |
failureBlock | KFAPIError | 创建失败的回调 |
获取自定义字段
+ (NSURLSessionDataTask *)getCustom_fieldsWithSuccessBlock:(KFAPISuccess)successBlock
failureBlock:(KFAPIError)failureBlock;
参数名称 | 类型 | 说明 |
successBlock | KFAPISuccess | 获取成功的回调 |
failureBlock | KFAPIError | 获取失败的回调 |
创建工单视图UI设置
KFCreateRequestView.h
注:设置创建工单视图UI
属性说明
属性名称 | 类型 | 说明 |
placeholderTextColor | UIColor | placeholder的颜色 |
placeholderText | NSString | placeholder的内容 |
textViewColor | UIColor | textView的颜色 |
textViewBackgroundColor | UIColor | textView的背景颜色 |
textViewFont | UIFont | textView的字体 |
viewBackgroundColor | UIColor | view的背景颜色 |
attachmentButtonImage | UIImage | AttachmentButton的图片 |
textViewHeight | CGFolat | textView的高度 |
使用说明:KFCreateRequestView遵守UIAppearance协议,设置创建工单视图UI,需使用设置外观方式设置。
如:设置textView的字体
[[KFCreateRequestView appearance]setTextViewFont:[UIFont systemFontOfSize:18.f]];
注:以后出现的View,均遵守UIAppearance协议,可以用appearance修改界面样式
反馈工单列表UI设置
KFTicketListView.h
注:设置反馈列表视图UI
属性说明
属性名称 | 类型 | 说明 |
cellcontentFont | UIFont | cell contentLabel的字体 |
cellcontentColor | UIColor | cell contentLabel的颜色 |
cellTimeFont | UIFont | cell timeLabel的字体 |
cellTimeColor | UIColor | cell timeLabel的颜色 |
cellStatusFont | UIFont | cell statusLabel的字体 |
cellStatusColor | UIColor | cell statusLabel的颜色 |
isHiddenStatusLabel | BOOL | 是否隐藏statusLabel,默认不隐藏 |
tableBackgroundColor | UIColor | tableView的背景颜色 |
separatorColor | UIColor | tableView seperator的颜色 |
noResultsLabelFont | UIFont | noResultsLabel的字体 |
noResultsLabelColor | UIColor | noResultsLabel的颜色 |
noResultsLabelText | NSString | noResultsLabel的颜色 |
noResultsLabelBackgroundColor | UIColor | noResultsLabel的背景颜色 |
使用说明:设置相关UI方式同KFCreateRequestView.h。
工单内容视图UI设置
KFRequestCommentTableCell.h
注:设置工单内容cell的UI
属性说明
属性名称 | 类型 | 说明 |
headImageView | UIImageView | 头像 |
timeLabel | UILabel | 时间 |
nameLabel | UILabel | 角色 |
ctnTextView | UITextView | 内容 |
headerImage | UIImage | 头像 |
avatar | UIImage | avatar的image |
avatarSpace | NSNumber | 附件之间的间距 |
nameLabelFont | UIFont | nameLabel的字体 |
nameLabelColor | UIColor | nameLabel的颜色 |
contentFont | UIFont | contentLabel的字体 |
contentColor | UIColor | contentLabel的颜色 |
timeLabelFont | UIFont | timeLabel的字体 |
timeLabelColor | UIColor | timeLabel的颜色 |
cellBackgroundColor | UIColor | cell的背景颜色 |
使用说明:KFAgentCommentTableCell和 KFEndUserCommentTableCell是KFRequestCommentTableCell的子类,
单独设置客服或用户的cell使用KFAgentCommentTableCell和 KFEndUserCommentTableCell,设置统一样式则可使KFRequestCommentTableCell。
设置相关UI方式同KFCreateRequestView.h。
工单详细信息视图UI设置
KFDetailMessageTableViewCell.h
注:设置工单详细信息cell的相关UI
属性说明
属性名称 | 类型 | 说明 |
titleLabel | UILabel | 标题 |
contentLabel | UILabel | 内容 |
titleFont | UIFont | titleLabel的字体 |
titleColor | UIColor | titleLabel的颜色 |
contentFont | UIFont | titleLabel的颜色 |
contentColor | UIColor | titleLabel的颜色 |
cellBackgroundColor | UIColor | cell的背景颜色 |
使用说明:设置相关UI方式同KFCreateRequestView.h。