//
|
// ShareView.swift
|
// XQMuse
|
//
|
// Created by 无故事王国 on 2024/8/14.
|
//
|
|
import UIKit
|
import JQTools
|
|
class ShareView: UIView,JQNibView{
|
|
@IBOutlet weak var view_content: UIView!
|
@IBOutlet weak var cons_bottom: NSLayoutConstraint!
|
@IBOutlet weak var btn_wechat: TapBtn!
|
@IBOutlet weak var btn_wechatFri: TapBtn!
|
@IBOutlet weak var btn_save: TapBtn!
|
private var shareContent:Any!
|
private var scene:WXScene!
|
private var title:String!
|
private var desc:String!
|
|
private var saveAction:(()->Void)?
|
|
override func awakeFromNib() {
|
super.awakeFromNib()
|
|
alpha = 0
|
cons_bottom.constant = -JQ_ScreenW
|
layoutIfNeeded()
|
|
btn_wechat.isHidden = !WXApi.isWXAppInstalled()
|
btn_wechatFri.isHidden = !WXApi.isWXAppInstalled()
|
btn_save.isHidden = true
|
}
|
|
static func show(_ content:Any,title:String,desc:String,hasSave:Bool = false,saveAction:(()->Void)? = nil){
|
let shareView = ShareView.jq_loadNibView()
|
shareView.shareContent = content
|
shareView.title = title
|
shareView.desc = desc
|
shareView.saveAction = saveAction
|
shareView.btn_save.isHidden = !hasSave
|
sceneDelegate?.window?.addSubview(shareView)
|
shareView.frame = sceneDelegate?.window?.frame ?? .zero
|
shareView.cons_bottom.constant = 0
|
|
UIView.animate(withDuration: 0.4) {
|
shareView.layoutIfNeeded()
|
shareView.alpha = 1
|
}
|
}
|
|
@IBAction func cancelAction(_ sender: UIButton) {
|
self.cons_bottom.constant = -JQ_ScreenW
|
UIView.animate(withDuration: 0.4) {
|
self.layoutIfNeeded()
|
self.alpha = 0
|
} completion: { _ in
|
self.removeFromSuperview()
|
}
|
}
|
|
@IBAction func shareWechatAction(_ sender: Any) {
|
scene = WXSceneSession
|
share()
|
}
|
|
@IBAction func shareWechatFriAction(_ sender: Any) {
|
scene = WXSceneTimeline
|
share()
|
}
|
|
@IBAction func saveAction(_ sender: Any) {
|
saveAction?()
|
}
|
|
|
private func share(){
|
if let text = shareContent as? String{
|
WeChatTools.shareText(text)
|
}
|
|
if let url = shareContent as? URL{
|
WeChatTools.shareUrl(url.absoluteString, title: title, desc: desc, thumb:UIImage(named: "mini_logo")!,scene: scene)
|
}
|
}
|
}
|