BBSReplySubjectViewController.swift 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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.view.frame = self.view.frame
  26. self.view.addSubview(htmlEditorController.view)
  27. htmlEditorController.alwaysShowToolbar = true
  28. htmlEditorController.placeholder = "请输入回复内容"
  29. self.addChild(htmlEditorController)
  30. }
  31. override func didReceiveMemoryWarning() {
  32. super.didReceiveMemoryWarning()
  33. // Dispose of any resources that can be recreated.
  34. }
  35. @IBAction func closeReplyWindow(_ sender: UIBarButtonItem) {
  36. //print(self.htmlEditorController.getHTML())
  37. self.dismiss(animated: true, completion: nil)
  38. }
  39. @IBAction func replySubjectAction(_ sender: UIBarButtonItem) {
  40. //执行回复提交并返回帖子
  41. let url = AppDelegate.o2Collect.generateURLWithAppContextKey(BBSContext.bbsContextKey, query: BBSContext.itemReplyQuery, parameter: nil)
  42. //参数
  43. var entity = SubjectReplayRequestEntity()
  44. entity.creatorName = O2AuthSDK.shared.myInfo()?.name
  45. entity.content = self.htmlEditorController.getHTML()
  46. entity.subjectId = subject?.id
  47. if let pid = parentId {
  48. entity.parentId = pid
  49. }
  50. Alamofire.request(url!, method: .post, parameters: entity.toJSON(), encoding: JSONEncoding.default, headers: nil).responseJSON { (response) in
  51. switch response.result {
  52. case .success(let val):
  53. let type = JSON(val)["type"]
  54. if type == "success" {
  55. DispatchQueue.main.async {
  56. self.showSuccess(title: "回复成功")
  57. DispatchQueue.main.asyncAfter(deadline: .now() + 0.3, execute: {
  58. self.performSegue(withIdentifier: "backSubjectSegue", sender: nil)
  59. })
  60. }
  61. }else{
  62. DispatchQueue.main.async {
  63. DDLogError(JSON(val).description)
  64. self.showError(title: "回复失败")
  65. }
  66. }
  67. case .failure(let err):
  68. DispatchQueue.main.async {
  69. DDLogError(err.localizedDescription)
  70. self.showError(title: "回复失败")
  71. }
  72. }
  73. }
  74. }
  75. }