杨锴
2024-11-06 63f7ed967433acee3ae8764c7a077e15c29c41f2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
//
//  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)
        }
    }
}