/** * 展示位管理接口(对齐 @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({ url: '/v1/admin/embed-slots', params }) } /** 创建展示位(publicToken 服务端生成;初始未绑定、configVersion=1) */ export function fetchCreateEmbedSlot(data: Api.EmbedSlot.CreatePayload) { return request.post({ url: '/v1/admin/embed-slots', data }) } /** 更新展示位(部分更新;任一管理面变更递增 configVersion) */ export function fetchUpdateEmbedSlot(id: string, data: Api.EmbedSlot.UpdatePayload) { return request.patch({ url: `/v1/admin/embed-slots/${id}`, data }) } /** 软删除展示位(deletedAt 标记:列表隐藏、ov 快照下线;幂等 204) */ export function fetchDeleteEmbedSlot(id: string) { return request.del({ url: `/v1/admin/embed-slots/${id}` }) }