234 lines
7.0 KiB
Swift
234 lines
7.0 KiB
Swift
//
|
||
// WA_MineVC.swift
|
||
// wallpaper_project
|
||
|
||
|
||
import UIKit
|
||
import SVProgressHUD
|
||
|
||
|
||
class WA_MineVC: WA_RootVC {
|
||
|
||
@IBOutlet weak var dataView: UIView!
|
||
|
||
|
||
@IBOutlet weak var headImagV: UIImageView!
|
||
|
||
@IBOutlet weak var xxbtn: UIButton!
|
||
|
||
|
||
@IBOutlet weak var nameLabel: UILabel!
|
||
|
||
@IBOutlet weak var loginBtn: UIButton!
|
||
|
||
|
||
@IBOutlet weak var clearV: UIView!
|
||
|
||
|
||
|
||
@IBOutlet weak var outV: UIView!
|
||
|
||
@IBOutlet weak var editHeadBtn: UIButton!
|
||
|
||
@IBOutlet weak var tableView: UITableView!
|
||
|
||
|
||
|
||
let activityView = UIActivityIndicatorView()
|
||
|
||
var datacount:Int = 0
|
||
|
||
var model = [WA_RakModel]()
|
||
|
||
override func viewDidLoad() {
|
||
super.viewDidLoad()
|
||
self.xxbtn.layer.cornerRadius = 5
|
||
headImagV.layer.cornerRadius = 30
|
||
setLayercolor()
|
||
|
||
|
||
activityView.center = CGPoint(x: self.view.center.x, y: self.view.center.y - kSafeArea_Top - 44)
|
||
// 停止后,隐藏菊花
|
||
activityView.hidesWhenStopped = true
|
||
activityView.color = .black
|
||
activityView.style = UIActivityIndicatorView.Style.whiteLarge
|
||
self.view.addSubview(activityView)
|
||
setTableViewCell()
|
||
}
|
||
|
||
|
||
func setLayercolor(){
|
||
|
||
clearV.layer.shadowColor = UIColor.black.cgColor // 阴影颜色
|
||
clearV.layer.shadowOpacity = 0.5 // 阴影透明度
|
||
clearV.layer.shadowOffset = CGSize(width: 2, height: 2) // 阴影偏移量
|
||
clearV.layer.shadowRadius = 4 // 阴影半径
|
||
|
||
// 如果需要圆角效果,也可以添加圆角
|
||
clearV.layer.cornerRadius = 8
|
||
|
||
|
||
|
||
outV.layer.shadowColor = UIColor.black.cgColor // 阴影颜色
|
||
outV.layer.shadowOpacity = 0.5 // 阴影透明度
|
||
outV.layer.shadowOffset = CGSize(width: 2, height: 2) // 阴影偏移量
|
||
outV.layer.shadowRadius = 4 // 阴影半径
|
||
|
||
// 如果需要圆角效果,也可以添加圆角
|
||
outV.layer.cornerRadius = 8
|
||
|
||
}
|
||
|
||
|
||
override func viewWillAppear(_ animated: Bool) {
|
||
super.viewWillAppear(animated)
|
||
self.navigationController?.navigationBar.isHidden = true
|
||
setLogin()
|
||
}
|
||
|
||
|
||
func setLogin(){
|
||
if isLoggedIn(){
|
||
self.loginBtn.isHidden = true
|
||
self.outV.isHidden = false
|
||
self.nameLabel.isHidden = false
|
||
self.headImagV.image = UIImage(named: "loginhead_s")
|
||
self.editHeadBtn.isHidden = false
|
||
// 检索模型数组
|
||
let retrievedModels = PreferencesManager.shared.retrieveRakModels()
|
||
if retrievedModels != nil{
|
||
self.model = retrievedModels!
|
||
}else{
|
||
|
||
}
|
||
if self.model.count == 0{
|
||
self.dataView.isHidden = false
|
||
}else{
|
||
self.dataView.isHidden = true
|
||
}
|
||
self.tableView.reloadData()
|
||
|
||
}else{
|
||
self.nameLabel.isHidden = true
|
||
self.editHeadBtn.isHidden = true
|
||
self.headImagV.image = UIImage(named: "loginhead")
|
||
self.outV.isHidden = true
|
||
self.loginBtn.isHidden = false
|
||
var model = [WA_RakModel]()
|
||
self.model = model
|
||
self.dataView.isHidden = false
|
||
self.tableView.reloadData()
|
||
}
|
||
|
||
}
|
||
|
||
|
||
@IBAction func editheadBtn(_ sender: Any) {
|
||
var imagePicker = UIImagePickerController()
|
||
if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
|
||
imagePicker.delegate = self
|
||
imagePicker.allowsEditing = true
|
||
imagePicker.sourceType = .photoLibrary
|
||
present(imagePicker, animated: true, completion: nil)
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
@IBAction func btnxx(_ sender: Any) {
|
||
let vc = WA_SettingSVC()
|
||
self.navigationController?.pushViewController(vc, animated: true)
|
||
}
|
||
|
||
|
||
@IBAction func btnLogin(_ sender: Any) {
|
||
let vc = WA_LoginVC()
|
||
vc.type = 1
|
||
self.navigationController?.pushViewController(vc, animated: true)
|
||
|
||
}
|
||
|
||
@IBAction func clearBtn(_ sender: Any) {
|
||
DispatchQueue.main.asyncAfter(deadline: .now()){
|
||
self.activityView.startAnimating()
|
||
HistoryManager.shared.clearHistory()
|
||
liveManager.shared.clearHistory()
|
||
HistoryjpgManager.shared.clearHistory()
|
||
|
||
DispatchQueue.global().asyncAfter(deadline: .now() + 2.0){
|
||
DispatchQueue.main.asyncAfter(deadline: .now()){
|
||
self.activityView.stopAnimating()
|
||
SVProgressHUD.showInfo(withStatus: "Cache cleaning completed this time")
|
||
DispatchQueue.global().asyncAfter(deadline: .now() + 1.0) {
|
||
SVProgressHUD.dismiss()
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
|
||
@IBAction func loginOutBtn(_ sender: Any) {
|
||
setLoggedIn(false)
|
||
|
||
setLogin()
|
||
|
||
}
|
||
|
||
func setTableViewCell(){
|
||
tableView.delegate = self
|
||
tableView.dataSource = self
|
||
tableView.register(UINib(nibName: "WA_RakingCell", bundle: nil), forCellReuseIdentifier: "WA_RakingCell")
|
||
}
|
||
|
||
// 将 Base64 字符串转换为图片
|
||
func convertStringToImage(base64String: String) -> UIImage? {
|
||
if let imageData = Data(base64Encoded: base64String) {
|
||
if let image = UIImage(data: imageData) {
|
||
return image
|
||
}
|
||
}
|
||
return nil
|
||
}
|
||
}
|
||
extension WA_MineVC:UITableViewDelegate,UITableViewDataSource{
|
||
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
||
return model.count
|
||
}
|
||
|
||
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
||
|
||
let cell = tableView.dequeueReusableCell(withIdentifier: "WA_RakingCell", for: indexPath)as!WA_RakingCell
|
||
|
||
let data = self.model[indexPath.row]
|
||
cell.nameLabel.text = data.name
|
||
cell.titleLabel.text = data.content
|
||
cell.headImageV.image = convertStringToImage(base64String: data.head ?? "")
|
||
cell.contentimagV.image = convertStringToImage(base64String: data.img ?? "")
|
||
cell.shView.isHidden = false
|
||
cell.zanLabel.text = "0"
|
||
return cell
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
// 实现UIImagePickerControllerDelegate协议
|
||
extension WA_MineVC: UIImagePickerControllerDelegate & UINavigationControllerDelegate {
|
||
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
|
||
if let selectedImage = info[.editedImage] as? UIImage {
|
||
// 在这里处理选择的图片,可以将其设置为头像等
|
||
self.headImagV.image = selectedImage
|
||
}
|
||
picker.dismiss(animated: true, completion: nil)
|
||
}
|
||
|
||
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
|
||
picker.dismiss(animated: true, completion: nil)
|
||
}
|
||
}
|