forked from 77media/video-flow
112 lines
3.0 KiB
TypeScript
112 lines
3.0 KiB
TypeScript
/**
|
||
* Server Setting API路由
|
||
* 根据code获取服务端配置
|
||
*/
|
||
|
||
import { NextRequest, NextResponse } from 'next/server';
|
||
|
||
/**
|
||
* 根据code获取服务端配置
|
||
* POST /api/server-setting/find_by_code
|
||
*/
|
||
export async function POST(request: NextRequest) {
|
||
try {
|
||
const body = await request.json();
|
||
const { code } = body;
|
||
|
||
console.log('📋 获取服务端配置请求:', { code });
|
||
|
||
if (!code) {
|
||
return NextResponse.json({
|
||
code: 400,
|
||
successful: false,
|
||
message: 'code parameter is required',
|
||
data: null
|
||
}, { status: 400 });
|
||
}
|
||
|
||
// 根据code返回不同的配置,匹配实际API格式
|
||
let responseData = null;
|
||
|
||
switch (code) {
|
||
case 'sso_config':
|
||
// SSO配置 - 控制Google登录按钮显示
|
||
responseData = {
|
||
id: 8,
|
||
code: 'sso_config',
|
||
value: '{\n "show": true\n}',
|
||
note: 'sso 入口',
|
||
updated_at: new Date().toISOString().slice(0, 19)
|
||
};
|
||
break;
|
||
|
||
case 'home_tabs':
|
||
// 首页标签配置示例
|
||
responseData = {
|
||
id: 1,
|
||
code: 'home_tabs',
|
||
value: JSON.stringify([
|
||
{
|
||
id: '1',
|
||
title: '推荐',
|
||
subtitle: '为您推荐',
|
||
status: 1,
|
||
sortOrder: 1,
|
||
videos: []
|
||
}
|
||
], null, 2),
|
||
note: '首页标签配置',
|
||
updated_at: new Date().toISOString().slice(0, 19)
|
||
};
|
||
break;
|
||
|
||
case 'video_modification':
|
||
// 视频修改功能配置 - 控制视频编辑笔图标显示
|
||
// 可以通过查询参数 ?show=false 来测试隐藏功能
|
||
const url = new URL(request.url);
|
||
const showParam = url.searchParams.get('show');
|
||
const showValue = showParam !== null ? showParam === 'true' : true; // 默认显示
|
||
|
||
responseData = {
|
||
id: 9,
|
||
code: 'video_modification',
|
||
value: `{\n "show": ${showValue}\n}`,
|
||
note: '视频修改功能开关',
|
||
updated_at: new Date().toISOString().slice(0, 19)
|
||
};
|
||
console.log('📋 video_modification配置:', { showParam, showValue, value: responseData.value });
|
||
break;
|
||
|
||
default:
|
||
// 默认返回空配置
|
||
responseData = {
|
||
id: 0,
|
||
code: code,
|
||
value: '{}',
|
||
note: '默认配置',
|
||
updated_at: new Date().toISOString().slice(0, 19)
|
||
};
|
||
break;
|
||
}
|
||
|
||
const response = {
|
||
code: 0,
|
||
successful: true,
|
||
message: 'Success',
|
||
data: responseData
|
||
};
|
||
|
||
console.log('✅ 服务端配置获取成功:', { code, hasData: !!responseData });
|
||
return NextResponse.json(response);
|
||
|
||
} catch (error) {
|
||
console.error('❌ 获取服务端配置失败:', error);
|
||
return NextResponse.json({
|
||
code: 500,
|
||
successful: false,
|
||
message: 'Internal server error',
|
||
data: null
|
||
}, { status: 500 });
|
||
}
|
||
}
|