This commit is contained in:
2026-10-27 23:44:33 +08:00
parent 035bb089af
commit 0a61e57f9d
10 changed files with 40 additions and 38 deletions
+19 -19
View File
@@ -33,7 +33,7 @@ const pickString = (value: unknown, fallback = '') => (typeof value === 'string'
export const mockRules: MockRule[] = [
{
method: 'POST',
pattern: /^\/api\/v1\/auth\/login$/,
pattern: /^\/api\/auth\/login$/,
handler: (ctx) => ({
accessToken: 'mock-access-token',
refreshToken: 'mock-refresh-token',
@@ -44,12 +44,12 @@ export const mockRules: MockRule[] = [
},
{
method: 'POST',
pattern: /^\/api\/v1\/auth\/logout$/,
pattern: /^\/api\/auth\/logout$/,
handler: () => true,
},
{
method: 'GET',
pattern: /^\/api\/v1\/auth\/me$/,
pattern: /^\/api\/auth\/me$/,
handler: () => ({
userId: 1,
username: 'admin',
@@ -70,12 +70,12 @@ export const mockRules: MockRule[] = [
},
{
method: 'GET',
pattern: /^\/api\/v1\/auth\/routes$/,
pattern: /^\/api\/auth\/routes$/,
handler: () => menuRoutes,
},
{
method: 'GET',
pattern: /^\/api\/v1\/api\/admin\/users$/,
pattern: /^\/api\/api\/admin\/users$/,
handler: (ctx) => {
const page = toNumber(ctx.query.page, 1)
const size = toNumber(ctx.query.size, 20)
@@ -94,12 +94,12 @@ export const mockRules: MockRule[] = [
},
{
method: 'GET',
pattern: /^\/api\/v1\/api\/admin\/users\/(\d+)$/,
pattern: /^\/api\/api\/admin\/users\/(\d+)$/,
handler: (ctx) => users.find((item) => item.id === toNumber(ctx.params[0])) ?? null,
},
{
method: 'PUT',
pattern: /^\/api\/v1\/api\/admin\/users\/(\d+)$/,
pattern: /^\/api\/api\/admin\/users\/(\d+)$/,
handler: (ctx) => {
const target = users.find((item) => item.id === toNumber(ctx.params[0]))
if (!target) return false
@@ -113,7 +113,7 @@ export const mockRules: MockRule[] = [
},
{
method: 'POST',
pattern: /^\/api\/v1\/api\/admin\/users\/(\d+)\/status$/,
pattern: /^\/api\/api\/admin\/users\/(\d+)\/status$/,
handler: (ctx) => {
const target = users.find((item) => item.id === toNumber(ctx.params[0]))
if (!target) return false
@@ -125,7 +125,7 @@ export const mockRules: MockRule[] = [
},
{
method: 'GET',
pattern: /^\/api\/v1\/api\/admin\/miniapps$/,
pattern: /^\/api\/api\/admin\/miniapps$/,
handler: (ctx) => {
const { status } = ctx.query
const pageNum = toNumber(ctx.query.pageNum, 1)
@@ -142,7 +142,7 @@ export const mockRules: MockRule[] = [
},
{
method: 'GET',
pattern: /^\/api\/v1\/api\/admin\/miniapps\/(\d+)$/,
pattern: /^\/api\/api\/admin\/miniapps\/(\d+)$/,
handler: (ctx) => {
const target = miniApps.find((item) => item.id === toNumber(ctx.params[0]))
if (!target) return null
@@ -152,7 +152,7 @@ export const mockRules: MockRule[] = [
},
{
method: 'POST',
pattern: /^\/api\/v1\/api\/admin\/miniapps$/,
pattern: /^\/api\/api\/admin\/miniapps$/,
handler: (ctx) => {
const id = miniApps.length + 1
const created: MockMiniApp = {
@@ -172,7 +172,7 @@ export const mockRules: MockRule[] = [
},
{
method: 'PUT',
pattern: /^\/api\/v1\/api\/admin\/miniapps\/(\d+)$/,
pattern: /^\/api\/api\/admin\/miniapps\/(\d+)$/,
handler: (ctx) => {
const target = miniApps.find((item) => item.id === toNumber(ctx.params[0]))
if (!target) return false
@@ -189,7 +189,7 @@ export const mockRules: MockRule[] = [
},
{
method: 'DELETE',
pattern: /^\/api\/v1\/api\/admin\/miniapps\/([\d,]+)$/,
pattern: /^\/api\/api\/admin\/miniapps\/([\d,]+)$/,
handler: (ctx) => {
const ids = ctx.params[0].split(',').map((id) => toNumber(id))
ids.forEach((id) => {
@@ -201,7 +201,7 @@ export const mockRules: MockRule[] = [
},
{
method: 'GET',
pattern: /^\/api\/v1\/api\/admin\/files$/,
pattern: /^\/api\/api\/admin\/files$/,
handler: (ctx) => {
const { keyword, uploader_type, page, size } = ctx.query
const pageNum = toNumber(page, 1)
@@ -221,7 +221,7 @@ export const mockRules: MockRule[] = [
},
{
method: 'POST',
pattern: /^\/api\/v1\/api\/admin\/files\/upload$/,
pattern: /^\/api\/api\/admin\/files\/upload$/,
handler: () => {
const id = files.length + 1
const rand = Math.random().toString(36).slice(2, 10)
@@ -251,7 +251,7 @@ export const mockRules: MockRule[] = [
},
{
method: 'DELETE',
pattern: /^\/api\/v1\/api\/admin\/files\/(\d+)$/,
pattern: /^\/api\/api\/admin\/files\/(\d+)$/,
handler: (ctx) => {
const id = toNumber(ctx.params[0])
const index = files.findIndex((item) => item.id === id)
@@ -262,7 +262,7 @@ export const mockRules: MockRule[] = [
{
// 统计每个小程序的用户数(有真实用户的取真实值,其余返回稳定模拟值)
method: 'GET',
pattern: /^\/api\/v1\/api\/admin\/dashboard\/user-count-by-miniapp$/,
pattern: /^\/api\/api\/admin\/dashboard\/user-count-by-miniapp$/,
alwaysMock: true,
handler: () =>
miniApps.map((app) => {
@@ -276,7 +276,7 @@ export const mockRules: MockRule[] = [
},
{
method: 'GET',
pattern: /^\/api\/v1\/api\/admin\/monitor\/server-info$/,
pattern: /^\/api\/api\/admin\/monitor\/server-info$/,
alwaysMock: true,
handler: () => ({
hostname: 'portal-server-01',
@@ -293,7 +293,7 @@ export const mockRules: MockRule[] = [
{
// 实时状态:每次请求生成浮动指标,模拟监控采集中
method: 'GET',
pattern: /^\/api\/v1\/api\/admin\/monitor\/server-status$/,
pattern: /^\/api\/api\/admin\/monitor\/server-status$/,
alwaysMock: true,
handler: () => {
const cpuUsage = Math.round((20 + Math.random() * 60) * 10) / 10