Files
photo-live/apps/admin/src/api/embedSlots.ts
T

26 lines
1.2 KiB
TypeScript
Raw Normal View History

/**
* 展示位管理接口(对齐 @photo/contracts tags [embed-slots]:listEmbedSlots /
* createEmbedSlot / updateEmbedSlot,P4b Task 5;仅公司 admin 可用)
*
* - 列表为 createdAt+ID 稳定倒序键集游标
* - PATCH 为部分更新:name/enabled/settings/albumId 任一变更均递增
* configVersion 并触发 slot-state 同步(嵌入端配置版本变化即整体重置)
* - settings 整体替换(提供时字段齐全);albumId null=解绑(公开端 404)
*/
import request from '@/utils/http'
/** 展示位列表(游标分页) */
export function fetchEmbedSlots(params: { cursor?: string; limit?: number }) {
return request.get<Api.EmbedSlot.ListResponse>({ url: '/v1/admin/embed-slots', params })
}
/** 创建展示位(publicToken 服务端生成;初始未绑定、configVersion=1) */
export function fetchCreateEmbedSlot(data: Api.EmbedSlot.CreatePayload) {
return request.post<Api.EmbedSlot.Item>({ url: '/v1/admin/embed-slots', data })
}
/** 更新展示位(部分更新;任一管理面变更递增 configVersion) */
export function fetchUpdateEmbedSlot(id: string, data: Api.EmbedSlot.UpdatePayload) {
return request.patch<Api.EmbedSlot.Item>({ url: `/v1/admin/embed-slots/${id}`, data })
}