upper Article api to timi-web

This commit is contained in:
Timi
2025-07-22 13:14:06 +08:00
parent 0b4c3bf8e7
commit c26591a06a
3 changed files with 3 additions and 27 deletions

View File

@ -1,37 +1,15 @@
import { Article, ArticleView, axios, Page, PageResult } from "timi-web"; import { Article, axios, Page, PageResult } from "timi-web";
import { ArticleRanking } from "@/types/Article.ts"; import { ArticleRanking } from "@/types/Article.ts";
async function page(page: Page): Promise<PageResult<Article<any>>> { async function page(page: Page): Promise<PageResult<Article<any>>> {
return axios.post("/article/list", page); return axios.post("/article/list", page);
} }
/**
* 获取文章
*
* @param id 文章 ID
* @returns 文章数据
*/
async function view(id: number): Promise<ArticleView<any>> {
return axios.get(`/article/${id}`);
}
/**
* 喜欢文章后端有限调用1240ms 一次
*
* @param id 文章 ID
* @returns 最新喜欢数量
*/
async function like(id: number): Promise<number> {
return axios.get(`/article/like/${id}`);
}
async function listRanking(): Promise<ArticleRanking[]> { async function listRanking(): Promise<ArticleRanking[]> {
return axios.get("/article/list/ranking"); return axios.get("/article/list/ranking");
} }
export default { export default {
view,
like,
page, page,
listRanking listRanking
}; };

View File

@ -25,8 +25,7 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ArticleView, CommentBizType, MarkdownView, SettingKey, SettingMapper, Time } from "timi-web"; import { ArticleAPI, ArticleView, CommentBizType, MarkdownView, SettingKey, SettingMapper, Time } from "timi-web";
import ArticleAPI from "@/api/ArticleAPI";
import { Comment } from "timi-tdesign-pc"; import { Comment } from "timi-tdesign-pc";
// 文章 // 文章

View File

@ -37,8 +37,7 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ArticleView, Icon } from "timi-web"; import { ArticleAPI, ArticleView, Icon } from "timi-web";
import ArticleAPI from "@/api/ArticleAPI";
import ArticleAbout from "@/components/article/template/ArticleAbout.vue"; import ArticleAbout from "@/components/article/template/ArticleAbout.vue";
import ArticleMusic from "@/components/article/template/ArticleMusic.vue"; import ArticleMusic from "@/components/article/template/ArticleMusic.vue";
import ArticlePublic from "@/components/article/template/ArticlePublic.vue"; import ArticlePublic from "@/components/article/template/ArticlePublic.vue";