BBSReplySubjectViewController.swift 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. //
  2. // BBSReplySubjectViewController.swift
  3. // O2Platform
  4. //
  5. // Created by 刘振兴 on 2016/11/9.
  6. // Copyright © 2016年 zoneland. All rights reserved.
  7. //
  8. import UIKit
  9. import Alamofire
  10. import AlamofireObjectMapper
  11. import ObjectMapper
  12. import SwiftyJSON
  13. import CocoaLumberjack
  14. import O2OA_Auth_SDK
  15. class BBSReplySubjectViewController: UIViewController {
  16. var subject:BBSSubjectData?{
  17. didSet {
  18. }
  19. }
  20. var parentId:String?
  21. var htmlEditorController:ZSSRichTextEditor!
  22. override func viewDidLoad() {
  23. super.viewDidLoad()
  24. htmlEditorController = ZSSRichTextEditor()
  25. //htmlEditorController.setSelectedColor(<#T##color: UIColor!##UIColor!#>, tag: <#T##Int32#>)
  26. htmlEditorController.view.frame = self.view.frame
  27. self.view.addSubview(htmlEditorController.view)
  28. htmlEditorController.alwaysShowToolbar = true
  29. htmlEditorController.placeholder = "请输入回复内容"
  30. self.addChild(htmlEditorController)
  31. }
  32. override func didReceiveMemoryWarning() {
  33. super.didReceiveMemoryWarning()
  34. // Dispose of any resources that can be recreated.
  35. }
  36. @IBAction func closeReplyWindow(_ sender: UIBarButtonItem) {
  37. //print(self.htmlEditorController.getHTML())
  38. self.dismiss(animated: true, completion: nil)
  39. }
  40. @IBAction func replySubjectAction(_ sender: UIBarButtonItem) {
  41. //执行回复提交并返回帖子
  42. let url = AppDelegate.o2Collect.generateURLWithAppContextKey(BBSContext.bbsContextKey, query: BBSContext.itemReplyQuery, parameter: nil)
  43. //参数
  44. var entity = SubjectReplayRequestEntity()
  45. entity.creatorName = O2AuthSDK.shared.myInfo()?.name
  46. entity.content = self.htmlEditorController.getHTML()
  47. entity.subjectId = subject?.id
  48. if let pid = parentId {
  49. entity.parentId = pid
  50. }
  51. Alamofire.request(url!, method: .post, parameters: entity.toJSON(), encoding: JSONEncoding.default, headers: nil).responseJSON { (response) in
  52. switch response.result {
  53. case .success(let val):
  54. let type = JSON(val)["type"]
  55. if type == "success" {
  56. DispatchQueue.main.async {
  57. ProgressHUD.showSuccess("回复成功")
  58. DispatchQueue.main.asyncAfter(deadline: .now() + 0.3, execute: {
  59. self.performSegue(withIdentifier: "backSubjectSegue", sender: nil)
  60. })
  61. }
  62. }else{
  63. DispatchQueue.main.async {
  64. DDLogError(JSON(val).description)
  65. ProgressHUD.showError("回复失败")
  66. }
  67. }
  68. case .failure(let err):
  69. DispatchQueue.main.async {
  70. DDLogError(err.localizedDescription)
  71. ProgressHUD.showError("回复失败")
  72. }
  73. }
  74. }
  75. }
  76. }