Files
frontend/utils/rpc.ts
toom1996 375244d58b update
2025-06-20 19:54:59 +08:00

71 lines
1.3 KiB
TypeScript

import { JsonRpcClient } from './rpc-client.ts'
interface images {
src:string
}
interface result<T> {
code : number
message : string
data : T
}
interface data<T> {
page_title: string
page_module: T
}
function getRpcClient() {
return new JsonRpcClient(import.meta.env.RPC_REMOTE, import.meta.env.RPC_PORT)
}
// 新闻列表
export interface InewsIndex {
id: number
title: string
cover: string
keywords: string
description: string
content: string
created_at: string
updated_at: string
}
export async function newsIndex():Promise<result<InewsIndex[]>>{
const client = getRpcClient()
const result = await client.call('news/index', {})
return result
}
// 新闻详情
export interface InewsDetail {
title: string
keywords: string
description: string
content: string
created_at: string
updated_at: string
about: {
id: number
title: string
}[]
prevNews: {
id: number
title: string
}
nextNews: {
id: number
title: string
}
}
export async function newsDetail(id:string):Promise<result<InewsDetail>>{
const client = getRpcClient()
const result = await client.call('news/view', {
id:id
})
return result
}