Files
AlphaPulse/web/src/common/apis/news/index.ts
T
eezd 91bc65df75
Development CI / check-and-build (push) Successful in 1m29s
GitHub Git mirror / mirror (push) Successful in 6s
Development CI / deploy-development (push) Failing after 5s
Refresh visible news risk ratings after analysis
Poll only visible news IDs and update ratings for matching revisions without replacing the feed, scrolling, or clearing pending-news notifications. Bind refresh results to the page and session, and cover stale responses and bounded ID queries.
2026-10-30 18:41:03 +08:00

38 lines
1.0 KiB
TypeScript

import type * as News from "./type"
import { request } from "@/http/axios"
import { consumeStream } from "@/http/stream"
/** 分页查询新闻 */
export function listNewsApi(params: News.NewsQuery, notify = true) {
return request<News.ListNewsResponseData>({
url: "/news",
method: "get",
params,
notify,
paramsSerializer: { indexes: null }
})
}
/** 读取新闻详情 */
export function getNewsApi(id: number) {
return request<News.GetNewsResponseData>({
url: `/news/${id}`,
method: "get"
})
}
/** 读取新闻修订记录 */
export function listRevisionsApi(id: number) {
return request<News.ListRevisionsResponseData>({
url: `/news/${id}/revisions`,
method: "get"
})
}
/** 只读订阅,重连由订阅生命周期负责。 */
export function subscribeNewsApi(signal: AbortSignal, version: number, onOpen: () => void, onMessage: (data: News.NewsEvent) => void) {
return consumeStream<News.NewsEvent>("/api/news/stream", { signal }, version, onOpen, (name, data) => {
if (name === "news") onMessage(data)
})
}