|
//
// PhotoDetailViewModel.swift
// PaiAi
//
// Created by zhengjianfei on 2017/1/4.
// Copyright © 2017年 FFIB. All rights reserved.
//
import UIKit
import ObjectMapper
public final class PhotoDetailViewModel {
public lazy var currentPhoto = PhotoItem(json: [:])
public lazy var thumbups = [thumbupUserModel]()
public lazy var comments = [CommentItem]()
public lazy var thumbupsCount = 0
public lazy var commentsCount = 0
public lazy var hdPrice: Double = -0.01
public lazy var watermarkPrice: Double = -0.01
var detailPageApi = NetworkApi()
// var tipDelegate : TipProtocol? = nil
public init() {}
public final func fetchThumbup(success: @escaping () -> Void) {
// let params = ["group_id": currentPhoto.group_id, "user_id": SharedUserInfo.userId, "photo_id": currentPhoto.photo_id] as [String: AnyObject]
// let request = thumbupUserNetworkRequest(parameter: params)
// detailPageApi.post(request: request) {[weak self] (res) in
// guard let weakself = self else {
// return
// }
// weakself.thumbups = res
// weakself.thumbupsCount = res.count
// success()
// }
}
public final func fetchComment(success: @escaping () -> Void) {
// let params = ["group_id": currentPhoto.group_id, "user_id": SharedUserInfo.userId, "photo_id": currentPhoto.photo_id] as [String: AnyObject]
// let request = CommentNetworkRequest(parameter: params)
// detailPageApi.post(request: request) {[weak self] (res) in
// guard let weakself = self else {
// return
// }
// weakself.comments = res
// weakself.commentsCount = res.count
// success()
// }
}
public final func sendThumbup(success: @escaping () -> Void) {
// let params = ["group_id": currentPhoto.group_id, "user_id": SharedUserInfo.userId, "photo_id": currentPhoto.photo_id] as [String: AnyObject]
// let request = StatusNetworkRequest(param: params, path: .thumbupSubmit)
//
// detailPageApi.post(request: request) { (res) in
// if res.message == "Duplicate Thumb Up" {
//// FFToastView.showToast(inView: UIApplication.shared.keyWindow!, withText: "照片已经点过赞了")
// }
// guard res.status == 200 else {
//// FFToastView.showToast(inView: UIApplication.shared.keyWindow!, withText: "照片点赞失败")
// return
// }
//// FFToastView.showToast(inView: UIApplication.shared.keyWindow!, withText: "照片点赞成功")
// success()
// }
}
public final func sendComment(content: String, success: @escaping () -> Void) {
guard !content.isEmpty else {
return
}
// let params = ["group_id": currentPhoto.group_id, "user_id": SharedUserInfo.userId, "photo_id": currentPhoto.photo_id, "comment": content] as [String: AnyObject]
//
// let request = StatusNetworkRequest(param: params, path: .commentSubmit)
//
// detailPageApi.post(request: request) {(res) in
// guard res.status == 200 else {
// FFToastView.showToast(inView: UIApplication.shared.keyWindow!, withText: "评论失败")
// return
// }
// FFToastView.showToast(inView: UIApplication.shared.keyWindow!, withText: "评论成功")
// success()
// }
}
// MARK: pay
public var orderId: String! = ""
deinit {
NotificationCenter.default.removeObserver(self)
}
}
//wechat pay
extension PhotoDetailViewModel {
public final func handleResult(errorCode: Int, success: @escaping ((_ item: PhotoItem) -> Void)) {
// func fetchOrderDetail() {
// detailPageApi.post(param: ["order_id": orderId, "user_id": SharedUserInfo.userId] as [String: AnyObject], url: .orderDetail) { (result) in
// guard let status = result["status"] as? Int, let data = result["data"] as? [String: AnyObject], let photoInfo = data["group_photo_info"] as? [String: AnyObject], status == 200 else {
//// FFToastView.hideLoadingToast()
//// FFToastView.showToast(inView: UIApplication.shared.keyWindow!, withText: "")
// return
// }
// let PhotoItem = PhotoItem(map: Map(mappingType: .fromJSON, JSON: photoInfo))
// self.currentPhoto.murl = PhotoItem.murl
// self.currentPhoto.rurl = PhotoItem.rurl
// success(PhotoItem)
//// FFToastView.hideLoadingToast()
//// FFToastView.showToast(inView: UIApplication.shared.keyWindow!, withText: "")
//// PhotoLocalStorage.instance.updateLocalData(PhotoItem: PhotoItem)
// }
// }
//// Delay(3) {
// let orderQequest = StatusNetworkRequest(param: ["order_id": self.orderId as AnyObject], path: .orderQuery)
// self.detailPageApi.post(request: orderQequest, handler: { (res) in
// if res.status == 200 {
// fetchOrderDetail()
// } else {
//// FFToastView.hideLoadingToast()
//// FFToastView.showToast(inView: UIApplication.shared.keyWindow!, withText: "支付失败")
// }
// })
//// }
}
public final func getHD(getPriceSuccess: ((_ isExist: Bool) -> Void)?) {
if !currentPhoto.rurl.isEmpty {
getPriceSuccess!(true)
return
} else {
if hdPrice != -0.01 {
payPrice(photoType: "origin")
} else {
getPrice(photoType: "origin", success: getPriceSuccess)
}
}
}
public final func getWatermark(getPriceSuccess: ((_ isExist: Bool) -> Void)?) {
if !currentPhoto.murl.isEmpty {
getPriceSuccess!(true)
return
} else {
if watermarkPrice != -0.01 {
payPrice(photoType: "nomark")
} else {
getPrice(photoType: "nomark", success: getPriceSuccess)
}
}
}
public final func payPrice(photoType: String) {
//下单
// let body = photoType == "origin" ? "获取高清照片" : "获取去水印照片"
// let price = photoType == "origin" ? hdPrice : watermarkPrice
// let params = ["user_id": SharedUserInfo.userId, "body": body, "total_fee": price, "trade_type": "APP", "group_id": currentPhoto.group_id, "photo_id": currentPhoto.photo_id, "photo_type": photoType] as [String: AnyObject]
// detailPageApi.post(param: params, url: .wxorderCreat) { (result) in
//// FFToastView.hideLoadingToast()
// guard let status = result["status"] as? Int, let items = result["data"] as? [String: AnyObject], status == 200 else {
// return
// }
// if let orderid = items["order_id"] as? String, let prepay_id = items["prepay_id"] as? String, let wxpay_params = items["wxpay_params"] as? [String: AnyObject], let appid = wxpay_params["appid"] as? String, let noncestr = wxpay_params["noncestr"] as? String, let package = wxpay_params["package"] as? String, let sign = wxpay_params["sign"] as? String, let partnerid = wxpay_params["partnerid"] as? String, let timestamp = wxpay_params["timestamp"] as? String {
// //支付
// self.orderId = orderid
// #if !((arch(i386) || arch(x86_64)))
// guard WXApi.isWXAppInstalled() else {
// FFToastView.showToast(inView: UIApplication.shared.keyWindow!, withText: "尚未安装微信")
// return
// }
//
// WXApi.registerApp(appid)
// let payRequest = PayReq()
// payRequest.openID = appid
// payRequest.partnerId = partnerid
// payRequest.prepayId = prepay_id
// payRequest.package = package
// payRequest.nonceStr = noncestr
// payRequest.timeStamp = UInt32(timestamp) ?? 0
// payRequest.sign = sign
// WXApi.send(payRequest)
// #endif
// }
// }
}
public final func getPrice(photoType: String, success: ((_ isExist: Bool) -> Void)?) {
// let params = ["user_id": SharedUserInfo.userId, "photo_id": currentPhoto.photo_id, "photo_type": photoType] as [String: AnyObject]
// detailPageApi.post(param: params, url: .picPrice) {[weak self] (result) in
// guard let status = result["status"] as? Int,
// let items = result["data"] as? [String: AnyObject],
// status == 200,
// let weakself = self else {
// return
// }
// if let price = items["price"] as? Double {
// if photoType == "origin"{
// weakself.hdPrice = price
// } else {
// weakself.watermarkPrice = price
// }
// success!(false)
// }
// }
}
}
|