This commit is contained in:
澜声世纪 2026-02-06 14:38:37 +08:00
parent 5b35e77bcf
commit e9e271e91a
8 changed files with 31 additions and 19 deletions

View File

@ -3100,7 +3100,7 @@
CODE_SIGN_ENTITLEMENTS = ReaderHive/ReaderHive.entitlements; CODE_SIGN_ENTITLEMENTS = ReaderHive/ReaderHive.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = 9JR2Y32ZU3; DEVELOPMENT_TEAM = 9JR2Y32ZU3;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
@ -3146,7 +3146,7 @@
CODE_SIGN_ENTITLEMENTS = ReaderHive/ReaderHive.entitlements; CODE_SIGN_ENTITLEMENTS = ReaderHive/ReaderHive.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = 9JR2Y32ZU3; DEVELOPMENT_TEAM = 9JR2Y32ZU3;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = ReaderHive/Source/Info.plist; INFOPLIST_FILE = ReaderHive/Source/Info.plist;

View File

@ -261,11 +261,12 @@ struct NRNovelAPI {
} }
} }
static func requestReadFinishRecommand(novelId: String) async -> NRNovelModel? { static func requestReadFinishRecommand(novelId: String, isToast: Bool) async -> NRNovelModel? {
await withCheckedContinuation { continuation in await withCheckedContinuation { continuation in
var param = NRNetwork.Parameters(path: "/novel/getRecommandOneDetails") var param = NRNetwork.Parameters(path: "/novel/getRecommandOneDetails")
param.method = .get param.method = .get
param.isToast = isToast
param.parameters = [ param.parameters = [
"short_play_id" : novelId, "short_play_id" : novelId,
] ]

View File

@ -23,7 +23,7 @@ struct NRStoreAPI {
static func requestPayTemplate(isLoding: Bool = false, isToast: Bool = true, completer: ((_ model: NRPayDateModel?) -> Void)?) { static func requestPayTemplate(isLoding: Bool = false, isToast: Bool = true, completer: ((_ model: NRPayDateModel?) -> Void)?) {
var param = NRNetwork.Parameters(path: "/paySettingsV4") var param = NRNetwork.Parameters(path: "/paySettingsV4")
param.method = .get param.method = .post
param.isToast = isToast param.isToast = isToast
param.isLoding = isLoding param.isLoding = isLoding
param.parameters = [ param.parameters = [

View File

@ -8,10 +8,10 @@
import UIKit import UIKit
#if DEBUG #if DEBUG
let NRBaseURL = "https://api-novel-test.guyantv.com" //let NRBaseURL = "https://api-novel-test.guyantv.com"
let NRBaseURLPrefix = "" //let NRBaseURLPrefix = ""
//let NRBaseURL = "https://api-readerhive.readerhive.net" let NRBaseURL = "https://api-readerhive.readerhive.net"
//let NRBaseURLPrefix = "/readerhive" let NRBaseURLPrefix = "/readerhive"
#else #else
let NRBaseURL = "https://api-readerhive.readerhive.net" let NRBaseURL = "https://api-readerhive.readerhive.net"
let NRBaseURLPrefix = "/readerhive" let NRBaseURLPrefix = "/readerhive"

View File

@ -21,6 +21,8 @@ class NRNovelReadFinishFooterView: UIView {
configuration.background.backgroundColor = .white configuration.background.backgroundColor = .white
configuration.image = UIImage(named: "refresh_icon_02") configuration.image = UIImage(named: "refresh_icon_02")
configuration.imagePadding = 8 configuration.imagePadding = 8
configuration.contentInsets = .init(top: 0, leading: 10, bottom: 0, trailing: 10)
configuration.attributedTitle = AttributedString("reader_shuffle".localized, attributes: AttributeContainer([ configuration.attributedTitle = AttributedString("reader_shuffle".localized, attributes: AttributeContainer([
.font : UIFont.font(ofSize: 14, weight: .medium), .font : UIFont.font(ofSize: 14, weight: .medium),
.foregroundColor : UIColor.F_9710_D .foregroundColor : UIColor.F_9710_D
@ -71,8 +73,9 @@ extension NRNovelReadFinishFooterView {
make.left.equalToSuperview().offset(16) make.left.equalToSuperview().offset(16)
make.top.equalToSuperview().offset(8) make.top.equalToSuperview().offset(8)
make.height.equalTo(48) make.height.equalTo(48)
make.width.equalTo(120) // make.width.equalTo(120)
make.bottom.equalTo(-(UIScreen.safeBottom + 10)) make.width.greaterThanOrEqualTo(120)
// make.bottom.equalTo(-(UIScreen.safeBottom + 10))
} }
readButton.snp.makeConstraints { make in readButton.snp.makeConstraints { make in

View File

@ -20,8 +20,15 @@ class NRNovelReadFinishHeaderView: UIView {
var recommendNovelModel: NRNovelModel? { var recommendNovelModel: NRNovelModel? {
didSet { didSet {
self.recommendInfoView.novelModel = recommendNovelModel if let model = self.recommendNovelModel {
self.recommendNovelNameLabel.text = recommendNovelModel?.chapterInfo?.name self.recommendInfoView.isHidden = false
self.recommendNovelNameLabel.isHidden = false
self.recommendInfoView.novelModel = recommendNovelModel
self.recommendNovelNameLabel.text = recommendNovelModel?.chapterInfo?.name
} else {
self.recommendInfoView.isHidden = true
self.recommendNovelNameLabel.isHidden = true
}
} }
} }
@ -73,6 +80,7 @@ class NRNovelReadFinishHeaderView: UIView {
private lazy var recommendInfoView: NRNovelReadFinishInfoView = { private lazy var recommendInfoView: NRNovelReadFinishInfoView = {
let view = NRNovelReadFinishInfoView() let view = NRNovelReadFinishInfoView()
view.isHidden = true
view.clickRefresh = { [weak self] in view.clickRefresh = { [weak self] in
guard let self = self else { return } guard let self = self else { return }
self.clickRefresh?() self.clickRefresh?()
@ -82,6 +90,7 @@ class NRNovelReadFinishHeaderView: UIView {
private lazy var recommendNovelNameLabel: UILabel = { private lazy var recommendNovelNameLabel: UILabel = {
let label = UILabel() let label = UILabel()
label.isHidden = true
label.font = .font(ofSize: 16, weight: .semibold) label.font = .font(ofSize: 16, weight: .semibold)
label.textColor = .black label.textColor = .black
return label return label

View File

@ -86,7 +86,7 @@ class NRNovelReadFinishViewController: NRNovelReadBaseViewController {
nr_setupUI() nr_setupUI()
Task { Task {
await requestDataArr() await requestDataArr(isToast: false)
} }
} }
@ -100,7 +100,7 @@ class NRNovelReadFinishViewController: NRNovelReadBaseViewController {
private func handleRefresh() { private func handleRefresh() {
Task { Task {
guard await requestDataArr() else { return } guard await requestDataArr(isToast: true) else { return }
CATransaction.setCompletionBlock { CATransaction.setCompletionBlock {
self.tableView.setContentOffset(.zero, animated: true) self.tableView.setContentOffset(.zero, animated: true)
@ -118,7 +118,7 @@ extension NRNovelReadFinishViewController {
private func nr_setupUI() { private func nr_setupUI() {
self.tableView.tableHeaderView = self.headerView self.tableView.tableHeaderView = self.headerView
self.tableView.tableFooterView = self.footerView // self.tableView.tableFooterView = self.footerView
view.addSubview(backButton) view.addSubview(backButton)
view.addSubview(tableView) view.addSubview(tableView)
@ -181,14 +181,14 @@ extension NRNovelReadFinishViewController: UITableViewDelegate, UITableViewDataS
extension NRNovelReadFinishViewController { extension NRNovelReadFinishViewController {
private func requestDataArr() async -> Bool { private func requestDataArr(isToast: Bool) async -> Bool {
// guard let list = await NRNovelAPI.requestDetailRecommandData() else { return } // guard let list = await NRNovelAPI.requestDetailRecommandData() else { return }
// self.dataArr = list // self.dataArr = list
// self.collectionView.reloadData() // self.collectionView.reloadData()
guard let id = self.viewModel?.novelId else { return false } guard let id = self.viewModel?.novelId else { return false }
guard let model = await NRNovelAPI.requestReadFinishRecommand(novelId: id) else { return false } guard let model = await NRNovelAPI.requestReadFinishRecommand(novelId: id, isToast: isToast) else { return false }
self.recommandNovelModel = model self.recommandNovelModel = model
let chapterModel = model.chapterInfo let chapterModel = model.chapterInfo
chapterModel?.parserText(attributes: [ chapterModel?.parserText(attributes: [
@ -197,7 +197,7 @@ extension NRNovelReadFinishViewController {
]) ])
self.headerView.recommendNovelModel = model self.headerView.recommendNovelModel = model
self.tableView.tableFooterView = self.footerView
self.tableView.reloadData() self.tableView.reloadData()

View File

@ -20,7 +20,6 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
guard let windowScene = (scene as? UIWindowScene) else { return } guard let windowScene = (scene as? UIWindowScene) else { return }
NotificationCenter.default.addObserver(self, selector: #selector(networkStatusDidChangeNotification), name: NRNetworkReachableManager.networkStatusDidChangeNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(networkStatusDidChangeNotification), name: NRNetworkReachableManager.networkStatusDidChangeNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(localizedDidChangeNotification), name: NRLocalizedManager.localizedDidChangeNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(localizedDidChangeNotification), name: NRLocalizedManager.localizedDidChangeNotification, object: nil)
// sleep(1)
NRTool.sceneDelegate = self NRTool.sceneDelegate = self
NRTool.windowScene = windowScene NRTool.windowScene = windowScene