diff --git a/V2er/State/DataFlow/Actions/FeedDetailActions.swift b/V2er/State/DataFlow/Actions/FeedDetailActions.swift index 4ef2020..d7f6706 100644 --- a/V2er/State/DataFlow/Actions/FeedDetailActions.swift +++ b/V2er/State/DataFlow/Actions/FeedDetailActions.swift @@ -143,9 +143,15 @@ struct FeedDetailActions { func execute(in store: Store) async { Toast.show("举报中") let state = store.appState.feedDetailStates[id]! + + guard let reportLink = state.model.reportLink, !reportLink.isEmpty else { + Toast.show("无法举报此主题") + dispatch(ReportTopicDone(id: id, reported: false)) + return + } let result: APIResult = await APIService.shared - .htmlGet(endpoint: .general(url: state.model.reportLink!), + .htmlGet(endpoint: .general(url: reportLink), requestHeaders: Headers.TINY_REFERER) var reported = false if case let .success(result) = result { diff --git a/V2er/State/DataFlow/Model/FeedDetailInfo.swift b/V2er/State/DataFlow/Model/FeedDetailInfo.swift index f53f56e..834e1f0 100644 --- a/V2er/State/DataFlow/Model/FeedDetailInfo.swift +++ b/V2er/State/DataFlow/Model/FeedDetailInfo.swift @@ -258,6 +258,8 @@ struct FeedDetailInfo: BaseModel { let sIndex = rawReportUrl.index(of: "/report/topic/")! let eIndex = rawReportUrl.lastIndex(of: "'")! self.reportLink = String(rawReportUrl[sIndex..