Add Website Template (#13400)

* feat: Add Website Template

* fix: Don't display the template list

* feat: Add Mcp TopList

* docs: Remove Mcp TopList

* Add more languages

---------

Co-authored-by: CityFun <31820853+zhengkunwang223@users.noreply.github.com>
This commit is contained in:
BugPleaseGo
2026-07-31 10:01:20 +08:00
committed by GitHub
co-authored by CityFun
parent f35b0deb29
commit e11dc5fadd
37 changed files with 2396 additions and 6 deletions
+46
View File
@@ -401,3 +401,49 @@ export const updateWebsiteStream = (req: Website.WebsiteStreamUpdate) => {
export const batchSetHttps = (req: Website.BatchSetHttps) => {
return http.post(`/websites/batch/ssl`, req);
};
export const searchTemplates = (req: Website.TemplateSearch) => {
return http.post<ResPage<Website.Template>>(`/websites/templates/search`, req);
};
export const createTemplate = (req: Website.TemplateCreate) => {
return http.post<any>(`/websites/templates`, req);
};
export const updateTemplate = (req: Website.TemplateUpdate) => {
return http.post<any>(`/websites/templates/update`, req);
};
export const deleteTemplate = (params: { id: number }) => {
return http.post<any>(`/websites/templates/del`, params);
};
export const getTemplate = (id: number) => {
return http.post<Website.Template>(`/websites/templates/get`, { id });
};
export const uploadTemplateZip = (file: globalThis.File) => {
const formData = new FormData();
formData.append('file', file);
return http.post<{ filePath: string; variables: string[] }>(`/websites/templates/upload`, formData, TimeoutEnum.T_5M);
};
export const previewTemplate = (req: Website.PreviewReq) => {
return http.post<Website.PreviewDTO>(`/websites/templates/preview`, req);
};
export const searchTemplateOutputs = (req: Website.TemplateOutputSearch) => {
return http.post<ResPage<Website.TemplateOutputDTO>>(`/websites/templates/outputs/search`, req);
};
export const createTemplateOutput = (req: Website.TemplateOutputCreate) => {
return http.post<any>(`/websites/templates/outputs`, req);
};
export const deleteTemplateOutput = (params: { id: number }) => {
return http.post<any>(`/websites/templates/outputs/del`, params);
};
export const getTemplateOutput = (id: number) => {
return http.post<Website.TemplateOutputDTO>(`/websites/templates/outputs/get`, { id });
};