2026-09-20 23:25:59 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 展示位管理接口(对齐 @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 })
|
|
|
|
|
|
}
|
2026-09-23 13:37:39 +08:00
|
|
|
|
|
|
|
|
|
|
/** 软删除展示位(deletedAt 标记:列表隐藏、ov 快照下线;幂等 204) */
|
|
|
|
|
|
export function fetchDeleteEmbedSlot(id: string) {
|
|
|
|
|
|
return request.del<void>({ url: `/v1/admin/embed-slots/${id}` })
|
|
|
|
|
|
}
|