fix: 系统公告与尊享额度明细
This commit is contained in:
@@ -1,31 +1,12 @@
|
||||
import { get } from '@/utils/request'
|
||||
import type {
|
||||
ActivityDetailResponse,
|
||||
AnnouncementDetailResponse,
|
||||
SystemAnnouncementResponse,
|
||||
} from './types'
|
||||
import type { AnnouncementLogDto } from './types';
|
||||
import { get } from '@/utils/request';
|
||||
|
||||
/**
|
||||
* 获取系统公告和活动数据
|
||||
* 后端接口: GET /api/app/announcement
|
||||
* 返回格式: AnnouncementLogDto[]
|
||||
*/
|
||||
export function getSystemAnnouncements() {
|
||||
return get<SystemAnnouncementResponse>('/announcement/system').json()
|
||||
return get<AnnouncementLogDto[]>('/announcement').json();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取活动详情
|
||||
* @param id 活动ID
|
||||
*/
|
||||
export function getActivityDetail(id: string | number) {
|
||||
return get<ActivityDetailResponse>(`/announcement/activity/${id}`).json()
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取公告详情
|
||||
* @param id 公告ID
|
||||
*/
|
||||
export function getAnnouncementDetail(id: string | number) {
|
||||
return get<AnnouncementDetailResponse>(`/announcement/detail/${id}`).json()
|
||||
}
|
||||
|
||||
export * from './types'
|
||||
export * from './types';
|
||||
|
||||
@@ -1,51 +1,18 @@
|
||||
// 轮播图类型
|
||||
export interface CarouselItem {
|
||||
id: number | string
|
||||
imageUrl: string
|
||||
link?: string
|
||||
title?: string
|
||||
}
|
||||
// 公告类型(对应后端 AnnouncementTypeEnum)
|
||||
export type AnnouncementType = 'Activity' | 'System'
|
||||
|
||||
// 活动类型
|
||||
export interface Activity {
|
||||
id: number | string
|
||||
// 公告DTO(对应后端 AnnouncementLogDto)
|
||||
export interface AnnouncementLogDto {
|
||||
/** 标题 */
|
||||
title: string
|
||||
description: string
|
||||
content: string
|
||||
coverImage?: string
|
||||
startTime?: string
|
||||
endTime?: string
|
||||
status: 'active' | 'inactive' | 'expired'
|
||||
createdAt: string
|
||||
updatedAt?: string
|
||||
}
|
||||
|
||||
// 公告类型
|
||||
export interface Announcement {
|
||||
id: number | string
|
||||
title: string
|
||||
content: string
|
||||
type: 'latest' | 'history'
|
||||
isImportant?: boolean
|
||||
publishTime: string
|
||||
createdAt: string
|
||||
updatedAt?: string
|
||||
}
|
||||
|
||||
// 系统公告响应类型
|
||||
export interface SystemAnnouncementResponse {
|
||||
carousels: CarouselItem[]
|
||||
activities: Activity[]
|
||||
announcements: Announcement[]
|
||||
}
|
||||
|
||||
// 公告详情响应类型
|
||||
export interface AnnouncementDetailResponse extends Announcement {
|
||||
views?: number
|
||||
}
|
||||
|
||||
// 活动详情响应类型
|
||||
export interface ActivityDetailResponse extends Activity {
|
||||
views?: number
|
||||
participantCount?: number
|
||||
/** 内容列表 */
|
||||
content: string[]
|
||||
/** 图片url */
|
||||
imageUrl?: string | null
|
||||
/** 开始时间(系统公告时间、活动开始时间) */
|
||||
startTime: string
|
||||
/** 活动结束时间 */
|
||||
endTime?: string | null
|
||||
/** 公告类型(系统、活动) */
|
||||
type: AnnouncementType
|
||||
}
|
||||
|
||||
@@ -1,5 +1,53 @@
|
||||
import { get, post } from '@/utils/request';
|
||||
|
||||
// 尊享包用量明细DTO
|
||||
export interface PremiumTokenUsageDto {
|
||||
/** id */
|
||||
id: string;
|
||||
/** 用户ID */
|
||||
userId: string;
|
||||
/** 包名称 */
|
||||
packageName: string;
|
||||
/** 总用量(总token数) */
|
||||
totalTokens: number;
|
||||
/** 剩余用量(剩余token数) */
|
||||
remainingTokens: number;
|
||||
/** 已使用token数 */
|
||||
usedTokens: number;
|
||||
/** 到期时间 */
|
||||
expireDateTime?: string;
|
||||
/** 是否激活 */
|
||||
isActive: boolean;
|
||||
/** 购买金额 */
|
||||
purchaseAmount: number;
|
||||
/** 备注 */
|
||||
remark?: string;
|
||||
}
|
||||
|
||||
// 查询参数接口 - 匹配后端 PagedAllResultRequestDto
|
||||
export interface PremiumTokenUsageQueryParams {
|
||||
/** 查询开始时间 */
|
||||
startTime?: string;
|
||||
/** 查询结束时间 */
|
||||
endTime?: string;
|
||||
/** 排序列名 */
|
||||
orderByColumn?: string;
|
||||
/** 排序方向(ascending/descending) */
|
||||
isAsc?: string;
|
||||
/** 跳过数量(分页) */
|
||||
skipCount?: number;
|
||||
/** 最大返回数量(分页) */
|
||||
maxResultCount?: number;
|
||||
}
|
||||
|
||||
// 分页响应接口
|
||||
export interface PagedResult<T> {
|
||||
/** 数据列表 */
|
||||
items: T[];
|
||||
/** 总数量 */
|
||||
totalCount: number;
|
||||
}
|
||||
|
||||
// 获取用户信息
|
||||
export function getUserInfo() {
|
||||
return get<any>('/account/ai').json();
|
||||
@@ -24,3 +72,63 @@ export function getWechatAuth(data: any) {
|
||||
export function getPremiumTokenPackage() {
|
||||
return get<any>('/usage-statistics/premium-token-usage').json();
|
||||
}
|
||||
|
||||
// 获取尊享包用量明细列表
|
||||
export function getPremiumTokenUsageList(params?: PremiumTokenUsageQueryParams) {
|
||||
return get<PagedResult<PremiumTokenUsageDto>>('/usage-statistics/premium-token-usage/list', params).json();
|
||||
}
|
||||
|
||||
// 查询条件的后端dto,其他查询或者排序由前端自己实现:
|
||||
// using Volo.Abp.Application.Dtos;
|
||||
//
|
||||
// namespace Yi.Framework.Ddd.Application.Contracts
|
||||
// {
|
||||
// /// <summary>
|
||||
// /// 分页查询请求DTO,包含时间范围和自定义排序功能
|
||||
// /// </summary>
|
||||
// public class PagedAllResultRequestDto : PagedAndSortedResultRequestDto, IPagedAllResultRequestDto
|
||||
// {
|
||||
// /// <summary>
|
||||
// /// 查询开始时间
|
||||
// /// </summary>
|
||||
// public DateTime? StartTime { get; set; }
|
||||
//
|
||||
// /// <summary>
|
||||
// /// 查询结束时间
|
||||
// /// </summary>
|
||||
// public DateTime? EndTime { get; set; }
|
||||
//
|
||||
// /// <summary>
|
||||
// /// 排序列名
|
||||
// /// </summary>
|
||||
// public string? OrderByColumn { get; set; }
|
||||
//
|
||||
// /// <summary>
|
||||
// /// 排序方向(ascending/descending)
|
||||
// /// </summary>
|
||||
// public string? IsAsc { get; set; }
|
||||
//
|
||||
// /// <summary>
|
||||
// /// 是否为升序排序
|
||||
// /// </summary>
|
||||
// public bool IsAscending => string.Equals(IsAsc, "ascending", StringComparison.OrdinalIgnoreCase);
|
||||
//
|
||||
// private string? _sorting;
|
||||
//
|
||||
// /// <summary>
|
||||
// /// 排序表达式
|
||||
// /// </summary>
|
||||
// public override string? Sorting
|
||||
// {
|
||||
// get
|
||||
// {
|
||||
// if (!string.IsNullOrWhiteSpace(OrderByColumn))
|
||||
// {
|
||||
// return $"{OrderByColumn} {(IsAscending ? "ASC" : "DESC")}";
|
||||
// }
|
||||
// return _sorting;
|
||||
// }
|
||||
// set => _sorting = value;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user