feat: 完成前端业务闭环与后端联调
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
import { listPreviewFamilyAlbums } from '@/data/preview/family-content.js'
|
||||
import { hasRemoteConfig } from '@/utils/runtime-config.js'
|
||||
import {
|
||||
normalizeAlbumCreatePayload,
|
||||
normalizeAlbumPhotoCreatePayload,
|
||||
@@ -8,21 +6,14 @@ import {
|
||||
normalizeAppAlbums,
|
||||
normalizeAppVideo,
|
||||
normalizeAppVideos,
|
||||
normalizeVideoPayload,
|
||||
projectPreviewAlbums
|
||||
normalizeVideoPayload
|
||||
} from './family-media-contract.js'
|
||||
import { normalizeGenealogyPathId } from './genealogy-contract.js'
|
||||
import { normalizeResourcePathId } from './request-normalizers.js'
|
||||
import { createRequestError, requestStrict } from './request-client.js'
|
||||
|
||||
const requireRemoteMedia = (message, code) => {
|
||||
if (hasRemoteConfig()) return
|
||||
throw createRequestError(message, code)
|
||||
}
|
||||
import { requestStrict } from './request-client.js'
|
||||
|
||||
export const familyMediaApi = {
|
||||
async createAlbum(genealogyId, payload, requestOptions = {}) {
|
||||
requireRemoteMedia('相册创建需要真实服务,当前本地预览不会伪造创建成功', 'REMOTE_WRITE_REQUIRED')
|
||||
const normalizedGenealogyId = normalizeGenealogyPathId(genealogyId)
|
||||
return requestStrict({
|
||||
url: `/genealogy/app/genealogies/${normalizedGenealogyId}/albums`,
|
||||
@@ -36,7 +27,6 @@ export const familyMediaApi = {
|
||||
async updateAlbum(genealogyId, albumId, payload, requestOptions = {}) {
|
||||
const normalizedGenealogyId = normalizeGenealogyPathId(genealogyId)
|
||||
const normalizedAlbumId = normalizeResourcePathId(albumId, '相册标识')
|
||||
requireRemoteMedia('修改相册需要真实服务,当前本地预览不会伪造保存成功', 'REMOTE_WRITE_REQUIRED')
|
||||
const album = await requestStrict({
|
||||
url: `/genealogy/app/genealogies/${normalizedGenealogyId}/albums/${normalizedAlbumId}`,
|
||||
method: 'PUT',
|
||||
@@ -50,7 +40,6 @@ export const familyMediaApi = {
|
||||
async deleteAlbum(genealogyId, albumId, requestOptions = {}) {
|
||||
const normalizedGenealogyId = normalizeGenealogyPathId(genealogyId)
|
||||
const normalizedAlbumId = normalizeResourcePathId(albumId, '相册标识')
|
||||
requireRemoteMedia('删除相册需要真实服务,当前本地预览不会伪造删除成功', 'REMOTE_WRITE_REQUIRED')
|
||||
await requestStrict({
|
||||
url: `/genealogy/app/genealogies/${normalizedGenealogyId}/albums/${normalizedAlbumId}`,
|
||||
method: 'DELETE'
|
||||
@@ -64,7 +53,6 @@ export const familyMediaApi = {
|
||||
async createAlbumPhoto(genealogyId, albumId, payload, requestOptions = {}) {
|
||||
const normalizedGenealogyId = normalizeGenealogyPathId(genealogyId)
|
||||
const normalizedAlbumId = normalizeResourcePathId(albumId, '相册标识')
|
||||
requireRemoteMedia('上传相册照片需要真实服务,当前本地预览不会伪造保存成功', 'REMOTE_WRITE_REQUIRED')
|
||||
return requestStrict({
|
||||
url: `/genealogy/app/genealogies/${normalizedGenealogyId}/albums/${normalizedAlbumId}/photos`,
|
||||
method: 'POST',
|
||||
@@ -78,7 +66,6 @@ export const familyMediaApi = {
|
||||
const normalizedGenealogyId = normalizeGenealogyPathId(genealogyId)
|
||||
const normalizedAlbumId = normalizeResourcePathId(albumId, '相册标识')
|
||||
const normalizedPhotoId = normalizeResourcePathId(photoId, '照片标识')
|
||||
requireRemoteMedia('删除相册照片需要真实服务,当前本地预览不会伪造删除成功', 'REMOTE_WRITE_REQUIRED')
|
||||
await requestStrict({
|
||||
url: `/genealogy/app/genealogies/${normalizedGenealogyId}/albums/${normalizedAlbumId}/photos/${normalizedPhotoId}`,
|
||||
method: 'DELETE'
|
||||
@@ -91,12 +78,6 @@ export const familyMediaApi = {
|
||||
|
||||
async getAlbums(genealogyId, requestOptions = {}) {
|
||||
const normalizedGenealogyId = normalizeGenealogyPathId(genealogyId)
|
||||
if (!hasRemoteConfig()) {
|
||||
return projectPreviewAlbums(
|
||||
listPreviewFamilyAlbums(normalizedGenealogyId),
|
||||
normalizedGenealogyId
|
||||
)
|
||||
}
|
||||
const albums = await requestStrict({
|
||||
url: `/genealogy/app/genealogies/${normalizedGenealogyId}/albums`,
|
||||
method: 'GET'
|
||||
@@ -109,7 +90,6 @@ export const familyMediaApi = {
|
||||
async getAlbumPhotos(genealogyId, albumId, requestOptions = {}) {
|
||||
const normalizedGenealogyId = normalizeGenealogyPathId(genealogyId)
|
||||
const normalizedAlbumId = normalizeResourcePathId(albumId, '相册标识')
|
||||
requireRemoteMedia('相册照片需要真实读取服务,当前本地预览不会伪造照片列表', 'REMOTE_READ_REQUIRED')
|
||||
const photos = await requestStrict({
|
||||
url: `/genealogy/app/genealogies/${normalizedGenealogyId}/albums/${normalizedAlbumId}/photos`,
|
||||
method: 'GET'
|
||||
@@ -121,7 +101,6 @@ export const familyMediaApi = {
|
||||
|
||||
async getVideos(genealogyId, requestOptions = {}) {
|
||||
const normalizedGenealogyId = normalizeGenealogyPathId(genealogyId)
|
||||
requireRemoteMedia('家族视频读取需要真实服务,当前本地预览不会伪造结果', 'REMOTE_READ_REQUIRED')
|
||||
const videos = await requestStrict({
|
||||
url: `/genealogy/app/genealogies/${normalizedGenealogyId}/videos`,
|
||||
method: 'GET'
|
||||
@@ -134,7 +113,6 @@ export const familyMediaApi = {
|
||||
async getVideoDetail(genealogyId, videoId, requestOptions = {}) {
|
||||
const normalizedGenealogyId = normalizeGenealogyPathId(genealogyId)
|
||||
const normalizedVideoId = normalizeResourcePathId(videoId, '视频标识')
|
||||
requireRemoteMedia('家族视频详情读取需要真实服务,当前本地预览不会伪造结果', 'REMOTE_READ_REQUIRED')
|
||||
const video = await requestStrict({
|
||||
url: `/genealogy/app/genealogies/${normalizedGenealogyId}/videos/${normalizedVideoId}`,
|
||||
method: 'GET'
|
||||
@@ -146,7 +124,6 @@ export const familyMediaApi = {
|
||||
|
||||
async createVideo(genealogyId, payload, requestOptions = {}) {
|
||||
const normalizedGenealogyId = normalizeGenealogyPathId(genealogyId)
|
||||
requireRemoteMedia('家族视频写入需要真实服务,当前本地预览不会伪造结果', 'REMOTE_WRITE_REQUIRED')
|
||||
const video = await requestStrict({
|
||||
url: `/genealogy/app/genealogies/${normalizedGenealogyId}/videos`,
|
||||
method: 'POST',
|
||||
@@ -160,7 +137,6 @@ export const familyMediaApi = {
|
||||
async updateVideo(genealogyId, videoId, payload, requestOptions = {}) {
|
||||
const normalizedGenealogyId = normalizeGenealogyPathId(genealogyId)
|
||||
const normalizedVideoId = normalizeResourcePathId(videoId, '视频标识')
|
||||
requireRemoteMedia('家族视频写入需要真实服务,当前本地预览不会伪造结果', 'REMOTE_WRITE_REQUIRED')
|
||||
const video = await requestStrict({
|
||||
url: `/genealogy/app/genealogies/${normalizedGenealogyId}/videos/${normalizedVideoId}`,
|
||||
method: 'PUT',
|
||||
@@ -174,7 +150,6 @@ export const familyMediaApi = {
|
||||
async deleteVideo(genealogyId, videoId, requestOptions = {}) {
|
||||
const normalizedGenealogyId = normalizeGenealogyPathId(genealogyId)
|
||||
const normalizedVideoId = normalizeResourcePathId(videoId, '视频标识')
|
||||
requireRemoteMedia('家族视频写入需要真实服务,当前本地预览不会伪造结果', 'REMOTE_WRITE_REQUIRED')
|
||||
await requestStrict({
|
||||
url: `/genealogy/app/genealogies/${normalizedGenealogyId}/videos/${normalizedVideoId}`,
|
||||
method: 'DELETE'
|
||||
|
||||
Reference in New Issue
Block a user