diff --git a/apps/user/openapi2ts.config.ts b/apps/user/openapi2ts.config.ts index afff07a..8b3fb78 100644 --- a/apps/user/openapi2ts.config.ts +++ b/apps/user/openapi2ts.config.ts @@ -9,7 +9,7 @@ const config = [ requestLibPath: "import request from '@/utils/request';", schemaPath: 'https://swagger.ppanel.dev/user.json', serversPath: './services', - projectName: 'admin', + projectName: 'user', }, ]; diff --git a/apps/user/services/common/index.ts b/apps/user/services/common/index.ts index 8bacc2d..310d348 100644 --- a/apps/user/services/common/index.ts +++ b/apps/user/services/common/index.ts @@ -4,7 +4,6 @@ // API 唯一标识: import * as auth from './auth'; import * as common from './common'; - export default { auth, common, diff --git a/apps/user/services/user/index.ts b/apps/user/services/user/index.ts index 4f6dd96..a3487d7 100644 --- a/apps/user/services/user/index.ts +++ b/apps/user/services/user/index.ts @@ -9,7 +9,6 @@ import * as payment from './payment'; import * as subscribe from './subscribe'; import * as ticket from './ticket'; import * as user from './user'; - export default { announcement, document, diff --git a/apps/user/services/user/typings.d.ts b/apps/user/services/user/typings.d.ts index 0f074b0..ac7ff8c 100644 --- a/apps/user/services/user/typings.d.ts +++ b/apps/user/services/user/typings.d.ts @@ -211,6 +211,11 @@ declare namespace API { total: number; }; + type QueryUserAffiliateResponse = { + list: UserAffiliate[]; + total: number; + }; + type QueryUserBalanceLogListResponse = { list: UserBalanceLog[]; total: number; @@ -345,6 +350,14 @@ declare namespace API { status: number; }; + type UserAffiliate = { + email: string; + avatar: string; + telegram: number; + registered_at: number; + enable: boolean; + }; + type UserBalanceLog = { id: number; user_id: number; diff --git a/apps/user/services/user/user.ts b/apps/user/services/user/user.ts index 44a6e5c..7232e33 100644 --- a/apps/user/services/user/user.ts +++ b/apps/user/services/user/user.ts @@ -2,6 +2,17 @@ /* eslint-disable */ import request from '@/utils/request'; +/** Query User Affiliate GET /v1/public/user/affiliate */ +export async function queryUserAffiliate(options?: { [key: string]: any }) { + return request( + '/v1/public/user/affiliate', + { + method: 'GET', + ...(options || {}), + }, + ); +} + /** Query User Balance Log GET /v1/public/user/balance_log */ export async function queryUserBalanceLog(options?: { [key: string]: any }) { return request( diff --git a/apps/user/utils/tutorial.ts b/apps/user/utils/tutorial.ts index f2cec5c..88d7d78 100644 --- a/apps/user/utils/tutorial.ts +++ b/apps/user/utils/tutorial.ts @@ -1,8 +1,9 @@ -const BASE_URL = 'https://cdn.jsdelivr.net/gh/perfect-panel/ppanel-tutorial@main'; +const BASE_URL = 'https://cdn.jsdelivr.net/gh/perfect-panel/ppanel-tutorial'; export async function getTutorial(path: string): Promise { try { const url = `${BASE_URL}/${path}`; + await fetch(url.replace('cdn', 'purge')); const response = await fetch(url); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); @@ -24,9 +25,7 @@ type TutorialItem = { export async function getTutorialList() { return await getTutorial('SUMMARY.md').then((markdown) => { - const map = parseTutorialToMap( - markdown.replace(/en-us/gi, 'en-US').replace(/zh-cn/gi, 'zh-CN'), - ); + const map = parseTutorialToMap(markdown); map.forEach((value, key) => { map.set( key,