Files
ReelShortWeb/src/api/admin/banner.ts
T
Vicky 44c2c46a68 chore(web): 收口前几轮后台改动(品牌 / 媒资上传 / 轮播图 / 类型管理 / 操作日志 / App 用户)
为什么:这些改动在前几轮就已完成并在 :3005 验证过,但一直留在工作区没有入库。
下一步 3-4 的四个页面依赖其中的公共样式入口(src/styles/business/index.css)与
api/admin 的公共类型(PageResult 等),如果不先收口,新页面的提交就会夹带旧改动,
既说不清 diff 边界,也让 index.css 这类多轮共用的文件长期处于半提交状态。

本提交只做归档,不改行为:
- 品牌与接口基址改成 FruitShorts / 短剧服务(.env.*、README、vite 代理)
- 去掉前端 mock 数据目录(src/data、src/permissions、stores/auth),改为走真实接口
- 新增 api/admin 下的接口封装与 src/utils/uploader.ts(媒资分片直传)
- 新增/改造:轮播图管理、类型管理、操作日志、App 用户管理、后台布局与公共样式
2026-10-15 13:28:01 +08:00

38 lines
1.1 KiB
TypeScript

import request from '@/axios'
import type { BannerItem, BannerSaveData, PageResult } from './types'
export interface BannerPageParams {
pageIndex?: number
pageSize?: number
position?: string
status?: number
}
export const pageBannersApi = (params: BannerPageParams) => {
return request.get<PageResult<BannerItem>>({ url: '/admin/banners/page', params })
}
export const getBannerApi = (id: number) => {
return request.get<BannerItem>({ url: `/admin/banners/${id}` })
}
export const createBannerApi = (data: BannerSaveData) => {
return request.post<number>({ url: '/admin/banners', data })
}
export const updateBannerApi = (id: number, data: BannerSaveData) => {
return request.put<void>({ url: `/admin/banners/${id}`, data })
}
export const deleteBannerApi = (id: number) => {
return request.delete<void>({ url: `/admin/banners/${id}` })
}
export const updateBannerStatusApi = (id: number, status: number) => {
return request.put<void>({ url: `/admin/banners/${id}/status`, params: { status } })
}
export const sortBannersApi = (ids: number[]) => {
return request.put<void>({ url: '/admin/banners/sort', data: { ids } })
}