mirror of
https://github.com/labring/FastGPT.git
synced 2026-05-06 01:02:54 +08:00
add plan activity config (#6139)
* activity points * modal * ui * fix * pref: zod schema * perf: ad api with zod * perf: plan year switch * perf: plan * i18n * fix: hook * fix: activity checker * fix: i18n * fix clear token * fix * back * can close modal in pay * ad token * rename * fix * total points * eng i18n --------- Co-authored-by: archer <545436317@qq.com>
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
import { z } from 'zod';
|
||||
import { InformLevelEnum } from '../../../../../support/user/inform/constants';
|
||||
|
||||
// Send system inform
|
||||
export const SendSystemInformBodySchema = z.object({
|
||||
title: z.string().meta({ description: '通知标题' }),
|
||||
content: z.string().meta({ description: '通知内容' }),
|
||||
level: z.enum(InformLevelEnum).meta({ description: '通知等级' })
|
||||
});
|
||||
export type SendSystemInformBodyType = z.infer<typeof SendSystemInformBodySchema>;
|
||||
|
||||
// Update system modal
|
||||
export const UpdateSystemModalBodySchema = z.object({
|
||||
content: z.string().meta({ description: '系统弹窗内容' })
|
||||
});
|
||||
export type UpdateSystemModalBodyType = z.infer<typeof UpdateSystemModalBodySchema>;
|
||||
|
||||
// Update operational ad
|
||||
export const UpdateOperationalAdBodySchema = z.object({
|
||||
operationalAdImage: z.string().meta({ description: '活动图片URL' }),
|
||||
operationalAdLink: z.string().meta({ description: '活动链接' })
|
||||
});
|
||||
export type UpdateOperationalAdBodyType = z.infer<typeof UpdateOperationalAdBodySchema>;
|
||||
|
||||
// Update activity ad
|
||||
export const UpdateActivityAdBodySchema = z.object({
|
||||
activityAdImage: z.string().meta({ description: '底部广告图片URL' }),
|
||||
activityAdLink: z.string().meta({ description: '底部广告链接' })
|
||||
});
|
||||
export type UpdateActivityAdBodyType = z.infer<typeof UpdateActivityAdBodySchema>;
|
||||
|
||||
// Response schemas
|
||||
export const SystemMsgModalResponseSchema = z
|
||||
.object({
|
||||
id: z.string().meta({ description: '弹窗ID' }),
|
||||
content: z.string().meta({ description: '弹窗内容' })
|
||||
})
|
||||
.optional();
|
||||
export type SystemMsgModalValueType = z.infer<typeof SystemMsgModalResponseSchema>;
|
||||
|
||||
export const OperationalAdResponseSchema = z
|
||||
.object({
|
||||
id: z.string().meta({ description: '广告ID' }),
|
||||
operationalAdImage: z.string().meta({ description: '广告图片URL' }),
|
||||
operationalAdLink: z.string().meta({ description: '广告链接' })
|
||||
})
|
||||
.optional();
|
||||
export type OperationalAdResponseType = z.infer<typeof OperationalAdResponseSchema>;
|
||||
|
||||
export const ActivityAdResponseSchema = z
|
||||
.object({
|
||||
id: z.string().meta({ description: '广告ID' }),
|
||||
activityAdImage: z.string().meta({ description: '广告图片URL' }),
|
||||
activityAdLink: z.string().meta({ description: '广告链接' })
|
||||
})
|
||||
.optional();
|
||||
export type ActivityAdResponseType = z.infer<typeof ActivityAdResponseSchema>;
|
||||
@@ -0,0 +1,161 @@
|
||||
import type { OpenAPIPath } from '../../../../type';
|
||||
import {
|
||||
SendSystemInformBodySchema,
|
||||
UpdateSystemModalBodySchema,
|
||||
UpdateOperationalAdBodySchema,
|
||||
UpdateActivityAdBodySchema,
|
||||
SystemMsgModalResponseSchema,
|
||||
OperationalAdResponseSchema,
|
||||
ActivityAdResponseSchema
|
||||
} from './api';
|
||||
import { TagsMap } from '../../../../tag';
|
||||
|
||||
export const AdminInformPath: OpenAPIPath = {
|
||||
'/admin/support/user/inform/sendSystemInform': {
|
||||
post: {
|
||||
summary: '发送系统通知给所有用户',
|
||||
description: '向所有用户发送系统通知消息',
|
||||
tags: [TagsMap.adminInform],
|
||||
requestBody: {
|
||||
content: {
|
||||
'application/json': {
|
||||
schema: SendSystemInformBodySchema
|
||||
}
|
||||
}
|
||||
},
|
||||
responses: {
|
||||
200: {
|
||||
description: '成功发送系统通知',
|
||||
content: {
|
||||
'application/json': {
|
||||
schema: {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'/support/user/inform/getSystemMsgModal': {
|
||||
get: {
|
||||
summary: '获取系统弹窗内容',
|
||||
description: '获取系统消息弹窗的内容',
|
||||
tags: [TagsMap.adminInform],
|
||||
responses: {
|
||||
200: {
|
||||
description: '成功获取系统弹窗内容',
|
||||
content: {
|
||||
'application/json': {
|
||||
schema: SystemMsgModalResponseSchema
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'/admin/support/user/inform/updateSystemModal': {
|
||||
post: {
|
||||
summary: '更新系统弹窗内容',
|
||||
description: '更新系统消息弹窗的内容',
|
||||
tags: [TagsMap.adminInform],
|
||||
requestBody: {
|
||||
content: {
|
||||
'application/json': {
|
||||
schema: UpdateSystemModalBodySchema
|
||||
}
|
||||
}
|
||||
},
|
||||
responses: {
|
||||
200: {
|
||||
description: '成功更新系统弹窗',
|
||||
content: {
|
||||
'application/json': {
|
||||
schema: {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'/support/user/inform/getOperationalAd': {
|
||||
get: {
|
||||
summary: '获取运营广告',
|
||||
description: '获取运营广告的图片和链接',
|
||||
tags: [TagsMap.adminInform],
|
||||
responses: {
|
||||
200: {
|
||||
description: '成功获取运营广告',
|
||||
content: {
|
||||
'application/json': {
|
||||
schema: OperationalAdResponseSchema
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'/admin/support/user/inform/updateOperationalAd': {
|
||||
post: {
|
||||
summary: '更新运营广告',
|
||||
description: '更新运营广告的图片和链接',
|
||||
tags: [TagsMap.adminInform],
|
||||
requestBody: {
|
||||
content: {
|
||||
'application/json': {
|
||||
schema: UpdateOperationalAdBodySchema
|
||||
}
|
||||
}
|
||||
},
|
||||
responses: {
|
||||
200: {
|
||||
description: '成功更新运营广告',
|
||||
content: {
|
||||
'application/json': {
|
||||
schema: {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'/support/user/inform/getActivityAd': {
|
||||
get: {
|
||||
summary: '获取活动广告',
|
||||
description: '获取活动广告的图片和链接',
|
||||
tags: [TagsMap.adminInform],
|
||||
responses: {
|
||||
200: {
|
||||
description: '成功获取活动广告',
|
||||
content: {
|
||||
'application/json': {
|
||||
schema: ActivityAdResponseSchema
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'/admin/support/user/inform/updateActivityAd': {
|
||||
post: {
|
||||
summary: '更新活动广告',
|
||||
description: '更新活动广告的图片和链接',
|
||||
tags: [TagsMap.adminInform],
|
||||
requestBody: {
|
||||
content: {
|
||||
'application/json': {
|
||||
schema: UpdateActivityAdBodySchema
|
||||
}
|
||||
}
|
||||
},
|
||||
responses: {
|
||||
200: {
|
||||
description: '成功更新活动广告',
|
||||
content: {
|
||||
'application/json': {
|
||||
schema: {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user