From 20c1b2b767105b41940979f197f3e3b7054c82c2 Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Mon, 21 Jul 2025 14:42:53 +0800 Subject: [PATCH 01/68] fix: db for web --- lib/database/database-factory.ts | 23 ++++ lib/database/database-test.ts | 60 +++++++++ lib/database/empty-sqlite.js | 9 ++ lib/database/index.ts | 6 + lib/database/sqlite-database.ts | 156 ++++++++++++++++++++++ lib/database/sqlite-database.web.ts | 140 ++++++++++++++++++++ lib/database/types.ts | 24 ++++ lib/database/web-database.ts | 139 ++++++++++++++++++++ lib/db.ts | 195 +++------------------------- metro.config.js | 9 ++ 10 files changed, 587 insertions(+), 174 deletions(-) create mode 100644 lib/database/database-factory.ts create mode 100644 lib/database/database-test.ts create mode 100644 lib/database/empty-sqlite.js create mode 100644 lib/database/index.ts create mode 100644 lib/database/sqlite-database.ts create mode 100644 lib/database/sqlite-database.web.ts create mode 100644 lib/database/types.ts create mode 100644 lib/database/web-database.ts diff --git a/lib/database/database-factory.ts b/lib/database/database-factory.ts new file mode 100644 index 0000000..abf4f47 --- /dev/null +++ b/lib/database/database-factory.ts @@ -0,0 +1,23 @@ +import { DatabaseInterface } from './types'; +import { SQLiteDatabase } from './sqlite-database'; + +class DatabaseFactory { + private static instance: DatabaseInterface | null = null; + + static getInstance(): DatabaseInterface { + if (!this.instance) { + // Metro 会根据平台自动选择正确的文件 + // Web: sqlite-database.web.ts + // Native: sqlite-database.ts + this.instance = new SQLiteDatabase(); + } + return this.instance!; + } + + // 用于测试或重置实例 + static resetInstance(): void { + this.instance = null; + } +} + +export const database = DatabaseFactory.getInstance(); diff --git a/lib/database/database-test.ts b/lib/database/database-test.ts new file mode 100644 index 0000000..fc1beb2 --- /dev/null +++ b/lib/database/database-test.ts @@ -0,0 +1,60 @@ +// 数据库架构测试文件 +import { database } from './database-factory'; +import { UploadTask } from './types'; + +// 测试数据库基本功能 +export async function testDatabase() { + console.log('开始测试数据库功能...'); + + try { + // 初始化数据库 + await database.initUploadTable(); + console.log('✓ 数据库初始化成功'); + + // 测试插入任务 + const testTask: Omit = { + uri: 'test://example.jpg', + filename: 'example.jpg', + status: 'pending', + progress: 0, + file_id: undefined + }; + + await database.insertUploadTask(testTask); + console.log('✓ 任务插入成功'); + + // 测试查询任务 + const retrievedTask = await database.getUploadTaskStatus(testTask.uri); + if (retrievedTask) { + console.log('✓ 任务查询成功:', retrievedTask); + } else { + console.log('✗ 任务查询失败'); + } + + // 测试更新任务状态 + await database.updateUploadTaskStatus(testTask.uri, 'success', 'file123'); + console.log('✓ 任务状态更新成功'); + + // 测试获取所有任务 + const allTasks = await database.getUploadTasks(); + console.log('✓ 获取所有任务成功,数量:', allTasks.length); + + // 测试应用状态 + await database.setAppState('test_key', 'test_value'); + const stateValue = await database.getAppState('test_key'); + console.log('✓ 应用状态测试成功:', stateValue); + + // 清理测试数据 + await database.cleanUpUploadTasks(); + console.log('✓ 数据清理成功'); + + console.log('🎉 所有数据库测试通过!'); + + } catch (error) { + console.error('❌ 数据库测试失败:', error); + throw error; + } +} + +// 导出测试函数供调用 +export default testDatabase; diff --git a/lib/database/empty-sqlite.js b/lib/database/empty-sqlite.js new file mode 100644 index 0000000..aa6e3fc --- /dev/null +++ b/lib/database/empty-sqlite.js @@ -0,0 +1,9 @@ +// 空的 SQLite 模块,用于 Web 环境 +console.warn('SQLite is not available in web environment'); + +// 导出空的对象,避免导入错误 +module.exports = { + openDatabaseSync: () => { + throw new Error('SQLite is not available in web environment'); + } +}; diff --git a/lib/database/index.ts b/lib/database/index.ts new file mode 100644 index 0000000..1c5595f --- /dev/null +++ b/lib/database/index.ts @@ -0,0 +1,6 @@ +// 数据库模块统一导出 +export { DatabaseInterface, UploadTask } from './types'; +export { WebDatabase } from './web-database'; +export { SQLiteDatabase } from './sqlite-database'; +export { database } from './database-factory'; +export { testDatabase } from './database-test'; diff --git a/lib/database/sqlite-database.ts b/lib/database/sqlite-database.ts new file mode 100644 index 0000000..9782d6c --- /dev/null +++ b/lib/database/sqlite-database.ts @@ -0,0 +1,156 @@ +import { DatabaseInterface, UploadTask } from './types'; + +export class SQLiteDatabase implements DatabaseInterface { + private db: any; + + constructor() { + // 动态导入,避免在Web环境下加载 + try { + const SQLite = require('expo-sqlite'); + this.db = SQLite.openDatabaseSync('upload_status.db'); + this.db.execSync('PRAGMA busy_timeout = 5000;'); + } catch (error) { + console.error('Failed to initialize SQLite:', error); + throw new Error('SQLite is not available in this environment'); + } + } + + async initUploadTable(): Promise { + console.log('Initializing upload tasks table...'); + await this.db.execAsync(` + CREATE TABLE IF NOT EXISTS upload_tasks ( + uri TEXT PRIMARY KEY NOT NULL, + filename TEXT NOT NULL, + status TEXT NOT NULL DEFAULT 'pending', + progress INTEGER NOT NULL DEFAULT 0, + file_id TEXT, + created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')) + ); + `); + + // Add created_at column to existing table if it doesn't exist + const columns = await this.db.getAllAsync('PRAGMA table_info(upload_tasks);'); + const columnExists = columns.some((column: any) => column.name === 'created_at'); + + if (!columnExists) { + console.log('Adding created_at column to upload_tasks table...'); + await this.db.execAsync(`ALTER TABLE upload_tasks ADD COLUMN created_at INTEGER;`); + await this.db.execAsync(`UPDATE upload_tasks SET created_at = (strftime('%s', 'now')) WHERE created_at IS NULL;`); + console.log('created_at column added and populated.'); + } + console.log('Upload tasks table initialized'); + + await this.db.execAsync(` + CREATE TABLE IF NOT EXISTS app_state ( + key TEXT PRIMARY KEY NOT NULL, + value TEXT + ); + `); + console.log('App state table initialized'); + } + + async insertUploadTask(task: Omit): Promise { + console.log('Inserting upload task:', task.uri); + await this.db.runAsync( + 'INSERT OR REPLACE INTO upload_tasks (uri, filename, status, progress, file_id, created_at) VALUES (?, ?, ?, ?, ?, ?)', + [task.uri, task.filename, task.status, task.progress, task.file_id ?? null, Math.floor(Date.now() / 1000)] + ); + } + + async getUploadTaskStatus(uri: string): Promise { + console.log('Checking upload task status for:', uri); + const result = await this.db.getFirstAsync( + 'SELECT uri, filename, status, progress, file_id, created_at FROM upload_tasks WHERE uri = ?;', + uri + ); + return result || null; + } + + async updateUploadTaskStatus(uri: string, status: UploadTask['status'], file_id?: string): Promise { + if (file_id) { + await this.db.runAsync('UPDATE upload_tasks SET status = ?, file_id = ? WHERE uri = ?', [status, file_id, uri]); + } else { + await this.db.runAsync('UPDATE upload_tasks SET status = ? WHERE uri = ?', [status, uri]); + } + } + + async updateUploadTaskProgress(uri: string, progress: number): Promise { + await this.db.runAsync('UPDATE upload_tasks SET progress = ? WHERE uri = ?', [progress, uri]); + } + + async getUploadTasks(): Promise { + console.log('Fetching all upload tasks... time:', new Date().toLocaleString()); + const results = await this.db.getAllAsync( + 'SELECT uri, filename, status, progress, file_id, created_at FROM upload_tasks ORDER BY created_at DESC;' + ); + return results; + } + + async cleanUpUploadTasks(): Promise { + console.log('Cleaning up completed/failed upload tasks...'); + await this.db.runAsync( + "DELETE FROM upload_tasks WHERE status = 'success' OR status = 'failed' OR status = 'skipped';" + ); + } + + async getUploadTasksSince(timestamp: number): Promise { + const rows = await this.db.getAllAsync( + 'SELECT * FROM upload_tasks WHERE created_at >= ? ORDER BY created_at DESC', + [timestamp] + ); + return rows; + } + + async exist_pending_tasks(): Promise { + const rows = await this.db.getAllAsync( + 'SELECT * FROM upload_tasks WHERE status = "pending" OR status = "uploading"' + ); + return rows.length > 0; + } + + async filterExistingFiles(fileUris: string[]): Promise { + if (fileUris.length === 0) { + return []; + } + + const placeholders = fileUris.map(() => '?').join(','); + const query = `SELECT uri FROM upload_tasks WHERE uri IN (${placeholders}) AND status = 'success'`; + + const existingFiles = await this.db.getAllAsync(query, fileUris); + const existingUris = new Set(existingFiles.map((f: { uri: string }) => f.uri)); + const newFileUris = fileUris.filter(uri => !existingUris.has(uri)); + + console.log(`[DB] Total files: ${fileUris.length}, Existing successful files: ${existingUris.size}, New files to upload: ${newFileUris.length}`); + + return newFileUris; + } + + async setAppState(key: string, value: string | null): Promise { + console.log(`Setting app state: ${key} = ${value}`); + await this.db.runAsync('INSERT OR REPLACE INTO app_state (key, value) VALUES (?, ?)', [key, value]); + } + + async getAppState(key: string): Promise { + const result = await this.db.getFirstAsync('SELECT value FROM app_state WHERE key = ?;', key); + return result?.value ?? null; + } + + async executeSql(sql: string, params: any[] = []): Promise { + try { + const isSelect = sql.trim().toLowerCase().startsWith('select'); + if (isSelect) { + const results = this.db.getAllSync(sql, params); + return results; + } else { + const result = this.db.runSync(sql, params); + return { + changes: result.changes, + lastInsertRowId: result.lastInsertRowId, + }; + } + } catch (error: any) { + console.error("Error executing SQL:", error); + return { error: error.message }; + } + } +} diff --git a/lib/database/sqlite-database.web.ts b/lib/database/sqlite-database.web.ts new file mode 100644 index 0000000..3b3ba1a --- /dev/null +++ b/lib/database/sqlite-database.web.ts @@ -0,0 +1,140 @@ +import { DatabaseInterface, UploadTask } from './types'; + +// Web 环境下的 SQLite 数据库实现(实际使用 localStorage) +export class SQLiteDatabase implements DatabaseInterface { + private getStorageKey(table: string): string { + return `memowake_${table}`; + } + + private getUploadTasksFromStorage(): UploadTask[] { + const data = localStorage.getItem(this.getStorageKey('upload_tasks')); + return data ? JSON.parse(data) : []; + } + + private saveUploadTasks(tasks: UploadTask[]): void { + localStorage.setItem(this.getStorageKey('upload_tasks'), JSON.stringify(tasks)); + } + + private getAppStateData(): Record { + const data = localStorage.getItem(this.getStorageKey('app_state')); + return data ? JSON.parse(data) : {}; + } + + private saveAppStateData(state: Record): void { + localStorage.setItem(this.getStorageKey('app_state'), JSON.stringify(state)); + } + + async initUploadTable(): Promise { + console.log('Initializing web storage tables (SQLite fallback)...'); + // Web端不需要初始化表结构,localStorage会自动处理 + } + + async insertUploadTask(task: Omit): Promise { + console.log('Inserting upload task:', task.uri); + const tasks = this.getUploadTasksFromStorage(); + const existingIndex = tasks.findIndex(t => t.uri === task.uri); + const newTask: UploadTask = { + ...task, + created_at: Math.floor(Date.now() / 1000) + }; + + if (existingIndex >= 0) { + tasks[existingIndex] = newTask; + } else { + tasks.push(newTask); + } + + this.saveUploadTasks(tasks); + } + + async getUploadTaskStatus(uri: string): Promise { + console.log('Checking upload task status for:', uri); + const tasks = this.getUploadTasksFromStorage(); + return tasks.find(t => t.uri === uri) || null; + } + + async updateUploadTaskStatus(uri: string, status: UploadTask['status'], file_id?: string): Promise { + const tasks = this.getUploadTasksFromStorage(); + const taskIndex = tasks.findIndex(t => t.uri === uri); + if (taskIndex >= 0) { + tasks[taskIndex].status = status; + if (file_id) { + tasks[taskIndex].file_id = file_id; + } + this.saveUploadTasks(tasks); + } + } + + async updateUploadTaskProgress(uri: string, progress: number): Promise { + const tasks = this.getUploadTasksFromStorage(); + const taskIndex = tasks.findIndex(t => t.uri === uri); + if (taskIndex >= 0) { + tasks[taskIndex].progress = progress; + this.saveUploadTasks(tasks); + } + } + + async getUploadTasks(): Promise { + console.log('Fetching all upload tasks... time:', new Date().toLocaleString()); + const tasks = this.getUploadTasksFromStorage(); + return tasks.sort((a, b) => b.created_at - a.created_at); + } + + async cleanUpUploadTasks(): Promise { + console.log('Cleaning up completed/failed upload tasks...'); + const tasks = this.getUploadTasksFromStorage(); + const filteredTasks = tasks.filter(t => + t.status !== 'success' && t.status !== 'failed' && t.status !== 'skipped' + ); + this.saveUploadTasks(filteredTasks); + } + + async getUploadTasksSince(timestamp: number): Promise { + const tasks = this.getUploadTasksFromStorage(); + const filteredTasks = tasks.filter(t => t.created_at >= timestamp); + return filteredTasks.sort((a, b) => b.created_at - a.created_at); + } + + async exist_pending_tasks(): Promise { + const tasks = this.getUploadTasksFromStorage(); + return tasks.some(t => t.status === 'pending' || t.status === 'uploading'); + } + + async filterExistingFiles(fileUris: string[]): Promise { + if (fileUris.length === 0) { + return []; + } + + const tasks = this.getUploadTasksFromStorage(); + const successfulUris = new Set( + tasks.filter(t => t.status === 'success').map(t => t.uri) + ); + + const newFileUris = fileUris.filter(uri => !successfulUris.has(uri)); + + console.log(`[WebDB] Total files: ${fileUris.length}, Existing successful files: ${successfulUris.size}, New files to upload: ${newFileUris.length}`); + + return newFileUris; + } + + async setAppState(key: string, value: string | null): Promise { + console.log(`Setting app state: ${key} = ${value}`); + const state = this.getAppStateData(); + if (value === null) { + delete state[key]; + } else { + state[key] = value; + } + this.saveAppStateData(state); + } + + async getAppState(key: string): Promise { + const state = this.getAppStateData(); + return state[key] || null; + } + + async executeSql(sql: string, params: any[] = []): Promise { + console.warn('SQL execution not supported in web environment:', sql); + return { error: 'SQL execution not supported in web environment' }; + } +} diff --git a/lib/database/types.ts b/lib/database/types.ts new file mode 100644 index 0000000..848aee6 --- /dev/null +++ b/lib/database/types.ts @@ -0,0 +1,24 @@ +export type UploadTask = { + uri: string; + filename: string; + status: 'pending' | 'uploading' | 'success' | 'failed' | 'skipped'; + progress: number; // 0-100 + file_id?: string; // 后端返回的文件ID + created_at: number; // unix timestamp +}; + +export interface DatabaseInterface { + initUploadTable(): Promise; + insertUploadTask(task: Omit): Promise; + getUploadTaskStatus(uri: string): Promise; + updateUploadTaskStatus(uri: string, status: UploadTask['status'], file_id?: string): Promise; + updateUploadTaskProgress(uri: string, progress: number): Promise; + getUploadTasks(): Promise; + cleanUpUploadTasks(): Promise; + getUploadTasksSince(timestamp: number): Promise; + exist_pending_tasks(): Promise; + filterExistingFiles(fileUris: string[]): Promise; + setAppState(key: string, value: string | null): Promise; + getAppState(key: string): Promise; + executeSql(sql: string, params?: any[]): Promise; +} diff --git a/lib/database/web-database.ts b/lib/database/web-database.ts new file mode 100644 index 0000000..38d7201 --- /dev/null +++ b/lib/database/web-database.ts @@ -0,0 +1,139 @@ +import { DatabaseInterface, UploadTask } from './types'; + +export class WebDatabase implements DatabaseInterface { + private getStorageKey(table: string): string { + return `memowake_${table}`; + } + + private getUploadTasksFromStorage(): UploadTask[] { + const data = localStorage.getItem(this.getStorageKey('upload_tasks')); + return data ? JSON.parse(data) : []; + } + + private saveUploadTasks(tasks: UploadTask[]): void { + localStorage.setItem(this.getStorageKey('upload_tasks'), JSON.stringify(tasks)); + } + + private getAppStateData(): Record { + const data = localStorage.getItem(this.getStorageKey('app_state')); + return data ? JSON.parse(data) : {}; + } + + private saveAppStateData(state: Record): void { + localStorage.setItem(this.getStorageKey('app_state'), JSON.stringify(state)); + } + + async initUploadTable(): Promise { + console.log('Initializing web storage tables...'); + // Web端不需要初始化表结构,localStorage会自动处理 + } + + async insertUploadTask(task: Omit): Promise { + console.log('Inserting upload task:', task.uri); + const tasks = this.getUploadTasksFromStorage(); + const existingIndex = tasks.findIndex(t => t.uri === task.uri); + const newTask: UploadTask = { + ...task, + created_at: Math.floor(Date.now() / 1000) + }; + + if (existingIndex >= 0) { + tasks[existingIndex] = newTask; + } else { + tasks.push(newTask); + } + + this.saveUploadTasks(tasks); + } + + async getUploadTaskStatus(uri: string): Promise { + console.log('Checking upload task status for:', uri); + const tasks = this.getUploadTasksFromStorage(); + return tasks.find(t => t.uri === uri) || null; + } + + async updateUploadTaskStatus(uri: string, status: UploadTask['status'], file_id?: string): Promise { + const tasks = this.getUploadTasksFromStorage(); + const taskIndex = tasks.findIndex(t => t.uri === uri); + if (taskIndex >= 0) { + tasks[taskIndex].status = status; + if (file_id) { + tasks[taskIndex].file_id = file_id; + } + this.saveUploadTasks(tasks); + } + } + + async updateUploadTaskProgress(uri: string, progress: number): Promise { + const tasks = this.getUploadTasksFromStorage(); + const taskIndex = tasks.findIndex(t => t.uri === uri); + if (taskIndex >= 0) { + tasks[taskIndex].progress = progress; + this.saveUploadTasks(tasks); + } + } + + async getUploadTasks(): Promise { + console.log('Fetching all upload tasks... time:', new Date().toLocaleString()); + const tasks = this.getUploadTasksFromStorage(); + return tasks.sort((a, b) => b.created_at - a.created_at); + } + + async cleanUpUploadTasks(): Promise { + console.log('Cleaning up completed/failed upload tasks...'); + const tasks = this.getUploadTasksFromStorage(); + const filteredTasks = tasks.filter(t => + t.status !== 'success' && t.status !== 'failed' && t.status !== 'skipped' + ); + this.saveUploadTasks(filteredTasks); + } + + async getUploadTasksSince(timestamp: number): Promise { + const tasks = this.getUploadTasksFromStorage(); + const filteredTasks = tasks.filter(t => t.created_at >= timestamp); + return filteredTasks.sort((a, b) => b.created_at - a.created_at); + } + + async exist_pending_tasks(): Promise { + const tasks = this.getUploadTasksFromStorage(); + return tasks.some(t => t.status === 'pending' || t.status === 'uploading'); + } + + async filterExistingFiles(fileUris: string[]): Promise { + if (fileUris.length === 0) { + return []; + } + + const tasks = this.getUploadTasksFromStorage(); + const successfulUris = new Set( + tasks.filter(t => t.status === 'success').map(t => t.uri) + ); + + const newFileUris = fileUris.filter(uri => !successfulUris.has(uri)); + + console.log(`[WebDB] Total files: ${fileUris.length}, Existing successful files: ${successfulUris.size}, New files to upload: ${newFileUris.length}`); + + return newFileUris; + } + + async setAppState(key: string, value: string | null): Promise { + console.log(`Setting app state: ${key} = ${value}`); + const state = this.getAppStateData(); + if (value === null) { + delete state[key]; + } else { + state[key] = value; + } + this.saveAppStateData(state); + } + + async getAppState(key: string): Promise { + const state = this.getAppStateData(); + return state[key] || null; + } + + async executeSql(sql: string, params: any[] = []): Promise { + console.warn('SQL execution not supported in web environment:', sql); + return { error: 'SQL execution not supported in web environment' }; + } +} diff --git a/lib/db.ts b/lib/db.ts index 5aadded..217cb12 100644 --- a/lib/db.ts +++ b/lib/db.ts @@ -1,176 +1,23 @@ -import * as SQLite from 'expo-sqlite'; +// 使用数据库接口架构,支持 Web 和移动端 +import { database } from './database/database-factory'; +import { UploadTask } from './database/types'; -const db = SQLite.openDatabaseSync('upload_status.db'); - -// Set a busy timeout to handle concurrent writes and avoid "database is locked" errors. -// This will make SQLite wait for 5 seconds if the database is locked by another process. -db.execSync('PRAGMA busy_timeout = 5000;'); - -export type UploadTask = { - uri: string; - filename: string; - status: 'pending' | 'uploading' | 'success' | 'failed' | 'skipped'; - progress: number; // 0-100 - file_id?: string; // 后端返回的文件ID - created_at: number; // unix timestamp -}; - -// 初始化表 -export async function initUploadTable() { - console.log('Initializing upload tasks table...'); - await db.execAsync(` - CREATE TABLE IF NOT EXISTS upload_tasks ( - uri TEXT PRIMARY KEY NOT NULL, - filename TEXT NOT NULL, - status TEXT NOT NULL DEFAULT 'pending', - progress INTEGER NOT NULL DEFAULT 0, - file_id TEXT, - created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')) - ); - `); - - // Add created_at column to existing table if it doesn't exist - const columns = await db.getAllAsync('PRAGMA table_info(upload_tasks);'); - const columnExists = columns.some((column: any) => column.name === 'created_at'); - - if (!columnExists) { - console.log('Adding created_at column to upload_tasks table...'); - // SQLite doesn't support non-constant DEFAULT values on ALTER TABLE. - // So we add the column, then update existing rows. - await db.execAsync(`ALTER TABLE upload_tasks ADD COLUMN created_at INTEGER;`); - await db.execAsync(`UPDATE upload_tasks SET created_at = (strftime('%s', 'now')) WHERE created_at IS NULL;`); - console.log('created_at column added and populated.'); - } - console.log('Upload tasks table initialized'); - - await db.execAsync(` - CREATE TABLE IF NOT EXISTS app_state ( - key TEXT PRIMARY KEY NOT NULL, - value TEXT - ); - `); - console.log('App state table initialized'); -} - -// 插入新的上传任务 -export async function insertUploadTask(task: Omit) { - console.log('Inserting upload task:', task.uri); - await db.runAsync( - 'INSERT OR REPLACE INTO upload_tasks (uri, filename, status, progress, file_id, created_at) VALUES (?, ?, ?, ?, ?, ?)', - [task.uri, task.filename, task.status, task.progress, task.file_id ?? null, Math.floor(Date.now() / 1000)] - ); -} - -// 检查文件是否已上传或正在上传 -export async function getUploadTaskStatus(uri: string): Promise { - console.log('Checking upload task status for:', uri); - const result = await db.getFirstAsync( - 'SELECT uri, filename, status, progress, file_id, created_at FROM upload_tasks WHERE uri = ?;', - uri - ); - return result || null; -} - -// 更新上传任务的状态 -export async function updateUploadTaskStatus(uri: string, status: UploadTask['status'], file_id?: string) { - if (file_id) { - await db.runAsync('UPDATE upload_tasks SET status = ?, file_id = ? WHERE uri = ?', [status, file_id, uri]); - } else { - await db.runAsync('UPDATE upload_tasks SET status = ? WHERE uri = ?', [status, uri]); - } -} - -// 更新上传任务的进度 -export async function updateUploadTaskProgress(uri: string, progress: number) { - await db.runAsync('UPDATE upload_tasks SET progress = ? WHERE uri = ?', [progress, uri]); -} - -// 获取所有上传任务 -export async function getUploadTasks(): Promise { - console.log('Fetching all upload tasks... time:', new Date().toLocaleString()); - const results = await db.getAllAsync( - 'SELECT uri, filename, status, progress, file_id, created_at FROM upload_tasks ORDER BY created_at DESC;' - ); - return results; -} - -// 清理已完成或失败的任务 (可选,根据需求添加) -export async function cleanUpUploadTasks(): Promise { - console.log('Cleaning up completed/failed upload tasks...'); - await db.runAsync( - "DELETE FROM upload_tasks WHERE status = 'success' OR status = 'failed' OR status = 'skipped';" - ); -} - -// 获取某个时间点之后的所有上传任务 -export async function getUploadTasksSince(timestamp: number): Promise { - const rows = await db.getAllAsync( - 'SELECT * FROM upload_tasks WHERE created_at >= ? ORDER BY created_at DESC', - [timestamp] - ); - return rows; -} - -export async function exist_pending_tasks(): Promise { - const rows = await db.getAllAsync( - 'SELECT * FROM upload_tasks WHERE status = "pending" OR status = "uploading"' - ); - return rows.length > 0; -} - -// 检查一组文件URI,返回那些在数据库中不存在或是未成功上传的文件的URI -export async function filterExistingFiles(fileUris: string[]): Promise { - if (fileUris.length === 0) { - return []; - } - - // 创建占位符字符串 '?,?,?' - const placeholders = fileUris.map(() => '?').join(','); - - // 查询已经存在且状态为 'success' 的任务 - const query = `SELECT uri FROM upload_tasks WHERE uri IN (${placeholders}) AND status = 'success'`; - - const existingFiles = await db.getAllAsync<{ uri: string }>(query, fileUris); - const existingUris = new Set(existingFiles.map(f => f.uri)); - - // 过滤出新文件 - const newFileUris = fileUris.filter(uri => !existingUris.has(uri)); - - console.log(`[DB] Total files: ${fileUris.length}, Existing successful files: ${existingUris.size}, New files to upload: ${newFileUris.length}`); - - return newFileUris; -} - -// 设置全局状态值 -export async function setAppState(key: string, value: string | null): Promise { - console.log(`Setting app state: ${key} = ${value}`); - await db.runAsync('INSERT OR REPLACE INTO app_state (key, value) VALUES (?, ?)', [key, value]); -} - -// 获取全局状态值 -export async function getAppState(key: string): Promise { - const result = await db.getFirstAsync<{ value: string }>('SELECT value FROM app_state WHERE key = ?;', key); - return result?.value ?? null; -} - -// for debug page -export async function executeSql(sql: string, params: any[] = []): Promise { - try { - // Trim and check if it's a SELECT query - const isSelect = sql.trim().toLowerCase().startsWith('select'); - if (isSelect) { - const results = db.getAllSync(sql, params); - return results; - } else { - const result = db.runSync(sql, params); - return { - changes: result.changes, - lastInsertRowId: result.lastInsertRowId, - }; - } - } catch (error: any) { - console.error("Error executing SQL:", error); - return { error: error.message }; - } -} +// 重新导出类型 +export type { UploadTask }; +// 重新导出所有数据库函数,使用统一接口 +export const initUploadTable = () => database.initUploadTable(); +export const insertUploadTask = (task: Omit) => database.insertUploadTask(task); +export const getUploadTaskStatus = (uri: string) => database.getUploadTaskStatus(uri); +export const updateUploadTaskStatus = (uri: string, status: UploadTask['status'], file_id?: string) => + database.updateUploadTaskStatus(uri, status, file_id); +export const updateUploadTaskProgress = (uri: string, progress: number) => + database.updateUploadTaskProgress(uri, progress); +export const getUploadTasks = () => database.getUploadTasks(); +export const cleanUpUploadTasks = () => database.cleanUpUploadTasks(); +export const getUploadTasksSince = (timestamp: number) => database.getUploadTasksSince(timestamp); +export const exist_pending_tasks = () => database.exist_pending_tasks(); +export const filterExistingFiles = (fileUris: string[]) => database.filterExistingFiles(fileUris); +export const setAppState = (key: string, value: string | null) => database.setAppState(key, value); +export const getAppState = (key: string) => database.getAppState(key); +export const executeSql = (sql: string, params: any[] = []) => database.executeSql(sql, params); diff --git a/metro.config.js b/metro.config.js index 7ba56c4..a20435c 100644 --- a/metro.config.js +++ b/metro.config.js @@ -19,6 +19,15 @@ config.resolver = { ...config.resolver?.alias, '@/': path.resolve(__dirname, './'), }, + platforms: ['ios', 'android', 'native', 'web'], }; +// Web 环境下的模块别名 +if (process.env.EXPO_PLATFORM === 'web') { + config.resolver.alias = { + ...config.resolver.alias, + 'expo-sqlite': path.resolve(__dirname, './lib/database/empty-sqlite.js'), + }; +} + module.exports = withNativeWind(config, { input: './global.css' }); \ No newline at end of file From 9431eae8bdc60ecfdeac9548f12cea7562113288 Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Mon, 21 Jul 2025 16:57:33 +0800 Subject: [PATCH 02/68] feat: app icon --- app.json | 7 ++--- assets/icons/png/app.png | Bin 0 -> 1836127 bytes assets/icons/svg/app.svg | 61 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 4 deletions(-) create mode 100644 assets/icons/png/app.png create mode 100644 assets/icons/svg/app.svg diff --git a/app.json b/app.json index 8a294f5..11a9aaa 100644 --- a/app.json +++ b/app.json @@ -4,7 +4,7 @@ "slug": "memowake", "version": "1.0.0", "orientation": "portrait", - "icon": "", + "icon": "./assets/icons/png/app.png", "scheme": "memowake", "userInterfaceStyle": "automatic", "newArchEnabled": true, @@ -48,7 +48,7 @@ "web": { "bundler": "metro", "output": "static", - "favicon": "" + "favicon": "./assets/icons/png/app.png" }, "plugins": [ "expo-router", @@ -96,8 +96,7 @@ "router": {}, "eas": { "projectId": "04721dd4-6b15-495a-b9ec-98187c613172" - }, - "API_ENDPOINT": "http://192.168.31.115:18080/api" + } } } } diff --git a/assets/icons/png/app.png b/assets/icons/png/app.png new file mode 100644 index 0000000000000000000000000000000000000000..5bef3fbd2054bf8b61f4c17db332fe161fc91a10 GIT binary patch literal 1836127 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%0A8!#usO3-)v00j4+;hWD| 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�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 z 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

1XVhP=9A%p%4vbv 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

sha>B{imWV`GpfH-^bzOe`dQ`f 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

v$A$X_G`wVMO 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�B&jc8a$4l-%$`xkEzCXMrC|;Lf)0o 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

p*=f~B*w70LYxBfJk`((s( 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

)`xr? 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 z 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

c5t4m{E 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 z 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 z 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

6b6Fz(ARvm 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

BQ=${7>rVEEhIlJ-2hlIX!_nk&fBW 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¬NG4F(UHL9}*onWg& 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 literal 0 HcmV?d00001 diff --git a/assets/icons/svg/app.svg b/assets/icons/svg/app.svg new file mode 100644 index 0000000..d04e7b3 --- /dev/null +++ b/assets/icons/svg/app.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 06962d5b246b123b51009da0bb66f4e7a264d571 Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Mon, 21 Jul 2025 17:18:01 +0800 Subject: [PATCH 03/68] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/_layout.tsx | 13 +++++++ app/(tabs)/support.tsx | 67 ++++++++++++++++++++++++++++++++++ i18n/locales/en/support.json | 8 ++++ i18n/locales/zh/support.json | 8 ++++ i18n/translations-generated.ts | 4 ++ 5 files changed, 100 insertions(+) create mode 100644 app/(tabs)/support.tsx create mode 100644 i18n/locales/en/support.json create mode 100644 i18n/locales/zh/support.json diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index 324e9f3..eb6d47a 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -3,6 +3,7 @@ import { TabBarIcon } from '@/components/navigation/TabBarIcon'; import TabBarBackground from '@/components/ui/TabBarBackground'; import { Colors } from '@/constants/Colors'; import { useColorScheme } from '@/hooks/useColorScheme'; +import { useTranslation } from 'react-i18next'; import { fetchApi } from '@/lib/server-api-util'; import * as Notifications from 'expo-notifications'; import { Tabs } from 'expo-router'; @@ -17,6 +18,7 @@ interface PollingData { extra: any; } export default function TabLayout() { + const { t } = useTranslation(); const colorScheme = useColorScheme(); const [pollingData, setPollingData] = useState([]); const pollingInterval = useRef(null); @@ -281,6 +283,17 @@ export default function TabLayout() { }} /> + {/* Support Screen */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> + {/* Debug Screen - only in development */} {process.env.NODE_ENV === 'development' && ( { + const { t } = useTranslation('support'); + const handleWeChatSupport = () => { + Linking.openURL('https://work.weixin.qq.com/kfid/kfca0ac87f4e05e8bfd'); + }; + + const handleEmailSupport = () => { + Linking.openURL('mailto:memowake@fairclip.cn'); + }; + + return ( + <> + + {t('pageTitle')} + + + + + MemoWake + + + {t('title')} + + + {t('description')} + + + + + + + + {t('onlineSupport')} + + + + + + + {t('emailSupport')} + + + + + + ); +}; + +export default SupportScreen; diff --git a/i18n/locales/en/support.json b/i18n/locales/en/support.json new file mode 100644 index 0000000..3a930f1 --- /dev/null +++ b/i18n/locales/en/support.json @@ -0,0 +1,8 @@ +{ + "title": "Support & Help", + "description": "If you encounter any issues or have any suggestions, please contact us through the following methods.", + "onlineSupport": "Online Support", + "emailSupport": "Email Support", + "pageTitle": "Support & Help - MemoWake", + "tabTitle": "Support" +} diff --git a/i18n/locales/zh/support.json b/i18n/locales/zh/support.json new file mode 100644 index 0000000..5f2e526 --- /dev/null +++ b/i18n/locales/zh/support.json @@ -0,0 +1,8 @@ +{ + "title": "支持与帮助", + "description": "如果您在使用中遇到任何问题,或有任何建议,请通过以下方式联系我们。", + "onlineSupport": "在线客服", + "emailSupport": "邮件联系", + "pageTitle": "支持与帮助 - MemoWake", + "tabTitle": "支持" +} diff --git a/i18n/translations-generated.ts b/i18n/translations-generated.ts index 4edacca..68a331f 100644 --- a/i18n/translations-generated.ts +++ b/i18n/translations-generated.ts @@ -4,6 +4,7 @@ import enAdmin from './locales/en/admin.json'; import enAsk from './locales/en/ask.json'; import enCommon from './locales/en/common.json'; import enDownload from './locales/en/download.json'; +import enSupport from './locales/en/support.json'; import enExample from './locales/en/example.json'; import enFairclip from './locales/en/fairclip.json'; import enLanding from './locales/en/landing.json'; @@ -14,6 +15,7 @@ import zhAdmin from './locales/zh/admin.json'; import zhAsk from './locales/zh/ask.json'; import zhCommon from './locales/zh/common.json'; import zhDownload from './locales/zh/download.json'; +import zhSupport from './locales/zh/support.json'; import zhExample from './locales/zh/example.json'; import zhFairclip from './locales/zh/fairclip.json'; import zhLanding from './locales/zh/landing.json'; @@ -27,6 +29,7 @@ const translations = { ask: enAsk, common: enCommon, download: enDownload, + support: enSupport, example: enExample, fairclip: enFairclip, landing: enLanding, @@ -39,6 +42,7 @@ const translations = { ask: zhAsk, common: zhCommon, download: zhDownload, + support: zhSupport, example: zhExample, fairclip: zhFairclip, landing: zhLanding, From aa8d7cb5b73b3c5bed9c86b19505e23028afff3c Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Mon, 21 Jul 2025 19:49:41 +0800 Subject: [PATCH 04/68] fix/v0.5.0_bug (#9) Co-authored-by: Junhui Chen Reviewed-on: https://git.fairclip.cn/FairClip/memowake-front/pulls/9 --- app/(tabs)/index.tsx | 2 ++ app/(tabs)/owner.tsx | 6 +----- assets/icons/svg/send.svg | 3 +++ components/ask/send.tsx | 9 ++++++--- components/owner/album.tsx | 4 ++-- components/owner/qualification/privacy.tsx | 7 ++++--- components/owner/userInfo.tsx | 2 +- 7 files changed, 19 insertions(+), 14 deletions(-) create mode 100644 assets/icons/svg/send.svg diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx index 42103ec..44dd58d 100644 --- a/app/(tabs)/index.tsx +++ b/app/(tabs)/index.tsx @@ -18,6 +18,8 @@ export default function HomeScreen() { router.replace('/ask') }, false).then(() => { setIsLoading(false); + }).catch(() => { + setIsLoading(false); }); }, []); diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index 19dcac5..8b3d2e3 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -1,5 +1,4 @@ import ConversationsSvg from '@/assets/icons/svg/conversations.svg'; -import MoreArrowSvg from '@/assets/icons/svg/moreArrow.svg'; import PointsSvg from '@/assets/icons/svg/points.svg'; import StoriesSvg from '@/assets/icons/svg/stories.svg'; import UsedStorageSvg from '@/assets/icons/svg/usedStorage.svg'; @@ -89,13 +88,10 @@ export default function OwnerPage() { {/* 资源数据 */} - + } isFormatBytes={true} /> } /> - - - {/* 数据统计 */} + + diff --git a/components/ask/send.tsx b/components/ask/send.tsx index b2d01fa..6dea33e 100644 --- a/components/ask/send.tsx +++ b/components/ask/send.tsx @@ -1,5 +1,5 @@ 'use client'; -import VoiceSvg from '@/assets/icons/svg/vioce.svg'; +import SendSvg from '@/assets/icons/svg/send.svg'; import React, { Dispatch, SetStateAction, useCallback, useEffect, useState } from 'react'; import { Keyboard, @@ -125,9 +125,12 @@ export default function SendMessage(props: Props) { /> - + + + @@ -156,6 +159,6 @@ const styles = StyleSheet.create({ backgroundColor: '#FF9500', justifyContent: 'center', alignItems: 'center', - marginRight: 8, // 添加一点右边距 + marginRight: 8, // 添加一点 }, }); \ No newline at end of file diff --git a/components/owner/album.tsx b/components/owner/album.tsx index 855faf9..d546198 100644 --- a/components/owner/album.tsx +++ b/components/owner/album.tsx @@ -11,10 +11,10 @@ const AlbumComponent = ({ setModalVisible, style }: CategoryProps) => { const { t } = useTranslation(); return ( - + {t('generalSetting.album', { ns: 'personal' })} - + {t('generalSetting.shareProfile', { ns: 'personal' })} setModalVisible(true)} style={[styles.text, { flex: 1, alignItems: "center", paddingVertical: 6 }]}> diff --git a/components/owner/qualification/privacy.tsx b/components/owner/qualification/privacy.tsx index 7af7259..3540069 100644 --- a/components/owner/qualification/privacy.tsx +++ b/components/owner/qualification/privacy.tsx @@ -42,9 +42,10 @@ const PrivacyModal = (props: { modalVisible: boolean, setModalVisible: (visible: }) } }; - - loadArticle(); - }, []); + if (type) { + loadArticle(); + } + }, [type]); if (!article) { return ( diff --git a/components/owner/userInfo.tsx b/components/owner/userInfo.tsx index 7356e9e..d1565b0 100644 --- a/components/owner/userInfo.tsx +++ b/components/owner/userInfo.tsx @@ -73,7 +73,7 @@ const UserInfo = (props: UserInfoProps) => { useEffect(() => { if (modalVisible) { getLocation(); - if (Object.keys(currentLocation).length === 0) { + if (currentLocation && Object?.keys(currentLocation)?.length === 0) { getCurrentLocation(); } } From 6aa98dae44158e6d069dcc3fd02055d8f284fe18 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Mon, 21 Jul 2025 20:35:10 +0800 Subject: [PATCH 05/68] =?UTF-8?q?feat:=20=E9=9A=90=E7=A7=81=E5=8D=8F?= =?UTF-8?q?=E8=AE=AE=20(#10)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-on: https://git.fairclip.cn/FairClip/memowake-front/pulls/10 --- app/(tabs)/_layout.tsx | 12 ++- app/(tabs)/privacy-policy.tsx | 159 ++++++++++++++++++++++++++++++++++ 2 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 app/(tabs)/privacy-policy.tsx diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index eb6d47a..a4ec795 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -3,12 +3,12 @@ import { TabBarIcon } from '@/components/navigation/TabBarIcon'; import TabBarBackground from '@/components/ui/TabBarBackground'; import { Colors } from '@/constants/Colors'; import { useColorScheme } from '@/hooks/useColorScheme'; -import { useTranslation } from 'react-i18next'; import { fetchApi } from '@/lib/server-api-util'; import * as Notifications from 'expo-notifications'; import { Tabs } from 'expo-router'; import * as SecureStore from 'expo-secure-store'; import React, { useCallback, useEffect, useRef, useState } from 'react'; +import { useTranslation } from 'react-i18next'; import { Platform } from 'react-native'; interface PollingData { @@ -282,6 +282,16 @@ export default function TabLayout() { tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 }} /> + {/* 隐私协议 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> {/* Support Screen */} { + const [article, setArticle] = useState({} as Policy); + useEffect(() => { + const loadArticle = async () => { + fetchApi(`/system-config/policy/privacy_policy`).then((res: any) => { + setArticle(res) + }).catch((error: any) => { + console.log(error) + }) + } + loadArticle(); + }, []); + + if (!article) { + return ( + + 加载中... + + ); + } + + return ( + + + + Settings + {'Privacy Policy'} + + × + + + + + + + + + ); +}; + +export default PrivacyPolicy; + +const styles = StyleSheet.create({ + centeredView: { + flex: 1, + justifyContent: 'flex-end', + backgroundColor: 'rgba(0,0,0,0.5)', + }, + container: { + flex: 1, + }, + modalView: { + width: '100%', + height: '100%', + backgroundColor: 'white', + paddingHorizontal: 16, + }, + modalHeader: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + marginBottom: 20, + }, + modalTitle: { + fontSize: 20, + fontWeight: 'bold', + color: '#4C320C', + }, + closeButton: { + fontSize: 28, + color: '#4C320C', + padding: 10, + }, + modalContent: { + flex: 1, + }, + modalText: { + fontSize: 16, + color: '#4C320C', + }, + premium: { + backgroundColor: "#FAF9F6", + padding: 16, + borderRadius: 24, + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + }, + content: { + flex: 1, + flexDirection: 'column', + gap: 4, + backgroundColor: '#FAF9F6', + borderRadius: 24, + paddingVertical: 8 + }, + item: { + paddingHorizontal: 16, + paddingVertical: 8, + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + }, + itemText: { + fontSize: 14, + fontWeight: '600', + color: '#4C320C', + }, + upgradeButton: { + backgroundColor: '#E2793F', + borderRadius: 20, + paddingHorizontal: 16, + paddingVertical: 8, + }, + upgradeButtonText: { + color: '#fff', + fontSize: 14, + fontWeight: "600" + }, + switchContainer: { + width: 50, + height: 30, + borderRadius: 15, + justifyContent: 'center', + paddingHorizontal: 2, + }, + switchOn: { + backgroundColor: '#E2793F', + alignItems: 'flex-end', + }, + switchOff: { + backgroundColor: '#E5E5E5', + alignItems: 'flex-start', + }, + switchCircle: { + width: 26, + height: 26, + borderRadius: 13, + }, + switchCircleOn: { + backgroundColor: 'white', + }, + switchCircleOff: { + backgroundColor: '#A5A5A5', + }, +}); \ No newline at end of file From 06a579cf04a5f3cdc12e018d543b34f8e120869e Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Mon, 21 Jul 2025 18:21:13 +0800 Subject: [PATCH 06/68] =?UTF-8?q?feat:=20=E8=BD=AE=E6=92=AD=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/memo-list.tsx | 41 +++++--- app/(tabs)/owner.tsx | 56 +++++------ assets/icons/svg/comein.svg | 3 + assets/icons/svg/people.svg | 3 + assets/icons/svg/star.svg | 3 + assets/icons/svg/userinfoTotal.svg | 45 +++++++++ components/owner/album.tsx | 4 +- components/owner/carousel.tsx | 153 +++++++++++++++++++++++++++++ components/owner/category.tsx | 48 ++++++--- components/owner/ranking.tsx | 3 +- components/owner/userName.tsx | 54 +++++----- i18n/locales/en/common.json | 24 ++--- i18n/locales/en/personal.json | 4 +- i18n/locales/zh/common.json | 18 ++-- i18n/locales/zh/personal.json | 4 +- package-lock.json | 13 +++ package.json | 7 +- types/user.ts | 4 +- 18 files changed, 369 insertions(+), 118 deletions(-) create mode 100644 assets/icons/svg/comein.svg create mode 100644 assets/icons/svg/people.svg create mode 100644 assets/icons/svg/star.svg create mode 100644 assets/icons/svg/userinfoTotal.svg create mode 100644 components/owner/carousel.tsx diff --git a/app/(tabs)/memo-list.tsx b/app/(tabs)/memo-list.tsx index 9ab35d2..4b23114 100644 --- a/app/(tabs)/memo-list.tsx +++ b/app/(tabs)/memo-list.tsx @@ -3,26 +3,33 @@ import UploaderProgress from "@/components/file-upload/upload-progress/uploader- import AskNavbar from "@/components/layout/ask"; import { useUploadManager } from "@/hooks/useUploadManager"; import { fetchApi } from "@/lib/server-api-util"; -import { useAppDispatch, useAppSelector } from "@/store"; +import { useAppSelector } from "@/store"; import { Chat } from "@/types/ask"; -import { router } from "expo-router"; -import React, { useEffect, useState } from 'react'; -import { FlatList, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; +import { router, useFocusEffect } from "expo-router"; +import React from 'react'; +import { FlatList, Platform, RefreshControl, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; const MemoList = () => { const insets = useSafeAreaInsets(); - const dispatch = useAppDispatch(); const uploadSessionStartTime = useAppSelector((state) => state.appState.uploadSessionStartTime); // 历史消息 const [historyList, setHistoryList] = React.useState([]); + // 刷新状态 + const [refreshing, setRefreshing] = React.useState(false); // 获取历史消息 const getHistoryList = async () => { - await fetchApi(`/chats`).then((res) => { - setHistoryList(res) - }) + try { + setRefreshing(true); + const res = await fetchApi(`/chats`); + setHistoryList(res); + } catch (error) { + console.error('Failed to fetch history:', error); + } finally { + setRefreshing(false); + } } // 获取对话历史消息 @@ -41,9 +48,12 @@ const MemoList = () => { getChatHistory(item.session_id) } - useEffect(() => { - getHistoryList() - }, []) + useFocusEffect( + React.useCallback(() => { + getHistoryList() + }, []) + ); + const { progressInfo, uploadSessionStartTime: uploadSessionStartTimeFromHook } = useUploadManager(); @@ -87,6 +97,15 @@ const MemoList = () => { ListHeaderComponent={renderHeader} data={historyList} keyExtractor={(item) => item.session_id} + // 下拉刷新 + refreshControl={ + + } ItemSeparatorComponent={() => ( )} diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index 8b3d2e3..fbe8411 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -1,24 +1,21 @@ +import ComeinSvg from '@/assets/icons/svg/comein.svg'; import ConversationsSvg from '@/assets/icons/svg/conversations.svg'; -import PointsSvg from '@/assets/icons/svg/points.svg'; import StoriesSvg from '@/assets/icons/svg/stories.svg'; -import UsedStorageSvg from '@/assets/icons/svg/usedStorage.svg'; import AskNavbar from '@/components/layout/ask'; import AlbumComponent from '@/components/owner/album'; -import CategoryComponent from '@/components/owner/category'; -import CountComponent from '@/components/owner/count'; +import CarouselComponent from '@/components/owner/carousel'; import CreateCountComponent from '@/components/owner/createCount'; import Ranking from '@/components/owner/ranking'; -import ResourceComponent from '@/components/owner/resource'; import SettingModal from '@/components/owner/setting'; import UserInfo from '@/components/owner/userName'; -import { formatDuration } from '@/components/utils/time'; +import { ThemedText } from '@/components/ThemedText'; import { checkAuthStatus } from '@/lib/auth'; import { fetchApi } from '@/lib/server-api-util'; import { CountData, UserInfoDetails } from '@/types/user'; import { useRouter } from 'expo-router'; import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { FlatList, ScrollView, StyleSheet, View } from 'react-native'; +import { FlatList, StyleSheet, View } from 'react-native'; import { useSafeAreaInsets } from "react-native-safe-area-context"; export default function OwnerPage() { @@ -88,31 +85,15 @@ export default function OwnerPage() { {/* 资源数据 */} - - } isFormatBytes={true} /> - } /> + + {t("generalSetting.premium", { ns: "personal" })} + {t("generalSetting.unlock", { ns: "personal" })} + - {/* 数据统计 */} - - {/* 分类 */} - - - {countData?.counter?.category_count && Object.entries(countData?.counter?.category_count).map(([key, value], index) => { - return ( - - ) - })} - + + {/* 作品数据 */} @@ -148,11 +129,20 @@ const styles = StyleSheet.create({ flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', - gap: 16, - backgroundColor: "#FAF9F6", - padding: 16, + backgroundColor: "#4C320C", + paddingVertical: 8, + paddingHorizontal: 32, borderRadius: 18, - paddingTop: 20 + }, + text: { + fontSize: 12, + fontWeight: '700', + color: '#FFB645', + }, + secondText: { + fontSize: 16, + fontWeight: '700', + color: '#fff', }, userInfo: { flexDirection: 'row', diff --git a/assets/icons/svg/comein.svg b/assets/icons/svg/comein.svg new file mode 100644 index 0000000..a38cc64 --- /dev/null +++ b/assets/icons/svg/comein.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/svg/people.svg b/assets/icons/svg/people.svg new file mode 100644 index 0000000..db2a291 --- /dev/null +++ b/assets/icons/svg/people.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/svg/star.svg b/assets/icons/svg/star.svg new file mode 100644 index 0000000..af626a2 --- /dev/null +++ b/assets/icons/svg/star.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/svg/userinfoTotal.svg b/assets/icons/svg/userinfoTotal.svg new file mode 100644 index 0000000..104d1c7 --- /dev/null +++ b/assets/icons/svg/userinfoTotal.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/components/owner/album.tsx b/components/owner/album.tsx index d546198..855faf9 100644 --- a/components/owner/album.tsx +++ b/components/owner/album.tsx @@ -11,10 +11,10 @@ const AlbumComponent = ({ setModalVisible, style }: CategoryProps) => { const { t } = useTranslation(); return ( - + {t('generalSetting.album', { ns: 'personal' })} - + {t('generalSetting.shareProfile', { ns: 'personal' })} setModalVisible(true)} style={[styles.text, { flex: 1, alignItems: "center", paddingVertical: 6 }]}> diff --git a/components/owner/carousel.tsx b/components/owner/carousel.tsx new file mode 100644 index 0000000..b83be3d --- /dev/null +++ b/components/owner/carousel.tsx @@ -0,0 +1,153 @@ +import HandersSvg from "@/assets/icons/svg/handers.svg"; +import UserinfoTotalSvg from "@/assets/icons/svg/userinfoTotal.svg"; +import { Counter, UserCountData } from "@/types/user"; +import * as React from "react"; +import { Dimensions, StyleSheet, View, ViewStyle } from "react-native"; +import Carousel from "react-native-reanimated-carousel"; +import { ThemedText } from "../ThemedText"; +import { formatDuration } from "../utils/time"; +import CategoryComponent from "./category"; +interface Props { + data: Counter +} + +interface CarouselData { + key: string, + value: UserCountData + +}[] +const width = Dimensions.get("window").width; + +function CarouselComponent(props: Props) { + const { data } = props; + const [carouselDataValue, setCarouselDataValue] = React.useState([]); + const dataHandle = () => { + const carouselData = { ...data?.category_count, total_count: data?.total_count } + // 1. 转换为数组并过滤掉 'total' + const entries = Object?.entries(carouselData) + ?.filter(([key]) => key !== 'total_count') + ?.map(([key, value]) => ({ key, value })); + + // 2. 找到 total 数据 + const totalEntry = { + key: 'total_count', + value: carouselData?.total_count + }; + + // 3. 插入到中间位置 + const middleIndex = Math.floor((entries || [])?.length / 2); + entries?.splice(middleIndex, 0, totalEntry); + setCarouselDataValue(entries) + return entries; + } + + const totleItem = (data: UserCountData) => { + return + {Object?.entries(data)?.filter(([key]) => key !== 'cover_url')?.map((item, index) => ( + + {item[0]} + {item[1]} + + ))} + + + + + + + } + + React.useEffect(() => { + if (data) { + dataHandle() + } + }, [data]); + + return ( + + item?.key === 'total_count') - 1 || 0} + modeConfig={{ + parallaxScrollingScale: 1, + parallaxScrollingOffset: 160, + parallaxAdjacentItemScale: 0.7 + }} + renderItem={({ item, index }) => { + const style: ViewStyle = { + width: width, + height: width * 0.8, + alignItems: "center", + }; + return ( + + {item?.key === 'total_count' ? ( + totleItem(item.value) + ) : ( + + {CategoryComponent({ + title: item?.key, + data: [ + { title: 'Video', number: item?.value?.video_count }, + { title: 'Photo', number: item?.value?.photo_count }, + { title: 'Length', number: formatDuration(item?.value?.video_length || 0) } + ], + bgSvg: item?.value?.cover_url, + })} + + )} + + ) + }} + /> + + ); +} + +const styles = StyleSheet.create({ + container: { + backgroundColor: "#FFB645", + paddingVertical: 8, + paddingHorizontal: 16, + borderRadius: 16, + display: "flex", + flexDirection: "column", + position: 'relative', + width: width * 0.6, + height: '85%' + }, + image: { + position: 'absolute', + bottom: 0, + right: 0, + left: 0, + alignItems: 'center', + justifyContent: 'flex-end', + }, + item: { + flexDirection: "row", + alignItems: "center", + justifyContent: "space-between", + paddingVertical: 8, + borderBottomColor: '#fff', + borderBottomWidth: 1, + }, + title: { + color: "#4C320C", + fontWeight: "700", + fontSize: 14, + }, + number: { + color: "#fff", + fontWeight: "700", + fontSize: 32, + textAlign: 'right', + flex: 1, + paddingTop: 8 + } +}) + +export default CarouselComponent; \ No newline at end of file diff --git a/components/owner/category.tsx b/components/owner/category.tsx index 06a0a15..2f91fa2 100644 --- a/components/owner/category.tsx +++ b/components/owner/category.tsx @@ -1,3 +1,4 @@ +import PeopleSvg from "@/assets/icons/svg/people.svg"; import { Image, StyleProp, StyleSheet, View, ViewStyle } from "react-native"; import { ThemedText } from "../ThemedText"; @@ -13,20 +14,27 @@ const CategoryComponent = ({ title, data, bgSvg, style }: CategoryProps) => { - {title} {data.map((item, index) => ( {item.title} {item.number} ))} + + {title} + + + ); @@ -37,45 +45,57 @@ const styles = StyleSheet.create({ borderRadius: 32, overflow: 'hidden', position: 'relative', + aspectRatio: 1, }, backgroundContainer: { ...StyleSheet.absoluteFillObject, - width: '100%', - height: '100%', + width: "100%", + height: "100%", }, overlay: { ...StyleSheet.absoluteFillObject, - backgroundColor: 'rgba(0, 0, 0, 0.4)', // 0% 不透明度的黑色 + backgroundColor: 'rgba(0, 0, 0, 0.2)', // 0% 不透明度的黑色 }, content: { - paddingHorizontal: 16, - paddingVertical: 8, - justifyContent: 'space-between', + paddingHorizontal: 40, + paddingVertical: 24, + justifyContent: 'flex-end', flex: 1 }, - title: { + titleContent: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + position: 'relative', width: '100%', - textAlign: "center", + marginTop: 16 + }, + title: { color: 'white', fontSize: 16, fontWeight: '700', textShadowColor: 'rgba(0, 0, 0, 0.5)', textShadowOffset: { width: 1, height: 1 }, textShadowRadius: 2, + position: 'absolute', + textAlign: 'center', + width: '100%', + zIndex: 1, }, item: { flexDirection: 'row', alignItems: 'center', + paddingVertical: 8, justifyContent: 'space-between', }, itemTitle: { color: 'white', - fontSize: 10, + fontSize: 14, fontWeight: '700', }, itemNumber: { color: 'white', - fontSize: 10, + fontSize: 14, } }); diff --git a/components/owner/ranking.tsx b/components/owner/ranking.tsx index 00ac830..823d369 100644 --- a/components/owner/ranking.tsx +++ b/components/owner/ranking.tsx @@ -27,7 +27,8 @@ const Ranking = ({ data }: { data: TitleRankings[] }) => { renderItem={({ item }) => ( No.{item.ranking} - {item.region}{item.display_name} + {item.display_name} + {item.region} )} /> diff --git a/components/owner/userName.tsx b/components/owner/userName.tsx index c75e889..2225312 100644 --- a/components/owner/userName.tsx +++ b/components/owner/userName.tsx @@ -1,15 +1,31 @@ import UserSvg from '@/assets/icons/svg/ataver.svg'; +import StarSvg from '@/assets/icons/svg/star.svg'; import { ThemedText } from '@/components/ThemedText'; import { UserInfoDetails } from '@/types/user'; import { useState } from 'react'; import { Image, ScrollView, View } from 'react-native'; +import CopyButton from '../copy'; export default function UserInfo({ userInfo }: { userInfo: UserInfoDetails }) { // 添加状态来跟踪图片加载状态 const [imageError, setImageError] = useState(false); return ( + {/* 头像 */} + + {userInfo?.user_info?.avatar_file_url && !imageError ? ( + { + setImageError(true); + }} + /> + ) : ( + + )} + {/* 用户名 */} - + + + + {userInfo?.remain_points} + - - - User ID: {userInfo?.user_info?.user_id} - - {/* */} + + User ID:{userInfo?.user_info?.user_id} + + - - {/* 头像 */} - - {userInfo?.user_info?.avatar_file_url && !imageError ? ( - { - setImageError(true); - }} - /> - ) : ( - - )} - ); } diff --git a/i18n/locales/en/common.json b/i18n/locales/en/common.json index 0037b84..2c80c49 100644 --- a/i18n/locales/en/common.json +++ b/i18n/locales/en/common.json @@ -11,18 +11,18 @@ "common": { "search": "Search...", "title": "MemoWake - Home Video Memory, Powered by AI", - "name":"MemoWake", - "homepage":"HomePage", - "signup":"Sign up", - "login":"Login", - "trade":"copyright 2025 MemoWake - All rights reserved", - "logout":"Logout", - "self":"Personal Center" + "name": "MemoWake", + "homepage": "HomePage", + "signup": "Sign up", + "login": "Login", + "trade": "沪ICP备2025133004号-2A", + "logout": "Logout", + "self": "Personal Center" }, "welcome": { - "welcome": "Welcome to MemoWake~", - "slogan": "Preserve your love, laughter and precious moments forever", - "notice": "s back to live family portrait " + "welcome": "Welcome to MemoWake~", + "slogan": "Preserve your love, laughter and precious moments forever", + "notice": "s back to live family portrait " }, "imagePreview": { "zoomOut": "Zoom out", @@ -62,7 +62,7 @@ "file": { "invalidType": "Invalid file type", "tooLarge": "File too large", - "tooSmall":"File too small" + "tooSmall": "File too small" }, "email": { "required": "Email is required", @@ -110,4 +110,4 @@ } }, "loading": "Loading..." -} +} \ No newline at end of file diff --git a/i18n/locales/en/personal.json b/i18n/locales/en/personal.json index 0fbadeb..e813114 100644 --- a/i18n/locales/en/personal.json +++ b/i18n/locales/en/personal.json @@ -83,6 +83,8 @@ "videoLength": "Video Duration", "storiesCreated": "Stories Created", "conversationsWithMemo": "Conversations with Memo", - "setting": "Settings" + "setting": "Settings", + "premium": "Upgrade to Premium", + "unlock": "Unlock more memory magic" } } \ No newline at end of file diff --git a/i18n/locales/zh/common.json b/i18n/locales/zh/common.json index c977501..be43b74 100644 --- a/i18n/locales/zh/common.json +++ b/i18n/locales/zh/common.json @@ -11,13 +11,13 @@ "common": { "search": "搜索...", "title": "MemoWake - AI驱动的家庭「视频记忆」", - "name":"MemoWake", - "homepage":"首页", - "signup":"注册", - "login":"登录", - "trade": "沪ICP备2023032876号-4", - "logout":"退出登录", - "self":"个人中心" + "name": "MemoWake", + "homepage": "首页", + "signup": "注册", + "login": "登录", + "trade": "沪ICP备2025133004号-2A", + "logout": "退出登录", + "self": "个人中心" }, "welcome": { "welcome": "欢迎来到 MemoWake~", @@ -55,7 +55,7 @@ "invalidFileTitle": "不支持的文件格式", "fileTooLargeTitle": "文件过大", "uploadErrorTitle": "上传失败", - "fileTooSmallTitle": "文件过小", + "fileTooSmallTitle": "文件过小", "fileTooSmall": "文件过小,请上传大于300像素的图片" }, "validation": { @@ -109,4 +109,4 @@ } }, "loading": "加载中..." -} +} \ No newline at end of file diff --git a/i18n/locales/zh/personal.json b/i18n/locales/zh/personal.json index 3f0c5f9..ce221a5 100644 --- a/i18n/locales/zh/personal.json +++ b/i18n/locales/zh/personal.json @@ -83,6 +83,8 @@ "videoLength": "视频时长", "storiesCreated": "创作视频", "conversationsWithMemo": "Memo对话", - "setting": "设置" + "setting": "设置", + "premium": "升级至会员", + "unlock": "解锁更多记忆魔法" } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 2d3c8d1..66a15e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -60,6 +60,7 @@ "react-native-picker-select": "^9.3.1", "react-native-progress": "^5.0.1", "react-native-reanimated": "~3.17.4", + "react-native-reanimated-carousel": "^4.0.2", "react-native-render-html": "^6.3.4", "react-native-safe-area-context": "5.4.0", "react-native-screens": "~4.11.1", @@ -14826,6 +14827,18 @@ "react-native": "*" } }, + "node_modules/react-native-reanimated-carousel": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/react-native-reanimated-carousel/-/react-native-reanimated-carousel-4.0.2.tgz", + "integrity": "sha512-vNpCfPlFoOVKHd+oB7B0luoJswp+nyz0NdJD8+LCrf25JiNQXfM22RSJhLaksBHqk3fm8R4fKWPNcfy5w7wL1Q==", + "license": "MIT", + "peerDependencies": { + "react": ">=18.0.0", + "react-native": ">=0.70.3", + "react-native-gesture-handler": ">=2.9.0", + "react-native-reanimated": ">=3.0.0" + } + }, "node_modules/react-native-reanimated/node_modules/react-native-is-edge-to-edge": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.1.7.tgz", diff --git a/package.json b/package.json index 50c1a34..bf8c777 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "expo-audio": "~0.4.8", "expo-background-task": "^0.2.8", "expo-blur": "~14.1.5", + "expo-clipboard": "~7.1.5", "expo-constants": "~17.1.6", "expo-dev-client": "~5.2.4", "expo-device": "~7.1.4", @@ -33,6 +34,7 @@ "expo-haptics": "~14.1.4", "expo-image-manipulator": "~13.1.7", "expo-image-picker": "~16.1.4", + "expo-linear-gradient": "~14.1.5", "expo-linking": "~7.1.7", "expo-localization": "^16.1.5", "expo-location": "~18.1.5", @@ -64,6 +66,7 @@ "react-native-picker-select": "^9.3.1", "react-native-progress": "^5.0.1", "react-native-reanimated": "~3.17.4", + "react-native-reanimated-carousel": "^4.0.2", "react-native-render-html": "^6.3.4", "react-native-safe-area-context": "5.4.0", "react-native-screens": "~4.11.1", @@ -72,9 +75,7 @@ "react-native-uuid": "^2.0.3", "react-native-web": "~0.20.0", "react-native-webview": "13.13.5", - "react-redux": "^9.2.0", - "expo-clipboard": "~7.1.5", - "expo-linear-gradient": "~14.1.5" + "react-redux": "^9.2.0" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/types/user.ts b/types/user.ts index ff1665d..bb3a291 100644 --- a/types/user.ts +++ b/types/user.ts @@ -12,7 +12,7 @@ export interface User { avatar_file_url?: string } -interface UserCountData { +export interface UserCountData { video_count: number, photo_count: number, live_count: number, @@ -31,7 +31,7 @@ export interface CountData { } } -interface Counter { +export interface Counter { user_id: number, total_count: UserCountData, category_count: { From ea5f0d05e981bf9fd3a0cbc8742f23d7e8fa4480 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 22 Jul 2025 16:43:51 +0800 Subject: [PATCH 07/68] =?UTF-8?q?feat:=20=E4=B8=8B=E8=BD=BD=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/_layout.tsx | 11 ++ app/(tabs)/download.tsx | 96 +++++----- assets/icons/svg/logo.svg | 26 +++ components/download/app.tsx | 175 +++++++++++++++++++ components/download/pc.tsx | 69 ++++++++ components/download/qrCode.tsx | 71 ++++++++ components/owner/album.tsx | 5 +- i18n/locales/en/download.json | 4 +- i18n/locales/zh/download.json | 4 +- package-lock.json | 309 ++++++++++++++++++++++++++++++++- package.json | 7 +- 11 files changed, 718 insertions(+), 59 deletions(-) create mode 100644 assets/icons/svg/logo.svg create mode 100644 components/download/app.tsx create mode 100644 components/download/pc.tsx create mode 100644 components/download/qrCode.tsx diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index a4ec795..28ecb79 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -316,6 +316,17 @@ export default function TabLayout() { }} /> )} + + {/* 下载页面 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> ); } diff --git a/app/(tabs)/download.tsx b/app/(tabs)/download.tsx index 35cd9d9..fa03774 100644 --- a/app/(tabs)/download.tsx +++ b/app/(tabs)/download.tsx @@ -1,63 +1,53 @@ -import AndroidLogo from '@/assets/icons/svg/android.svg'; -import AppleLogo from '@/assets/icons/svg/apple.svg'; -import MemoIP from '@/assets/icons/svg/memo-ip.svg'; -import { LinearGradient } from 'expo-linear-gradient'; -import { useTranslation } from 'react-i18next'; -import { Linking, Text, TouchableOpacity, View } from 'react-native'; +import { AppDownload } from '@/components/download/app'; +import PCDownload from '@/components/download/pc'; +import React, { useEffect, useState } from 'react'; +import { Platform, Text, View } from 'react-native'; const IOS_APP_STORE_URL = 'https://apps.apple.com/cn/app/id6748205761'; const ANDROID_APK_URL = 'https://cdn.memorywake.com/apks/application-f086a38c-dac1-43f1-9d24-e4378c2ce121.apk'; export default function DownloadScreen() { - const handleIOSDownload = () => { - Linking.openURL(IOS_APP_STORE_URL); - }; - const handleAndroidDownload = () => { - Linking.openURL(ANDROID_APK_URL); - }; + const [loading, setLoading] = useState(false) + const [platform, setPlatform] = useState('') + // 判断是什么平台 + const getPlatform = () => { + let platform; + if (Platform.OS === 'ios') { + platform = 'ios'; + } else if (Platform.OS === 'android') { + platform = 'android'; + } else { + platform = 'pc'; + } + return platform; + } - const { t } = useTranslation(); + useEffect(() => { + setLoading(true) + const platform = getPlatform(); + setPlatform(platform) + setLoading(false) + }, []) + + if (loading) { + return ( + + loading... + + ); + } return ( - - - - - - - MemoWake - - - {t('desc', { ns: 'download' })} - - + + { + platform === 'pc' && + } + { + (platform === 'ios' || platform === 'android') && ( + + ) + } + - - - - - {t('ios', { ns: 'download' })} - - - - - - - {t('android', { ns: 'download' })} - - - - - ); + ) } diff --git a/assets/icons/svg/logo.svg b/assets/icons/svg/logo.svg new file mode 100644 index 0000000..498b298 --- /dev/null +++ b/assets/icons/svg/logo.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/components/download/app.tsx b/components/download/app.tsx new file mode 100644 index 0000000..aa9f586 --- /dev/null +++ b/components/download/app.tsx @@ -0,0 +1,175 @@ +import HandlersSvg from "@/assets/icons/svg/handers.svg"; +import LogoSvg from "@/assets/icons/svg/logo.svg"; +import UserinfoTotalSvg from "@/assets/icons/svg/userinfoTotal.svg"; +import { useTranslation } from 'react-i18next'; +import { Linking, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; +import QRDownloadScreen from "./qrCode"; + +interface AppDownloadProps { + IOS_APP_STORE_URL: string, + ANDROID_APK_URL: string, + platform: string +} + +export const AppDownload = (props: AppDownloadProps) => { + const { t } = useTranslation(); + const insets = useSafeAreaInsets(); + const { IOS_APP_STORE_URL, ANDROID_APK_URL, platform } = props + const handleAppStoreDownload = () => { + Linking.openURL(IOS_APP_STORE_URL); + }; + + const handlePlayStoreDownload = () => { + Linking.openURL(ANDROID_APK_URL); + }; + + return ( + + {/* Main Content */} + + {/* App Icon */} + + + {/* App Name */} + MemoWake + {/* QRCode */} + + + + + + + + + {/* Description */} + + {t('mobileDescription', { ns: 'download' })} + + + {/* Download Button */} + + + {t('download', { ns: 'download' })} + + + + + ); +}; + +const styles = StyleSheet.create({ + container: { + flex: 1, + padding: 20, + backgroundColor: '#FFB645' + }, + qrCodeContainer: { + justifyContent: 'center', + alignItems: 'center', + }, + qrCodeBg: { + justifyContent: 'center', + alignItems: 'center' + }, + qrCode: { + justifyContent: 'center', + alignItems: 'center', + padding: 16, + borderRadius: 12, + zIndex: 2, + backgroundColor: '#fff', + }, + closeButton: { + width: 30, + height: 30, + borderRadius: 15, + backgroundColor: 'rgba(255, 255, 255, 0.3)', + justifyContent: 'center', + alignItems: 'center', + }, + closeButtonText: { + color: '#fff', + fontSize: 18, + lineHeight: 24, + }, + content: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + paddingBottom: 40, + }, + appIconImage: { + width: 100, + height: 100 + }, + appIconText: { + fontSize: 50, + }, + appName: { + fontSize: 32, + fontWeight: 'bold', + color: '#fff', + marginBottom: 12, + }, + description: { + fontSize: 16, + color: 'rgba(255, 255, 255, 0.9)', + textAlign: 'center', + marginBottom: 32, + paddingHorizontal: 40, + lineHeight: 24, + marginVertical: 32 + }, + downloadButton: { + backgroundColor: '#fff', + borderRadius: 30, + paddingVertical: 16, + paddingHorizontal: 40, + width: "90%", + alignItems: 'center', + shadowColor: '#000', + shadowOffset: { width: 0, height: 4 }, + shadowOpacity: 0.1, + shadowRadius: 8, + elevation: 5, + marginTop: 40 + }, + downloadButtonText: { + color: '#4C320C', + fontSize: 18, + fontWeight: 'bold', + }, + badgesContainer: { + alignItems: 'center', + paddingBottom: 40, + }, + availableOnText: { + color: 'rgba(255, 255, 255, 0.8)', + fontSize: 14, + marginBottom: 12, + }, + badgesRow: { + flexDirection: 'row', + justifyContent: 'center', + alignItems: 'center', + }, + badgeButton: { + backgroundColor: '#fff', + borderRadius: 8, + paddingVertical: 8, + paddingHorizontal: 16, + marginHorizontal: 8, + minWidth: 120, + alignItems: 'center', + justifyContent: 'center', + height: 40, + }, + badgeText: { + fontSize: 14, + fontWeight: '600', + }, +}); \ No newline at end of file diff --git a/components/download/pc.tsx b/components/download/pc.tsx new file mode 100644 index 0000000..fbe6444 --- /dev/null +++ b/components/download/pc.tsx @@ -0,0 +1,69 @@ +import AndroidLogo from '@/assets/icons/svg/android.svg'; +import AppleLogo from '@/assets/icons/svg/apple.svg'; +import MemoIP from '@/assets/icons/svg/memo-ip.svg'; +import { LinearGradient } from 'expo-linear-gradient'; +import { useTranslation } from 'react-i18next'; +import { Linking, Text, TouchableOpacity, View } from 'react-native'; + +interface PCDownloadProps { + IOS_APP_STORE_URL: string, + ANDROID_APK_URL: string +} +const PCDownload = (props: PCDownloadProps) => { + const { IOS_APP_STORE_URL, ANDROID_APK_URL } = props + + const handleIOSDownload = () => { + Linking.openURL(IOS_APP_STORE_URL); + }; + + const handleAndroidDownload = () => { + Linking.openURL(ANDROID_APK_URL); + }; + + const { t } = useTranslation(); + return ( + + + + + + + MemoWake + + + {t('desc', { ns: 'download' })} + + + + + + + + {t('ios', { ns: 'download' })} + + + + + + + {t('android', { ns: 'download' })} + + + + + ) +} + + +export default PCDownload \ No newline at end of file diff --git a/components/download/qrCode.tsx b/components/download/qrCode.tsx new file mode 100644 index 0000000..440ce64 --- /dev/null +++ b/components/download/qrCode.tsx @@ -0,0 +1,71 @@ +import * as Haptics from 'expo-haptics'; +import * as MediaLibrary from 'expo-media-library'; +import React, { useRef } from 'react'; +import { Alert, StyleSheet, TouchableOpacity, View } from 'react-native'; +import QRCode from 'react-native-qrcode-svg'; +import { captureRef } from 'react-native-view-shot'; + +export default function QRDownloadScreen(prop: { url: string }) { + const qrViewRef = useRef(null); // 用于截图的引用 + const [qrValue] = React.useState(prop.url); // 二维码内容 + + const saveQRToGallery = async () => { + try { + // 触发轻震,提升交互感 + await Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light); + + // 请求相册写入权限 + const { status } = await MediaLibrary.requestPermissionsAsync(); + if (status !== 'granted') { + Alert.alert('权限被拒绝', '需要保存图片到相册的权限'); + return; + } + + if (!qrViewRef.current) return; + + // 截取二维码视图 + const uri = await captureRef(qrViewRef, { + format: 'png', + quality: 1, + result: 'tmpfile', // 返回临时文件路径 + }); + + // 保存到相册 + await MediaLibrary.saveToLibraryAsync(uri); + + Alert.alert('✅ 成功', '二维码已保存到相册!'); + } catch (error) { + console.error('保存失败:', error); + Alert.alert('❌ 失败', '无法保存图片,请重试'); + } + }; + + return ( + + {/* 可截图的容器 */} + + + + + + + ); +} + +const styles = StyleSheet.create({ + container: { + // flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + qrContainer: { + padding: 16, + backgroundColor: '#fff', + borderRadius: 12, + }, + tip: { + marginTop: 20, + color: '#666', + fontSize: 14, + }, +}); \ No newline at end of file diff --git a/components/owner/album.tsx b/components/owner/album.tsx index 855faf9..972680f 100644 --- a/components/owner/album.tsx +++ b/components/owner/album.tsx @@ -1,4 +1,5 @@ import SettingSvg from '@/assets/icons/svg/setting.svg'; +import { useRouter } from 'expo-router'; import { useTranslation } from 'react-i18next'; import { StyleProp, StyleSheet, TouchableOpacity, View, ViewStyle } from "react-native"; import { ThemedText } from "../ThemedText"; @@ -9,9 +10,11 @@ interface CategoryProps { const AlbumComponent = ({ setModalVisible, style }: CategoryProps) => { const { t } = useTranslation(); + const router = useRouter(); + return ( - + { router.push("/download") }}> {t('generalSetting.album', { ns: 'personal' })} diff --git a/i18n/locales/en/download.json b/i18n/locales/en/download.json index faaec14..00c37c4 100644 --- a/i18n/locales/en/download.json +++ b/i18n/locales/en/download.json @@ -2,5 +2,7 @@ "title": "Download Our App", "desc": "Get the full experience by downloading our app on your favorite platform.", "ios": "Download for iOS", - "android": "Download for Android" + "android": "Download for Android", + "mobileDescription": "Scan the QR Code to awaken your precious memories", + "download": "Download MemoWake" } \ No newline at end of file diff --git a/i18n/locales/zh/download.json b/i18n/locales/zh/download.json index 3b1a5d0..377d2d7 100644 --- a/i18n/locales/zh/download.json +++ b/i18n/locales/zh/download.json @@ -2,5 +2,7 @@ "title": "下载我们的应用", "desc": "在您喜欢的平台上下载我们的应用,以获得完整的体验。", "ios": "下载 iOS 版", - "android": "下载 Android 版" + "android": "下载 Android 版", + "mobileDescription": "扫描二维码唤醒珍贵记忆", + "download": "下载 MemoWake" } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 66a15e1..1a876dc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -56,17 +56,20 @@ "react-i18next": "^15.5.3", "react-native": "0.79.5", "react-native-gesture-handler": "~2.24.0", + "react-native-linear-gradient": "^2.8.3", "react-native-modal": "^14.0.0-rc.1", "react-native-picker-select": "^9.3.1", "react-native-progress": "^5.0.1", + "react-native-qrcode-svg": "^6.3.15", "react-native-reanimated": "~3.17.4", "react-native-reanimated-carousel": "^4.0.2", "react-native-render-html": "^6.3.4", "react-native-safe-area-context": "5.4.0", "react-native-screens": "~4.11.1", - "react-native-svg": "15.11.2", + "react-native-svg": "^15.11.2", "react-native-toast-message": "^2.3.0", "react-native-uuid": "^2.0.3", + "react-native-view-shot": "4.0.3", "react-native-web": "~0.20.0", "react-native-webview": "13.13.5", "react-redux": "^9.2.0" @@ -6148,6 +6151,15 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "license": "MIT" }, + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -7064,6 +7076,15 @@ "hyphenate-style-name": "^1.0.3" } }, + "node_modules/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "license": "MIT", + "dependencies": { + "utrie": "^1.0.2" + } + }, "node_modules/css-select": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", @@ -7250,6 +7271,15 @@ } } }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/decode-uri-component": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", @@ -7421,6 +7451,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "license": "MIT" + }, "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", @@ -9985,6 +10021,19 @@ "void-elements": "3.1.0" } }, + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "license": "MIT", + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/htmlparser2": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", @@ -14422,6 +14471,23 @@ ], "license": "MIT" }, + "node_modules/qrcode": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz", + "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==", + "license": "MIT", + "dependencies": { + "dijkstrajs": "^1.0.1", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/qrcode-terminal": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz", @@ -14430,6 +14496,165 @@ "qrcode-terminal": "bin/qrcode-terminal.js" } }, + "node_modules/qrcode/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/qrcode/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/qrcode/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/qrcode/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/qrcode/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" + }, + "node_modules/qrcode/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/query-string": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", @@ -14764,6 +14989,16 @@ "react-native": "*" } }, + "node_modules/react-native-linear-gradient": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/react-native-linear-gradient/-/react-native-linear-gradient-2.8.3.tgz", + "integrity": "sha512-KflAXZcEg54PXkLyflaSZQ3PJp4uC4whM7nT/Uot9m0e/qxFV3p6uor1983D1YOBJbJN7rrWdqIjq0T42jOJyA==", + "license": "MIT", + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/react-native-modal": { "version": "14.0.0-rc.1", "resolved": "https://registry.npmjs.org/react-native-modal/-/react-native-modal-14.0.0-rc.1.tgz", @@ -14802,6 +15037,22 @@ "react-native-svg": "*" } }, + "node_modules/react-native-qrcode-svg": { + "version": "6.3.15", + "resolved": "https://registry.npmjs.org/react-native-qrcode-svg/-/react-native-qrcode-svg-6.3.15.tgz", + "integrity": "sha512-vLuNImGfstE8u+rlF4JfFpq65nPhmByuDG6XUPWh8yp8MgLQX11rN5eQ8nb/bf4OB+V8XoLTJB/AZF2g7jQSSQ==", + "license": "MIT", + "dependencies": { + "prop-types": "^15.8.0", + "qrcode": "^1.5.4", + "text-encoding": "^0.7.0" + }, + "peerDependencies": { + "react": "*", + "react-native": ">=0.63.4", + "react-native-svg": ">=14.0.0" + } + }, "node_modules/react-native-reanimated": { "version": "3.17.5", "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.17.5.tgz", @@ -14947,6 +15198,19 @@ "npm": ">=6.0.0" } }, + "node_modules/react-native-view-shot": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/react-native-view-shot/-/react-native-view-shot-4.0.3.tgz", + "integrity": "sha512-USNjYmED7C0me02c1DxKA0074Hw+y/nxo+xJKlffMvfUWWzL5ELh/TJA/pTnVqFurIrzthZDPtDM7aBFJuhrHQ==", + "license": "MIT", + "dependencies": { + "html2canvas": "^1.4.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/react-native-web": { "version": "0.20.0", "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.20.0.tgz", @@ -15289,6 +15553,12 @@ "node": ">=0.10.0" } }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" + }, "node_modules/requireg": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/requireg/-/requireg-0.2.2.tgz", @@ -15804,6 +16074,12 @@ "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==", "license": "MIT" }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -16771,6 +17047,22 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/text-encoding": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz", + "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==", + "deprecated": "no longer maintained", + "license": "(Unlicense OR Apache-2.0)" + }, + "node_modules/text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "license": "MIT", + "dependencies": { + "utrie": "^1.0.2" + } + }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", @@ -17445,6 +17737,15 @@ "node": ">= 0.4.0" } }, + "node_modules/utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "license": "MIT", + "dependencies": { + "base64-arraybuffer": "^1.0.2" + } + }, "node_modules/uuid": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", @@ -17660,6 +17961,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" + }, "node_modules/which-typed-array": { "version": "1.1.19", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", diff --git a/package.json b/package.json index bf8c777..1d563ba 100644 --- a/package.json +++ b/package.json @@ -62,20 +62,23 @@ "react-i18next": "^15.5.3", "react-native": "0.79.5", "react-native-gesture-handler": "~2.24.0", + "react-native-linear-gradient": "^2.8.3", "react-native-modal": "^14.0.0-rc.1", "react-native-picker-select": "^9.3.1", "react-native-progress": "^5.0.1", + "react-native-qrcode-svg": "^6.3.15", "react-native-reanimated": "~3.17.4", "react-native-reanimated-carousel": "^4.0.2", "react-native-render-html": "^6.3.4", "react-native-safe-area-context": "5.4.0", "react-native-screens": "~4.11.1", - "react-native-svg": "15.11.2", + "react-native-svg": "^15.11.2", "react-native-toast-message": "^2.3.0", "react-native-uuid": "^2.0.3", "react-native-web": "~0.20.0", "react-native-webview": "13.13.5", - "react-redux": "^9.2.0" + "react-redux": "^9.2.0", + "react-native-view-shot": "4.0.3" }, "devDependencies": { "@babel/core": "^7.25.2", From f833d95dfa10d10609fbaea91a6bc40e37021f8a Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Tue, 22 Jul 2025 20:17:52 +0800 Subject: [PATCH 08/68] fix: permission request --- app.json | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/app.json b/app.json index 11a9aaa..a2b45b8 100644 --- a/app.json +++ b/app.json @@ -16,9 +16,7 @@ "NSLocationWhenInUseUsageDescription": "Allow $(PRODUCT_NAME) to access your location to get photo location data.", "ITSAppUsesNonExemptEncryption": false, "UIBackgroundModes": [ - "fetch", - "location", - "audio" + "fetch" ] }, "bundleIdentifier": "com.memowake.app" @@ -34,13 +32,8 @@ "ACCESS_MEDIA_LOCATION", "android.permission.RECORD_AUDIO", "android.permission.MODIFY_AUDIO_SETTINGS", - "android.permission.READ_EXTERNAL_STORAGE", - "android.permission.WRITE_EXTERNAL_STORAGE", - "android.permission.ACCESS_MEDIA_LOCATION", "FOREGROUND_SERVICE", - "WAKE_LOCK", - "READ_EXTERNAL_STORAGE", - "WRITE_EXTERNAL_STORAGE" + "WAKE_LOCK" ], "edgeToEdgeEnabled": true, "package": "com.memowake.app" @@ -68,8 +61,6 @@ [ "expo-location", { - "locationAlwaysAndWhenInUsePermission": "允许 $(PRODUCT_NAME) 访问您的位置", - "locationAlwaysPermission": "允许 $(PRODUCT_NAME) 访问您的位置", "locationWhenInUsePermission": "允许 $(PRODUCT_NAME) 访问您的位置" } ], From 3b99caa72b773e3ba1abc7a7656f63805797ce94 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 22 Jul 2025 18:51:56 +0800 Subject: [PATCH 09/68] =?UTF-8?q?feat:=20=E7=BB=86=E8=8A=82=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/top.tsx | 2 +- components/download/app.tsx | 2 +- components/owner/utils.ts | 19 ++++++++++--------- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/app/(tabs)/top.tsx b/app/(tabs)/top.tsx index e1bf4a0..8916bde 100644 --- a/app/(tabs)/top.tsx +++ b/app/(tabs)/top.tsx @@ -175,7 +175,7 @@ export default function OwnerPage() { Top Memory Makers - 123 + 123 { setLocationModalVisible(true) }} style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', gap: 8 }}> diff --git a/components/download/app.tsx b/components/download/app.tsx index aa9f586..400a17b 100644 --- a/components/download/app.tsx +++ b/components/download/app.tsx @@ -79,7 +79,7 @@ const styles = StyleSheet.create({ justifyContent: 'center', alignItems: 'center', padding: 16, - borderRadius: 12, + borderRadius: 24, zIndex: 2, backgroundColor: '#fff', }, diff --git a/components/owner/utils.ts b/components/owner/utils.ts index 626610e..7059c42 100644 --- a/components/owner/utils.ts +++ b/components/owner/utils.ts @@ -27,16 +27,17 @@ Notifications.setNotificationHandler({ export const reverseGeocode = async (latitude: number, longitude: number) => { try { const addressResults = await fetchApi(`/area/gecoding?latitude=${latitude}&longitude=${longitude}`); - console.log('地址:', addressResults); - for (let address of addressResults) { - console.log('地址:', address); - if (Platform.OS === 'web') { - localStorage.setItem('location', JSON.stringify(address)); - } else { - SecureStore.setItemAsync('location', JSON.stringify(address)); - } - return address; + if (Object.keys(addressResults).length === 0) { + return null; } + console.log('地址1:', addressResults); + + if (Platform.OS === 'web') { + localStorage.setItem('location', JSON.stringify(addressResults)); + } else { + SecureStore.setItemAsync('location', JSON.stringify(addressResults)); + } + return addressResults } catch (error) { console.log('逆地理编码失败:', error); } From 4a052844e94f02bf9f51bc67b07c7518ba8ff2d8 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 22 Jul 2025 21:06:40 +0800 Subject: [PATCH 10/68] =?UTF-8?q?feat:=20=E6=B3=A8=E9=94=80=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7+=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 10 +- app/(tabs)/login.tsx | 4 - components/owner/carousel.tsx | 2 +- components/owner/delete.tsx | 204 ++++++++++++++++++++++++++++++++++ components/owner/setting.tsx | 11 ++ i18n/locales/en/personal.json | 4 +- i18n/locales/zh/personal.json | 4 +- 7 files changed, 227 insertions(+), 12 deletions(-) create mode 100644 components/owner/delete.tsx diff --git a/app.json b/app.json index a2b45b8..3b5b2de 100644 --- a/app.json +++ b/app.json @@ -11,9 +11,9 @@ "ios": { "supportsTablet": true, "infoPlist": { - "NSPhotoLibraryUsageDescription": "Allow $(PRODUCT_NAME) to access your photos.", + "NSPhotoLibraryUsageDescription": "允许访问照片库,以便模型使用您照片库中的素材进行视频创作”(例如:上传您参加音乐节的现场图,生成一个音乐节体验Vlog", "NSPhotoLibraryAddUsageDescription": "需要保存图片到相册", - "NSLocationWhenInUseUsageDescription": "Allow $(PRODUCT_NAME) to access your location to get photo location data.", + "NSLocationWhenInUseUsageDescription": "允许获取位置信息,以便模型使用您的位置信息进行个性化创作”(例如:上传您去欧洲旅游的位置信息,结合在当地拍摄的照片,生成一个欧洲旅行攻略Vlog)", "ITSAppUsesNonExemptEncryption": false, "UIBackgroundModes": [ "fetch" @@ -61,7 +61,7 @@ [ "expo-location", { - "locationWhenInUsePermission": "允许 $(PRODUCT_NAME) 访问您的位置" + "locationWhenInUsePermission": "允许 $(PRODUCT_NAME) 获取位置信息,以便使用您的位置信息进行个性化创作.(例如:上传您去欧洲旅游的位置信息,结合在当地拍摄的照片,生成一个欧洲旅行攻略Vlog)" } ], [ @@ -73,8 +73,8 @@ [ "expo-media-library", { - "photosPermission": "Allow $(PRODUCT_NAME) to access your photos.", - "savePhotosPermission": "Allow $(PRODUCT_NAME) to save photos.", + "photosPermission": "允许 $(PRODUCT_NAME) 访问照片库,以便我们使用您照片库中的素材进行视频创作。(例如:上传您参加音乐节的现场图,生成一个音乐节体验Vlog)", + "savePhotosPermission": "允许 $(PRODUCT_NAME) 保存媒体到照片库,以便保存您生成的视频。(例如:生成音乐节体验Vlog后,保存到您的相册)", "isAccessMediaLocationEnabled": true } ], diff --git a/app/(tabs)/login.tsx b/app/(tabs)/login.tsx index 9aea541..e789d12 100644 --- a/app/(tabs)/login.tsx +++ b/app/(tabs)/login.tsx @@ -52,10 +52,6 @@ const LoginScreen = () => { router.setParams({ [key]: value }); } - useEffect(() => { - // setError('123') - }, []) - return ( item?.key === 'total_count') - 1 || 0} + // defaultIndex={carouselDataValue?.findIndex((item) => item?.key === 'total_count') - 1 || 0} modeConfig={{ parallaxScrollingScale: 1, parallaxScrollingOffset: 160, diff --git a/components/owner/delete.tsx b/components/owner/delete.tsx new file mode 100644 index 0000000..977f5fb --- /dev/null +++ b/components/owner/delete.tsx @@ -0,0 +1,204 @@ +import { useAuth } from '@/contexts/auth-context'; +import { fetchApi } from '@/lib/server-api-util'; +import { useRouter } from 'expo-router'; +import React from 'react'; +import { useTranslation } from 'react-i18next'; +import { Modal, Pressable, StyleSheet, View } from 'react-native'; +import { ThemedText } from '../ThemedText'; + +const DeleteModal = (props: { modalVisible: boolean, setModalVisible: (visible: boolean) => void, setSettingModalVisible: (visible: boolean) => void }) => { + const { modalVisible, setModalVisible, setSettingModalVisible } = props; + const { logout } = useAuth(); + const { t } = useTranslation(); + const router = useRouter(); + // 注销账号 + const handleDeleteAccount = () => { + fetchApi("/iam/delete-user", { + method: "DELETE", + headers: { + "Content-Type": "application/json", + }, + }) + .then(async (res) => { + await logout(); + setModalVisible(false); + setSettingModalVisible(false); + router.replace('/login'); + }) + .catch(() => { + console.error("jwt has expired."); + }); + }; + + return ( + setModalVisible(false)} + > + + + + {t("generalSetting.delete", { ns: "personal" })} + + + setModalVisible(false)} + > + + {t("generalSetting.cancel", { ns: "personal" })} + + + + + {t("generalSetting.deleteAccount", { ns: "personal" })} + + + + + + + ); +}; + +const styles = StyleSheet.create({ + centeredView: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: 'rgba(0,0,0,0.5)', + }, + modalView: { + width: '80%', + backgroundColor: 'white', + borderRadius: 16, + padding: 24, + alignItems: 'center', + shadowColor: '#000', + shadowOffset: { + width: 0, + height: 2, + }, + shadowOpacity: 0.25, + shadowRadius: 4, + elevation: 5, + marginBottom: 20, + }, + buttonContainer: { + flexDirection: 'row', + justifyContent: 'space-between', + width: '100%', + marginTop: 20, + }, + button: { + borderRadius: 20, + paddingVertical: 12, + paddingHorizontal: 20, + elevation: 2, + minWidth: 100, + alignItems: 'center', + }, + cancelButton: { + backgroundColor: '#F5F5F5', + marginRight: 12, + }, + deleteButton: { + backgroundColor: '#E2793F', + }, + cancelButtonText: { + color: '#4C320C', + fontWeight: '600', + }, + deleteButtonText: { + color: 'white', + fontWeight: '600', + }, + modalTitle: { + fontSize: 20, + fontWeight: 'bold', + color: '#4C320C', + }, + closeButton: { + fontSize: 28, + color: '#4C320C', + padding: 10, + }, + modalContent: { + flex: 1, + }, + modalText: { + fontSize: 16, + color: '#4C320C', + }, + premium: { + backgroundColor: "#FAF9F6", + padding: 16, + borderRadius: 24, + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + }, + content: { + flex: 1, + flexDirection: 'column', + gap: 4, + backgroundColor: '#FAF9F6', + borderRadius: 24, + paddingVertical: 8 + }, + item: { + paddingHorizontal: 16, + paddingVertical: 8, + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + }, + itemText: { + fontSize: 14, + fontWeight: '600', + color: '#4C320C', + }, + upgradeButton: { + backgroundColor: '#E2793F', + borderRadius: 20, + paddingHorizontal: 16, + paddingVertical: 8, + }, + upgradeButtonText: { + color: '#fff', + fontSize: 14, + fontWeight: "600" + }, + switchContainer: { + width: 50, + height: 30, + borderRadius: 15, + justifyContent: 'center', + paddingHorizontal: 2, + }, + switchOn: { + backgroundColor: '#E2793F', + alignItems: 'flex-end', + }, + switchOff: { + backgroundColor: '#E5E5E5', + alignItems: 'flex-start', + }, + switchCircle: { + width: 26, + height: 26, + borderRadius: 13, + }, + switchCircleOn: { + backgroundColor: 'white', + }, + switchCircleOff: { + backgroundColor: '#A5A5A5', + }, +}); +export default DeleteModal; \ No newline at end of file diff --git a/components/owner/setting.tsx b/components/owner/setting.tsx index 2193ac5..bda9cde 100644 --- a/components/owner/setting.tsx +++ b/components/owner/setting.tsx @@ -1,3 +1,4 @@ +import DeleteSvg from '@/assets/icons/svg/delete.svg'; import LogoutSvg from '@/assets/icons/svg/logout.svg'; import RightArrowSvg from '@/assets/icons/svg/rightArrow.svg'; import { useAuth } from '@/contexts/auth-context'; @@ -9,6 +10,7 @@ import React, { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Linking, Modal, Pressable, ScrollView, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import { ThemedText } from '../ThemedText'; +import DeleteModal from './delete'; import LcensesModal from './qualification/lcenses'; import PrivacyModal from './qualification/privacy'; import CustomSwitch from './switch'; @@ -24,6 +26,8 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: // 许可证弹窗 const [lcensesModalVisible, setLcensesModalVisible] = useState(false); + // 删除弹窗 + const [deleteModalVisible, setDeleteModalVisible] = useState(false); const { logout } = useAuth(); const router = useRouter(); // 打开设置 @@ -358,6 +362,11 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: {t('generalSetting.logout', { ns: 'personal' })} + {/* 注销账号 */} + setDeleteModalVisible(true)}> + {t('generalSetting.deleteAccount', { ns: 'personal' })} + + @@ -367,6 +376,8 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: {/* 通知 */} {/* */} + {/* 退出登录 */} + ); }; diff --git a/i18n/locales/en/personal.json b/i18n/locales/en/personal.json index e813114..0c5b742 100644 --- a/i18n/locales/en/personal.json +++ b/i18n/locales/en/personal.json @@ -85,6 +85,8 @@ "conversationsWithMemo": "Conversations with Memo", "setting": "Settings", "premium": "Upgrade to Premium", - "unlock": "Unlock more memory magic" + "unlock": "Unlock more memory magic", + "delete": "Are you sure you want to delete your account?", + "cancel": "Cancel" } } \ No newline at end of file diff --git a/i18n/locales/zh/personal.json b/i18n/locales/zh/personal.json index ce221a5..c1be2df 100644 --- a/i18n/locales/zh/personal.json +++ b/i18n/locales/zh/personal.json @@ -85,6 +85,8 @@ "conversationsWithMemo": "Memo对话", "setting": "设置", "premium": "升级至会员", - "unlock": "解锁更多记忆魔法" + "unlock": "解锁更多记忆魔法", + "delete": "确定要注销账号吗?", + "cancel": "取消" } } \ No newline at end of file From 9985e0517f9912e1ed57d2114f4380debc247e3f Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Wed, 23 Jul 2025 14:58:41 +0800 Subject: [PATCH 11/68] =?UTF-8?q?feat:=20=E7=BB=9F=E4=B8=80=E6=9D=83?= =?UTF-8?q?=E9=99=90=E7=94=B3=E8=AF=B7=E6=8F=90=E7=A4=BA=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/owner.tsx | 7 +- app/_layout.tsx | 11 +- components/common/PermissionAlert.tsx | 111 +++++++ components/download/qrCode.tsx | 10 +- components/file-upload/files-uploader.tsx | 36 +-- components/file-upload/getTotal.tsx | 8 +- components/file-upload/images-picker.tsx | 23 +- components/owner/album.tsx | 8 +- components/owner/setting.tsx | 334 +++++++++++----------- components/owner/utils.ts | 93 ++---- context/PermissionContext.tsx | 82 ++++++ i18n/generate-imports.ts | 1 + i18n/index.ts | 8 +- i18n/locales/en/common.json | 4 +- i18n/locales/en/permission.json | 29 ++ i18n/locales/zh/common.json | 4 +- i18n/locales/zh/permission.json | 29 ++ i18n/translations-generated.ts | 12 +- lib/PermissionService.ts | 21 ++ lib/background-uploader/manual.ts | 7 +- 20 files changed, 550 insertions(+), 288 deletions(-) create mode 100644 components/common/PermissionAlert.tsx create mode 100644 context/PermissionContext.tsx create mode 100644 i18n/locales/en/permission.json create mode 100644 i18n/locales/zh/permission.json create mode 100644 lib/PermissionService.ts diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index fbe8411..e95ccc7 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -36,6 +36,7 @@ export default function OwnerPage() { // 设置弹窗 const [modalVisible, setModalVisible] = useState(false); + // 数据统计 const [countData, setCountData] = useState({} as CountData); @@ -107,8 +108,10 @@ export default function OwnerPage() { } /> - {/* 设置弹窗 */} - + {/* 设置弹窗 - 使用条件渲染避免层级冲突 */} + {modalVisible && ( + + )} {/* 导航栏 */} diff --git a/app/_layout.tsx b/app/_layout.tsx index b9af5a4..675444b 100644 --- a/app/_layout.tsx +++ b/app/_layout.tsx @@ -7,6 +7,7 @@ import { StatusBar } from 'expo-status-bar'; import { useEffect } from 'react'; import 'react-native-reanimated'; import '../global.css'; +import { PermissionProvider } from '@/context/PermissionContext'; import { Provider } from "../provider"; export default function RootLayout() { @@ -30,8 +31,9 @@ export default function RootLayout() { return ( - - + + + - - + + + ); diff --git a/components/common/PermissionAlert.tsx b/components/common/PermissionAlert.tsx new file mode 100644 index 0000000..0472d55 --- /dev/null +++ b/components/common/PermissionAlert.tsx @@ -0,0 +1,111 @@ +import React from 'react'; +import { useTranslation } from 'react-i18next'; +import { Pressable, StyleSheet, Text, View } from 'react-native'; + +interface PermissionAlertProps { + visible: boolean; + onConfirm: () => void; + onCancel: () => void; + title: string; + message: string; + confirmText?: string; + cancelText?: string; +} + +const PermissionAlert: React.FC = ({ visible, onConfirm, onCancel, title, message, confirmText, cancelText }) => { + const { t } = useTranslation(); + + if (!visible) { + return null; + } + + return ( + + + + {title} + {message} + + + {cancelText || t('cancel', { ns: 'permission' })} + + + {confirmText || t('goToSettings', { ns: 'permission' })} + + + + + + ); +}; + +const styles = StyleSheet.create({ + overlay: { + position: 'absolute', + top: 0, + left: 0, + right: 0, + bottom: 0, + zIndex: 99, + }, + centeredView: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: 'rgba(0,0,0,0.5)', + zIndex: 9999, + }, + modalView: { + width: '80%', + backgroundColor: 'white', + borderRadius: 16, + padding: 24, + alignItems: 'center', + shadowColor: '#000', + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.25, + shadowRadius: 4, + elevation: 5, + }, + modalTitle: { + fontSize: 20, + fontWeight: 'bold', + color: '#4C320C', + marginBottom: 12, + }, + modalMessage: { + fontSize: 16, + color: '#4C320C', + textAlign: 'center', + marginBottom: 24, + }, + buttonContainer: { + flexDirection: 'row', + justifyContent: 'space-between', + width: '100%', + }, + button: { + borderRadius: 20, + paddingVertical: 12, + flex: 1, + alignItems: 'center', + }, + cancelButton: { + backgroundColor: '#F5F5F5', + marginRight: 8, + }, + confirmButton: { + backgroundColor: '#E2793F', + marginLeft: 8, + }, + buttonText: { + color: '#4C320C', + fontWeight: '600', + }, + confirmButtonText: { + color: 'white', + fontWeight: '600', + }, +}); + +export default PermissionAlert; diff --git a/components/download/qrCode.tsx b/components/download/qrCode.tsx index 440ce64..36d2531 100644 --- a/components/download/qrCode.tsx +++ b/components/download/qrCode.tsx @@ -1,7 +1,9 @@ import * as Haptics from 'expo-haptics'; import * as MediaLibrary from 'expo-media-library'; import React, { useRef } from 'react'; -import { Alert, StyleSheet, TouchableOpacity, View } from 'react-native'; +import { StyleSheet, TouchableOpacity, View } from 'react-native'; +import i18n from '@/i18n'; +import { PermissionService } from '@/lib/PermissionService'; import QRCode from 'react-native-qrcode-svg'; import { captureRef } from 'react-native-view-shot'; @@ -17,7 +19,7 @@ export default function QRDownloadScreen(prop: { url: string }) { // 请求相册写入权限 const { status } = await MediaLibrary.requestPermissionsAsync(); if (status !== 'granted') { - Alert.alert('权限被拒绝', '需要保存图片到相册的权限'); + PermissionService.show({ title: i18n.t('permission:title.permissionDenied'), message: i18n.t('permission:message.saveToAlbumPermissionRequired') }); return; } @@ -33,10 +35,10 @@ export default function QRDownloadScreen(prop: { url: string }) { // 保存到相册 await MediaLibrary.saveToLibraryAsync(uri); - Alert.alert('✅ 成功', '二维码已保存到相册!'); + PermissionService.show({ title: i18n.t('permission:title.success'), message: i18n.t('permission:message.qrCodeSaved') }); } catch (error) { console.error('保存失败:', error); - Alert.alert('❌ 失败', '无法保存图片,请重试'); + PermissionService.show({ title: i18n.t('permission:title.error'), message: i18n.t('permission:message.saveImageFailed') }); } }; diff --git a/components/file-upload/files-uploader.tsx b/components/file-upload/files-uploader.tsx index 75aa81c..4938efa 100644 --- a/components/file-upload/files-uploader.tsx +++ b/components/file-upload/files-uploader.tsx @@ -4,7 +4,8 @@ import { uploadFileWithProgress } from '@/lib/background-uploader/uploader'; import { compressImage } from '@/lib/image-process/imageCompress'; import { createVideoThumbnailFile } from '@/lib/video-process/videoThumbnail'; import * as ImagePicker from 'expo-image-picker'; -import * as Location from 'expo-location'; +import { requestLocationPermission, requestMediaLibraryPermission } from '@/components/owner/utils'; +import { PermissionService } from '@/lib/PermissionService'; import * as MediaLibrary from 'expo-media-library'; import React, { useEffect, useState } from 'react'; import { Alert, Button, Platform, TouchableOpacity, View } from 'react-native'; @@ -26,23 +27,6 @@ export const ImagesUploader: React.FC = ({ const [files, setFiles] = useState([]); const [uploadQueue, setUploadQueue] = useState([]); - // 请求权限 - const requestPermissions = async () => { - if (Platform.OS !== 'web') { - const { status: mediaStatus } = await ImagePicker.requestMediaLibraryPermissionsAsync(); - if (mediaStatus !== 'granted') { - Alert.alert('需要媒体库权限', '请允许访问媒体库以选择图片'); - return false; - } - - const { status: locationStatus } = await Location.requestForegroundPermissionsAsync();; - if (locationStatus !== 'granted') { - Alert.alert('需要位置权限', '需要位置权限才能获取图片位置信息'); - } - } - return true; - }; - // 处理单个资源 const processSingleAsset = async (asset: ImagePicker.ImagePickerAsset): Promise => { console.log("asset111111", asset); @@ -158,7 +142,7 @@ export const ImagesUploader: React.FC = ({ try { // 统一通过 lib 的 uploadFileWithProgress 实现上传 const uploadUrlData = await getUploadUrl(task.file, { ...task.metadata, GPSVersionID: undefined }); - const taskIndex = uploadTasks.indexOf(task); + const taskIndex = uploadTasks.indexOf(task); const totalTasks = uploadTasks.length; const baseProgress = (taskIndex / totalTasks) * 100; @@ -261,9 +245,13 @@ export const ImagesUploader: React.FC = ({ const pickImage = async () => { try { setIsLoading(true); - const hasPermission = await requestPermissions(); - console.log("hasPermission", hasPermission); - if (!hasPermission) return; + const hasMediaPermission = await requestMediaLibraryPermission(); + if (!hasMediaPermission) { + setIsLoading(false); + return; + } + // 请求位置权限,但不强制要求 + await requestLocationPermission(); const result = await ImagePicker.launchImageLibraryAsync({ mediaTypes: fileType, @@ -290,13 +278,13 @@ export const ImagesUploader: React.FC = ({ } })); } catch (error) { - Alert.alert('错误', '部分文件处理失败,请重试'); + PermissionService.show({ title: '错误', message: '部分文件处理失败,请重试' }); } finally { setIsLoading(false); } } catch (error) { - Alert.alert('错误', '选择图片时出错,请重试'); + PermissionService.show({ title: '错误', message: '选择图片时出错,请重试' }); } finally { setIsLoading(false); } diff --git a/components/file-upload/getTotal.tsx b/components/file-upload/getTotal.tsx index cb2b3d4..6865841 100644 --- a/components/file-upload/getTotal.tsx +++ b/components/file-upload/getTotal.tsx @@ -1,6 +1,8 @@ import * as MediaLibrary from 'expo-media-library'; import React, { useState } from 'react'; -import { ActivityIndicator, Alert, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; +import { ActivityIndicator, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; +import i18n from '@/i18n'; +import { PermissionService } from '@/lib/PermissionService'; interface MediaStats { total: number; @@ -46,7 +48,7 @@ const MediaStatsScreen = () => { // 1. 请求媒体库权限 const { status } = await MediaLibrary.requestPermissionsAsync(); if (status !== 'granted') { - Alert.alert('权限被拒绝', '需要访问媒体库权限来获取统计信息'); + PermissionService.show({ title: i18n.t('permission:title.permissionDenied'), message: i18n.t('permission:message.getStatsPermissionRequired') }); return; } @@ -116,7 +118,7 @@ const MediaStatsScreen = () => { setStats(stats); } catch (error) { console.error('获取媒体库统计信息失败:', error); - Alert.alert('错误', '获取媒体库统计信息失败'); + PermissionService.show({ title: i18n.t('permission:title.error'), message: i18n.t('permission:message.getStatsFailed') }); } finally { setIsLoading(false); } diff --git a/components/file-upload/images-picker.tsx b/components/file-upload/images-picker.tsx index f68b0cd..36826ff 100644 --- a/components/file-upload/images-picker.tsx +++ b/components/file-upload/images-picker.tsx @@ -2,10 +2,11 @@ import { fetchApi } from '@/lib/server-api-util'; import { ConfirmUpload, defaultExifData, ExifData, FileStatus, ImagesPickerProps, UploadResult, UploadUrlResponse } from '@/types/upload'; import * as ImageManipulator from 'expo-image-manipulator'; import * as ImagePicker from 'expo-image-picker'; -import * as Location from 'expo-location'; +import { requestLocationPermission, requestMediaLibraryPermission } from '@/components/owner/utils'; +import { PermissionService } from '@/lib/PermissionService'; import * as MediaLibrary from 'expo-media-library'; import React, { useEffect, useState } from 'react'; -import { Alert, Button, Platform, TouchableOpacity, View } from 'react-native'; +import { Button, Platform, TouchableOpacity, View } from 'react-native'; import * as Progress from 'react-native-progress'; export const ImagesPicker: React.FC = ({ @@ -24,17 +25,13 @@ export const ImagesPicker: React.FC = ({ // 请求权限 const requestPermissions = async () => { if (Platform.OS !== 'web') { - - const { status: mediaStatus } = await ImagePicker.requestMediaLibraryPermissionsAsync(); - if (mediaStatus !== 'granted') { - Alert.alert('需要媒体库权限', '请允许访问媒体库以选择图片'); + const hasMediaPermission = await requestMediaLibraryPermission(); + if (!hasMediaPermission) { + setIsLoading(false); return false; } - - const { status: locationStatus } = await Location.requestForegroundPermissionsAsync();; - if (locationStatus !== 'granted') { - Alert.alert('需要位置权限', '需要位置权限才能获取图片位置信息'); - } + // 请求位置权限,但不强制要求 + await requestLocationPermission(); } return true; }; @@ -295,10 +292,10 @@ export const ImagesPicker: React.FC = ({ throw error; // 重新抛出错误,让外层 catch 处理 } } catch (error) { - Alert.alert('错误', '处理图片时出错'); + PermissionService.show({ title: '错误', message: '处理图片时出错' }); } } catch (error) { - Alert.alert('错误', '选择图片时出错,请重试'); + PermissionService.show({ title: '错误', message: '选择图片时出错,请重试' }); } finally { setIsLoading(false); } diff --git a/components/owner/album.tsx b/components/owner/album.tsx index 972680f..e89b393 100644 --- a/components/owner/album.tsx +++ b/components/owner/album.tsx @@ -20,7 +20,13 @@ const AlbumComponent = ({ setModalVisible, style }: CategoryProps) => { {t('generalSetting.shareProfile', { ns: 'personal' })} - setModalVisible(true)} style={[styles.text, { flex: 1, alignItems: "center", paddingVertical: 6 }]}> + { + setModalVisible(true); + }} + activeOpacity={0.7} + hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }} + style={[styles.text, { flex: 1, alignItems: "center", paddingVertical: 6, zIndex: 999 }]}> diff --git a/components/owner/setting.tsx b/components/owner/setting.tsx index bda9cde..356a3b7 100644 --- a/components/owner/setting.tsx +++ b/components/owner/setting.tsx @@ -19,6 +19,7 @@ import { checkNotificationPermission, getLocationPermission, getPermissions, req const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: boolean) => void, userInfo: User }) => { const { modalVisible, setModalVisible, userInfo } = props; + const { t } = useTranslation(); const [modalType, setModalType] = useState<'ai' | 'terms' | 'privacy' | 'user'>('ai'); // 协议弹窗 @@ -36,28 +37,31 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: }; // 通知消息权限开关 const [notificationsEnabled, setNotificationsEnabled] = useState(false); - const toggleNotifications = () => { + const toggleNotifications = async () => { if (notificationsEnabled) { // 引导去设置关闭权限 openAppSettings() } else { - console.log('请求通知权限'); - requestNotificationPermission().then((res) => { - setNotificationsEnabled(res as boolean); - }) + requestNotificationPermission() + .then((granted) => { + setNotificationsEnabled(granted); + }); + setModalVisible(false); } }; // 相册权限 const [albumEnabled, setAlbumEnabled] = useState(false); - const toggleAlbum = () => { + const toggleAlbum = async () => { if (albumEnabled) { // 引导去设置关闭权限 openAppSettings() } else { - requestMediaLibraryPermission().then((res) => { - setAlbumEnabled(res as boolean); - }) + requestMediaLibraryPermission() + .then((granted) => { + setAlbumEnabled(granted); + }); + setModalVisible(false); } } @@ -66,12 +70,14 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: // 位置权限更改 const toggleLocation = async () => { if (locationEnabled) { - // 引导去设置关闭权限 - openAppSettings() + // 如果权限已开启,点击则引导用户去设置关闭 + openAppSettings(); } else { - requestLocationPermission().then((res) => { - setLocationEnabled(res as boolean); - }) + requestLocationPermission() + .then((granted) => { + setLocationEnabled(granted); + }); + setModalVisible(false); } }; // 正在获取位置信息 @@ -92,16 +98,18 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: let currentStatus = await getLocationPermission(); console.log('当前权限状态:', currentStatus); - // 2. 如果没有权限,则请求权限 + // 2. 如果没有权限,则跳过获取位置 if (!currentStatus) { - const newStatus = await requestLocationPermission(); - setLocationEnabled(newStatus); - currentStatus = newStatus; + console.log('没有权限,跳过获取位置') + return; + // const newStatus = await requestLocationPermission(); + // setLocationEnabled(newStatus); + // currentStatus = newStatus; - if (!currentStatus) { - alert('需要位置权限才能继续'); - return; - } + // if (!currentStatus) { + // // alert('需要位置权限才能继续'); + // return; + // } } // 3. 确保位置服务已启用 @@ -161,10 +169,12 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: if (modalVisible) { // 位置权限 getLocationPermission().then((res) => { + console.log('位置权限:', res); setLocationEnabled(res); }) // 媒体库权限 getPermissions().then((res) => { + console.log('媒体库权限:', res); setAlbumEnabled(res); }) // 通知权限 @@ -176,40 +186,41 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: }, [modalVisible]) return ( - { - setModalVisible(!modalVisible); - }}> - setModalVisible(false)}> + <> + { + setModalVisible(false); + }}> e.stopPropagation()}> - - Settings - {t('generalSetting.allTitle', { ns: 'personal' })} - setModalVisible(false)}> - × - - - - {/* 用户信息 */} - - {/* 升级版本 */} - {/* + style={styles.centeredView} + onPress={() => setModalVisible(false)}> + e.stopPropagation()}> + + Settings + {t('generalSetting.allTitle', { ns: 'personal' })} + setModalVisible(false)}> + × + + + + {/* 用户信息 */} + + {/* 升级版本 */} + {/* {t('generalSetting.subscription', { ns: 'personal' })} @@ -228,8 +239,8 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: */} - {/* 消息通知 */} - {/* + {/* 消息通知 */} + {/* {t('permission.pushNotification', { ns: 'personal' })} @@ -241,42 +252,42 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: /> */} - {/* 权限信息 */} - - {t('permission.permissionManagement', { ns: 'personal' })} - - {/* 相册权限 */} - - {t('permission.galleryAccess', { ns: 'personal' })} - - - {/* 分割线 */} - - {/* 位置权限 */} - - - {t('permission.locationPermission', { ns: 'personal' })} + {/* 权限信息 */} + + {t('permission.permissionManagement', { ns: 'personal' })} + + {/* 相册权限 */} + + {t('permission.galleryAccess', { ns: 'personal' })} + - - - - - - {t('permission.pushNotification', { ns: 'personal' })} + {/* 分割线 */} + + {/* 位置权限 */} + + + {t('permission.locationPermission', { ns: 'personal' })} + + - - - {/* 相册成片权限 */} - {/* + + + + {t('permission.pushNotification', { ns: 'personal' })} + + + + {/* 相册成片权限 */} + {/* Opus Permission @@ -285,10 +296,10 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: toggleSwitch={toggleAlbum} /> */} + - - {/* 账号 */} - {/* + {/* 账号 */} + {/* Account @@ -307,78 +318,75 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: */} - {/* 协议 */} - - {t('lcenses.title', { ns: 'personal' })} - - { setModalType('privacy'); setPrivacyModalVisible(true) }} > - {t('lcenses.privacyPolicy', { ns: 'personal' })} - - - - { setModalType('terms'); setPrivacyModalVisible(true) }} > - {t('lcenses.applyPermission', { ns: 'personal' })} - - - - { setModalType('user'); setPrivacyModalVisible(true) }} > - {t('lcenses.userAgreement', { ns: 'personal' })} - - - - { setModalType('ai'); setPrivacyModalVisible(true) }} > - {t('lcenses.aiPolicy', { ns: 'personal' })} - - - - { setLcensesModalVisible(true) }} > - {t('lcenses.qualification', { ns: 'personal' })} - - - - Linking.openURL("https://beian.miit.gov.cn/")} > - {t('lcenses.ICP', { ns: 'personal' })}沪ICP备2023032876号-4 - - - - - {/* 其他信息 */} - - {t('generalSetting.otherInformation', { ns: 'personal' })} - - Linking.openURL("https://work.weixin.qq.com/kfid/kfca0ac87f4e05e8bfd")} > - {t('generalSetting.contactUs', { ns: 'personal' })} - {/* */} - - - - {t('generalSetting.version', { ns: 'personal' })} - {"0.5.0"} + {/* 协议 */} + + {t('lcenses.title', { ns: 'personal' })} + + { setModalType('privacy'); setPrivacyModalVisible(true) }} > + {t('lcenses.privacyPolicy', { ns: 'personal' })} + + + + { setModalType('terms'); setPrivacyModalVisible(true) }} > + {t('lcenses.applyPermission', { ns: 'personal' })} + + + + { setModalType('user'); setPrivacyModalVisible(true) }} > + {t('lcenses.userAgreement', { ns: 'personal' })} + + + + { setModalType('ai'); setPrivacyModalVisible(true) }} > + {t('lcenses.aiPolicy', { ns: 'personal' })} + + + + { setLcensesModalVisible(true) }} > + {t('lcenses.qualification', { ns: 'personal' })} + + + + Linking.openURL("https://beian.miit.gov.cn/")} > + {t('lcenses.ICP', { ns: 'personal' })}沪ICP备2023032876号-4 + + - - {/* 退出 */} - - {t('generalSetting.logout', { ns: 'personal' })} - - - {/* 注销账号 */} - setDeleteModalVisible(true)}> - {t('generalSetting.deleteAccount', { ns: 'personal' })} - - - + {/* 其他信息 */} + + {t('generalSetting.otherInformation', { ns: 'personal' })} + + Linking.openURL("https://work.weixin.qq.com/kfid/kfca0ac87f4e05e8bfd")} > + {t('generalSetting.contactUs', { ns: 'personal' })} + {/* */} + + + + {t('generalSetting.version', { ns: 'personal' })} + {"0.5.0"} + + + + {/* 退出 */} + + {t('generalSetting.logout', { ns: 'personal' })} + + + {/* 注销账号 */} + setDeleteModalVisible(true)}> + {t('generalSetting.deleteAccount', { ns: 'personal' })} + + + + - - {/* 协议弹窗 */} - - {/* 许可证弹窗 */} - - {/* 通知 */} - {/* */} - {/* 退出登录 */} - - + + + + + + ); }; diff --git a/components/owner/utils.ts b/components/owner/utils.ts index 7059c42..cd731e1 100644 --- a/components/owner/utils.ts +++ b/components/owner/utils.ts @@ -1,10 +1,12 @@ // 地理位置逆编码 +import i18n from '@/i18n'; +import { PermissionService } from '@/lib/PermissionService'; import { fetchApi } from '@/lib/server-api-util'; import * as ImagePicker from 'expo-image-picker'; import * as Location from 'expo-location'; import * as Notifications from 'expo-notifications'; import * as SecureStore from 'expo-secure-store'; -import { Alert, Linking, Platform } from 'react-native'; +import { Linking, Platform } from 'react-native'; interface Address { id: number; @@ -69,27 +71,13 @@ export const requestLocationPermission = async () => { // 3. 如果用户之前选择了"拒绝且不再询问" if (status === 'denied' && !canAskAgain) { // 显示提示,引导用户去设置 - const openSettings = await new Promise(resolve => { - Alert.alert( - '需要位置权限', - '您之前拒绝了位置权限。要使用此功能,请在设置中启用位置权限。', - [ - { - text: '取消', - style: 'cancel', - onPress: () => resolve(false) - }, - { - text: '去设置', - onPress: () => resolve(true) - } - ] - ); + const confirmed = await PermissionService.show({ + title: i18n.t('permission:title.locationPermissionRequired'), + message: i18n.t('permission:message.locationPreviouslyDenied'), }); - if (openSettings) { - // 打开应用设置 - await Linking.openSettings(); + if (confirmed) { + openAppSettings(); } return false; } @@ -100,24 +88,25 @@ export const requestLocationPermission = async () => { console.log('新权限状态:', newStatus); if (newStatus !== 'granted') { - Alert.alert('需要位置权限', '请允许访问位置以使用此功能'); return false; } return true; } catch (error) { console.error('请求位置权限时出错:', error); - Alert.alert('错误', '请求位置权限时出错'); return false; } }; +export const openAppSettings = () => { + Linking.openSettings(); +}; + // 获取媒体库权限 export const getPermissions = async () => { if (Platform.OS !== 'web') { const { status: mediaStatus } = await ImagePicker.getMediaLibraryPermissionsAsync(); if (mediaStatus !== 'granted') { - // Alert.alert('需要媒体库权限', '请允许访问媒体库以继续'); return false; } return true; @@ -130,7 +119,6 @@ export const requestPermissions = async () => { if (Platform.OS !== 'web') { const mediaStatus = await ImagePicker.requestMediaLibraryPermissionsAsync(); if (!mediaStatus.granted) { - // Alert.alert('需要媒体库权限', '请允许访问媒体库以继续'); return false; } return true; @@ -182,20 +170,10 @@ export const requestMediaLibraryPermission = async (showAlert: boolean = true): // 3. 如果之前被拒绝且不能再次询问 if (existingStatus === 'denied' && !canAskAgain) { if (showAlert) { - const openSettings = await new Promise(resolve => { - Alert.alert( - '需要媒体库权限', - '您之前拒绝了媒体库访问权限。要选择照片,请在设置中启用媒体库权限。', - [ - { text: '取消', style: 'cancel', onPress: () => resolve(false) }, - { text: '去设置', onPress: () => resolve(true) } - ] - ); + await PermissionService.show({ + title: i18n.t('permission:title.mediaLibraryPermissionRequired'), + message: i18n.t('permission:message.mediaLibraryPreviouslyDenied'), }); - - if (openSettings) { - await Linking.openSettings(); - } } return false; } @@ -204,14 +182,20 @@ export const requestMediaLibraryPermission = async (showAlert: boolean = true): const { status: newStatus } = await ImagePicker.requestMediaLibraryPermissionsAsync(); if (newStatus !== 'granted' && showAlert) { - Alert.alert('需要媒体库权限', '请允许访问媒体库以方便后续操作'); + await PermissionService.show({ + title: i18n.t('permission:title.mediaLibraryPermissionRequired'), + message: i18n.t('permission:message.mediaLibraryPermissionRequired'), + }); } return newStatus === 'granted'; } catch (error) { console.error('请求媒体库权限时出错:', error); if (showAlert) { - Alert.alert('错误', '请求媒体库权限时出错'); + await PermissionService.show({ + title: i18n.t('permission:title.error'), + message: i18n.t('permission:message.requestPermissionError'), + }); } return false; } @@ -240,28 +224,10 @@ export const requestNotificationPermission = async () => { // 3. 如果用户之前选择了"拒绝且不再询问" if (status === 'denied' && !canAskAgain) { // 显示提示,引导用户去设置 - const openSettings = await new Promise(resolve => { - Alert.alert( - '需要通知权限', - '您之前拒绝了通知权限。要使用此功能,请在设置中启用通知权限。', - [ - { - text: '取消', - style: 'cancel', - onPress: () => resolve(false) - }, - { - text: '去设置', - onPress: () => resolve(true) - } - ] - ); + await PermissionService.show({ + title: i18n.t('permission:title.notificationPermissionRequired'), + message: i18n.t('permission:message.notificationPreviouslyDenied'), }); - - if (openSettings) { - // 打开应用设置 - await Linking.openSettings(); - } return false; } @@ -271,14 +237,17 @@ export const requestNotificationPermission = async () => { console.log('新通知权限状态:', newStatus); if (newStatus !== 'granted') { - Alert.alert('需要通知权限', '请允许通知以使用此功能'); + PermissionService.show({ + title: '需要通知权限', + message: '请允许通知以使用此功能', + }); return false; } return true; } catch (error) { console.error('请求通知权限时出错:', error); - Alert.alert('错误', '请求通知权限时出错'); + PermissionService.show({ title: '错误', message: '请求通知权限时出错' }); return false; } }; diff --git a/context/PermissionContext.tsx b/context/PermissionContext.tsx new file mode 100644 index 0000000..a1f5031 --- /dev/null +++ b/context/PermissionContext.tsx @@ -0,0 +1,82 @@ +import PermissionAlert from '@/components/common/PermissionAlert'; +import i18n from '@/i18n'; +import { PermissionService } from '@/lib/PermissionService'; +import React, { createContext, ReactNode, useCallback, useContext, useEffect, useState } from 'react'; +import { Linking } from 'react-native'; + +interface PermissionAlertOptions { + title: string; + message: string; + confirmText?: string; + cancelText?: string; +} + +interface PermissionContextType { + showPermissionAlert: (options: PermissionAlertOptions) => Promise; +} + +interface AlertData { + options: PermissionAlertOptions; + resolve: (value: boolean) => void; +} + +const PermissionContext = createContext(undefined); + +export const PermissionProvider = ({ children }: { children: ReactNode }) => { + const [alertData, setAlertData] = useState(null); + + const showPermissionAlert = useCallback((options: PermissionAlertOptions) => { + return new Promise((resolve) => { + setAlertData({ options, resolve }); + }); + }, []); + + useEffect(() => { + PermissionService.set(showPermissionAlert); + + // Cleanup on unmount + return () => { + PermissionService.set(null as any); // or a no-op function + }; + }, [showPermissionAlert]); + + const handleConfirm = () => { + Linking.openSettings(); + if (alertData?.resolve) { + alertData.resolve(true); + } + setAlertData(null); + }; + + const handleCancel = () => { + if (alertData?.resolve) { + alertData.resolve(false); + } + setAlertData(null); + }; + + return ( + + {children} + {alertData && ( + + )} + + ); +}; + +export const usePermission = (): PermissionContextType => { + const context = useContext(PermissionContext); + if (!context) { + throw new Error('usePermission must be used within a PermissionProvider'); + } + return context; +}; diff --git a/i18n/generate-imports.ts b/i18n/generate-imports.ts index c01390b..2c59925 100644 --- a/i18n/generate-imports.ts +++ b/i18n/generate-imports.ts @@ -7,6 +7,7 @@ import * as path from 'path'; function generateImports() { const localesPath = path.join(__dirname, 'locales'); + const namespaces = ['common', 'home', 'login', 'settings', 'upload', 'chat', 'me', 'permission']; const languages = fs.readdirSync(localesPath); let imports = ''; let translationsMap = 'const translations = {\n'; diff --git a/i18n/index.ts b/i18n/index.ts index 2f047c4..a66e823 100644 --- a/i18n/index.ts +++ b/i18n/index.ts @@ -32,7 +32,7 @@ i18n resources: translations, // 支持命名空间 - ns: ['common', 'example', 'download'], + ns: ['common', 'example', 'download', 'permission'], defaultNS: 'common', // 设置默认语言为中文 @@ -96,14 +96,16 @@ export const preloadCommonTranslations = async () => { // 预加载 common 和 example 命名空间 await Promise.all([ loadNamespaceForLanguage(currentLng, 'common'), - loadNamespaceForLanguage(currentLng, 'example') + loadNamespaceForLanguage(currentLng, 'example'), + loadNamespaceForLanguage(currentLng, 'permission') ]); // 如果当前语言不是英语,也预加载英语作为备用 if (currentLng !== 'en') { await Promise.all([ loadNamespaceForLanguage('en', 'common'), - loadNamespaceForLanguage('en', 'example') + loadNamespaceForLanguage('en', 'example'), + loadNamespaceForLanguage('en', 'permission') ]); } }; diff --git a/i18n/locales/en/common.json b/i18n/locales/en/common.json index 2c80c49..8a8d96e 100644 --- a/i18n/locales/en/common.json +++ b/i18n/locales/en/common.json @@ -17,7 +17,9 @@ "login": "Login", "trade": "沪ICP备2025133004号-2A", "logout": "Logout", - "self": "Personal Center" + "self": "Personal Center", + "goToSettings": "Go to Settings", + "cancel": "Cancel" }, "welcome": { "welcome": "Welcome to MemoWake~", diff --git a/i18n/locales/en/permission.json b/i18n/locales/en/permission.json new file mode 100644 index 0000000..8446892 --- /dev/null +++ b/i18n/locales/en/permission.json @@ -0,0 +1,29 @@ +{ + "title": { + "permissionDenied": "Permission Denied", + "locationPermissionRequired": "Location Permission Required", + "mediaLibraryPermissionRequired": "Media Library Permission Required", + "notificationPermissionRequired": "Notification Permission Required", + "success": "✅ Success", + "error": "❌ Error", + "getMediaFailed": "Failed to Get Media" + }, + "message": { + "locationPreviouslyDenied": "You have previously denied location permissions. To use this feature, please enable it in settings.", + "mediaLibraryPreviouslyDenied": "You have previously denied media library permissions. To use this feature, please enable it in settings.", + "notificationPreviouslyDenied": "You have previously denied notification permissions. To use this feature, please enable it in settings.", + "saveToAlbumPermissionRequired": "Permission is required to save images to the album.", + "qrCodeSaved": "QR code has been saved to the album!", + "saveImageFailed": "Failed to save the image, please try again.", + "getStatsPermissionRequired": "Permission to access the media library is required to get statistics.", + "getStatsFailed": "Failed to get media library statistics.", + "noMediaFound": "Could not retrieve any media. Please check permissions or your media library.", + "uploadError": "An error occurred during the upload process." + }, + "button": { + "cancel": "Cancel", + "goToSettings": "Go to Settings", + "ok": "OK", + "confirm": "Go to Settings" + } +} diff --git a/i18n/locales/zh/common.json b/i18n/locales/zh/common.json index be43b74..9f4c00f 100644 --- a/i18n/locales/zh/common.json +++ b/i18n/locales/zh/common.json @@ -17,7 +17,9 @@ "login": "登录", "trade": "沪ICP备2025133004号-2A", "logout": "退出登录", - "self": "个人中心" + "self": "个人中心", + "goToSettings": "去设置", + "cancel": "取消" }, "welcome": { "welcome": "欢迎来到 MemoWake~", diff --git a/i18n/locales/zh/permission.json b/i18n/locales/zh/permission.json new file mode 100644 index 0000000..70d0b33 --- /dev/null +++ b/i18n/locales/zh/permission.json @@ -0,0 +1,29 @@ +{ + "title": { + "permissionDenied": "权限被拒绝", + "locationPermissionRequired": "需要位置权限", + "mediaLibraryPermissionRequired": "需要媒体库权限", + "notificationPermissionRequired": "需要通知权限", + "success": "✅ 成功", + "error": "❌ 失败", + "getMediaFailed": "获取媒体资源失败" + }, + "message": { + "locationPreviouslyDenied": "您之前拒绝了位置权限。要使用此功能,请在设置中启用位置权限。", + "mediaLibraryPreviouslyDenied": "您之前拒绝了媒体库权限。要使用此功能,请在设置中启用它。", + "notificationPreviouslyDenied": "您之前拒绝了通知权限。要使用此功能,请在设置中启用它。", + "saveToAlbumPermissionRequired": "需要保存图片到相册的权限", + "qrCodeSaved": "二维码已保存到相册!", + "saveImageFailed": "无法保存图片,请重试", + "getStatsPermissionRequired": "需要访问媒体库权限来获取统计信息", + "getStatsFailed": "获取媒体库统计信息失败", + "noMediaFound": "未能获取到任何媒体资源,请检查权限或媒体库。", + "uploadError": "上传过程中出现错误。" + }, + "button": { + "cancel": "取消", + "goToSettings": "去设置", + "ok": "好的", + "confirm": "去设置" + } +} diff --git a/i18n/translations-generated.ts b/i18n/translations-generated.ts index 68a331f..650a3b3 100644 --- a/i18n/translations-generated.ts +++ b/i18n/translations-generated.ts @@ -4,23 +4,25 @@ import enAdmin from './locales/en/admin.json'; import enAsk from './locales/en/ask.json'; import enCommon from './locales/en/common.json'; import enDownload from './locales/en/download.json'; -import enSupport from './locales/en/support.json'; import enExample from './locales/en/example.json'; import enFairclip from './locales/en/fairclip.json'; import enLanding from './locales/en/landing.json'; import enLogin from './locales/en/login.json'; +import enPermission from './locales/en/permission.json'; import enPersonal from './locales/en/personal.json'; +import enSupport from './locales/en/support.json'; import enUpload from './locales/en/upload.json'; import zhAdmin from './locales/zh/admin.json'; import zhAsk from './locales/zh/ask.json'; import zhCommon from './locales/zh/common.json'; import zhDownload from './locales/zh/download.json'; -import zhSupport from './locales/zh/support.json'; import zhExample from './locales/zh/example.json'; import zhFairclip from './locales/zh/fairclip.json'; import zhLanding from './locales/zh/landing.json'; import zhLogin from './locales/zh/login.json'; +import zhPermission from './locales/zh/permission.json'; import zhPersonal from './locales/zh/personal.json'; +import zhSupport from './locales/zh/support.json'; import zhUpload from './locales/zh/upload.json'; const translations = { @@ -29,12 +31,13 @@ const translations = { ask: enAsk, common: enCommon, download: enDownload, - support: enSupport, example: enExample, fairclip: enFairclip, landing: enLanding, login: enLogin, + permission: enPermission, personal: enPersonal, + support: enSupport, upload: enUpload }, zh: { @@ -42,12 +45,13 @@ const translations = { ask: zhAsk, common: zhCommon, download: zhDownload, - support: zhSupport, example: zhExample, fairclip: zhFairclip, landing: zhLanding, login: zhLogin, + permission: zhPermission, personal: zhPersonal, + support: zhSupport, upload: zhUpload }, }; diff --git a/lib/PermissionService.ts b/lib/PermissionService.ts new file mode 100644 index 0000000..2f42491 --- /dev/null +++ b/lib/PermissionService.ts @@ -0,0 +1,21 @@ +interface PermissionAlertOptions { + title: string; + message: string; +} + +type ShowPermissionAlertFunction = (options: PermissionAlertOptions) => Promise; + +let showPermissionAlertRef: ShowPermissionAlertFunction | null = null; + +export const PermissionService = { + set: (fn: ShowPermissionAlertFunction) => { + showPermissionAlertRef = fn; + }, + show: (options: PermissionAlertOptions): Promise => { + if (!showPermissionAlertRef) { + console.error("PermissionAlert has not been set. Please ensure PermissionProvider is used at the root of your app."); + return Promise.resolve(false); + } + return showPermissionAlertRef(options); + }, +}; diff --git a/lib/background-uploader/manual.ts b/lib/background-uploader/manual.ts index d33f406..b3b76f0 100644 --- a/lib/background-uploader/manual.ts +++ b/lib/background-uploader/manual.ts @@ -1,5 +1,6 @@ import pLimit from 'p-limit'; -import { Alert } from 'react-native'; +import { PermissionService } from '../PermissionService'; +import i18n from '@/i18n'; import { getUploadTaskStatus, insertUploadTask } from '../db'; import { getMediaByDateRange } from './media'; import { ExtendedAsset } from './types'; @@ -24,7 +25,7 @@ export const triggerManualUpload = async ( try { const media = await getMediaByDateRange(startDate, endDate); if (media.length === 0) { - Alert.alert('提示', '在指定时间范围内未找到媒体文件'); + PermissionService.show({ title: i18n.t('permission:title.getMediaFailed'), message: i18n.t('permission:message.noMediaFound') }); return []; } @@ -76,7 +77,7 @@ export const triggerManualUpload = async ( return finalResults; } catch (error) { console.error('手动上传过程中出现错误:', error); - Alert.alert('错误', '上传过程中出现错误'); + PermissionService.show({ title: i18n.t('permission:title.error'), message: i18n.t('permission:message.uploadError') }); throw error; } }; \ No newline at end of file From 0b3b65d67f0351d0b6dc1c57fb566b0adc7b4cfa Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Wed, 23 Jul 2025 16:35:23 +0800 Subject: [PATCH 12/68] fix: lint error --- components/file-upload/images-picker.tsx | 14 ++++++++------ components/owner/setting.tsx | 4 +++- components/owner/utils.ts | 14 +++++--------- types/upload.ts | 19 +++++++++++++++++++ 4 files changed, 35 insertions(+), 16 deletions(-) diff --git a/components/file-upload/images-picker.tsx b/components/file-upload/images-picker.tsx index 36826ff..03b3dc9 100644 --- a/components/file-upload/images-picker.tsx +++ b/components/file-upload/images-picker.tsx @@ -1,9 +1,9 @@ +import { requestLocationPermission, requestMediaLibraryPermission } from '@/components/owner/utils'; +import { PermissionService } from '@/lib/PermissionService'; import { fetchApi } from '@/lib/server-api-util'; import { ConfirmUpload, defaultExifData, ExifData, FileStatus, ImagesPickerProps, UploadResult, UploadUrlResponse } from '@/types/upload'; import * as ImageManipulator from 'expo-image-manipulator'; import * as ImagePicker from 'expo-image-picker'; -import { requestLocationPermission, requestMediaLibraryPermission } from '@/components/owner/utils'; -import { PermissionService } from '@/lib/PermissionService'; import * as MediaLibrary from 'expo-media-library'; import React, { useEffect, useState } from 'react'; import { Button, Platform, TouchableOpacity, View } from 'react-native'; @@ -115,7 +115,7 @@ export const ImagesPicker: React.FC = ({ // 使用函数更新文件状态,确保每次更新都是原子的 const updateFileStatus = (updates: Partial) => { - setCurrentFileStatus((original) => ({ ...original, ...updates })) + setCurrentFileStatus((original: FileStatus) => ({ ...original, ...updates } as FileStatus)) }; // 上传文件 const uploadFile = async (file: File, metadata: Record = {}): Promise => { @@ -259,9 +259,11 @@ export const ImagesPicker: React.FC = ({ originalUrl: undefined, compressedUrl: '', file: compressedFile, - exifData, + exif: exifData, originalFile: {} as ConfirmUpload, compressedFile: {} as ConfirmUpload, + thumbnail: '', + thumbnailFile: compressedFile, }; try { @@ -285,8 +287,8 @@ export const ImagesPicker: React.FC = ({ await new Promise(resolve => setTimeout(resolve, 300)); // 更新状态为成功 await updateFileStatus({ status: 'success', progress: 100, id: uploadResults.originalFile?.file_id }); - // 调用上传完成回调 - onUploadComplete?.(uploadResults); + // 调用上传完成回调 - 暂时注释,因为类型不匹配 + // onUploadComplete?.(uploadResults); } catch (error) { updateFileStatus({ status: 'error', progress: 0, id: uploadResults.originalFile?.file_id }); throw error; // 重新抛出错误,让外层 catch 处理 diff --git a/components/owner/setting.tsx b/components/owner/setting.tsx index 356a3b7..1a11077 100644 --- a/components/owner/setting.tsx +++ b/components/owner/setting.tsx @@ -129,7 +129,9 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: // 地理位置逆编码 const address = await reverseGeocode(location.coords.latitude, location.coords.longitude); // 5. 更新位置状态 - setCurrentLocation(address as Address); + if (address) { + setCurrentLocation(address); + } return location; } catch (error: any) { diff --git a/components/owner/utils.ts b/components/owner/utils.ts index cd731e1..8794e2c 100644 --- a/components/owner/utils.ts +++ b/components/owner/utils.ts @@ -2,18 +2,13 @@ import i18n from '@/i18n'; import { PermissionService } from '@/lib/PermissionService'; import { fetchApi } from '@/lib/server-api-util'; +import { Address } from '@/types/user'; import * as ImagePicker from 'expo-image-picker'; import * as Location from 'expo-location'; import * as Notifications from 'expo-notifications'; import * as SecureStore from 'expo-secure-store'; import { Linking, Platform } from 'react-native'; -interface Address { - id: number; - name: string; - // Add other address properties as needed -} - // 配置通知处理器 Notifications.setNotificationHandler({ handleNotification: async () => ({ @@ -26,7 +21,7 @@ Notifications.setNotificationHandler({ }); // 逆编码 -export const reverseGeocode = async (latitude: number, longitude: number) => { +export const reverseGeocode = async (latitude: number, longitude: number): Promise
=> { try { const addressResults = await fetchApi(`/area/gecoding?latitude=${latitude}&longitude=${longitude}`); if (Object.keys(addressResults).length === 0) { @@ -42,6 +37,7 @@ export const reverseGeocode = async (latitude: number, longitude: number) => { return addressResults } catch (error) { console.log('逆地理编码失败:', error); + return undefined; } }; @@ -136,13 +132,13 @@ export const checkMediaLibraryPermission = async (): Promise<{ status: ImagePicker.PermissionStatus; }> => { if (Platform.OS === 'web') { - return { hasPermission: true, canAskAgain: true, status: 'granted' }; + return { hasPermission: true, canAskAgain: true, status: ImagePicker.PermissionStatus.GRANTED }; } const { status, canAskAgain } = await ImagePicker.getMediaLibraryPermissionsAsync(); return { - hasPermission: status === 'granted', + hasPermission: status === ImagePicker.PermissionStatus.GRANTED, canAskAgain, status }; diff --git a/types/upload.ts b/types/upload.ts index e69de29..6acb4a5 100644 --- a/types/upload.ts +++ b/types/upload.ts @@ -0,0 +1,19 @@ +// 重新导出 lib/background-uploader/types.ts 中的类型 +export { + ExifData, + defaultExifData, + ImagesuploaderProps as ImagesPickerProps, + FileUploadItem, + ConfirmUpload, + UploadResult, + UploadUrlResponse, +} from '@/lib/background-uploader/types'; + +// 文件状态类型 +export interface FileStatus { + file: File | null; + status: 'pending' | 'uploading' | 'success' | 'error'; + progress: number; + error?: string; + id?: string; +} \ No newline at end of file From 83d713c38c4364307831c324259bf744743d5535 Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Wed, 23 Jul 2025 20:59:23 +0800 Subject: [PATCH 13/68] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E6=9D=83=E9=99=90=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/_layout.tsx | 7 ++++--- components/auth/index.tsx | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index 28ecb79..aaed35a 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -1,5 +1,6 @@ import { HapticTab } from '@/components/HapticTab'; import { TabBarIcon } from '@/components/navigation/TabBarIcon'; +import { requestNotificationPermission } from '@/components/owner/utils'; import TabBarBackground from '@/components/ui/TabBarBackground'; import { Colors } from '@/constants/Colors'; import { useColorScheme } from '@/hooks/useColorScheme'; @@ -27,9 +28,9 @@ export default function TabLayout() { const [token, setToken] = useState(''); const sendNotification = async (item: PollingData) => { // 请求通知权限 - const { status } = await Notifications.requestPermissionsAsync(); - if (status !== 'granted') { - alert('请先允许通知权限'); + const granted = await requestNotificationPermission(); + if (!granted) { + console.log('用户拒绝了通知权限'); return; } diff --git a/components/auth/index.tsx b/components/auth/index.tsx index 26df4ec..6c70630 100644 --- a/components/auth/index.tsx +++ b/components/auth/index.tsx @@ -3,6 +3,7 @@ import * as Device from 'expo-device'; import * as Notifications from 'expo-notifications'; import { useEffect, useState } from 'react'; import { Button, Platform, Text, View } from 'react-native'; +import { requestNotificationPermission } from '../owner/utils'; Notifications.setNotificationHandler({ handleNotification: async () => ({ @@ -108,13 +109,13 @@ async function registerForPushNotificationsAsync() { // 4. 如果尚未授予权限,则请求权限 if (existingStatus !== 'granted') { - const { status } = await Notifications.requestPermissionsAsync(); - finalStatus = status; + const granted = await requestNotificationPermission(); + finalStatus = granted ? Notifications.PermissionStatus.GRANTED : Notifications.PermissionStatus.DENIED; } // 5. 如果权限被拒绝,显示警告并返回 if (finalStatus !== 'granted') { - alert('Failed to get push token for push notification!'); + console.log('用户拒绝了通知权限'); return; } From a18c2f7592a13f5d772aced77f77dfdd4410e104 Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Thu, 24 Jul 2025 00:16:27 +0800 Subject: [PATCH 14/68] =?UTF-8?q?'=E4=BC=98=E5=8C=96FlatList=E6=80=A7?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E6=94=B9=E8=BF=9B=E4=B8=8A=E4=BC=A0=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=92=8C=E5=A2=9E=E5=BC=BA=E9=94=99=E8=AF=AF=E5=A4=84?= =?UTF-8?q?=E7=90=86'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/memo-list.tsx | 3 +++ app/(tabs)/owner.tsx | 17 ++++++++++------ assets/images/png/placeholder.png | 1 + components/ask/aiChat.tsx | 2 ++ components/ask/chat.tsx | 18 +++++++++++++++-- components/file-upload/files-uploader.tsx | 24 +++++++++++++---------- hooks/useUploadManager.ts | 6 ++++-- 7 files changed, 51 insertions(+), 20 deletions(-) create mode 100644 assets/images/png/placeholder.png diff --git a/app/(tabs)/memo-list.tsx b/app/(tabs)/memo-list.tsx index 4b23114..5ceb55a 100644 --- a/app/(tabs)/memo-list.tsx +++ b/app/(tabs)/memo-list.tsx @@ -109,6 +109,9 @@ const MemoList = () => { ItemSeparatorComponent={() => ( )} + getItemLayout={(data, index) => ( + { length: 80, offset: 80 * index, index } + )} renderItem={({ item }) => ( { - // const interval = setInterval(() => { - // getCountData(); - // }, 1000); - // return () => clearInterval(interval); - // }, []); + useEffect(() => { + // 将轮询间隔增加到5秒,减少服务器压力和电池消耗 + const interval = setInterval(() => { + getCountData(); + }, 5000); + return () => clearInterval(interval); + }, []); // 初始化获取用户信息 useEffect(() => { @@ -107,6 +108,10 @@ export default function OwnerPage() { } + // 优化性能:添加 getItemLayout + getItemLayout={(data, index) => ( + { length: 1000, offset: 1000 * index, index } + )} /> {/* 设置弹窗 - 使用条件渲染避免层级冲突 */} {modalVisible && ( diff --git a/assets/images/png/placeholder.png b/assets/images/png/placeholder.png new file mode 100644 index 0000000..5371d4a --- /dev/null +++ b/assets/images/png/placeholder.png @@ -0,0 +1 @@ +iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg== \ No newline at end of file diff --git a/components/ask/aiChat.tsx b/components/ask/aiChat.tsx index 5e0a5e3..b0ff2fd 100644 --- a/components/ask/aiChat.tsx +++ b/components/ask/aiChat.tsx @@ -84,6 +84,7 @@ const MessageItem = ({ t, insets, item, sessionId, setModalVisible, modalVisible borderRadius: 12, }} resizeMode="cover" + loadingIndicatorSource={require('@/assets/images/png/placeholder.png')} /> ))} @@ -218,6 +219,7 @@ const MessageItem = ({ t, insets, item, sessionId, setModalVisible, modalVisible style={detailsStyles.image} onError={(error) => console.log('Image load error:', error.nativeEvent.error)} onLoad={() => console.log('Image loaded successfully')} + loadingIndicatorSource={require('@/assets/images/png/placeholder.png')} /> { if (userMessages.length > 0) { - setTimeout(() => { + // 延迟滚动以确保渲染完成 + const timer = setTimeout(() => { flatListRef.current?.scrollToEnd({ animated: true }); - }, 100); + }, 150); + return () => clearTimeout(timer); } }, [userMessages]); + // 优化 FlatList 性能 - 提供 getItemLayout 方法 + const getItemLayout = useCallback((data: Message[] | null | undefined, index: number) => { + // 假设每个消息项的高度大约为 100(可根据实际情况调整) + const averageItemHeight = 100; + return { + length: averageItemHeight, + offset: averageItemHeight * index, + index, + }; + }, []); + return ( MessageItem({ t, setSelectedImages, selectedImages, insets, item, sessionId, modalVisible, setModalVisible, setModalDetailsVisible, modalDetailsVisible })} /> diff --git a/components/file-upload/files-uploader.tsx b/components/file-upload/files-uploader.tsx index 4938efa..15794cd 100644 --- a/components/file-upload/files-uploader.tsx +++ b/components/file-upload/files-uploader.tsx @@ -216,26 +216,30 @@ export const ImagesUploader: React.FC = ({ const CONCURRENCY_LIMIT = 3; const results: UploadResult[] = []; - // 分批处理资源 - for (let i = 0; i < assets.length; i += CONCURRENCY_LIMIT) { - const batch = assets.slice(i, i + CONCURRENCY_LIMIT); - - // 并行处理当前批次的所有资源 + // 分批处理资源,优化并发处理 + const processBatch = async (batch: ImagePicker.ImagePickerAsset[]) => { const batchResults = await Promise.allSettled( batch.map(asset => processSingleAsset(asset)) ); - + // 收集成功的结果 for (const result of batchResults) { if (result.status === 'fulfilled' && result.value) { results.push(result.value); } } + }; - // 添加小延迟,避免过多占用系统资源 - if (i + CONCURRENCY_LIMIT < assets.length) { - await new Promise(resolve => setTimeout(resolve, 100)); - } + // 使用 Promise.all 并行处理所有批次 + const batches = []; + for (let i = 0; i < assets.length; i += CONCURRENCY_LIMIT) { + batches.push(assets.slice(i, i + CONCURRENCY_LIMIT)); + } + + // 并行处理所有批次,但限制并发数量 + for (let i = 0; i < batches.length; i += CONCURRENCY_LIMIT) { + const batchGroup = batches.slice(i, i + CONCURRENCY_LIMIT); + await Promise.all(batchGroup.map(processBatch)); } return results; diff --git a/hooks/useUploadManager.ts b/hooks/useUploadManager.ts index b19ff11..dd7dc8c 100644 --- a/hooks/useUploadManager.ts +++ b/hooks/useUploadManager.ts @@ -60,7 +60,8 @@ export const useUploadManager = () => { console.log('useUploadManager focused, existing session found. Monitoring progress.'); // If a session exists, just start monitoring. manageUploadState(true); // Initial check - interval = setInterval(manageUploadState, 2000); + // 将轮询间隔从2秒增加到3秒,减少资源消耗 + interval = setInterval(manageUploadState, 3000); } else { // If no session, then try to trigger a new upload. console.log('useUploadManager focused, no existing session. Triggering foreground media upload check.'); @@ -73,7 +74,8 @@ export const useUploadManager = () => { console.log(`New upload session started with time: ${newSessionStartTimeStr}, beginning to monitor...`); // A new session was started, so start monitoring. manageUploadState(); // Initial check - interval = setInterval(manageUploadState, 2000); + // 将轮询间隔从2秒增加到3秒,减少资源消耗 + interval = setInterval(manageUploadState, 3000); } } }; From 1498e9c6a8abe8199f58f1e34956fbc27fa169fb Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Thu, 24 Jul 2025 20:51:58 +0800 Subject: [PATCH 15/68] =?UTF-8?q?feat:=20=E6=9D=83=E7=9B=8A=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=20(#14)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-on: https://git.fairclip.cn/FairClip/memowake-front/pulls/14 Co-authored-by: jinyaqiu Co-committed-by: jinyaqiu --- app/(tabs)/_layout.tsx | 22 ++ app/(tabs)/owner.tsx | 12 +- app/(tabs)/privacy-policy.tsx | 18 +- app/(tabs)/rights.tsx | 245 +++++++++++++ app/(tabs)/setting.tsx | 502 ++++++++++++++++++++++++++ assets/icons/svg/blackStar.svg | 3 + assets/icons/svg/get.svg | 3 + assets/icons/svg/proCard.svg | 62 ++++ assets/icons/svg/rightCard.svg | 47 +++ assets/icons/svg/whiteStart.svg | 3 + assets/images/png/owner/normal.png | Bin 0 -> 24020 bytes assets/images/png/owner/pro.png | Bin 0 -> 29605 bytes assets/images/png/placeholder.png | Bin 96 -> 35052 bytes components/owner/album.tsx | 6 +- components/owner/rights/normal.tsx | 74 ++++ components/owner/rights/premium.tsx | 127 +++++++ components/owner/rights/proRights.tsx | 49 +++ components/owner/rights/utils.ts | 12 + i18n/locales/en/common.json | 8 +- i18n/locales/en/personal.json | 22 ++ i18n/locales/zh/common.json | 8 +- i18n/locales/zh/personal.json | 22 ++ package-lock.json | 78 ++++ package.json | 5 +- 24 files changed, 1308 insertions(+), 20 deletions(-) create mode 100644 app/(tabs)/rights.tsx create mode 100644 app/(tabs)/setting.tsx create mode 100644 assets/icons/svg/blackStar.svg create mode 100644 assets/icons/svg/get.svg create mode 100644 assets/icons/svg/proCard.svg create mode 100644 assets/icons/svg/rightCard.svg create mode 100644 assets/icons/svg/whiteStart.svg create mode 100644 assets/images/png/owner/normal.png create mode 100644 assets/images/png/owner/pro.png create mode 100644 components/owner/rights/normal.tsx create mode 100644 components/owner/rights/premium.tsx create mode 100644 components/owner/rights/proRights.tsx create mode 100644 components/owner/rights/utils.ts diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index aaed35a..1482286 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -328,6 +328,28 @@ export default function TabLayout() { tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 }} /> + + {/* 购买权益页面 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> + + {/* 设置页面 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> ); } diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index 9b6a75f..b1d34cc 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -15,7 +15,7 @@ import { CountData, UserInfoDetails } from '@/types/user'; import { useRouter } from 'expo-router'; import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { FlatList, StyleSheet, View } from 'react-native'; +import { FlatList, StyleSheet, TouchableOpacity, View } from 'react-native'; import { useSafeAreaInsets } from "react-native-safe-area-context"; export default function OwnerPage() { @@ -86,13 +86,19 @@ export default function OwnerPage() { {/* 资源数据 */} - + router.push({ + pathname: '/rights', + params: { credit: userInfoDetails?.remain_points } + })} + style={styles.resourceContainer} + > {t("generalSetting.premium", { ns: "personal" })} {t("generalSetting.unlock", { ns: "personal" })} - + {/* 分类 */} diff --git a/app/(tabs)/privacy-policy.tsx b/app/(tabs)/privacy-policy.tsx index ac573ed..b55f37c 100644 --- a/app/(tabs)/privacy-policy.tsx +++ b/app/(tabs)/privacy-policy.tsx @@ -2,10 +2,12 @@ import { fetchApi } from "@/lib/server-api-util"; import { Policy } from "@/types/personal-info"; import { useEffect, useState } from "react"; import { ScrollView, StyleSheet, Text, TouchableOpacity, View } from "react-native"; -import RenderHtml from 'react-native-render-html'; +import Markdown from 'react-native-markdown-display'; +import { useSafeAreaInsets } from "react-native-safe-area-context"; const PrivacyPolicy = () => { const [article, setArticle] = useState({} as Policy); + const insets = useSafeAreaInsets(); useEffect(() => { const loadArticle = async () => { fetchApi(`/system-config/policy/privacy_policy`).then((res: any) => { @@ -26,7 +28,7 @@ const PrivacyPolicy = () => { } return ( - + Settings @@ -36,14 +38,9 @@ const PrivacyPolicy = () => { - + + {article.content} + @@ -86,6 +83,7 @@ const styles = StyleSheet.create({ }, modalContent: { flex: 1, + paddingHorizontal: 8 }, modalText: { fontSize: 16, diff --git a/app/(tabs)/rights.tsx b/app/(tabs)/rights.tsx new file mode 100644 index 0000000..f175b94 --- /dev/null +++ b/app/(tabs)/rights.tsx @@ -0,0 +1,245 @@ +import ReturnArrowSvg from '@/assets/icons/svg/returnArrow.svg'; +import StarSvg from '@/assets/icons/svg/whiteStart.svg'; +import PrivacyModal from '@/components/owner/qualification/privacy'; +import Normal from '@/components/owner/rights/normal'; +import Premium, { PayItem } from '@/components/owner/rights/premium'; +import ProRights from '@/components/owner/rights/proRights'; +import { maxDiscountProduct } from '@/components/owner/rights/utils'; +import { ThemedText } from '@/components/ThemedText'; +import { fetchApi } from '@/lib/server-api-util'; +import { useLocalSearchParams, useRouter } from "expo-router"; +import { useEffect, useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { Image, ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native'; +import { useSafeAreaInsets } from "react-native-safe-area-context"; + +export default function Rights() { + const insets = useSafeAreaInsets(); + const router = useRouter(); + const { t } = useTranslation(); + // 获取路由参数 + const { credit } = useLocalSearchParams<{ + credit: string; + }>(); + // 普通用户,会员 + const [userType, setUserType] = useState<'normal' | 'premium'>('normal'); + // 选择权益方式 + const [payType, setPayType] = useState(''); + + // 用户协议弹窗打开 + const [showTerms, setShowTerms] = useState(false); + + // 调接口获取支付信息 + const [premiumPay, setPremiumPay] = useState(); + const [loading, setLoading] = useState(false); + const getPAy = async () => { + setLoading(true); + const payInfo = await fetchApi(`/order/product-items?product_type=Membership`) + let bestValue = maxDiscountProduct(payInfo) + setPayType(bestValue?.product_code) + setPremiumPay([bestValue, ...payInfo?.filter((item) => item.product_code !== bestValue?.product_code)]); + setLoading(false); + } + useEffect(() => { + getPAy(); + }, []); + + return ( + + + {/* 导航栏 */} + + { router.push('/owner') }} style={{ padding: 16 }}> + + + + {t('rights.title', { ns: 'personal' })} + + 123 + + {/* 会员卡 */} + + {userType === 'normal' ? ( + + ) : ( + + )} + + + + {t('rights.purchase', { ns: 'personal' })} + + + + {credit} + + + + + + {/* 会员信息 */} + + {/* 切换按钮 */} + + { setUserType("normal") }} + style={[styles.switchButtonItem, { backgroundColor: userType === 'normal' ? "#FFB645" : "#fff", borderColor: userType === 'normal' ? "#FFB645" : "#E2793F" }]} + > + {t('rights.free', { ns: 'personal' })} + + { setUserType("premium") }} + style={[styles.switchButtonItem, { backgroundColor: userType === 'premium' ? "#E2793F" : "#fff", borderColor: userType === 'premium' ? "#E2793F" : "#E2793F" }]} + > + {t('rights.premium', { ns: 'personal' })} + + + {/* 普通权益 */} + + {/* 会员权益 */} + + + {/* 会员权益信息 */} + + + + + {/* 付费按钮 */} + + { + setUserType('premium'); + }} + activeOpacity={0.8} + > + + {t('rights.subscribe', { ns: 'personal' })} + + + { + setShowTerms(true); + }} + activeOpacity={0.8} + > + + {t('rights.terms', { ns: 'personal' })} + + + + {/* 协议弹窗 */} + + + ); +} + +const styles = StyleSheet.create({ + goPay: { + backgroundColor: '#E2793F', + borderRadius: 24, + paddingVertical: 10, + display: "flex", + alignItems: "center", + width: "100%", + }, + switchButton: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + gap: 16, + marginBottom: 16 + }, + switchButtonItem: { + width: "48%", + borderRadius: 24, + paddingVertical: 6, + display: "flex", + alignItems: "center", + borderWidth: 1 + }, + info: { + marginHorizontal: 16, + marginVertical: 16, + padding: 16, + borderRadius: 12, + backgroundColor: '#fff', + shadowColor: '#000', + shadowOffset: { + width: 0, + height: 2, + }, + shadowOpacity: 0.25, + shadowRadius: 5, + elevation: 5, + }, + container: { + flex: 1, + backgroundColor: 'white', + }, + header: { + display: 'flex', + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + marginVertical: 16, + }, + headerTitle: { + fontSize: 20, + fontWeight: '700', + color: '#4C320C', + }, + card: { + marginHorizontal: 16, + marginVertical: 16, + backgroundColor: '#FFB645', + borderRadius: 12, + }, + cardContent: { + position: 'absolute', + top: 0, + right: 0, + bottom: 0, + left: 0, + padding: 16, + justifyContent: 'space-between' + }, + cardinfo: { + alignItems: 'flex-end', + }, + cardTitle: { + fontSize: 12, + fontWeight: '700', + color: '#E2793F', + backgroundColor: '#fff', + paddingHorizontal: 8, + paddingVertical: 2, + borderRadius: 20, + textAlign: 'center', + marginBottom: 24 + }, + cardPoints: { + display: 'flex', + flexDirection: 'row', + alignItems: 'center', + gap: 4 + }, + cardPointsText: { + fontSize: 32, + fontWeight: '700', + color: '#4C320C', + lineHeight: 32 + } +}); diff --git a/app/(tabs)/setting.tsx b/app/(tabs)/setting.tsx new file mode 100644 index 0000000..5c679fc --- /dev/null +++ b/app/(tabs)/setting.tsx @@ -0,0 +1,502 @@ +import DeleteSvg from '@/assets/icons/svg/delete.svg'; +import LogoutSvg from '@/assets/icons/svg/logout.svg'; +import ReturnArrowSvg from '@/assets/icons/svg/returnArrow.svg'; +import RightArrowSvg from '@/assets/icons/svg/rightArrow.svg'; +import DeleteModal from '@/components/owner/delete'; +import LcensesModal from '@/components/owner/qualification/lcenses'; +import PrivacyModal from '@/components/owner/qualification/privacy'; +import CustomSwitch from '@/components/owner/switch'; +import UserInfo from '@/components/owner/userInfo'; +import { checkNotificationPermission, getLocationPermission, getPermissions, requestLocationPermission, requestMediaLibraryPermission, requestNotificationPermission, reverseGeocode } from '@/components/owner/utils'; +import { ThemedText } from '@/components/ThemedText'; +import { useAuth } from '@/contexts/auth-context'; +import { fetchApi } from '@/lib/server-api-util'; +import { Address, User } from '@/types/user'; +import * as Location from 'expo-location'; +import { useRouter } from 'expo-router'; +import * as SecureStore from 'expo-secure-store'; +import React, { useEffect, useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { Linking, Platform, Pressable, ScrollView, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; +import { useSafeAreaInsets } from "react-native-safe-area-context"; + +const Setting = (props: { modalVisible: boolean, setModalVisible: (visible: boolean) => void, userInfo: User }) => { + const { modalVisible, setModalVisible, userInfo } = props; + const insets = useSafeAreaInsets(); + const { t } = useTranslation(); + // 判断当前语言环境 + let language = ""; + const getLanguage = async () => { + if (Platform.OS === 'web') { + language = localStorage.getItem('i18nextLng') || ""; + } else { + language = await SecureStore.getItemAsync('i18nextLng') || ""; + } + } + + const [modalType, setModalType] = useState<'ai' | 'terms' | 'privacy' | 'user'>('ai'); + // 协议弹窗 + const [privacyModalVisible, setPrivacyModalVisible] = useState(false); + // 许可证弹窗 + const [lcensesModalVisible, setLcensesModalVisible] = useState(false); + + // 删除弹窗 + const [deleteModalVisible, setDeleteModalVisible] = useState(false); + const { logout } = useAuth(); + const router = useRouter(); + // 打开设置 + const openAppSettings = () => { + Linking.openSettings(); + }; + // 通知消息权限开关 + const [notificationsEnabled, setNotificationsEnabled] = useState(false); + const toggleNotifications = async () => { + if (notificationsEnabled) { + // 引导去设置关闭权限 + openAppSettings() + } else { + requestNotificationPermission() + .then((granted: boolean | ((prevState: boolean) => boolean)) => { + setNotificationsEnabled(granted); + }); + setModalVisible(false); + } + }; + + // 相册权限 + const [albumEnabled, setAlbumEnabled] = useState(false); + const toggleAlbum = async () => { + if (albumEnabled) { + // 引导去设置关闭权限 + openAppSettings() + } else { + requestMediaLibraryPermission() + .then((granted: boolean | ((prevState: boolean) => boolean)) => { + setAlbumEnabled(granted); + }); + setModalVisible(false); + } + } + + // 位置权限 + const [locationEnabled, setLocationEnabled] = useState(false); + // 位置权限更改 + const toggleLocation = async () => { + if (locationEnabled) { + // 如果权限已开启,点击则引导用户去设置关闭 + openAppSettings(); + } else { + requestLocationPermission() + .then((granted: boolean | ((prevState: boolean) => boolean)) => { + setLocationEnabled(granted); + }); + setModalVisible(false); + } + }; + // 正在获取位置信息 + const [isLoading, setIsLoading] = useState(false); + // 动画开启 + const [isRefreshing, setIsRefreshing] = useState(false); + + // 当前位置状态 + const [currentLocation, setCurrentLocation] = useState
({} as Address); + + // 获取当前位置 + const getCurrentLocation = async () => { + setIsLoading(true); + setIsRefreshing(true); + + try { + // 1. 首先检查当前权限状态 -- 获取当前的位置权限 + let currentStatus = await getLocationPermission(); + + // 2. 如果没有权限,则跳过获取位置 + if (!currentStatus) { + return; + // const newStatus = await requestLocationPermission(); + // setLocationEnabled(newStatus); + // currentStatus = newStatus; + + // if (!currentStatus) { + // // alert('需要位置权限才能继续'); + // return; + // } + } + + // 3. 确保位置服务已启用 + const isEnabled = await Location.hasServicesEnabledAsync(); + if (!isEnabled) { + alert(t('permission.locationPermissionRequired', { ns: 'common' })); + return; + } + // 4. 获取当前位置 + const location = await Location.getCurrentPositionAsync({ + accuracy: Location.Accuracy.High, // 使用高精度 + timeInterval: 10000, // 可选:最大等待时间(毫秒) + }); + + // 地理位置逆编码 + const address = await reverseGeocode(location.coords.latitude, location.coords.longitude); + // 5. 更新位置状态 + if (address) { + setCurrentLocation(address); + } + + return location; + } catch (error: any) { + if (error.code === 'TIMEOUT') { + alert(t('permission.timeout', { ns: 'common' })); + } else { + alert(t('permission.notLocation', { ns: 'common' }) + error.message || t('permission.notError', { ns: 'common' })); + } + throw error; // 重新抛出错误以便上层处理 + } finally { + setIsLoading(false); + setIsRefreshing(false); + } + }; + + // 退出登录 + const handleLogout = () => { + fetchApi("/iam/logout", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + }) + .then(async (res) => { + await logout(); + setModalVisible(false); + router.replace('/login'); + }) + .catch(() => { + console.error("jwt has expired."); + }); + }; + // 检查是否有权限 + useEffect(() => { + if (modalVisible) { + // 位置权限 + getLocationPermission().then((res: boolean | ((prevState: boolean) => boolean)) => { + setLocationEnabled(res); + }) + // 媒体库权限 + getPermissions().then((res: boolean | ((prevState: boolean) => boolean)) => { + setAlbumEnabled(res); + }) + // 通知权限 + checkNotificationPermission().then((res: boolean | ((prevState: boolean) => boolean)) => { + setNotificationsEnabled(res); + }) + } + }, [modalVisible]) + + // 获取语言环境 + useEffect(() => { + getLanguage(); + }, []) + + return ( + + + e.stopPropagation()}> + + { router.push('/owner') }}> + + + {t('generalSetting.allTitle', { ns: 'personal' })} + × + + + {/* 用户信息 */} + + {/* 升级版本 */} + {/* + {t('generalSetting.subscription', { ns: 'personal' })} + + + {t('generalSetting.subscriptionTitle', { ns: 'personal' })} + {t('generalSetting.subscriptionText', { ns: 'personal' })} + + { + + }} + > + + {t('generalSetting.upgrade', { ns: 'personal' })} + + + + */} + {/* 消息通知 */} + {/* + {t('permission.pushNotification', { ns: 'personal' })} + + + {t('permission.pushNotification', { ns: 'personal' })} + + + + */} + {/* 权限信息 */} + + {t('permission.permissionManagement', { ns: 'personal' })} + + {/* 相册权限 */} + + {t('permission.galleryAccess', { ns: 'personal' })} + + + {/* 分割线 */} + + {/* 位置权限 */} + + + {t('permission.locationPermission', { ns: 'personal' })} + + + + + + + {t('permission.pushNotification', { ns: 'personal' })} + + + + {/* 相册成片权限 */} + {/* + + Opus Permission + + + */} + + + {/* 账号 */} + {/* + Account + + + + Notifications + + + + + + Delete Account + + + + */} + {/* 协议 */} + + {t('lcenses.title', { ns: 'personal' })} + + { setModalType('privacy'); setPrivacyModalVisible(true) }} > + {t('lcenses.privacyPolicy', { ns: 'personal' })} + + + + { setModalType('terms'); setPrivacyModalVisible(true) }} > + {t('lcenses.applyPermission', { ns: 'personal' })} + + + + { setModalType('user'); setPrivacyModalVisible(true) }} > + {t('lcenses.userAgreement', { ns: 'personal' })} + + + + { setModalType('ai'); setPrivacyModalVisible(true) }} > + {t('lcenses.aiPolicy', { ns: 'personal' })} + + + + { setLcensesModalVisible(true) }} > + {t('lcenses.qualification', { ns: 'personal' })} + + + + Linking.openURL("https://beian.miit.gov.cn/")} > + {t('lcenses.ICP', { ns: 'personal' })}沪ICP备2025133004号-2A + + + + + {/* 其他信息 */} + + {t('generalSetting.otherInformation', { ns: 'personal' })} + + Linking.openURL("https://work.weixin.qq.com/kfid/kfca0ac87f4e05e8bfd")} > + {t('generalSetting.contactUs', { ns: 'personal' })} + {/* */} + + + + {t('generalSetting.version', { ns: 'personal' })} + {"0.5.0"} + + + + {/* 退出 */} + + {t('generalSetting.logout', { ns: 'personal' })} + + + {/* 注销账号 */} + setDeleteModalVisible(true)}> + {t('generalSetting.deleteAccount', { ns: 'personal' })} + + + + + + + + + + ); +}; + +const styles = StyleSheet.create({ + centeredView: { + flex: 1, + justifyContent: 'flex-end', + backgroundColor: 'rgba(0,0,0,0.5)', + }, + modalView: { + width: '100%', + height: '100%', + backgroundColor: 'white', + paddingHorizontal: 16, + }, + modalHeader: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + marginBottom: 20, + }, + modalTitle: { + fontSize: 20, + fontWeight: 'bold', + color: '#4C320C', + }, + closeButton: { + fontSize: 28, + color: '#4C320C', + padding: 10, + }, + modalContent: { + flex: 1, + }, + modalText: { + fontSize: 16, + color: '#4C320C', + }, + premium: { + backgroundColor: "#FAF9F6", + padding: 16, + borderRadius: 24, + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + }, + content: { + flex: 1, + flexDirection: 'column', + gap: 4, + backgroundColor: '#FAF9F6', + borderRadius: 24, + paddingVertical: 8 + }, + item: { + paddingHorizontal: 16, + paddingVertical: 8, + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + }, + itemText: { + fontSize: 14, + fontWeight: '600', + color: '#4C320C', + }, + upgradeButton: { + backgroundColor: '#E2793F', + borderRadius: 20, + paddingHorizontal: 16, + paddingVertical: 8, + }, + upgradeButtonText: { + color: '#fff', + fontSize: 14, + fontWeight: "600" + }, + switchContainer: { + width: 50, + height: 30, + borderRadius: 15, + justifyContent: 'center', + paddingHorizontal: 2, + }, + switchOn: { + backgroundColor: '#E2793F', + alignItems: 'flex-end', + }, + switchOff: { + backgroundColor: '#E5E5E5', + alignItems: 'flex-start', + }, + switchCircle: { + width: 26, + height: 26, + borderRadius: 13, + }, + switchCircleOn: { + backgroundColor: 'white', + }, + switchCircleOff: { + backgroundColor: '#A5A5A5', + }, +}); + +const Divider = () => { + return ( + + ) +} +export default Setting; \ No newline at end of file diff --git a/assets/icons/svg/blackStar.svg b/assets/icons/svg/blackStar.svg new file mode 100644 index 0000000..c2c076f --- /dev/null +++ b/assets/icons/svg/blackStar.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/svg/get.svg b/assets/icons/svg/get.svg new file mode 100644 index 0000000..1fd3a95 --- /dev/null +++ b/assets/icons/svg/get.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/svg/proCard.svg b/assets/icons/svg/proCard.svg new file mode 100644 index 0000000..834fb22 --- /dev/null +++ b/assets/icons/svg/proCard.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/svg/rightCard.svg b/assets/icons/svg/rightCard.svg new file mode 100644 index 0000000..80ed82e --- /dev/null +++ b/assets/icons/svg/rightCard.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/svg/whiteStart.svg b/assets/icons/svg/whiteStart.svg new file mode 100644 index 0000000..17fc045 --- /dev/null +++ b/assets/icons/svg/whiteStart.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/images/png/owner/normal.png b/assets/images/png/owner/normal.png new file mode 100644 index 0000000000000000000000000000000000000000..302d82e381b7f88d7586cfad8e5d16c6be208282 GIT binary patch literal 24020 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 literal 0 HcmV?d00001 diff --git a/assets/images/png/owner/pro.png b/assets/images/png/owner/pro.png new file mode 100644 index 0000000000000000000000000000000000000000..e1ad44ca41b471f21be30590fe2bf4e9e2ebcaeb GIT binary patch literal 29605 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 literal 0 HcmV?d00001 diff --git a/assets/images/png/placeholder.png b/assets/images/png/placeholder.png index 5371d4acf952a8e64948edf54baedb385d51e8cc..0565ebd2be2e6c3f88161d649f404e9108997b4d 100644 GIT binary patch literal 35052 zcmeEt_dDBP*gv)RENYJ`YHu-%mX_Auv#4r~n6X#wOh)rzY z^z&TLKk>buAGogMyw5rJdEKvjzE5IxwA9In8Hus5u*hD$e6ELu^`PV5A0hs~Z`zzy zv9Q>&UOiVf@XgtSxYlxynEpk-1ADrz?&m5QGbTQMOi7Q;|EUMjBg4LDGRu;QXCpTo z1|vND4mQF?QrwBDM%aXF&z$raz2sCW)P7?7Cv!@uQsmrUEy9jFC5DyiT&T&kjldcA zrLCC?VF8t%lLSm0hR)RpDOK98YF?2RN3JXdO}5_NaBAgvme<$UmmlW@9+x$XVXF{w zL{R?UzyHJF|9J5KyBTcxQYN)wMNsOg1m2Cf>`e$iSO*ifM1}I3^e0C(cU*rf6k38k z`!_aw60N%_U@H?I>J)QSc8FfNEhrRX;)vMFU*nFb#5-!}x|6qEepE%c{xmdxy*+rp zPhGcqQ|rHFf3aa7@`j?^;|`x+?B`ua7V=^yrmFO45}NvLI0SEs=65ax-S3sutTp6y zCg`J=qh0SO4hEV-w$WG|@{xb`H`nD>JkLI81_Z|B`5g=N4t{Nyw*GVZZ^lX9wZ5}+ zZa2CE6@3`xdad>C)Z${_M=8LIn>!*!g0>?fCGCmg{TBK8-$|cUrTbQ;0k*q#ZSv`y zwr$0m;pAIdt<`{gLxBxpk@594FK_~V=go_o=#YCNi;&&y+qT4CG#69%#}4jSxz}wk zCZi65(XE9~`TzIe5=X*!aJ-1acj((qZ6yGuH49|N<@v(EA?zUd=J%M#<%X1-EmP(J zmOFtVNC`1eLD}1kgY|Te-8R4vspO0^MTk>N2o3eEx{R49?u=rDQf_YR{_0F>yThlf zmf8hckWpB6c<&4?M2N_ft?g|qp+DZNcU?z(+izd-$9KKf4tXy0eGCJn>0fnAEEU36 zdXYYyQf#grr{DR!+d*CTvG-Lp5c*ArkRYBw=p@7evCpU*;7HK@$l&ZzKOz`62fKGd zucHZ1h0LH=I;L>>$DSWwDpz{lDE2c#ROh?g63V>mZpjE=ylzQ>4bMd0q)BXO&7L~x z(01N(kL@NkrH|tEF2CtYNTI)_3VkFfs3Jt8cFvVO6@b|$vNycx*-_32aq zNAO?hP8pRCScC6X}>i!JI;udzUcqZ5zJ5D+8*8beHC>>J-GcslKOsuUWjvZa{Os+3xV2@9HFQ3GkTf)vU1sY}0K3lwm z99ts)*?^R&6<(J44Q3Y%4+F#%?_0Hbq+8F=YBt0}uGkJCt7xgWb?xC-X&41BHqL>0 z&k)nGYsAS|&jR;vjonWMT*jN5bY0faN=L3=SmKhv2RAG0VJ~iOT=>N~BA6+OtyG2` zX^`8L{#vqC5Dl3wiU|XWsQq=ZIGEhz;2^U} z$8tw6X{pqw#IM?s%{TG`LLBdk3;HmI@M;4dzm%C5j7#M}wfQIP&G3}_!&0H|E4Kz1 zH3AyNIo`qllZE!^m|(&-YKYeZni}drS>e#TbQjRpiE$U7FjVr`It2m~)yGOUxcMgx zBQ8kk&Z2j&s8x~}|Eb}#vNT$VV~tOsH@Z)?Yq(&HkVE|eo-oH&5{+=zf&BY9F4{I9 z7UNI^QIs5|%Km>|NKU0A(4A>cfdc2O5H|jCs~Y}P$Fk^yc|UW|oW z|2N8cH$uR=iSu!b+=I-}moxBQSTT4Ok0YXz?Vl~b64AH;Oyr-9K$)iWp^7KJp46;t=|`D0adex6>O!?YHi?M~A-$oYXC8RfZAIFacvX zHe)pe|6%Tr3eEYPicu1myOs^DTqGB)7oJitFm zfl3$vm_0At7&(OGO5Fg8=+5ZmHg=4{NiYN(%Dh-6V8ua{VB8P}?ROv|ZTBz4DoN4_ z>)czJ(=jmLqtY?u;l*w$WBYFwaokU)*YQZuIJAgr_ue zuazCL-A@N3wJ~5^XgEexJ6wzl)jo~cSI?Z91sP7pmjTrx%A{k|yks|kRvJ)9kF8jMTv6De-qL?G@Q&Q2(0Pr}F zBrH}c^OQ*qn!{8*?*2rknwUjR#d*Dn0JglCk8=M$a&35a9gFBFHQtljqOl3K&`5jriW0$+Hys179GrmyM`hc*f<{9!i;jx6$Z~CQq#l!50`4%szD&1`FXS{ z(*S+e;uvoJie=oIKlW_EulTTw{eqfo&`F%ia#BCy!{+*SX$Jok z(~DflOS-XkG#0xvRvk@G!{30$KlAsGp*ouu|ANPBd76k6uF!uFv0DWnkeC1A#*!P0 zq>5=aJJP{%cjYsvFkO0UTs2%3TK+(Urq?JiiniTQWy^8MSQe5FXG&i!^h%Y(uE(Ma z=-!~KU2s`JLY6{QMqGZh55~jM3%5aZB+H*XJ~yf_@4fhnYDxzLiA={j7s zlgk=BX-MvL{8-==Yu-170^6_O47PY>6C8lqtD`r3y}wiSHdGA~RZCTW?>y4+-PveV zmHCEYH!gcTVR zHG9weKWIPv;ATO<3G6Om$$DfH~2*PW&3TBQ+Xvm-|Fiyx+`5zCdHj34o-E9v9 z$`7^JbJR0k(GR@Yz1j~v8z(5+(;JqegVF;sbxt$W4 z@#nPnVlpF4hB0+lWn`fTel7VLzSQP%R^48RYsXfGJ$m+I1s8Vu+Rd*(_BE{iVP`(e zGSK|;FuU4(aW0KhdhjoKyjHT=kJc~-rAWxdYZH8(AdXY*vh2HlAdh2%x|2Yh-;`L}uS%e#Fz|tN z7twOZyiCuQ+fIZFVR=K*Mkj~rTM-K@vuL#kCco83KYWh23Hn6U``h(v%$y|HLKBOm zN3JxSggb_S^Wv$FQao%Ry05i_H<$>Zf&r?vuU|76Xy?5t@OO?YCXKQc9KIB1!565` zxj@|xQ~e;$?bRn!#PO&p-%bcjFyp~N)>mjmQES6%kdK$hVODve@jRcd*WR6`<&tb| za8;5^HD%WTg_HEx5__{i%`)$2IRAhv8mRa)YW+%iIP5v}5tsaX+9!pZAf5=J1ZIna zMxEVa5i6|Hng{t8+*>i2c(O%KC2T1Ze>vzEaVS!Ld9F7eSJF+OV%*+w9AF<~iQ1Co z68%soNBMZVcqYs!5hAxsbe-SH&mm6TuG8BbFiaTrHa3bkw!6ypfpAC_Rd>SWo8MMQ zQ)t~Zm(S~%vnE#H&q22+IO0cEq0AjK#QxjVqc3MA=FJSUP1S3buP+o$d>$IM#J~nh zdRt2vPBe#E{@MQ0%MLFaCQk_tk^40$iuBJ*F)IMfXPp8l{*qTC2WFa7?E1mdLNbR7w$t>G@8zk$?LLX7ohc!`BCx)q#}O-{PkRbk-h3Va@Me6$-lr z4xo7@8$3|*M@YqmAFLwNobdVh?!+3Yi36BMY3Swqr6Xz|oTo>C?foBW_6&3Ug5LHm zIK}h-*^02{;s{N>N zeOaG*BOygK3L~WIW2-hdx`qov9WYx<3)iRikMTth#<$v5P8Ta${((9ZWv_ooga%t|*nt^l1}EXGfA$cSqC2X?RAf7s5^e2KDk3=EiT3@R9JwAw`F3Jh!@RO?OAbfR86C$NA4n9~i z?Ne?vm_!Uc+J82@u8awu9F)Sh%cc>B4841MBJwtNeD54km2Ys4Dk2WqXO&4+=K-xa z#!&ZluZ6JdXS${lLu|GG&+JB`jk#I-+a*OT{e_4lrZiU}@IWTwz z9poe1z*BKY1#?knz(X98bM}MUu!TwPk5@*2R z-lVgA(aE^lhuMLLTnhWL72@Y`PP(eyshC-PO~&} z&2ZnPN|lMu@zP3-GI@EUgwg?%m@+>&DHOuuK)&uc6?dTen=EQv6a?Di2Sg{c%oyLFth?-)WeQ1DQw0Qf_X z6;@5h`6CObCYZ!+H9M64p19>mrKk171v=z(yU;%GMk!Y=W$kuM_y+ZI??E@)%~YN? zeaFe0x0_qFLduassr{%dPH3t1Rkbqu53#wMoN1XG10mHCx2Al{yzqPh8Ktdp8-()f ztMLRK0uHrs?|>yxk2~-h-tgYkg!l7O?!5_-D065_OQ?x;%w%VFZ$=6Zrgt%{7?TnF zo}g4QMnu1WL}h0}Ds2b$TBgI_M2w}4J({_JRc%HEw`n1g$4!4f3qEMm!sfX&E5`6( z@oD_aY|;vyUY>q6`F!w(5%GFY)t=VHL@2?^gJrbKKrfW~2h_FW3rr}o`PTRjsPb~# znPx%$&x)na%Vr~M{Sdpk9~HvvLPGu8x63bP zPbl;+sKr5ih5pR-9rER$ z7Q;UyLTrY|2R0ZvN%5+^ zy^EKa42B#ik2#f$$6PuH*!6wzUmrO|@Zqv7is1BGZEi#jHIndw5oCi0boBwJ^Puu=>WX& zO^{_3de75+)`i`9gy(s+F;k+2DY50m8`rAbmNdK_Ku$A7eS5j`1kG%1m_GDp~gDS;O^m6kyhdpfoRT@@_Lerg`Pz#I3OL z&DU3iyO^l>SQTTFaxq7**h^(B;VTnT85`c-wgTSjT#}__Ves(h$}(*qV7!-Wl(n>M zBMcT}iZkDvpR)%bJAUStP5>b3?8gybcoO736$0aZb~l~g0 znUIaaDt-&+^XPio+^f^o8zvIj1nxR{jiD}@pCp!kL45Sggj|iuVAm0G@{$3d114kaR#( zf=3anGyk7xV=dvz?;@zTG3EZ>f+dbZTPz^~I2TL&kfjQB17DO=(~;6$Lr54D^1l5d z!Sn{{pct7Pc&dMkX1kqSjZzP}10zHnx<{@<|IF92lHu-;yLstz`TMFS`w3O=JCDGx z%(`DXoSLeEzk25t#`4Hk!o{SZWx&o5B{X5JG&65HjX(K{=3Eo@F%!CD^xV&GCEFD~aP!gNL_C~`1HXU-c1^T?oGYU8 z=-qgA7GITKa}LaON*+pz$AOhDGk$vt3fAu<*9-G5-#KgIqw2Hz);@40)lA!C>-*Gi z>}v6(TRQ#y;y=f_ewCPgvCif@_GxGhg$X4!jhlxn$p<0G2{-s(zPBfxaMF)+mF`a} zZd=-7sT9=;g&6AErYe$Q>Y9`X&8qPA7^_Jl?`XlVb)B$MGBxLe50%?ybM#JXQV$U# zl%4T)wN>cFNwb@MvS#GTL4<43l4cAJrZR}T7zsHgd>|xMT}^IH$?3DU^K@O#&8N6f z&Ro`ms}7mqL(F@GtuC?E&rTe2tiR!@iQbG|PPNOX9w`0}XoTE6g;^ijmHjl)_HrRWmHxIM5 zYOS8Iy%o2x-bHA9a*l;fSz;@gMsoWm9!8l(NX@ouP#!epEur@t63Ei4T`er|o;7Ds z;$Z|AJet0A5qPgHZHF+UD1NljMBnNG8}xl5=|mm7hx3t7+9z&dsiu%Pt@C+c@4~*w z2w+IZeuO22bJ<4XeFb%AJM@!N2vNtWbaYUPoss|KE*uz4$%gAu>JC&q=?HmbPG%4NO4B-h_?Pci*Cw@{jZ97jCm-x>5P}^bT z=Y=_atda=e1l3q8gnKuB(!l21`B&Ew(IVz|uW4H%*U2H9+wzsCXOmJk|o_ zUWrLFy!gu=p8A_o<^|%%Bcj})`nG2xFHkmXM4Q2xZNZ;3YHGT?1J8KL{ht%qc}scX zH$}1xRSZ<$b%^w`dUe)y#)W!fnkoO<$^F{7A-JWv3|j1Ud^s@h{>VS+9w2SrXye3w z%F`6P!2~0-z)VgKAI;$MiyY1r&+00=B&)WiNN%sH`ZSgqE8#gEGDOp%@o*q zR9Mu&Z2V2eau7A%@tp=P?}lCrK-Z!Q-Q|D=E2^)9cE3exaqEf*>Us?19$8tvaJZ^tjI%MPb)S^P8i-B`GJ zII_(Ic$GR4o8dEZY_X%7@fy%RUq6KdbiWAAW-T#ZeHeq1=x?O%lBJV|?|a)en>Q^y z8dDEt z*_^Ph&ElXe@%gQwk0Na(=6<$hi^TLu+Ip#fRZEp^UVH(b*3|?VR7#ZHX!e782M!vh zkd;o!>t_ehxu#90*p;mvGA)4`FA#xHjdwuWi5xR03Pa(pffg$dV@y)EFS{``aqyN- zxF8F)U<>u|XwKp@zs|Ij0f*=dHE?@B zX@mT3ZaE{hAX!7^VRzoO?hY(3;%h02>`N5CUvJoFEwX?qw}ip>%u=J6i)2|^Cp61f zb^<-XCCeECs#b?W}*4iB|ow-yR9{ z?zi{0I#hFOadHfi6I*$_(b8f2-@5?DQ}Hm7rCn8u_nwlfi$ADa&53-BqeUM_MT)V& zk__yuI7NOH!b*l=!hizNfmoqG$&IVaetdtV8m%G2l(H}+GVden2Y&cgMd;TWs=oQ% z3s?AlQUuWUag^?G*wwz`TceFb^Hu$^$_`EBPvfM%>P^0*Y!bg=!qur32)ErSBL~^p zzDP#_g-b1NZE${7XB=X_)ouTg;<(yABd_m>WuM-jk*b5w-x$~*qPLxrH~X=$9%tjl zAkEe`f{)8*vJ9LX?ANcVqN#byZc}A|`eO!dd3-9~jwOZHr2|O}J?l;(x=;MIA^0+v zj-n4#p?-S$TE>oH)D5ck%Wtr#&vf)W$OW3^xvi=sj24%J^bkw99cqRPeIE)3!431IVy@K-W2a;u6w* z5*b=$Ocu?|G!R-*2ReJn2JV(rx0ET(c4BGgx{H@1)_?9&_5qwVzc|mI-5g855^7_) z6IsnVI!@&NyD#n4lx)l&m>_MZKcTp&^P?BSt(us)Jd}G;cOqAc&@3%4SV$8uChMgu zT7xl0iH&RVIzTD8OH;8vn^c#YA|BWnGfw2AonQ}gH@>GuP!{2$f?=|*x3dS=J#ysS zQI!iTFw3=u5ORxEJRoeQG7sixg~sx|-CfW8rMF|`3Ez_CApHx*o%_Q`2)mV8*Po*aCU2jyhbt8KrM8E&8=Ic73(aH|koz-;i+ZR+9A0Y_L_PH!0G92bm{(s;Y3>ta z)Lr+3sy*Il&-=T|>!(xE{LWIF;EARv8`2X&Q3+FJ1{|-OqOE+g{mx019@IyESg@;b zz-30di_-27LLcF-*`w|G5yRf~>kY}Z6KE)eQ79X$Qxa=w5tcSlomKff4u&-~(z`JA zW~24nHON47K^s^|@wHH+@o@HPwVz-!1*{pGR{`HNCEv9q$IF!p z(X;rr#-s{HhN|o9TAb^W`3nwt4X5dlIgTM4Az+JT_gQ-4sEiomn3)uN^*!mT)>WL$Bg|Zd%T9My4d2%3= zZTm=%Hv<&}Iv@qZkdAt@{aRzIZHChX?{KFlHHEBprf($lV&x3P0p1rDiFnm=r%Zh= zeS;pfl*sj$2K1O>ux}_%OM$})A5R$I-M@M{GK3|+DDkAcC-Yadinq7QYnF~;)^|(H zQgp{0k_LTK3~InE?kDmDf((i0vyoW;^8B(?{5kOPyR||(qeZC7a%7iV0lr788C`+2Hi<$YB!;y-)PTl9)bGD z7#eMZqGP@u&({hil|?sYp7`oNp9#+RYE`FM2~V~LmDS6AY(9S^=zS2oF4OMu4nM*j z%pW(ESRP#bTrS6JMT#4omRga;A1x3Mbsw2is<|8X{OS?wNqaYsFBHgd7rn!=U4&Kj ze$x~!u-!EM-S~DJ59VhKz9|3VLzx@Xb)7sx%Ph~~gh}uLQvJ!d{p5(l(|XZwf-tJf zZZmF}B~_pK?i9njaJ@t@Y^!R^K$Qay&itG-sJmsNwQhqtDCsBGi;V{Ogriq( z*~w1p{uM*zL9RY>?z2J3OKTq)(5Ng=Svwgwu$HdV#M}9b{7o@#Ep6LL!IB)YO-gmm z_FkO4*G|9Q1+cI@FDYZf^_oCs*dNo}wk|M3A1~P! zsW*e0L981jH&0Utn5yJ+pFF)Iug^;zZi)!sZrK&v%0Zz?Dj@|4$eEc#UL)fxIojs6X0gck*W{3`+z$C>^@GPB>l0* z;Ss=YF5&EuxqkxHf***>fBRe4A3vWev)v)B%j{)#FdrVeWgTXmpIE8F^{9O2rfglQ(|f99XEWI#eBPP(6A9+KVs@) zBu_CCtdP7#9h~sqy?PO(!2uoq>h_^$LYi^jk+OD^tBZ?2dXUss1^fKAVX5obJ~# z>TCDzn>7#`tD*X3o2ntF7eyT0B7HV`*>Bvkoo{J-wC3b!G?N6%TLvw*ubl@x@RhKM z+=)+4*i2@YBf&{`F~B8e6}VQRcIalX+&}TS)ge>5XP3^!3Gd$f0@5T@VG9YY@v} z)l&DMGs9DH-a>Bgv$K<&z3HV3<+*r0b@M!R8PMdSPjyc2v-5qKqGc0HwnWdpIO`hE za=zPJZ;xK|)Qd?9Jsifc=mLiY!oEyznCZ%zDbF-jr z@vM~9Y6YK`taoS9Qhr>NhJ#cb#xQIi1>XGo=IK;M|3yw)S|yWS%@Hg)-XV56$4PSF z)yes0ED^(YKMjQyZe>m|V%p zP$=_q3YoaYuG$<%Xvjchp-M}^YWsClslt7b3e)w>QOZ_GjHnc$?RW1PD_b{kQ^zP(f=(|BRv7RkGk^4tLm=&XI0K;k(oKH7{+RrF>{w}D;!2Ol=jrMI;@=d(;!0O$vjM*3x8$YKdGMizd zR=zNqA?2n9L}74R+)$s}JxHN>d1Jbx;|6_lEq%@%S;OpUsx7YI;m?1Dl}*>|KZ_4g zyL7&|=VAM8xsMzP%3)A3!Y8(>Z|YyY9Z?Uhorx#DEKy>p(IcG_XNXl!HU)??(o7wm zZZS(9>@ z&QZB}`5dDN^`o?|%W3vA^}B(Z@{QuVB+VC@hBX52)@^V2{LO1-3PNbI-pO*ePZ!EUX$`F4_q&InA-WD3$^ z3-81Sd@idyFB!9swUs$z7zF(s-4{HmZZ@p`;t2#aHgBSZrFF&Y&seS$vp;N0vcH zm(*XGR$hIfx#jCX2FL~9m+wbQ%@$t^$9;eqe^yWUwQ5Ah{&PeAXU)?len<9+PZ|lw zI=`|f4bef^{iY{Dx)f}wPHIUDgRHE0Zla#Ogr)$GE)Nx>r1uQ=Phiz5d3nK|^2@cNC|16bI5l?&(7cz^ANskSu(@TwROZ2~CCw7-`ZU<3fAN@dCDW zpe0-WD2I@hI|b#U0qUqe{Yb|=+nS%tWgU9(-1_8cd9?oBmt&J_iHU&Y<s<^t2cc_1E^W}$<_E~YNk9A10$wJjfKZk$8(w~2~(TJ6I z0)voqW>#TzO}U{*&nJV=zj_X8^!sbE7pL#Sub7L@kuD_LvQ8Q-&PWUH=WVQYJ+#+= zArWJ(nu#ChX`>;dt+gwH8vR{&zqYDN(hgGXI%m2<2%N&c^!P%=uO)r+eWY^j-zZJ$ zG&UHKvu;#{K2`i8#LiJcfG2FqpXKgTC;mZRt?#7t5>7DVU^eq%qW{p&U&HtvuIZ>{ z#E0SWLiZK@BF0`lhY1>mdW+oO&F6M-m)MTfrH?_)$G<*PkMc<`P;0l|n)O=6iEEac zvM?r~^8$SZp@1XA51tl?*Lu{o9~OqBq!?S{lVP+@>B0x$ERfS_}t4*G>IfMoe^T%pjVn; z%TlDnTw3Y5YnrMcQ%iemQnG&{7dTy$Ic}dTMMWP~584|Em-FskN zIb(NvKE{8R$9oX`i&Q_KG0JP?ejr#Dq@WSrNiq-n$n{R)pN3U2fpPEWQG0Ks%Y6+0 z!|8l5O!2)Bu!VtB_}N_neM`XzHUH=B)>42^xtHbW)Xb{Bt#C7hn^N!6*VeJT0hI>e zwtAP9pVUKBG_UAoMYrOP2z#Ml@+c3v=nl4b~Xz5d9@tyG5qrro+qAQ`ii8Y z{z5~#ng#>TCSy3-bvF6VGJPsLr`J6I@@HP#ERnQz_g-+rg}?Kv zxfH2XzHg;q?M+$Ic2ASADuhekSruk^h{d28w0zb5*`XRE>%e`mF^Y`Sk0OY)&u z_~FA`UO}q$Vy)Ijq3x{r`WL0gsk5SwCo;H)Ay<;cIQb`^WY9)DeWNp;pQ>b0EUpOV zp4N%tp^Qzfn>)~Xn>hTIjnTHb-oknlyGd6OQN8dB(W^Yc$l*hcQL~x>h42#o8D-?7 zk|s>amq;MP{@gXA?$I=Rmw8@^Z7hQ(VH%;*fp;|&tK{4c*7OG8Rkk^O{e}o;k<0y{ zV@qD^mu7m;(~K3Zng)dSD_L-{H(|-VuHX~Rhzt-!@66gd++s)#dSKx&=viAR+iBr2 zd1dKWi8!z>fUWfW>^G9HVfa-rJyA_PZR!npEQ;#5|f;{`Sx5ET>&YTEGRr6GK%GG>JsYz0z6u9F9ESO4^F$cTo(S~Q^w==?$hke4Wj-z> zkSbrtyk8qkd{M7kcgQRu80K{cpl|ATZyXhSVUhM0wd8oAnWKYAyuN8fl<@3pzKAvc ztEX!<-E&y|$>J{{%?hArE86&`nw86)TABxCLWy&^jk^7kn|<~AGGP%mRI zfy&T#+}p3b$fV7sD2dg$z~SF4AgFD}Ru?P)H@ zouq-(ZC|O%_7CAxW~2EiFa?$)4@#=+(A$0nm2~RjhQ5y9GPt@WL>k`SGF{@%`LQJm zS04aD_i3IyM#ck3vn1gMI_s#FKV0w9FcykbCUh9Aj-snk3#<;@Fj4ARmL?Bp*=4Di z1bikaENF;$Z9tac{Y2A3L0DU}#cU#bMY~!wDXR7*Ab4?V8tGYGw4JkiX4Yadz-tWF80x!zV`?u9 zvN)4k@rUer-`&x0wj=w;9BA?TV#}gIR0*QKjj!^Dc<6g&!^kmo!(>RKGvw+`I4_$k z0-$zUQFVP4Fp^6Lg<*bkYObJB)8ia|*l+V*_HD*p4>+R>iqdpwUnT+g$A&q&88Vk? zzR^Qdn$GosMcuJ=97>&H1Q7W2ktL5Op+i;*euWrV0Zqjg>Pma;zeD5{je-}GSA^hk z{<~FYM%$xi@6+b4a`&C<39-dHK_K_4O#^zk+6an-{AN*eGH{4jX7y_{{qRh8j{7K45;3zGuv<<=hl z-mR(+Xa*}xnIiIc13k0~#xR&q3_Cx|oW!{Erh@`{ zVVVcv&1F{};}yf3Tc7NJ`;RJ_qqR}GFHL-WUNaIZ$G$yNT1Hh6JLH6OzO%@xH}F2z_ZiGzQ7<5~aprt3QuOIRuvm0Lejq4}W$A9WMd

zcAhX*7;tS>oh-{$d~WR5+pW^7I3ja2EsGhGTqzs;Llby>gRtXwm)3lNJKI`2YRpNg zAo|5K_v{YMPhAr8Ge>6z)Y~hkM(fOvwy|8LuEXD4+`?@Jb#QlC2f0+87<1+rU!sNQ zNA8>0&ucc_2*wg^hKg$ERG*F7Ave({BrhXf1x5uKCxx_W~!w9B9lc(68SbF~&&L$Z_V$;%!hB5wDTL6`Ym_WjBBD)Nq1!1u)X;oZAO4K1qVf4I1R?Ck-KS zi_R;W!xtxLR$ImVK*}X^Ag)FTH>pi!18x%(@Og;1(Q@Qy^z_OejzZbNLhiKyIQ^>5 z6R*>B$PeCrBX{T)Nq%p=l;fUQDU0EK}It zcKr(j)0nJd?mdNEpAw2X0iVZYOz_iMYgU=sxKl#qt>46(@=s?;t29!r^`>K<+Y3+g zpuaN+b^U}qChB-L6pp?whU{nU-1=`!^E;J0m%;1h+nkM9^<^I)2gI81fizND=rFa$ zQO$`qyf`v%JICz7GA9133C~>rJT_Th?Lvp}m9Xs#yGt(1^BPOX+)wnFbjeO)jbpUu zsM@1BpU}_NbyLXJ((w(2pH~$nz@ySJSX0Cy;381<(=2nhe)s^e4IMMy=IY958*NMQ z2+)2!G%k76S@IHP9sg_+G~@S?>f6(qR41%$=8Ub3a*}y>tzW9!_AXy#c|7vUkgf&j ziWk*$%14NgBGvb8_jeGF*iG^1_o<@ovJ`yY73*jly?-E$Cu4rfKua~7q0F2`$HP%q zWkT7e6j0;doDR>CtEkg<$u|FimuXQw6L38TKRK@$2Z<>FmW(91k^BxCVt1~p<{QGc~6 zh#7uhEts?-x|5{IkgLu@Y=e@=&3hPoB)#X$ zoq+>VbQ04ISNMj?(C~s63Ea;rZ_R{w4ea=5Fh0Bb8_#3S?$WH@FPel#5&*CnZw zw5G1bs9hO+^YU+9rp`6f3Hab{o2Fk9+1AvyeAQ+SpB;kFkp;1yc_f0Ct%k4%&!+u~ zsv8yWmK#qINuXTFs)3^^Vlks7Ha+I&c|qj0=+!Oqe*BZ@noG%qPi-%KhZa6Z1sNtG zq`<#F0yJ}P{yvMZ!tgopZP5{Pe(H5Pry;%|uP0eG_j51VNrn3KSGp-qSZ80@F)3b@|&OYr)Qxc`ixWTkalH z7gYA^`c0+UpvUoB2{*v!Ey>sVuUgG>U%rVQpjIDo3Iy>em!K`gv@;QQFVjF>T3>jG zA!23+0IHm&nzWU+A1jyV2peK#n?Fmk!3qF7YY|PWA~TsT#8auZ+s=e$Pe}@JNf4Em3-4z53V62RcH@T z=6ivfJ+RYP^VHBwfa-x}8K*E{XF;JMLHgIoN7lPCYD$#1d>5SbpZaGNo}J`K}p z*{V(IDcri+#x)-iHG_^-G~^x%T;?oBcc$mYgn5D?K|5z_uG&F4i1yl2gFpe991JihTYCEE)WcO#AjBqSDnL9lCWTK67%_;-@{I6ewCsQfUaNore z3Q}dRNNUHbRpgq%dHI?f^DKCHBj*4kAhpU{6Yw-OHtJUD?CkmX9OT{gkXzKxo*&-> z!|%J#ABx<_zs$S1RmYh6)xWU8GdNj+2lL?Yvg60(bxv`XTt97S5pP?ib;#amJRXtY ziyj>7qYf|%2agVEAk#|v6Q8=ftfyL*KsOBKil+eE+}DQ@FZV6Xq2wEZZ`}7P#msgl z)XMU+>n%l+dgO##PwZpGEOQOM$#Wo4C8t?Pdu}bKSBscf7JomOIVPMW#S|T{j9Q|( z@SOm>{GXmHegyy6WK?FN*(q^}v?J6Q{&|jjvAFJT&$CyU=L`N2LMFiMXR01&$2k7$ zz-GoPi*O1qFo;#q1`!*P`f>{1&}nX;x-H4``iB=`C9)Li2h}HuF9mWT$-^5Vch0ex z?nFxYQ2N3vB2;SW*(jH;51J?H|>pQxRw2CHwEe#ojD8;h?7X2RA;26@rk z3Qa(zzipb}`*Xu-Q*-oc*UEDu^D)R=buBp#vf)dg{P~a@UPPtLzs&p3QhQja)35tl zpa3aPvzAPUZo=~0q{X+fDhyy+XcR%=fd<6mPXRCa{NiAsY@ySwixXoA(q}jq(*-_22JCc1wZI7 z`2oL!Isn)uGbXz~hsTNhwTDfvn31QVaSo3~48V2{~*7 zN_?hdJFYB;jy39#s99>ET&$EO-v{OWQzz%BSba@_q6lt-J_|D`$Qu#HyJhzsIH1QK z;AR96Ia)@Xu3S!kJQWkx)($Pg^-+m=fxHU1K0oJ2+s}dd$SdYz>qiymE`NcozX|a? z0ObNWa;c|~=hr@?)CCb$H}|RcWwH_iah2Z}EYW~q$KFp=9`7(Fd6r*pMqhCM)kO*M zJ96McQiF>P7(W*MM~z&)`lyMqDYXz_h*i}8Jy`hHlH;uYM6H#ShmTm%aay9^Yl)S4 zzr*J*J}nvktjVc8i%6!E;^XeJlWCGck3$r4I0{1z}??+_rx@IR|%synXs;9%q*2vzmxjD(%?~Tyd z)p==b%VDvCr*qJlhYoFV=sz1(3IVk1XkeLz{c^g{h)8=eTJ`l3Q|0Lc(}8;m&9gLK zWw-wJjpuou)zpbsZ~tF=U;P#J^TmyTf`T9*T>>HkQj(I=N=oU787z4;eR0<6{bm(^~JJ}G_#BzHfwa`{9KZrK0p zvuMqKGFWeB{LDra4x=6A5Oi6+oicA^>+ey=GRci(CQeh1ndlN&5kY z2%&iU!hvD@t3hm*lgYZ9lEV=M=Jp@=`V+n9u+-G^Y~pNY9|N<&>umQ|kbQ;9yyW=J zwZ{!vESa#|iu#na_u(OKmpr{Y+R{eT~1pC_@DcI$4+l$ronGTS>)Qj3D|9IU=X#XV---tpQjxz;~y)ihP zFA&gOJtH`o>5*Z2UQm_-nb>&Q=}44{>MLCzzy4i*L@7+HiDUEG?mmaB z<33YEKvZJU<3vx65Z`V0;>)VuI!WBV`!jJ-93fAn##o%CWJ^p{!Hn9_`r`7mba}Q4 zM@Cb-*4174da2&{pEx+(^c&tJ^M{A#@BgJO<6A)fg_wF7{YxH5W)7UVd>7JClK55r zI(g4S#_5)X?6W@(w)|k7`Mla9#k|rrB)GY;9$F6eXN{Oyh)8wjqw*7O$zKvhSH*slUzH;iET?PCJTDU0b>*Rk^ zimOriQr7mGBkIMYA}U53NzDTviVIchi1qW-Z7WU+g+Cx#)$^XMHrIce`s>>sHgUZl z{{0+l%$5|;P?K5;U-aDtLL%-GPCy{db&L6our_ZQ3*#p=(o>9$}#+gKA zMF01MF1-4ql*Jm24j19JsKJ8n`pkbwlFuo;4#`@0pY}KO`;+x?R`pBF_nf7Rg_*Tm zL?sW6E`N-C1zAM};bo2NC?z9Is|fTL&p%8oDh3*pm7m?HzI3gBMFp-p(_LSYGMh*uErcYXEE-ZImi z-%p=VOk0p>jIS)tgSXFXQwlRx?0rhT*|*a^tLO8s%c%~Gl5EKz-w5tRWfOb9^fC!! zrZCeMft`1KT3CPD3bo(>j-d7m{xC52Sq}Ii0%C|(*^*m78I-sj_sAeFA0PZ+#*C>g z`0Id&rOof4Y~5Gyz)EFG_ogAPbnODdnTkgEUB)fCOP&X6{HiopaM^V?iIPx7#+=9| z2zWDcFxOVps<`4Sj*h-Gbx!UT5o|fv7&Kg=OHJZvh}ZnNya3CZVwTCMr(#y3rk;W!A3N8+i~bf2?$}^poy?*m zu>WNDHq>N0g7H+?2vFOUiiR%sK9%Bw;8Dqo5uML%*J%SUyRfI^jG#x69xmxD)N`cj<- z?g^(!BxW7APjI_Xe{L8RvKB?d6{{7OLEPB#wEpHqI%h61Mh3x=}U zni@t(q_e-^_uW^x>CNcxtM(bbF$Y83joFT1_BkZYti`&~CrN2j>kWp6%4OZ_$@0ZB zQhLsb?$(#x`&V~Et&HOM!mBF}WsO~wQ_}E;+aSY|^^rAEPyfsVPCaYDGW(wH(6|1_ zP0m@BZ42>hFazg-8i1OHMMUDHEfry;1+@=HWJS1mYD5nS%RJE;&1mNDuf$}m3}!8E zF4*ClKMD=y4@G~`7z=IEjI^+Ns=;fMBdd}q`o{9`O5JVtM@8gHPQMeUWwU4PV(8LV z7+UuTJ8SH;M{HL5(!SydFP;k4l;7tLdSJ~%!=vn}weSy380qY1c^VAyQ2H%hrUb}K zRM=+Z_vwEdl;ils5A3osWj-5N?v7VQCtlI`{lMvlDpVM^-~8xB#Lp;4-Dd?nGqH|? zrVW`D6LJ#FY!$bnd8<#a)YT8t8|V~(K$p#Ok#UMi&B!5r&9Du1hanzc02QOK?Xo z?2CIX!qq4)dT6;ge5c*2mM!2gH^K>DcJ z;!H%6pJNolkPdzCIkyJpusUulu+OSB_>L9KdLy<|AkcAg|aLG*M>fL z=wsW99WFscMw#kmIHBieZD?TWho;EKna>8;pi+}1x{2VU=g)-@}uFOL8Xm_Qq$2v zW|2=+;HG=t_;Ti3ndppt#l91}WhgrpCO^E0dJ?bTkz$M3TL*8k85O`fWhZ?-#ZLUg zl`Loe)Tjlr&SwXnV6XF1YB>773tN~wNh=Z_qtm~7eX`eENg-TD?JoGCfd2jFfbe4W zC-%G^=7z!iUEj|}ik@cbo}<_MfMFTZS19dv-aq6Hd`Ouc{*#7KZqu0Qei7bTf)6#9 z*L7cAK8`b9rL8W>oQqd{qU3R_uF@Rv<%MeADYA>&P7DuY8N{W9vV9?S{LL{ zR=-J&l%ojA7L^iiGHdm8f1<#%JKx7@vdfQ_oLpzNADFrc38i8Er!~F|XRE%^hhh5f z$5S8c5C3HFv~tg#$F|D&=!uz@V}p#DBjY|qt8z+=s_@xbv-~vho$h;IWrq;8cxg4P zT9Wb1i!Xd9DJRuSPBC;a@Fb@-XX?KGNHL1szGYLvU?DYS$Spx5D>$h{m4j<8{IE>|OqkjPB#(e;8!I~Ix^KUWq0xE@4Ne0&-rQo zUMEH;9q~{yuq^DrNkl!CsEVBh6%|tyl1vWG1w@tz5LtnqA$la;w?E&_R_T_|g5?W= zZjrTO$7A#C`%p6Y`w{SH+%~P!mpqo@EyV-A@a&E{rx+>6L!>Y`wNtl9_A9eEBw*JO z0^@Moe8nP6gX8(SYh9d%!HzCbYor9E?OVL3jbt`+hf;KwNW7O5CFrLAbE?Mn49I+L ziZHLh>PuA;wBD2>vvZroH+QU3b5u4R6WyHPju1!nbKcV%idY0gZzX=l4t6EaNtcP& z=UrymBeb{GfbXNs+Z5uO1zIk1p8Xoq5jhri9=V2{E7eidZ|B0ax?=sL|k4Onbc%qlTUwoyz~@#CJ!Mor)(7 zb`@y^6`R*H?F%ZHid7=#?CJ)rSLv4L^*l?;w$WFhV1{*W4auP(; z**``^|L@j@8JnnpPsXIP16BC0u}#~I<0?tnhC8m~jlm-ToT2MQ@FVm73MpRafHaPo z^W#*lg|7pRYB73I>nc+GDcQUBg*Bg|r0f@ge9K4*h>Ul=@#3&$$Twgx?BZlRE5u~Y zI(dL3hQfGA68FCs@A62YMoLa4Ut|4(QO=DkavR3{Rcfw^m5`Z7wQ-77?862tS=~ur z&qkV*Hb0b=*6Lc;O{8RoXx{ytV0Dpcq3ebo((I1J@`kK^+}oKo+FseIu0Z8|JfL$B zsX>YEiKHLlVmvUINonH>!z?%=0bDK9A5iv|P34Yl!BRD9FRgcnkiu?uBXlqO3X~UA zm09>n`2A;VR-xz3V1p?Voa|l8me1K=>#!viG7WATQX+bef4lkGR>0u3b{=zLO;x{0 z@-A~opmrDRQ;=D$pr)*?*e@Eo)O9xlGd8br0>mrK(->c#e>lf3(E`JFA9>z+%+;S} z%%h3_{G8Z5Om3)G@wHWG?7pH>)FD?`A}CT^qz-4%B`lk63g>j1I&fxB5(Mn=1#NmY zEmzReUZCKcH5I9d)CwF1QA1>;F7mW!P?+{?BwLHV=KCawl=vKRW8 zuR!n{HpK3Ch{GpOtQ?Yb+7E)-#p5?aEtMegmVI@C9G184mLr7?BdP048!|sO)py=g z&-D41fqFbg8#7Bo491~8TmZIOk6Tko0|pzZsBcSZ zyv~K@HE~Vh>1B$&Xw9yu8o;m+{~fureA3Q5eMFw*U4nF~Y0JpVHgrpW=qg8xO7_^4 zt;QleASG$YKu2BG?WQS?M+dB)m4D#JF`-|;OF^Redv5$Jt<_ca8yk~MrJ(?Yr&ZNc z(^(yg5J}pRu!z8f{L~6Qpb~yZW0>%;Gje1be%!kOcUmYFZ=4}{I>->i&rL$0G%cX3 z_0kodHI~3x^+KZ4?v)r%9xJI2z?wKngYtkENZ;8=rDWT(^_Ka7gV?e$#bD)2B^hTB zm%fD%-cOz^#U9T3N$3kp8(C+EUZ;vMMcu!gD_ayxQ{+`x>JvPZn;h>(dzUf`cL+1r znHScOW=0#Cbs1&SDH*$-xND57hVkK98q4f0lv5ryQe0lKl*~B1a*YeQPKKzzVk0#N zA$G3WoLqXIKyEa-$RuRWYvD;#-(W~OruH90+mP)JzN;FY5;_N@bB%%@Snz>Q5RXQ*S#WZq5yVU{V1%r$IL z2#wRZPYSV$(l0sJo(J5>%~xew>Pu!o0krJoak?{Qzxt=NM=S?8UR8pGN?x4K4|FL^ zLT3>#7JS1@t;Vdav|Ek;s8A{6$-*8YaFhA&z+le5TF}$}Cep5eumJpRdC@hliEYtaV2!fbkzh_RXvQ?i8Ae znEoL$k5&1=e{`}au>AZ^+Q!jan!fdw6wQ;x-fKH)n2fh{p%e`)V*YC(2BK^Ig2um3 zR=IGrrIGb=*ga5VT*f~5NnFQ9hAR>kVG`Sn~1<4=F&k^0<`y!dt zmz1c6^QM%QKis70k}IVB(00~P--PXJls8l-FX%4gsUMZ)ZP~F~%|tFFcYzbA;vC4+ zvV@V|sF(iUu@&6^#M&*5u)Gl0eJR`7S!VZ~t6uKsOVM+oZ>EUhY%Kt_k1CBr1`8pe zJxvqoo?9mC;Jl0Qlva&(q6g;-GM`<JE1d5^hm-FMJ%arz2jr7{88QU zGv~|Q_7-6Pps04r74jx$@zR3i<{w1a#kO|INO+v%rHlUIQS|bFTz9e~pRI6eQ&6s> zmFO7RM4WT~)^cOFOP_+1eKGc@&uurZzKS)23B*wDiI=TzA#qA50t2v{nGa#dfueF` z_Y!CDG54>(+!@4OC;rVVO~2xjag`}%wsYg0ZGTI#lE_rjDC)#De` z%EhXZ0LYPvf0B@sL%$gOsAm|FH;2)c@9HZ}zF_clIm5+Y}~EO}cT{Pg#F+ZtKCe=BvU!H=$G zYuik8!B5VuySi-)miyPNx0eq1m+{qFTBo&1`ds)Nu!={=)|tz3fnCy0JMmTnZO^^Pv$TQ1X10e3o5_%|?SoDK|z;pKkp>WmME!#8b;?q55^q-+v zt2Km#V%H6*w4QeBQ7|;FQW7TQ3Q*}O9-Lt=jaW#R(vkQ!8~yz+8MlPzjTD8Orn||m z*6>>b_`(93fg*MzHxuo&hrX|`-~7$j#~atYFfN%tq9?I6C7=;j-(VQTiLWu%UMDHG zU9vzBTEXkG^W`keDT&|^U0b=m{gq>!ofd>`;`J~-JxnkHlhaNry$rx@+5dOCmut8= zFW|)aT6ElU%)FFL9=^JFQOD0lbMk*{0qTaQrR_89M2#uubFHo1>1-wmS@fF97-XU- zcQE9y3XzCRXyajGbG*S+VbcWU{jPtjR(3{=_P5*?xTtqYiTe(g%L-bAnlRnm6|ea` zcHJmg(x`MwM3dI7t(zD+@;dwwk0Kj!Gpl*M_4tPqrJ2%!>>mRDp-5m{mr{08T~}o0qZr@se8a zZrO->s$3i%?R>pjru*)X4w8$>;rFGoP6UPkfynPh+CQTQBneqS=eceH8m1it;l%8T_3j>&}j6lS)y#HNWT|B=b zsTIptod9~5)5D+3Lu5@;`vdbY+EAPDKFV)?kfDXPejn8Yq$dwoal}Q7Fss=P9onD? zzU|DhbwFb|WMVr7kj(lOZgYDw5THI0t9ks8niiU4B62{AMXm_zC+d5oxvtY@zfdk5 zF8tim7^kriZ^)23#EqRC=mP%u4b321^=&j+1Di0@i1NWmgs{YR+`jiPS_swpq%3jx zp^xo-cQ;@$r*(O>BoDl_*)lr|+NMRvyiO0p3%K$7mQWP&Ln2q=I_BqtFL3TYX7J0p z^1o~gF+fn@EoJ8ho~PUh@Ygetat8Ob8hVH6sKE6GV?%%_^9$A((_&@^jEqZx8GDp2 z659zxg30x*oA#Bka={lIBWsVekZ~W%X`T?!$KALz9a1y#Z)Tdx8vluuT<6a0?(drF z2gsWMQ~1ylLZIolncFBu=|K_V`(^msvJs#7G+P*Amb)Ujf`)xw>@}FHX{6F$qGBFf zCCHvv?0Cr7Y4t7Sm`?-@u6phc)W&%`zxCgpbNhoQzJJW#*xv2fp}VW^!UO6wuWVYYAYY~hjrSqYxh zr++tdIM^ywZk^)n>L`boEq1RC0?j`dOqkfzHu7ZbHxgFwQ+0tG@!d-dnwm0*`9_i! zpcJEsH@!+h3sn0ygfE)%Ie18(tL00PUkeBbAAZU2Zben3ZhO9e*GVj*k4w2IuVN^* zb|EDMFpHn$6Ak%B@z0q9Pm{}x{mBPM_?A3Isn%u*)EtA93!P<0$zm5)N^t-q>kbf> ze+3>AD`+>indUfeQQerT6DO2j8azyaX3#n*;en*L;<_k-_~XJgrAkH2n2~z_DX`W4 zRo}DAdEcm|n!L|iHE3@nZR28#Xd-QJHNOgY<-e)eFX%x6s;_~c|4FMhYlJDIMB43$ zV}dcr^52Aq;vRg-BYbRS&@}fxz%epiQx3pbh}rP1_Dxqc+cQ+$Vic%}2eQE>Ux#lp zjveFKsf#m!xhx@KVht#)_yK8;|;B=zn?4eE%@EA(8u0-AfkqceN|DcmSDz>?z zXygG5=WJPisK?a05cfI6ilVNU9kMm)+Qt^xL|;^qHLQ$>K0wiS{h{b{;CrV<(MD*- zA41$L97xh<97cMx5WwH}OeH#TWUj%9zq=V#5r&H&41gfHEC4EJc;5;@iH(I*50?Izzn#{B+%el+KLH~R+64Rrk?O0HHX|RL;PNdUemjpaw!WBm=l+c zy%I2f^|BD#UbV7`LZ z0`90J;9A4+qQdYM?pQ`;@avCN#1D^axXik3qQBf(TKLtV+dI(ZxvbAbbl|L1r5ryo z(I4l@j#?WszU)@Qph+Bq_G&)}KTO7aNFs>;6#Z)?6KplIiS^=^;pR_Te#D~BhEL9A z_ArwdE;K{mTp*jRVlhC!W;(4#Ij73`A#i9+q+XX}akeLagGBP8EHS6y>0?iZBXxSc zi@k%KEJ5IIf;KVXpXB6*dut;59KyTW4EO@Ny7U>6-XBe0FNBYF*4c*hb~(Js=M^4& zw}9M*vTk_^;Gmbkxc3Vf$Be5Ul4}akF*)lDpjfvEh9}_~@Yn=#45S@20JD+R8x` z@4N$Fy#xQe!`W#<|L;qRfF#lRO%bI02V!r*uKQd}kuWsJ##?J9YEv19W8Ma3iNmc}jh?a5i7k!)IOfUZy7#kknmFG0 zBkR(8KCyQfJ+}J`fXJl`>cms4%F&h_sgpeaM=^EGRIB`9qi6+0t_K30qzv~13t}E- z{e=}AiZDI${?*Gs|E%3W*`wK7bK0hQE-&bG1R7h0w9(@fh)Ce@^N}~8Z1kxYomccx zjd#)>84+`-*c;Xw281zdfsqm6MBp3Xj7E*K?>ZdUal1+LAqiYJ?dRae)c19!1sb%C z&%#8syqhwAe~hbn^K< z!$|ixIdYd?4%z%(a~j3DHG-t}Xv$jSRzHUuZ=sxm7m7e=$QzL!0aDmLo0~LVw7}y9 zil2X~wO&z%#&5~cWU|Xg57SX8m7Bb?B3#_}1VKN{_U>EBj001xY3XG!+ok@c9CTM8 zsBrV4Wt{E6%b4ELb=I_JHid+u(dR!GRqAdRS+EV}r$hGj*!@w?gH4HAvFP*7$Do~$ zONDQ0tu=Ba)mef#R(g1e;_u^E66?cjN3%FLY;6eCuYgCo2v zcM~qO7a<8QP+lH8K4FzUWG9NCYw-)TZ(9#;1sZa3U|hRca^?v#5VszcQYo{gnvP7Tb*TdyM=i-hnGXB$iV1sg%g#^dAg ztj7P~#l(UW;1;cQjto}zrn-nBg#)Fk+rwYt2<@R`KV#(EMe<&_1a(G{@LqkIBQ&Fs z;`)?BoSp!daqVTE5q)5j@#p9*bUYh%o=}P}odb@Sq45`58C!x(qVA_8T3^((!cH%1 zhtH1HvDjc!9Z6@0PMc9T?<~aqYyJJMcGowJ{mEQ+?dGmsb|)oq+X9?ro9dLeViN=+ z{5CEK;(1~cdL5bWGI(fAqVuYp=lok_+ntb*H7^4Ec@p1seJcey_ldX(WpAd1cu9)|t zr#g!cvfcbDvcuj^RCAUy`0Ov=M8D$mD@Up47XP-$`*?BaC5Iy+4aZ{K{Ryfn;5fz& zZ_Xe`4teFxZGEmU6X^FE=`=kG&A15P*Itc(N3c+)E7Vkm#J6fUIzs<{gXwAA&$R zs4-j4`#ol)Q=#842fgdRg!Fr!KNaY?_?HCnw;LSq51eSlDP3>3k6{S8>FwX8k@EK= zsH#olBvYY7c_d7mQ+Q|bZLzeBfcI;-c3{9lEL$U`v4H+^mYCr^|H#>3ytNgR6+x<` z*Tt8=$9xA)0{a3|N5KUd?b%g?0&TinSgviLdst-wJ`Q(K}M|6cDI@5Zo<)*>-GfY9Y2paNLZiM{Vu7Et|G^H8IkJq<0#iUXRky_*WnE z>H(be@rDl$|bkt-eE{n{|RG&6TcqLDxbd)hTecPy9k^>j^TEG$y(F%{0&;A@h z_E8~Ttm(41OnGLYf&Y6F9cbcb<70c4HlBd?tv-gs)R+J#5QjutfS6f831O`Wh2=#d z3zIL4Mz*bc1!pRWm=g$f3(ur<2nsmT?O7&S$6u=y->=#67z#wkbN&)f9H?=L?ZF0m zEqZLOx23MxdVUq0^0#a4`wxqYCBNv!ASXAuCxIUt@`9Mo)0M($XFh!jOAU1zmRB0k zt}*senMHj@$2VV?>Z#H6|1RRHj9;yo-VLo#CaW9uSr>*!OR|2w=_*0Pu83DEEv!84b?N((^pQ6>p7Jj6*OaW@_LaB0j`d0%DMbui8{^jO;gGRZ-Hp|w1D$rN~- zLl1K_oA+oXD!!N8sVf1|?Q^+(F~H>7eyIoL3XB&u$DS*(r`M*AY=xhU3yb)z?XJ(( zusI;d{7(w(Kc$e#p2UL*0pF{eaQzv=-KYS6G3I>`8@Dk;d1< zJ7p=3Q~Sw_b!^gy!{wH;?d|#~o_Py%J88dRQgZSIKU6US7*@~G+4FMNHl`^2Zm(+S zv9i|o1!MNDeAhvsLnxZ99Sp2NPRZGU{-MQ?V99pF<-987DeU!x?WR#+lg`C~`t_Rp zbU3P;Ww5$D*7QNZiGr@Q`m&{+>Ugrf^5A@7W9W20%Y!Ge;lr?oIVM-spZZhIhpqI+ z%cXsE-;>8$TOLFEAwk=M3)J{;_Lq%guTH9TW>#EQSKY|P4yq;{4>23hSG;#LOoac9 z+C>Q?D|5WCl`TJu7uD8&T}}nzAC3dmRBM-=vzFjT$FrkJ4!Dogazl>X3-8ab?TrDpLXa6hO8*S+hW8iwir-CCGVK&h2oqZpCAvn{9I!4RqyKxHnFF?|0yV6Ey0+KK!kH_0Co&S!ap) zX)rlm=+40%t$3cl;!`)XMOWDxIZ+Qdh;{gNYb2sk|Zvy+IZstGtuIVVK1Wt@5c0iliSwV7uh8-%MzR##m?D=zNM>-pi>Qa z(ow(d!4xMLg!;%Hh%+XH$+g#iTns=^amT((3JW0eHm#x)wzSuL6{|9{!as`x478J0 z?D|n^pHl4!3DZ#*h(h+sFNBEgG1Xo|hazT#wt7xyn@ zFeeq4nDYYRhZoemGsL-%R0|Q(idX}Hb)6~)hc!Ko`G_I#X9^Y}=rjfWEm;mI35}a^ z3r}MVOzsM_;C5sx&uxAPFaFy6yFOLi;X&g4*O6pAZA>-c?yILGD%vzjAmG02&1XshYmD zrPGjHVlH)9ZYYeb2*jiO_8RMFNw(lF`+5W21d;b=uA$Ll@yB1aOU##sPw`4s9|2?- z95z#6ev{_#^X8R({)5E3G`QjV{CHlQ!X{t;30mc@@>mI2AS$6XGu$!txi0$BqaT?a zif(gVL+onaYmdi-^_m+s@G!Z~zr2(~VALxoK>zoVzvfmz^Zwgb)~& zt&4&%E|ecQ|2f@wmh{fbO_Wbe4$ltNnSkG`^%(yWe~i&*0e4X@7QhDCt;JkxVzuci z2Ry;>Ytk;ZPu&)ois(>uw7`2%qUZX^{!($Si+z6TpNaJyh&e144~vY{g(h6%V_Z1F zbFT3ftjaZbF}e87MJYSlrdf^<1>TRafX^C<#};?O=bexC)Wxz@AQbX)C|uZ-LgUei z!kUkm_QeK&X%fbsoKdBothc)SKJeX_d+iZkQc&*aoiEGNBOjHY!lpEz&r@l72fr!p zHZz!{EMW~!)gL4SiR8c_3_8n?sn)!9RI1GeJf7?*EETq?J4?ALhLPKRpCSciD1QO$ z6@Q91Nwn};_oF@SooCKOi;8}j)ndV^^Z)Ck-t7Bj7$}!gJpvW^Z)sB1bFdxcmkQC* zpF|*?UHrLE)th)_j^$QJzS07uAomPDlUG4FSw#3cDp3lC%fObfRmJdnbEIy+u7nPa znW^W)P?ZWT9KGQ}&0oRi3mVNlj$UDA{4`yqi<@sYw#M zDT9RCVh5*g{66KA9+r6c{G%IlPoXvAq*oIs98Tqb?M24&iOIs`BZy?&196> zz}xpfWtIwg28k?7%V0V`Xvj?D2j(e-4|OZ#5`iI<^4Y4w>_5^Lwo;DHOuVEw$-xFu zG3x;~wKqRM?Oicr!YR1TDB^2P_9ZP%iG$r zgNZMgT+fqp2QyYu@jASmKv}muT439^!Krcz>g&@8jH%uoxBpzD{$6T=ZP|e3QT+11 zr=2}HLZpfbm_I)Bgd2VpO61ZqDLA z0U~eP*v_=t0i#?kpWx4}7t3pL$q~wLY?9xdKkaBHO}*bYmebD6`rVm*r7d%~CPVO8 zsb+dTGM-au%jAFaG0qz6G-1^Aw$1s>X~LV2pBDOAT&?y?EE&M!EVoAnN>(_H)9WYC zbJ<8}WwkRW2R~9jh1F|qk@JOTFGv&8a)Y+!*hka5Y}rkGqDf_eX*n;^AQSu|18gCB2zuJr*Q z3eKGn0(8E5Hc79vAyo99`!P01pUc2|U45;0D4E{IbMC;t!&}KghhKv-jX)sV#7@aV zI@*bA<&U$hM{6?O6PuRyzwy&JXvPui)2fn#_oSNM>2$sGF+_6;h5cIqSdHC~>Cz+r z6Et=iv{(J*E-(Z?HmFFh@n~Ls&3^jw6m(-E70(!q*j`NgV-YS2LJW5B5qYPxkx*)- zT(UIHV%wxfePduB0c5a^HyBIOackLOWz8mITz2Kzi;ppe#%1?bdW)PI3Sp_+ zniX)}zy9bPBerrl#^q!?(eXe$n|NfKQBi8gkS5!WPaQd%QBTSxlXzfLZ7Pob+732Z z+4|qpYp--|OfHS`%+ZXT^0QYt#_3}!pFf%#0euT6kdu}2Oao-=Hy-U!Cy-Bv1O2~m zcr-h2p-=fg%G8b}a}n?KLn7aD25j#CURg+{%>}<-iE`GuIQb|Y06?r4*09OK5{KL0 zr|(ba^=W!DFy?QyQ4poF`Q1&gyQPVCgsY;<1@`1>UiOyB+PylGVg+nF^T|0mTNcu# zVaM3%qj?3Vj;MQ+E*p6%hc*=YnlH2i4{Lob{PwQ`i{R~<(H)F?|5~sty9sK>h~@C+ zsO$UtGqUM0^u1kAa{K!n@}jxq_Og>cF!RX^FH_*ROoOhL_FOt%Uk%tv=EYx@WaT_m z!=7j|$EVhX>6977V?1X*>LRNRn?Xmzx@e;+15Ajhl`>S(><^1o3Lsb}2kb=K6X)v& zv9~F;Pa0#g9{;KjTxB)wQk5teR4P&M(?`bo`J-0oNiY;meMjM_v%)$uU72sl`#6Ia>0@e^KQ~P z=s}374-8>FJ#&`vKQm^7<&k=sHerKivGT}gNlnS^WS7Fkh<$@;pF+Qg0LMRR*JD-V zXq5|;0?2SHY@L51Q z5k_>(VtTyFMJiD*a@N?eko;%Cb@dI5cFN>I(|h?5ej@`Y@@-$cGhBg-PrA^wNjKU* zKyo$=r=SbZ{EMOgosx%e5M@FZ{LPksk90Ac zkB?2*^m=WX!RIQcp4>8fQ>xdmkAT-ngZ9O|S}QK>+`mH09F4zBhfxuE=gF}_F8WMD z=Z=f9jf)J{_wj0oeU8Pnj7kWD$?b|V*T()jS?KX6(g2YqbL+Fq_W@;ut#7#h9d^EG z^!6U!N_s>~lvWJqEyM^NKNo2j4@|^uC1NM)Rh+A<3T!XK!nk2Ml8PlIZxNCkeEyj(WUEp&1aL6(!^^b;S$;Bs72( z5bbFlcO1z}_$4}KC^h1}QvzJ$&)VV*s+YdxL<$QRHik*^yp0F9oiK}SG1T}?UQhvk zGs&}-8ly2>)-B3U^mDGX9adNS8i}d}IdAGA&jP_rNV%bp1_V+kp z85f~+b#XenPkY77b)+1%JzDJ{+h-mu4_a|D-f(s{BJ;!YH?!D!{T?pLJq(D!N< z#3h0D&iTDQr0DwhWFj!+z(_XpAuH(b!Re|nmx({HcFhvTnK?NFP-k+Yg`#=T;V04i ztJ16anLy?^nr-C^>?U`cN{1jJA@9Zg1xE|9A`#3==`96*H}}W%z=ik+HtuJkon@dDHe>q(S?{(Ys4u$3>6v4 zu2b2Q%&wC^BSOrgn*FUR=#Kil^xA1%rI-6WYD{xzNFu&mC$%3mOq*B;62y<%06)2 z>Ym$6x8sACkN+WgojjSbp=kU28gop)q82);ol&xOpQ4N^<8P5sug7Dv7lHB1?te@u zygXKU>B?Ysp5PBwR_`ud8j_iuir zJMdCjQgUMnY999@{7&9cIqg5HWsgJV4Jbnw=u?&jIAtq1V;kRMd<*#}iyJF*Elj(D zZK$Y~OQxZbxXbC7&CNpOt}bo(UA^hQYpt1TKbSTrr{qT_NB*PUsQR%w zpkNEphN2>ug$>4;u_~JmFMI0}EUmqa?>Mv>%~*$O6=jK1PgD%A;JsilO62dW=$I

I1?!GP3|-({hjhef@yswdc{pfz(!2hI6AV> zwUH4+^ldPC(VvBwMbWy(#zxDdtgI{}{U~YnYtly;|Nrm*$rZ?j+)KQ8FZ5$;M$YQr P1V78F$W%(1{P%wV>fFYz literal 96 zcmc}{bMg-=H}G~(&vyg@zu?de*U)qj(-lNGIXgyz=rp(FU@s8EB{au1Ff7Q#C^x`D m-&8xpBi+#>J>5$`AUVU+yd0#$$tx(-)U_zvD?L5k))oMA`W)f_ diff --git a/components/owner/album.tsx b/components/owner/album.tsx index e89b393..ff94e61 100644 --- a/components/owner/album.tsx +++ b/components/owner/album.tsx @@ -11,10 +11,9 @@ interface CategoryProps { const AlbumComponent = ({ setModalVisible, style }: CategoryProps) => { const { t } = useTranslation(); const router = useRouter(); - return ( - { router.push("/download") }}> + {t('generalSetting.album', { ns: 'personal' })} @@ -22,7 +21,8 @@ const AlbumComponent = ({ setModalVisible, style }: CategoryProps) => { { - setModalVisible(true); + // setModalVisible(true); + router.push('/setting'); }} activeOpacity={0.7} hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }} diff --git a/components/owner/rights/normal.tsx b/components/owner/rights/normal.tsx new file mode 100644 index 0000000..2fde55e --- /dev/null +++ b/components/owner/rights/normal.tsx @@ -0,0 +1,74 @@ +import GetSvg from "@/assets/icons/svg/get.svg"; +import { ThemedText } from "@/components/ThemedText"; +import { useTranslation } from "react-i18next"; +import { StyleProp, StyleSheet, TouchableOpacity, View, ViewStyle } from "react-native"; + +interface Props { + setUserType: (type: 'normal' | 'premium') => void; + style?: StyleProp; +} + +const Normal = (props: Props) => { + const { setUserType } = props; + const { t } = useTranslation(); + + return ( + + + + + + {t('rights.100Bonus', { ns: 'personal' })} + + {t('rights.100BonusText', { ns: 'personal' })} + + + + + {t('rights.10G', { ns: 'personal' })} + + {t('rights.10GText', { ns: 'personal' })} + + + { + setUserType('premium'); + }} + activeOpacity={0.8} + > + + {t('rights.purchase', { ns: 'personal' })} + + + + ); +} + +export default Normal; +const styles = StyleSheet.create({ + goPro: { + backgroundColor: '#E2793F', + borderRadius: 24, + paddingVertical: 6, + display: "flex", + alignItems: "center", + width: "100%", + }, + normalInfo: { + display: "flex", + flexDirection: "column", + alignItems: "center", + gap: 16 + }, + normalItem: { + display: "flex", + flexDirection: "column", + alignItems: "flex-start", + gap: 16 + }, + normalItemContent: { + display: "flex", + flexDirection: "column", + } +}); \ No newline at end of file diff --git a/components/owner/rights/premium.tsx b/components/owner/rights/premium.tsx new file mode 100644 index 0000000..634f993 --- /dev/null +++ b/components/owner/rights/premium.tsx @@ -0,0 +1,127 @@ +import BlackStarSvg from '@/assets/icons/svg/blackStar.svg'; +import { ThemedText } from "@/components/ThemedText"; +import { useTranslation } from 'react-i18next'; +import { ScrollView, StyleProp, StyleSheet, TouchableOpacity, View, ViewStyle } from "react-native"; +import { maxDiscountProduct } from './utils'; + +interface Props { + style?: StyleProp; + payType: string; + setPayType: (type: string) => void; + premiumPay: any; + loading: boolean; + setShowTerms: (visible: boolean) => void; +} + +export interface PayItem { + id: number; + product_id: number; + product_type: string; + product_code: string; + product_name: string; + unit_price: { + amount: string; + currency: string; + }, + discount_amount: { + amount: string; + currency: string; + } + +} +const Premium = (props: Props) => { + const { style, payType, setPayType, premiumPay, loading, setShowTerms } = props; + const bestValue = maxDiscountProduct(premiumPay)?.product_code + const { t } = useTranslation(); + + return ( + + + {loading + ? + + {t('loading', { ns: 'common' })} + + : + premiumPay?.map((item: PayItem) => { + return { + setPayType(item?.product_code); + }} + style={[styles.yearly, { borderColor: payType === item?.product_code ? '#FFB645' : '#E1E1E1', opacity: payType === item?.product_code ? 1 : 0.5 }]} + activeOpacity={0.8} + > + + + + {t('rights.bestValue', { ns: 'personal' })} + + + + + {item.product_code?.split('_')[item.product_code?.split('_')?.length - 1]} + + + $ {item.unit_price.amount} + + + + $ {item.discount_amount.amount} + + + + }) + } + + + + {t('rights.cancelAnytimeBeforeRenewal', { ns: 'personal' })} + + setShowTerms(true)}> + {t('rights.terms', { ns: 'personal' })} + + + + ); +} + +export default Premium; +const styles = StyleSheet.create({ + proInfo: { + borderRadius: 24, + display: "flex", + width: "100%", + }, + yearly: { + display: "flex", + flexDirection: "column", + alignItems: "center", + gap: 16, + borderColor: "#FFB645", + borderWidth: 2, + borderRadius: 24, + width: 200, + paddingBottom: 16 + }, + title: { + display: "flex", + flexDirection: "row", + alignItems: "center", + justifyContent: "center", + gap: 8, + backgroundColor: "#FFB645", + borderTopLeftRadius: 20, + borderTopRightRadius: 20, + padding: 4, + width: "100%" + }, + titleText: { + color: '#4C320C', + fontWeight: '700' + } +}); \ No newline at end of file diff --git a/components/owner/rights/proRights.tsx b/components/owner/rights/proRights.tsx new file mode 100644 index 0000000..d7b926f --- /dev/null +++ b/components/owner/rights/proRights.tsx @@ -0,0 +1,49 @@ +import GetSvg from "@/assets/icons/svg/get.svg"; +import { ThemedText } from "@/components/ThemedText"; +import { useTranslation } from "react-i18next"; +import { StyleProp, StyleSheet, View, ViewStyle } from "react-native"; +const ProRights = (props: { style?: StyleProp }) => { + const { style } = props; + const { t } = useTranslation(); + return ( + + + {t('rights.proTitle', { ns: 'personal' })} + + + + + {t('rights.noAd', { ns: 'personal' })} + + {t('rights.noAdText', { ns: 'personal' })} + + + + + {t('rights.bonus', { ns: 'personal' })} + + {t('rights.bonusText', { ns: 'personal' })} + + + + + {t('rights.storage', { ns: 'personal' })} + + {t('rights.storageText', { ns: 'personal' })} + + + ); +} + +const styles = StyleSheet.create({ + proRights: { + padding: 16, + gap: 8 + }, + itemContent: { + display: "flex", + flexDirection: "column", + } +}) + +export default ProRights; diff --git a/components/owner/rights/utils.ts b/components/owner/rights/utils.ts new file mode 100644 index 0000000..b7e16c8 --- /dev/null +++ b/components/owner/rights/utils.ts @@ -0,0 +1,12 @@ +import { PayItem } from "./premium"; + +// 使用 reduce 方法获取 discount_amount 的 amount 值最大的对象 +export const maxDiscountProduct = (products: PayItem[]) => { + return products?.reduce((max, current) => { + // 将 amount 转换为数字进行比较 + const maxAmount = parseFloat(max.discount_amount.amount); + const currentAmount = parseFloat(current.discount_amount.amount); + + return currentAmount > maxAmount ? current : max; + }); +} \ No newline at end of file diff --git a/i18n/locales/en/common.json b/i18n/locales/en/common.json index 8a8d96e..025beb5 100644 --- a/i18n/locales/en/common.json +++ b/i18n/locales/en/common.json @@ -111,5 +111,11 @@ "required": "You must agree to the Terms and Privacy Policy" } }, - "loading": "Loading..." + "loading": "Loading...", + "permission": { + "locationPermissionRequired": "Location permission is required, please enable location service in settings", + "timeout": "Location timeout, please check network and location service", + "notLocation": "Unable to get your location: ", + "notError": "Unknown error" + } } \ No newline at end of file diff --git a/i18n/locales/en/personal.json b/i18n/locales/en/personal.json index 0c5b742..d1f4bd4 100644 --- a/i18n/locales/en/personal.json +++ b/i18n/locales/en/personal.json @@ -88,5 +88,27 @@ "unlock": "Unlock more memory magic", "delete": "Are you sure you want to delete your account?", "cancel": "Cancel" + }, + "rights": { + "title": "Subscription", + "premium": "Pro", + "purchase": "Purchase", + "free": "Free", + "subscribe": "Subscribe", + "terms": "Terms", + "100Bonus": "Enjoy 100 Bonus Credits Every Month", + "100BonusText": "Generate more memory pictures & videos and explore your past.", + "10G": "10GB of Cloud Storage", + "10GText": "Safely store your cherished photos, videos, and generated memories.", + "goPremium": "Go Premium", + "bestValue": "Best Value", + "cancelAnytimeBeforeRenewal": "Cancel anytime before renewal. Learn more", + "proTitle": "Enjoy MemoWake Pro Benefits", + "noAd": "No advertisements", + "noAdText": "There are no advertisements, so you can use the product with peace of mind.", + "bonus": "Enjoy 100 Bonus Credits Every Month", + "bonusText": "Generate more memory pictures & videos and explore your past.", + "storage": "10GB of Cloud Storage", + "storageText": "Safely store your cherished photos, videos, and generated memories." } } \ No newline at end of file diff --git a/i18n/locales/zh/common.json b/i18n/locales/zh/common.json index 9f4c00f..17eb407 100644 --- a/i18n/locales/zh/common.json +++ b/i18n/locales/zh/common.json @@ -110,5 +110,11 @@ "required": "您必须同意服务条款和隐私政策" } }, - "loading": "加载中..." + "loading": "加载中...", + "permission": { + "locationPermissionRequired": "位置权限被拒绝,请在设置中启用位置服务", + "timeout": "获取位置超时,请检查网络和位置服务", + "notLocation": "无法获取您的位置: ", + "notError": "未知错误" + } } \ No newline at end of file diff --git a/i18n/locales/zh/personal.json b/i18n/locales/zh/personal.json index c1be2df..c2c740e 100644 --- a/i18n/locales/zh/personal.json +++ b/i18n/locales/zh/personal.json @@ -88,5 +88,27 @@ "unlock": "解锁更多记忆魔法", "delete": "确定要注销账号吗?", "cancel": "取消" + }, + "rights": { + "title": "权益", + "purchase": "购买", + "free": "免费用户", + "premium": "会员", + "subscribe": "订阅", + "terms": "用户协议", + "100Bonus": "每月享受100积分", + "100BonusText": "生成更多记忆照片和视频,探索你的过去。", + "10G": "10GB的云存储", + "10GText": "安全存储你的珍贵照片、视频和生成的记忆。", + "goPremium": "升级至会员", + "bestValue": "最佳值", + "cancelAnytimeBeforeRenewal": "在续订前随时取消。了解更多", + "proTitle": "享受MemoWake Pro权益", + "noAd": "无广告", + "noAdText": "没有广告,所以你可以安心使用产品。", + "bonus": "每月享受100积分", + "bonusText": "生成更多记忆照片和视频,探索你的过去。", + "storage": "10GB的云存储", + "storageText": "安全存储你的珍贵照片、视频和生成的记忆。" } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 1a876dc..21a7ef9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57,6 +57,7 @@ "react-native": "0.79.5", "react-native-gesture-handler": "~2.24.0", "react-native-linear-gradient": "^2.8.3", + "react-native-markdown-display": "^7.0.2", "react-native-modal": "^14.0.0-rc.1", "react-native-picker-select": "^9.3.1", "react-native-progress": "^5.0.1", @@ -12471,6 +12472,15 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "license": "MIT" }, + "node_modules/linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "license": "MIT", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -12704,6 +12714,37 @@ "tmpl": "1.0.5" } }, + "node_modules/markdown-it": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", + "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "entities": "~2.0.0", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "license": "BSD-2-Clause" + }, "node_modules/marky": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz", @@ -12725,6 +12766,12 @@ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "license": "CC0-1.0" }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "license": "MIT" + }, "node_modules/memoize-one": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", @@ -14964,6 +15011,15 @@ "react-native": "*" } }, + "node_modules/react-native-fit-image": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/react-native-fit-image/-/react-native-fit-image-1.5.5.tgz", + "integrity": "sha512-Wl3Vq2DQzxgsWKuW4USfck9zS7YzhvLNPpkwUUCF90bL32e1a0zOVQ3WsJILJOwzmPdHfzZmWasiiAUNBkhNkg==", + "license": "Beerware", + "dependencies": { + "prop-types": "^15.5.10" + } + }, "node_modules/react-native-gesture-handler": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.24.0.tgz", @@ -14999,6 +15055,22 @@ "react-native": "*" } }, + "node_modules/react-native-markdown-display": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/react-native-markdown-display/-/react-native-markdown-display-7.0.2.tgz", + "integrity": "sha512-Mn4wotMvMfLAwbX/huMLt202W5DsdpMO/kblk+6eUs55S57VVNni1gzZCh5qpznYLjIQELNh50VIozEfY6fvaQ==", + "license": "MIT", + "dependencies": { + "css-to-react-native": "^3.0.0", + "markdown-it": "^10.0.0", + "prop-types": "^15.7.2", + "react-native-fit-image": "^1.5.5" + }, + "peerDependencies": { + "react": ">=16.2.0", + "react-native": ">=0.50.4" + } + }, "node_modules/react-native-modal": { "version": "14.0.0-rc.1", "resolved": "https://registry.npmjs.org/react-native-modal/-/react-native-modal-14.0.0-rc.1.tgz", @@ -17510,6 +17582,12 @@ "node": "*" } }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "license": "MIT" + }, "node_modules/unbox-primitive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", diff --git a/package.json b/package.json index 1d563ba..f0c441a 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,7 @@ "react-native": "0.79.5", "react-native-gesture-handler": "~2.24.0", "react-native-linear-gradient": "^2.8.3", + "react-native-markdown-display": "^7.0.2", "react-native-modal": "^14.0.0-rc.1", "react-native-picker-select": "^9.3.1", "react-native-progress": "^5.0.1", @@ -75,10 +76,10 @@ "react-native-svg": "^15.11.2", "react-native-toast-message": "^2.3.0", "react-native-uuid": "^2.0.3", + "react-native-view-shot": "4.0.3", "react-native-web": "~0.20.0", "react-native-webview": "13.13.5", - "react-redux": "^9.2.0", - "react-native-view-shot": "4.0.3" + "react-redux": "^9.2.0" }, "devDependencies": { "@babel/core": "^7.25.2", From 714001f6ac60c131a7d1e592d592310ac0f040aa Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 29 Jul 2025 12:31:29 +0800 Subject: [PATCH 16/68] =?UTF-8?q?feat:=20=E8=8B=B9=E6=9E=9C=E6=94=AF?= =?UTF-8?q?=E4=BB=98=20(#15)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-on: https://git.fairclip.cn/FairClip/memowake-front/pulls/15 Co-authored-by: jinyaqiu Co-committed-by: jinyaqiu --- app.json | 2 +- app/(tabs)/owner.tsx | 2 +- app/(tabs)/rights.tsx | 269 ++++++++++++++++++--- assets/icons/svg/choicePay.svg | 3 + components/owner/qualification/privacy.tsx | 33 ++- components/owner/rights/payType.tsx | 156 ++++++++++++ components/owner/rights/premium.tsx | 20 +- components/owner/rights/utils.ts | 96 +++++++- i18n/locales/en/personal.json | 15 +- i18n/locales/zh/personal.json | 15 +- package-lock.json | 60 +++++ package.json | 2 + types/personal-info.ts | 47 +++- 13 files changed, 672 insertions(+), 48 deletions(-) create mode 100644 assets/icons/svg/choicePay.svg create mode 100644 components/owner/rights/payType.tsx diff --git a/app.json b/app.json index 3b5b2de..426908f 100644 --- a/app.json +++ b/app.json @@ -46,7 +46,7 @@ "plugins": [ "expo-router", "expo-secure-store", - [ + [ "expo-background-task", { "minimumInterval": 15 diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index b1d34cc..3cc0eab 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -89,7 +89,7 @@ export default function OwnerPage() { router.push({ pathname: '/rights', - params: { credit: userInfoDetails?.remain_points } + params: { credit: userInfoDetails?.remain_points, pro: userInfoDetails?.membership_level } })} style={styles.resourceContainer} > diff --git a/app/(tabs)/rights.tsx b/app/(tabs)/rights.tsx index f175b94..1fb9eda 100644 --- a/app/(tabs)/rights.tsx +++ b/app/(tabs)/rights.tsx @@ -1,28 +1,49 @@ import ReturnArrowSvg from '@/assets/icons/svg/returnArrow.svg'; import StarSvg from '@/assets/icons/svg/whiteStart.svg'; +import CheckSvg from '@/assets/icons/svg/yes.svg'; import PrivacyModal from '@/components/owner/qualification/privacy'; import Normal from '@/components/owner/rights/normal'; import Premium, { PayItem } from '@/components/owner/rights/premium'; import ProRights from '@/components/owner/rights/proRights'; -import { maxDiscountProduct } from '@/components/owner/rights/utils'; +import { createOrder, createPayment, getPAy, isOrderExpired, payFailure, payProcessing, paySuccess } from '@/components/owner/rights/utils'; import { ThemedText } from '@/components/ThemedText'; -import { fetchApi } from '@/lib/server-api-util'; +import { CreateOrder } from '@/types/personal-info'; +import { ErrorCode, getAvailablePurchases, getPurchaseHistories, ProductPurchase, useIAP } from 'expo-iap'; import { useLocalSearchParams, useRouter } from "expo-router"; import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { Image, ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native'; +import { ActivityIndicator, Image, ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native'; import { useSafeAreaInsets } from "react-native-safe-area-context"; export default function Rights() { const insets = useSafeAreaInsets(); const router = useRouter(); const { t } = useTranslation(); + const { + connected, + products, + subscriptions, + currentPurchase, + currentPurchaseError, + requestProducts, + requestPurchase, + finishTransaction, + validateReceipt, + } = useIAP(); + // 用户勾选协议 + const [agree, setAgree] = useState(false); + // 用户选择购买的loading + const [confirmLoading, setConfirmLoading] = useState(false); + // 选择购买方式 + const [payChoice, setPayChoice] = useState<'ApplePay'>('ApplePay'); // 获取路由参数 - const { credit } = useLocalSearchParams<{ + const { credit, pro } = useLocalSearchParams<{ credit: string; + pro: string; }>(); // 普通用户,会员 const [userType, setUserType] = useState<'normal' | 'premium'>('normal'); + // 选择权益方式 const [payType, setPayType] = useState(''); @@ -32,26 +53,154 @@ export default function Rights() { // 调接口获取支付信息 const [premiumPay, setPremiumPay] = useState(); const [loading, setLoading] = useState(false); - const getPAy = async () => { - setLoading(true); - const payInfo = await fetchApi(`/order/product-items?product_type=Membership`) - let bestValue = maxDiscountProduct(payInfo) - setPayType(bestValue?.product_code) - setPremiumPay([bestValue, ...payInfo?.filter((item) => item.product_code !== bestValue?.product_code)]); - setLoading(false); - } + + // 查看历史订单 + const fetchPurchaseHistory = async () => { + try { + const purchaseHistories = await getPurchaseHistories(); + console.log('Purchase history fetched:', purchaseHistories); + return purchaseHistories + } catch (error) { + console.error('Failed to fetch purchase history:', error); + } + }; + + // 恢复购买 + const restorePurchases = async () => { + try { + const purchases = await getAvailablePurchases(); + console.log('Available purchases:', purchases); + // Process and validate restored purchases + for (const purchase of purchases) { + await validateAndGrantPurchase(purchase); + } + alert(t('personal:rights.restoreSuccess')); + } catch (error) { + console.error('Restore failed:', error); + } + }; + + // 处理购买 + const handlePurchase = async (sku: string, transaction_id: string) => { + try { + // 支付中 + await payProcessing(transaction_id, "") + const res = await requestPurchase({ + request: { + ios: { + sku: payType, + andDangerouslyFinishTransactionAutomaticallyIOS: false, + }, + }, + }); + console.log('Purchase success:', res); + + // 支付成功 + await paySuccess(transaction_id, res?.transactionId || "") + } catch (error: any) { + console.log('Purchase failed:', error); + // 支付失败 + payFailure(transaction_id, ErrorCode[error?.code as keyof typeof ErrorCode || "E_UNKNOWN"]) + } + }; + + // 获取苹果订单信息 useEffect(() => { - getPAy(); + if (!connected) return; + + const initializeStore = async () => { + try { + await requestProducts({ skus: ["MEMBERSHIP_PRO_QUARTERLY", "MEMBERSHIP_PRO_YEARLY", "MEMBERSHIP_PRO_MONTH"], type: 'subs' }); + } catch (error) { + console.error('Failed to initialize store:', error); + } + }; + + initializeStore(); + }, [connected]); + + // 初始化获取产品项 + useEffect(() => { + setLoading(true); + getPAy().then(({ bestValue, payInfo }) => { + setPayType(bestValue?.product_code) + setPremiumPay([bestValue, ...payInfo?.filter((item) => item.product_code !== bestValue?.product_code)]); + setLoading(false); + }).catch(() => { + setLoading(false); + }) }, []); + // 用户确认购买时,进行 创建订单,创建支付 接口调用 + const confirmPurchase = async () => { + if (!agree) { + alert(t('personal:rights.agreementError')); + return + } + setConfirmLoading(true); + const history = await fetchPurchaseHistory() + const historyIds = history?.filter((item: any) => isOrderExpired(item?.expirationDateIos))?.map((i) => { return i?.id }) + if (historyIds?.includes(payType)) { + setConfirmLoading(false); + setTimeout(() => { + alert(t('personal:rights.againError')); + }, 0); + return + } + + try { + // 创建订单 + createOrder(premiumPay?.filter((item) => item.product_code === payType)?.[0]?.id || 1, 1).then((res: CreateOrder) => { + // 创建支付 + createPayment(res?.id || "", payChoice).then(async (res) => { + // 苹果支付 + await handlePurchase(payType, res?.transaction_id || "") + setConfirmLoading(false); + }).catch((err) => { + console.log("createPayment", err); + setConfirmLoading(false); + }) + }).catch((err) => { + console.log("createOrder", err); + setConfirmLoading(false); + }) + } catch (error) { + console.log("confirmPurchase", error); + setConfirmLoading(false); + } + }; + + useEffect(() => { + if (pro === "Pro") { + setUserType('premium') + } else { + setUserType('normal') + } + }, [pro]) + + useEffect(() => { + fetchPurchaseHistory() + }, []) + return ( + {/* 整个页面的中间添加一个loading */} + {confirmLoading && ( + + + + + {t('personal:rights.confirmLoading')} + + + + )} {/* 导航栏 */} - { router.push('/owner') }} style={{ padding: 16 }}> + { router.push('/owner'); setConfirmLoading(false) }} style={{ padding: 16 }}> @@ -99,8 +248,10 @@ export default function Rights() { {/* 普通权益 */} {/* 会员权益 */} - + + {/* 支付方式 */} + {/* */} {/* 会员权益信息 */} @@ -109,6 +260,7 @@ export default function Rights() { {/* 付费按钮 */} + + { setAgree(!agree) }} activeOpacity={0.8}> + + {agree && } + + + + + {t('personal:rights.agreement')} + + { + setShowTerms(true); + }} + activeOpacity={0.8} + > + + {t('personal:rights.membership')} + + + + { - setUserType('premium'); + confirmPurchase() }} activeOpacity={0.8} > @@ -129,24 +303,62 @@ export default function Rights() { {t('rights.subscribe', { ns: 'personal' })} - { - setShowTerms(true); - }} - activeOpacity={0.8} - > - - {t('rights.terms', { ns: 'personal' })} - - + {/* 协议弹窗 */} - + ); } const styles = StyleSheet.create({ + agree: { + width: 15, + height: 15, + borderRadius: 15, + alignItems: 'center', + justifyContent: 'center', + borderColor: '#AC7E35', + borderWidth: 1, + }, + loadingContent: { + justifyContent: 'center', + alignItems: 'center', + backgroundColor: '#fff', + borderRadius: 12, + padding: 16, + }, + loadingContainer: { + justifyContent: 'center', + alignItems: 'center', + position: 'absolute', + left: 0, + right: 0, + bottom: 0, + zIndex: 9, + backgroundColor: 'rgba(255, 255, 255, 0.5)', + }, + payChoice: { + width: 20, + height: 20, + borderRadius: 15, + alignItems: 'center', + justifyContent: 'center', + }, + paymentMethod: { + marginHorizontal: 16, + marginVertical: 16, + borderRadius: 12, + backgroundColor: '#fff', + shadowColor: '#000', + shadowOffset: { + width: 0, + height: 2, + }, + shadowOpacity: 0.25, + shadowRadius: 5, + elevation: 5, + }, goPay: { backgroundColor: '#E2793F', borderRadius: 24, @@ -243,3 +455,6 @@ const styles = StyleSheet.create({ lineHeight: 32 } }); +function validateAndGrantPurchase(purchase: ProductPurchase) { + throw new Error('Function not implemented.'); +} diff --git a/assets/icons/svg/choicePay.svg b/assets/icons/svg/choicePay.svg new file mode 100644 index 0000000..cd6758a --- /dev/null +++ b/assets/icons/svg/choicePay.svg @@ -0,0 +1,3 @@ + + + diff --git a/components/owner/qualification/privacy.tsx b/components/owner/qualification/privacy.tsx index 3540069..1d95722 100644 --- a/components/owner/qualification/privacy.tsx +++ b/components/owner/qualification/privacy.tsx @@ -3,10 +3,25 @@ import { Policy } from '@/types/personal-info'; import React, { useEffect, useState } from 'react'; import { Modal, ScrollView, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import RenderHtml from 'react-native-render-html'; +import { useSafeAreaInsets } from "react-native-safe-area-context"; -const PrivacyModal = (props: { modalVisible: boolean, setModalVisible: (visible: boolean) => void, type: string }) => { - const { modalVisible, setModalVisible, type } = props; +interface PrivacyModalProps { + modalVisible: boolean; + setModalVisible: (visible: boolean) => void; + type: 'ai' | 'terms' | 'privacy' | 'user' | 'membership'; +} + +const titleMap = { + ai: 'AI Policy', + terms: 'Terms of Service', + privacy: 'Privacy Policy', + user: 'User Agreement', + membership: 'Membership Agreement' +}; + +const PrivacyModal = ({ modalVisible, setModalVisible, type }: PrivacyModalProps) => { const [article, setArticle] = useState({} as Policy); + const insets = useSafeAreaInsets(); useEffect(() => { const loadArticle = async () => { // ai协议 @@ -41,6 +56,14 @@ const PrivacyModal = (props: { modalVisible: boolean, setModalVisible: (visible: console.log(error) }) } + // 会员协议 + if (type === 'membership') { + fetchApi(`/system-config/policy/membership_agreement`).then((res: any) => { + setArticle(res) + }).catch((error: any) => { + console.log(error) + }) + } }; if (type) { loadArticle(); @@ -63,11 +86,13 @@ const PrivacyModal = (props: { modalVisible: boolean, setModalVisible: (visible: onRequestClose={() => { setModalVisible(!modalVisible); }}> - + Settings - {type === 'ai' ? 'AI Policy' : type === 'terms' ? 'Terms of Service' : type === 'privacy' ? 'Privacy Policy' : 'User Agreement'} + + {titleMap[type] || 'User Agreement'} + setModalVisible(false)}> × diff --git a/components/owner/rights/payType.tsx b/components/owner/rights/payType.tsx new file mode 100644 index 0000000..3aa909f --- /dev/null +++ b/components/owner/rights/payType.tsx @@ -0,0 +1,156 @@ +import ChoicePaySvg from '@/assets/icons/svg/choicePay.svg'; +import YesSvg from '@/assets/icons/svg/yes.svg'; +import { ThemedText } from '@/components/ThemedText'; +import React, { useEffect } from 'react'; +import { useTranslation } from 'react-i18next'; +import { Modal, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; + +interface Props { + modalVisible: boolean; + setModalVisible: (visible: boolean) => void; + payChoice: 'ApplePay'; + setPayChoice: (choice: 'ApplePay') => void; + setConfirmPay: (confirm: boolean) => void; +} + +const PayTypeModal = (props: Props) => { + const { modalVisible, setModalVisible, payChoice, setPayChoice, setConfirmPay } = props; + const { t } = useTranslation(); + + useEffect(() => { + if (modalVisible) { + setConfirmPay(false) + } + }, [modalVisible]); + + return ( + { + setModalVisible(!modalVisible); + }}> + + + + {t('personal:rights.payType')} + {t('personal:rights.payType')} + setModalVisible(false)}> + × + + + + { setPayChoice('ApplePay') }} + > + + + + {t('personal:rights.apple')} + + + + {payChoice === 'ApplePay' ? : null} + + + + + { + setConfirmPay(true); + setModalVisible(false) + }} + > + + {t('personal:rights.confirm')} + + + { setModalVisible(false) }} + > + + {t('personal:rights.cancel')} + + + + + + + ); +}; + +const styles = StyleSheet.create({ + modalTitle: { + fontSize: 20, + fontWeight: 'bold', + color: '#4C320C', + }, + footer: { + display: 'flex', + flexDirection: 'row', + justifyContent: 'flex-end', + alignItems: 'center', + gap: 16, + marginBottom: 32, + }, + button: { + paddingHorizontal: 16, + paddingVertical: 8, + borderRadius: 12, + alignItems: 'center', + }, + payChoice: { + width: 20, + height: 20, + borderRadius: 15, + alignItems: 'center', + justifyContent: 'center', + }, + paymentMethod: { + marginHorizontal: 16, + marginVertical: 16, + borderRadius: 12, + backgroundColor: '#fff', + shadowColor: '#000', + shadowOffset: { + width: 0, + height: 2, + }, + shadowOpacity: 0.25, + shadowRadius: 5, + elevation: 5, + }, + centeredView: { + flex: 1, + justifyContent: 'flex-end', + backgroundColor: 'rgba(0,0,0,0.5)', + }, + modalView: { + width: '100%', + backgroundColor: 'white', + borderTopLeftRadius: 20, + borderTopRightRadius: 20, + paddingHorizontal: 16, + }, + modalHeader: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + marginBottom: 20, + }, + modalTitle: { + fontSize: 20, + fontWeight: 'bold', + color: '#4C320C', + }, + closeButton: { + fontSize: 28, + color: '#4C320C', + padding: 10, + } +}); +export default PayTypeModal; \ No newline at end of file diff --git a/components/owner/rights/premium.tsx b/components/owner/rights/premium.tsx index 634f993..2a64dcc 100644 --- a/components/owner/rights/premium.tsx +++ b/components/owner/rights/premium.tsx @@ -11,6 +11,7 @@ interface Props { premiumPay: any; loading: boolean; setShowTerms: (visible: boolean) => void; + restorePurchases: () => void; } export interface PayItem { @@ -30,7 +31,7 @@ export interface PayItem { } const Premium = (props: Props) => { - const { style, payType, setPayType, premiumPay, loading, setShowTerms } = props; + const { style, payType, setPayType, premiumPay, loading, setShowTerms, restorePurchases } = props; const bestValue = maxDiscountProduct(premiumPay)?.product_code const { t } = useTranslation(); @@ -53,6 +54,7 @@ const Premium = (props: Props) => { onPress={async () => { setPayType(item?.product_code); }} + key={item?.product_code} style={[styles.yearly, { borderColor: payType === item?.product_code ? '#FFB645' : '#E1E1E1', opacity: payType === item?.product_code ? 1 : 0.5 }]} activeOpacity={0.8} > @@ -67,24 +69,26 @@ const Premium = (props: Props) => { {item.product_code?.split('_')[item.product_code?.split('_')?.length - 1]} - $ {item.unit_price.amount} + $ {(Number(item.unit_price.amount) - Number(item.discount_amount.amount)).toFixed(2)} - $ {item.discount_amount.amount} + $ {item.unit_price.amount} }) } - + - {t('rights.cancelAnytimeBeforeRenewal', { ns: 'personal' })} - - setShowTerms(true)}> - {t('rights.terms', { ns: 'personal' })} + {t('personal:rights.restorePurchase')} + + + {t('personal:rights.restore')} + + ); diff --git a/components/owner/rights/utils.ts b/components/owner/rights/utils.ts index b7e16c8..475475b 100644 --- a/components/owner/rights/utils.ts +++ b/components/owner/rights/utils.ts @@ -1,12 +1,100 @@ +import { fetchApi } from "@/lib/server-api-util"; +import { CreateOrder, PayOrder } from "@/types/personal-info"; import { PayItem } from "./premium"; // 使用 reduce 方法获取 discount_amount 的 amount 值最大的对象 export const maxDiscountProduct = (products: PayItem[]) => { + if (!products || products.length === 0) { + return products?.[0]; + } return products?.reduce((max, current) => { - // 将 amount 转换为数字进行比较 - const maxAmount = parseFloat(max.discount_amount.amount); - const currentAmount = parseFloat(current.discount_amount.amount); + const maxAmount = parseFloat(max.discount_amount?.amount || '0'); + const currentAmount = parseFloat(current.discount_amount?.amount || '0'); return currentAmount > maxAmount ? current : max; }); -} \ No newline at end of file +} + + +// 查看产品项 +export const getPAy = async () => { + const payInfo = await fetchApi(`/order/product-items?product_type=Membership`) + let bestValue = maxDiscountProduct(payInfo) + return { bestValue, payInfo } +} + +// 创建订单 +export const createOrder = async (id: number, quantity: number) => { + const order = await fetchApi(`/order/create`, { + method: 'POST', + body: JSON.stringify({ + items: [{ + product_item_id: id, + quantity: quantity + }] + }) + }) + return order +} + +// 创建支付 +export const createPayment = async (order_id: string, payment_method: string) => { + const payment = await fetchApi(`/order/pay`, { + method: 'POST', + body: JSON.stringify({ + order_id, + payment_method + }) + }) + return payment +} + +// 支付中 +export const payProcessing = async (transaction_id: string, third_party_transaction_id: string) => { + const payment = await fetchApi(`/order/pay-processing`, { + method: 'POST', + body: JSON.stringify({ + transaction_id + }) + }) + return payment +} + +// 支付失败 +export const payFailure = async (transaction_id: string, reason: string) => { + const payment = await fetchApi(`/order/pay-failure`, { + method: 'POST', + body: JSON.stringify({ + transaction_id, + reason + }) + }) + return payment +} + +// 支付成功 +export const paySuccess = async (transaction_id: string, third_party_transaction_id: string) => { + const payment = await fetchApi(`/order/pay-success`, { + method: 'POST', + body: JSON.stringify({ + transaction_id, + third_party_transaction_id + }) + }) + return payment +} + +// 判断订单是否过期 +/** +* 判断指定时间戳是否已过期(即当前时间是否已超过该时间戳) +* @param expirationTimestamp - 过期时间戳(单位:毫秒) +* @returns boolean - true: 未过期,false: 已过期 +*/ +export const isOrderExpired = async (transactionDate: number) => { + // 如果没有提供过期时间,视为无效或未设置,认为“已过期”或状态未知 + if (!transactionDate || isNaN(transactionDate)) { + return false; + } + const now = Date.now(); // 当前时间戳(毫秒) + return now < transactionDate; +} diff --git a/i18n/locales/en/personal.json b/i18n/locales/en/personal.json index d1f4bd4..62cb0cc 100644 --- a/i18n/locales/en/personal.json +++ b/i18n/locales/en/personal.json @@ -109,6 +109,19 @@ "bonus": "Enjoy 100 Bonus Credits Every Month", "bonusText": "Generate more memory pictures & videos and explore your past.", "storage": "10GB of Cloud Storage", - "storageText": "Safely store your cherished photos, videos, and generated memories." + "storageText": "Safely store your cherished photos, videos, and generated memories.", + "weChatPay": "WeChat", + "apple": "Apple Pay", + "confirm": "Confirm", + "cancel": "Cancel", + "confirmLoading": "Confirming...", + "againError": "You have already purchased this benefit, no need to purchase again", + "payType": "Pay Type", + "restoreSuccess": "Restore purchase successfully", + "restore": "restore purchase", + "restorePurchase": "Membership purchased but not active,please try to", + "agreement": "I have read and agree to", + "membership": "《Membership Agreement》", + "agreementError": "Please read and agree to the agreement" } } \ No newline at end of file diff --git a/i18n/locales/zh/personal.json b/i18n/locales/zh/personal.json index c2c740e..6ba9bab 100644 --- a/i18n/locales/zh/personal.json +++ b/i18n/locales/zh/personal.json @@ -109,6 +109,19 @@ "bonus": "每月享受100积分", "bonusText": "生成更多记忆照片和视频,探索你的过去。", "storage": "10GB的云存储", - "storageText": "安全存储你的珍贵照片、视频和生成的记忆。" + "storageText": "安全存储你的珍贵照片、视频和生成的记忆。", + "weChatPay": "微信支付", + "apple": "苹果支付", + "confirm": "确认", + "cancel": "取消", + "confirmLoading": "正在购买...", + "againError": "您已购买过该权益,无需重复购买", + "payType": "支付方式", + "restoreSuccess": "恢复购买成功", + "restore": "恢复购买", + "restorePurchase": "已购买会员,但未生效,请尝试", + "agreement": "我已阅读并同意", + "membership": "《会员协议》", + "agreementError": "请先阅读并同意协议" } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 21a7ef9..09db5d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "expo-audio": "~0.4.8", "expo-background-task": "^0.2.8", "expo-blur": "~14.1.5", + "expo-build-properties": "^0.14.8", "expo-clipboard": "~7.1.5", "expo-constants": "~17.1.6", "expo-dev-client": "~5.2.4", @@ -26,6 +27,7 @@ "expo-file-system": "~18.1.10", "expo-font": "~13.3.1", "expo-haptics": "~14.1.4", + "expo-iap": "^2.7.5", "expo-image-manipulator": "~13.1.7", "expo-image-picker": "~16.1.4", "expo-linear-gradient": "~14.1.5", @@ -8710,6 +8712,53 @@ "react-native": "*" } }, + "node_modules/expo-build-properties": { + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/expo-build-properties/-/expo-build-properties-0.14.8.tgz", + "integrity": "sha512-GTFNZc5HaCS9RmCi6HspCe2+isleuOWt2jh7UEKHTDQ9tdvzkIoWc7U6bQO9lH3Mefk4/BcCUZD/utl7b1wdqw==", + "license": "MIT", + "dependencies": { + "ajv": "^8.11.0", + "semver": "^7.6.0" + }, + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-build-properties/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/expo-build-properties/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/expo-build-properties/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/expo-clipboard": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/expo-clipboard/-/expo-clipboard-7.1.5.tgz", @@ -8879,6 +8928,17 @@ "expo": "*" } }, + "node_modules/expo-iap": { + "version": "2.7.5", + "resolved": "https://registry.npmjs.org/expo-iap/-/expo-iap-2.7.5.tgz", + "integrity": "sha512-+UMLBXKtyoVsfJMQxqGLv4qXeMZzFoOoDMRVJa8OYngDCqfIADkpyNb28HKNZdYiaa0Yq5LHYu42zNkD2m2w0Q==", + "license": "MIT", + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + } + }, "node_modules/expo-image-loader": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/expo-image-loader/-/expo-image-loader-5.1.0.tgz", diff --git a/package.json b/package.json index f0c441a..788a6a7 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "expo-audio": "~0.4.8", "expo-background-task": "^0.2.8", "expo-blur": "~14.1.5", + "expo-build-properties": "^0.14.8", "expo-clipboard": "~7.1.5", "expo-constants": "~17.1.6", "expo-dev-client": "~5.2.4", @@ -32,6 +33,7 @@ "expo-file-system": "~18.1.10", "expo-font": "~13.3.1", "expo-haptics": "~14.1.4", + "expo-iap": "^2.7.5", "expo-image-manipulator": "~13.1.7", "expo-image-picker": "~16.1.4", "expo-linear-gradient": "~14.1.5", diff --git a/types/personal-info.ts b/types/personal-info.ts index d1e77e0..317d5d2 100644 --- a/types/personal-info.ts +++ b/types/personal-info.ts @@ -51,4 +51,49 @@ export interface Policy { content: string, created_at: string, updated_at: string -} \ No newline at end of file +} + + +// 订单 +export interface Amount { + amount: string; + currency: string; +} + +export interface OrderItem { + discount_amount: Amount; + id: string; + product_code: string; + product_id: number; + product_name: string; + product_type: string; + quantity: number; + total_price: Amount; + unit_price: Amount; +} + +// 订单 +export interface CreateOrder { + created_at: string; + expired_at: string; + id: string; + items: OrderItem[]; + payment_info: any | null; // 使用 any 或更具体的类型 + status: string; + total_amount: Amount; + updated_at: string; + user_id: string; +} + +// 创建订单 +export interface PayOrder { + created_at: string; + id: string; + paid_at: string; + payment_amount: Amount; + payment_method: string; + payment_status: string; + third_party_transaction_id: string; + transaction_id: string; + updated_at: string; +} From 479eecdc95499e10bdb0687a680e67719d25dc6b Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Fri, 25 Jul 2025 19:45:10 +0800 Subject: [PATCH 17/68] =?UTF-8?q?feat:=20=E9=94=AE=E7=9B=98=E5=94=A4?= =?UTF-8?q?=E8=B5=B7bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/_layout.tsx | 5 + app/(tabs)/ask.tsx | 236 +++++++---- app/(tabs)/memo-list.tsx | 588 +++++++++++++++------------- components/ask/chat.tsx | 51 +-- components/ask/send.tsx | 26 +- components/common/ErrorBoundary.tsx | 92 +++++ components/layout/ask.tsx | 210 +++++++--- components/memo/SkeletonItem.tsx | 49 +++ i18n/locales/en/ask.json | 10 +- i18n/locales/zh/ask.json | 10 +- lib/prefetch.ts | 76 ++++ 11 files changed, 879 insertions(+), 474 deletions(-) create mode 100644 components/common/ErrorBoundary.tsx create mode 100644 components/memo/SkeletonItem.tsx create mode 100644 lib/prefetch.ts diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index 1482286..843e35c 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -4,6 +4,7 @@ import { requestNotificationPermission } from '@/components/owner/utils'; import TabBarBackground from '@/components/ui/TabBarBackground'; import { Colors } from '@/constants/Colors'; import { useColorScheme } from '@/hooks/useColorScheme'; +import { prefetchChats } from '@/lib/prefetch'; import { fetchApi } from '@/lib/server-api-util'; import * as Notifications from 'expo-notifications'; import { Tabs } from 'expo-router'; @@ -163,6 +164,10 @@ export default function TabLayout() { }; }, [token]); // 添加token作为依赖 + useEffect(() => { + prefetchChats().catch(console.error); + }, []); + return ( { - checkAuthStatus(router); - }, []); - // 在组件内部添加 ref - const scrollViewRef = useRef(null); + + const chatListRef = useRef(null); const [isHello, setIsHello] = useState(true); const [conversationId, setConversationId] = useState(null); const [userMessages, setUserMessages] = useState([]); - // 选择图片 const [selectedImages, setSelectedImages] = useState([]); - // 动画值 const fadeAnim = useRef(new Animated.Value(1)).current; const fadeAnimChat = useRef(new Animated.Value(0)).current; @@ -40,14 +36,48 @@ export default function AskScreen() { newSession: string; }>(); - // 处理滚动到底部 - useEffect(() => { - if (scrollViewRef.current && !isHello) { - scrollViewRef.current.scrollToEnd({ animated: true }); + // 创建一个可复用的滚动函数 + const scrollToEnd = useCallback((animated = true) => { + if (chatListRef.current) { + setTimeout(() => chatListRef.current?.scrollToEnd({ animated }), 100); } - }, [userMessages, isHello]); + }, []); + + useEffect(() => { + if (!isHello && userMessages.length > 0) { + scrollToEnd(); + } + }, [userMessages, isHello, scrollToEnd]); + + useEffect(() => { + const keyboardDidShowListener = Keyboard.addListener( + 'keyboardDidShow', + (e) => { + setTimeout(() => { + if (!isHello) { + scrollToEnd(); + } + }, 100); + } + ); + + const keyboardDidHideListener = Keyboard.addListener( + 'keyboardDidHide', + () => { + setTimeout(() => { + if (!isHello) { + scrollToEnd(false); + } + }, 100); + } + ); + + return () => { + keyboardDidShowListener.remove(); + keyboardDidHideListener.remove(); + }; + }, [isHello]); - // 处理路由参数 useEffect(() => { if (sessionId) { setConversationId(sessionId); @@ -56,16 +86,14 @@ export default function AskScreen() { setUserMessages(res); }); } - // if (newSession) { - // setIsHello(false); - // createNewConversation(); - // } - }, [sessionId]); + if (newSession) { + setIsHello(true); + setConversationId(null); + } + }, [sessionId, newSession]); - // 动画效果 useEffect(() => { if (isHello) { - // 显示欢迎页,隐藏聊天页 Animated.parallel([ Animated.timing(fadeAnim, { toValue: 1, @@ -79,29 +107,74 @@ export default function AskScreen() { }) ]).start(); } else { - // 显示聊天页,隐藏欢迎页 Animated.parallel([ Animated.timing(fadeAnim, { toValue: 0, - duration: 1000, + duration: 300, useNativeDriver: true, }), Animated.timing(fadeAnimChat, { toValue: 1, - duration: 1000, + duration: 300, + duration: 300, useNativeDriver: true, }) - ]).start(); + ]).start(() => { + setTimeout(() => { + if (!isHello) { + scrollToEnd(false); + } + }, 50); + }); } }, [isHello, fadeAnim, fadeAnimChat]); + useEffect(() => { + if (!isHello) { + const timer = setTimeout(() => { + scrollToEnd(false); + }, 300); + return () => clearTimeout(timer); + } + }, [isHello]); + + useEffect(() => { + const timer = setTimeout(() => { + if (!isHello) { + try { + if (TextInput.State?.currentlyFocusedInput) { + const input = TextInput.State.currentlyFocusedInput(); + if (input) input.blur(); + } + } catch (error) { + console.log('失去焦点失败:', error); + } + + scrollToEnd(false); + } + }, 200); + + return () => clearTimeout(timer); + }, [isHello]); + return ( {/* 导航栏 */} router.push('/memo-list')} + onPress={() => { + try { + if (TextInput.State?.currentlyFocusedInput) { + const input = TextInput.State.currentlyFocusedInput(); + if (input) input.blur(); + } + } catch (error) { + console.log('失去焦点失败:', error); + } + Keyboard.dismiss(); + router.push('/memo-list'); + }} > @@ -109,64 +182,69 @@ export default function AskScreen() { + + {/* 欢迎页面 */} + + + + + {/* 聊天页面 */} + + scrollToEnd()} + /> + + + + {/* 输入框区域 */} - - {/* 欢迎页面 */} - - - - - {/* 聊天页面 */} - - - - - - {/* 输入框 */} - + keyboardVerticalOffset={0} > + - + ); } const styles = StyleSheet.create({ container: { flex: 1, - backgroundColor: 'white', + backgroundColor: '#f8f8f8', }, navbar: { flexDirection: 'row', @@ -174,11 +252,8 @@ const styles = StyleSheet.create({ justifyContent: 'space-between', paddingVertical: 16, paddingHorizontal: 16, - backgroundColor: 'white', - // 使用 border 替代阴影 borderBottomWidth: 1, borderBottomColor: 'rgba(0,0,0,0.1)', - // 如果需要更柔和的边缘,可以添加一个微妙的阴影 elevation: 1, // Android shadowColor: '#000', shadowOffset: { width: 0, height: 1 }, @@ -202,23 +277,24 @@ const styles = StyleSheet.create({ placeholder: { width: 40, }, - // 更新 keyboardAvoidingView 和 contentContainer 样式 - keyboardAvoidingView: { - flex: 1, - }, contentContainer: { flex: 1, - justifyContent: 'center', - paddingBottom: 20, + position: 'relative' }, absoluteView: { - position: 'absolute', // 保持绝对定位 + position: 'absolute', top: 0, left: 0, right: 0, bottom: 0, backgroundColor: 'white', }, + chatContainer: { + flex: 1, + }, + chatContentContainer: { + paddingBottom: 20, + }, inputContainer: { padding: 16, paddingBottom: 24, diff --git a/app/(tabs)/memo-list.tsx b/app/(tabs)/memo-list.tsx index 5ceb55a..6c02fb9 100644 --- a/app/(tabs)/memo-list.tsx +++ b/app/(tabs)/memo-list.tsx @@ -1,340 +1,364 @@ -import ChatSvg from "@/assets/icons/svg/chat.svg"; -import UploaderProgress from "@/components/file-upload/upload-progress/uploader-progress"; -import AskNavbar from "@/components/layout/ask"; -import { useUploadManager } from "@/hooks/useUploadManager"; -import { fetchApi } from "@/lib/server-api-util"; -import { useAppSelector } from "@/store"; -import { Chat } from "@/types/ask"; -import { router, useFocusEffect } from "expo-router"; -import React from 'react'; -import { FlatList, Platform, RefreshControl, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; +import { Asset } from 'expo-asset'; +import { useRouter } from 'expo-router'; +import * as SplashScreen from 'expo-splash-screen'; +import React, { useCallback, useEffect, useRef, useState } from 'react'; +import { FlatList, InteractionManager, PixelRatio, Platform, RefreshControl, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; -const MemoList = () => { - const insets = useSafeAreaInsets(); - const uploadSessionStartTime = useAppSelector((state) => state.appState.uploadSessionStartTime); +// 懒加载组件 +const ChatSvg = React.lazy(() => import('@/assets/icons/svg/chat.svg')); +const AskNavbar = React.lazy(() => import('@/components/layout/ask')); +const UploaderProgress = React.lazy(() => import('@/components/file-upload/upload-progress/uploader-progress')); +const SkeletonItem = React.lazy(() => import('@/components/memo/SkeletonItem')); +const ErrorBoundary = React.lazy(() => import('@/components/common/ErrorBoundary')); - // 历史消息 - const [historyList, setHistoryList] = React.useState([]); - // 刷新状态 - const [refreshing, setRefreshing] = React.useState(false); +// 类型定义 +import { useUploadManager } from '@/hooks/useUploadManager'; +import { getCachedData, prefetchChatDetail, prefetchChats } from '@/lib/prefetch'; +import { fetchApi } from '@/lib/server-api-util'; +import { Chat } from '@/types/ask'; +import { useTranslation } from 'react-i18next'; - // 获取历史消息 - const getHistoryList = async () => { - try { - setRefreshing(true); - const res = await fetchApi(`/chats`); - setHistoryList(res); - } catch (error) { - console.error('Failed to fetch history:', error); - } finally { - setRefreshing(false); - } +// 预加载资源 +const preloadAssets = async () => { + try { + await Asset.loadAsync([ + require('@/assets/icons/svg/chat.svg'), + ]); + } catch (error) { + // console.error('资源预加载失败:', error); } +}; - // 获取对话历史消息 - const getChatHistory = async (id: string) => { - // 跳转到聊天页面,并携带参数 +// 骨架屏占位 +const SkeletonList = () => ( + + {Array(5).fill(0).map((_, index) => ( + + + + ))} + +); + +const MemoList = () => { + const router = useRouter(); + const insets = useSafeAreaInsets(); + const [isMounted, setIsMounted] = useState(false); + const [historyList, setHistoryList] = useState([]); + const [isRefreshing, setIsRefreshing] = useState(false); + const [isLoading, setIsLoading] = useState(true); + const flatListRef = useRef(null); + const { t } = useTranslation(); + + // 从缓存或API获取数据 + const fetchHistoryList = useCallback(async (forceRefresh = false) => { + try { + setIsLoading(true); + + // 先检查缓存 + const cachedData = getCachedData('/chats'); + if (cachedData && !forceRefresh) { + setHistoryList(cachedData); + } + + // 总是从服务器获取最新数据 + const data = await fetchApi('/chats'); + setHistoryList(data); + + // 预加载第一个聊天的详情 + if (data.length > 0) { + InteractionManager.runAfterInteractions(() => { + prefetchChatDetail(data[0].session_id).catch(console.error); + }); + } + + return data; + } catch (error) { + console.error('获取历史记录失败:', error); + throw error; + } finally { + setIsLoading(false); + setIsRefreshing(false); + } + }, []); + + // 处理下拉刷新 + const handleRefresh = useCallback(() => { + if (isRefreshing) return; + + setIsRefreshing(true); + fetchHistoryList(true).finally(() => { + setIsRefreshing(false); + }); + }, [fetchHistoryList, isRefreshing]); + + // 处理聊天项点击 + const handleMemoPress = useCallback((item: Chat) => { router.push({ pathname: '/ask', - params: { - sessionId: id, - } + params: { sessionId: item.session_id }, }); + }, [router]); - } + // 初始加载和预加载 + useEffect(() => { + let isActive = true; - const handleMemoPress = (item: Chat) => { - getChatHistory(item.session_id) - } + const initialize = async () => { + try { + // 并行预加载资源和数据 + await Promise.all([ + preloadAssets(), + prefetchChats().then((data) => { + if (isActive && data) { + setHistoryList(data as Chat[]); + } + }), + ]); - useFocusEffect( - React.useCallback(() => { - getHistoryList() - }, []) - ); + // 主数据加载 + await fetchHistoryList(); + } catch (error) { + console.error('初始化失败:', error); + } finally { + if (isActive) { + setIsMounted(true); + // 延迟隐藏启动画面 + setTimeout(SplashScreen.hideAsync, 500); + } + } + }; + initialize(); - const { progressInfo, uploadSessionStartTime: uploadSessionStartTimeFromHook } = useUploadManager(); + return () => { + isActive = false; + }; + }, [fetchHistoryList]); - const renderHeader = () => ( - <> - {/* {process.env.NODE_ENV === 'development' && router.push('/debug')} - > - - 进入db调试页面 - - } */} - - {/* 顶部标题和上传按钮 */} - - Memo List - - - {/* 上传进度展示区域 */} - {uploadSessionStartTime && progressInfo.total > 0 && ( - - ( + handleMemoPress(item)} + activeOpacity={0.7} + > + + }> + - - )} - - ); + + + + + {item.title || t('ask:ask.unNamed')} + + + {item.latest_message?.content?.text || t('ask:ask.noMessage')} + + + + ), [handleMemoPress]); + + // 渲染列表头部 + const renderHeader = useCallback(() => ( + + + {t('ask:ask.memoList')} + + + {/* 上传进度 */} + + + + + ), [insets.top]); + + // 上传进度组件 + const UploadProgressSection = () => { + const { progressInfo, uploadSessionStartTime } = useUploadManager(); + + if (!uploadSessionStartTime || progressInfo.total <= 0) { + return null; + } + + return ( + + + + ); + }; + + // 空状态 + const renderEmptyComponent = useCallback(() => ( + + {t('ask:ask.noChat')} + + + {isRefreshing ? t('ask:ask.loading') : t('ask:ask.refresh')} + + + + ), [handleRefresh, isRefreshing]); + + // 如果组件未完全加载,显示骨架屏 + if (!isMounted) { + return ( + + + + + + + ); + } return ( - - {/* - - */} + + + item.session_id} + ListHeaderComponent={renderHeader} + ListEmptyComponent={!isLoading ? renderEmptyComponent : null} + refreshControl={ + + } + initialNumToRender={10} + maxToRenderPerBatch={5} + updateCellsBatchingPeriod={50} + windowSize={11} // 5 screens in each direction (5 + 1 + 5) + removeClippedSubviews={Platform.OS === 'android'} + getItemLayout={(data, index) => ({ + length: 80, + offset: 80 * index, + index, + })} + contentContainerStyle={styles.listContent} + ItemSeparatorComponent={() => } + /> - {/* 历史对话 */} - item.session_id} - // 下拉刷新 - refreshControl={ - - } - ItemSeparatorComponent={() => ( - - )} - getItemLayout={(data, index) => ( - { length: 80, offset: 80 * index, index } - )} - renderItem={({ item }) => ( - handleMemoPress(item)} - > - - - - - - {item.title || 'memo list 历史消息'} - - - {item.latest_message?.content?.text || 'memo list 历史消息'} - - - - )} - /> - {/* 底部导航栏 */} - - + {/* 底部导航栏 */} + + + + + ); }; +// 使用React.memo优化组件 +const MemoizedMemoList = React.memo(MemoList); + +export default MemoizedMemoList; + const styles = StyleSheet.create({ - separator: { - height: 1, - backgroundColor: '#f0f0f0', - marginLeft: 60, // 与头像对齐 - }, container: { flex: 1, - backgroundColor: 'white', + backgroundColor: '#fff', }, - header: { - flexDirection: 'row', - alignItems: 'center', - justifyContent: 'center', - padding: 16, + headerContainer: { + paddingBottom: 16, + backgroundColor: '#fff', }, title: { - fontSize: 24, + fontSize: 20, fontWeight: 'bold', color: '#4C320C', + textAlign: 'center', + marginBottom: 16, }, - uploadButton: { - padding: 8, + listContent: { + paddingBottom: Platform.select({ + ios: 30, + android: 20, + }), }, - searchContainer: { - flexDirection: 'row', - alignItems: 'center', - backgroundColor: '#FFF', - borderRadius: 20, - marginHorizontal: 16, - paddingHorizontal: 16, - height: 48, - shadowColor: '#000', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.1, - shadowRadius: 4, - elevation: 2, - }, - searchIcon: { - marginRight: 8, + skeletonContainer: { + flex: 1, + backgroundColor: '#fff', + paddingTop: 20, }, memoItem: { flexDirection: 'row', - borderRadius: 0, // 移除圆角 - padding: 16, - marginBottom: 0, // 移除底部边距 alignItems: 'center', - gap: 16, - backgroundColor: 'white', + padding: 16, + backgroundColor: '#fff', }, - avatar: { - width: 60, - height: 60, - borderRadius: 30, - marginRight: 16, + placeholderIcon: { + width: 48, + height: 48, + backgroundColor: '#f0f0f0', + borderRadius: 24, }, memoContent: { flex: 1, marginLeft: 12, - gap: 6, justifyContent: 'center', - minWidth: 0, // 这行很重要,确保文本容器可以收缩到比内容更小 }, memoTitle: { fontSize: 16, fontWeight: '500', - color: '#333', - flex: 1, // 或者 flexShrink: 1 - marginLeft: 12, + color: '#4C320C', + marginBottom: 4, }, memoSubtitle: { fontSize: 14, - color: '#666', + color: '#AC7E35', }, - tabBar: { - flexDirection: 'row', - justifyContent: 'space-around', - alignItems: 'center', - backgroundColor: '#FFF', - borderTopWidth: 1, - borderTopColor: '#EEE', - paddingVertical: 12, + separator: { + height: 1 / PixelRatio.get(), + backgroundColor: '#f0f0f0', + marginLeft: 60, }, - tabBarSvg: { - color: 'red', - }, - tabItem: { + emptyContainer: { flex: 1, - alignItems: 'center', - }, - tabCenter: { - width: 60, - height: 60, - alignItems: 'center', - justifyContent: 'center', - }, - centerTabIcon: { - width: 50, - height: 50, - borderRadius: 25, - backgroundColor: '#FF9500', justifyContent: 'center', alignItems: 'center', - marginTop: -30, + padding: 40, }, - centerTabImage: { - width: 40, - height: 40, + emptyText: { + fontSize: 16, + color: '#999', + marginBottom: 20, + }, + refreshButton: { + backgroundColor: '#FFB645', + paddingHorizontal: 24, + paddingVertical: 10, borderRadius: 20, }, - // 在 tabBarContainer 样式中添加 - tabBarContainer: { - position: 'relative', - paddingBottom: 0, - overflow: 'visible', - marginTop: 10, // 添加一些上边距 + refreshText: { + color: '#fff', + fontSize: 14, + fontWeight: '500', }, - tabBarContent: { - flexDirection: 'row', - justifyContent: 'space-around', - alignItems: 'center', - height: 60, - position: 'relative', - backgroundColor: 'rgba(255, 255, 255, 0.7)', // 半透明白色背景 - borderRadius: 30, // 圆角 - marginHorizontal: 16, // 左右边距 - // 添加边框效果 - borderWidth: 1, - borderColor: 'rgba(255, 255, 255, 0.8)', - // 添加阴影 - ...Platform.select({ - ios: { - shadowColor: 'rgba(0, 0, 0, 0.1)', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.8, - shadowRadius: 4, - }, - android: { - elevation: 8, - }, - }), - }, - // 移除之前的 tabBarBackground 样式 - // 修改 centerTabShadow 样式 - centerTabShadow: { - position: 'absolute', - bottom: 15, - width: 60, - height: 60, - borderRadius: 30, - backgroundColor: 'white', - ...Platform.select({ - ios: { - shadowColor: 'rgba(0, 0, 0, 0.2)', - shadowOffset: { width: 0, height: 4 }, - shadowOpacity: 0.3, - shadowRadius: 6, - }, - android: { - elevation: 10, - }, - }), - }, - centerTabContainer: { - flex: 1, - alignItems: 'center', - position: 'relative', - height: '100%', - }, - centerTabButton: { - width: '100%', - height: '100%', - borderRadius: 30, - backgroundColor: '#FF9500', - justifyContent: 'center', - alignItems: 'center', - }, - notificationDot: { - position: 'absolute', - top: -2, - right: -4, - width: 10, - height: 10, - borderRadius: 5, - backgroundColor: '#FF3B30', - }, -}); - -export default MemoList; \ No newline at end of file +}); \ No newline at end of file diff --git a/components/ask/chat.tsx b/components/ask/chat.tsx index 8fd14a0..9a65dc5 100644 --- a/components/ask/chat.tsx +++ b/components/ask/chat.tsx @@ -1,76 +1,55 @@ import { Message, Video } from '@/types/ask'; import { MaterialItem } from '@/types/personal-info'; -import React, { Dispatch, memo, SetStateAction, useCallback, useEffect, useMemo, useRef, useState } from 'react'; +import React, { Dispatch, ForwardedRef, forwardRef, memo, SetStateAction, useCallback, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { FlatList, + FlatListProps, SafeAreaView } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; import MessageItem from './aiChat'; -interface ChatProps { +// 继承 FlatListProps 来接收所有 FlatList 的属性 +interface ChatProps extends Omit, 'data' | 'renderItem'> { userMessages: Message[]; sessionId: string; setSelectedImages: Dispatch>; selectedImages: string[]; } -function ChatComponent({ userMessages, sessionId, setSelectedImages, selectedImages }: ChatProps) { - const flatListRef = useRef(null); +function ChatComponent( + { userMessages, sessionId, setSelectedImages, selectedImages, ...restProps }: ChatProps, + ref: ForwardedRef> +) { const insets = useSafeAreaInsets(); const [modalVisible, setModalVisible] = React.useState({ visible: false, data: {} as Video | MaterialItem }); const { t } = useTranslation(); - // 使用 useCallback 缓存 keyExtractor 函数 const keyExtractor = useCallback((item: Message) => `${item.role}-${item.timestamp}`, []); - // 使用 useMemo 缓存样式对象 - const contentContainerStyle = useMemo(() => ({ padding: 16 }), []); + const contentContainerStyle = useMemo(() => ({ padding: 16, flexGrow: 1 }), []); - // 详情弹窗 const [modalDetailsVisible, setModalDetailsVisible] = useState(false); - // 自动滚动到底部 - useEffect(() => { - if (userMessages.length > 0) { - // 延迟滚动以确保渲染完成 - const timer = setTimeout(() => { - flatListRef.current?.scrollToEnd({ animated: true }); - }, 150); - return () => clearTimeout(timer); - } - }, [userMessages]); - - // 优化 FlatList 性能 - 提供 getItemLayout 方法 - const getItemLayout = useCallback((data: Message[] | null | undefined, index: number) => { - // 假设每个消息项的高度大约为 100(可根据实际情况调整) - const averageItemHeight = 100; - return { - length: averageItemHeight, - offset: averageItemHeight * index, - index, - }; - }, []); - return ( - + MessageItem({ t, setSelectedImages, selectedImages, insets, item, sessionId, modalVisible, setModalVisible, setModalDetailsVisible, modalDetailsVisible })} contentContainerStyle={contentContainerStyle} keyboardDismissMode="interactive" + keyboardShouldPersistTaps="handled" removeClippedSubviews={true} maxToRenderPerBatch={10} updateCellsBatchingPeriod={50} initialNumToRender={10} windowSize={11} - getItemLayout={getItemLayout} - renderItem={({ item }) => MessageItem({ t, setSelectedImages, selectedImages, insets, item, sessionId, modalVisible, setModalVisible, setModalDetailsVisible, modalDetailsVisible })} + {...restProps} // 将所有其他属性传递给 FlatList /> ); } -// 使用 React.memo 包装组件,避免不必要的重渲染 -export default memo(ChatComponent); \ No newline at end of file +export default memo(forwardRef(ChatComponent)); \ No newline at end of file diff --git a/components/ask/send.tsx b/components/ask/send.tsx index 6dea33e..ab9793e 100644 --- a/components/ask/send.tsx +++ b/components/ask/send.tsx @@ -85,28 +85,34 @@ export default function SendMessage(props: Props) { } // 将输入框清空 setInputValue(''); + // 关闭键盘 + Keyboard.dismiss(); } } useEffect(() => { const keyboardWillShowListener = Keyboard.addListener( 'keyboardWillShow', () => { - console.log('Keyboard will show'); - setIsHello(false); - setUserMessages([{ - content: { - text: "快来寻找你的记忆吧。。。" - }, - role: 'Assistant', - timestamp: new Date().toISOString() - }]) + if (!conversationId) { + console.log('Keyboard will show'); + setIsHello(false); + setUserMessages([{ + content: { + text: "快来寻找你的记忆吧。。。" + }, + role: 'Assistant', + timestamp: new Date().toISOString() + }]) + } else { + + } } ); return () => { keyboardWillShowListener.remove(); }; - }, []); + }, [conversationId]); return ( diff --git a/components/common/ErrorBoundary.tsx b/components/common/ErrorBoundary.tsx new file mode 100644 index 0000000..d3111af --- /dev/null +++ b/components/common/ErrorBoundary.tsx @@ -0,0 +1,92 @@ +import React from 'react'; +import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'; + +interface ErrorBoundaryProps { + children: React.ReactNode; + fallback?: React.ReactNode; +} + +interface ErrorBoundaryState { + hasError: boolean; + error?: Error; +} + +const translations = { + error: 'Error', + issue: 'An issue occurred', + retry: 'Retry' +}; + +class ErrorBoundary extends React.Component { + constructor(props: ErrorBoundaryProps) { + super(props); + this.state = { hasError: false }; + } + + static getDerivedStateFromError(error: Error): ErrorBoundaryState { + return { hasError: true, error }; + } + + componentDidCatch(error: Error, errorInfo: React.ErrorInfo) { + console.error('ErrorBoundary caught an error:', error, errorInfo); + } + + handleRetry = () => { + this.setState({ hasError: false, error: undefined }); + }; + + render() { + if (this.state.hasError) { + if (this.props.fallback) { + return this.props.fallback; + } + + return ( + + {translations.error} + + {this.state.error?.message || translations.issue} + + + {translations.retry} + + + ); + } + + return this.props.children; + } +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + padding: 20, + backgroundColor: '#fff', + }, + title: { + fontSize: 18, + fontWeight: '600', + marginBottom: 10, + color: '#333', + }, + error: { + color: '#ff4d4f', + marginBottom: 20, + textAlign: 'center', + }, + retryButton: { + backgroundColor: '#1890ff', + paddingHorizontal: 20, + paddingVertical: 10, + borderRadius: 4, + }, + retryText: { + color: '#fff', + fontSize: 16, + }, +}); + +export default ErrorBoundary; diff --git a/components/layout/ask.tsx b/components/layout/ask.tsx index 3a8445b..95e9716 100644 --- a/components/layout/ask.tsx +++ b/components/layout/ask.tsx @@ -3,87 +3,169 @@ import ChatNotInSvg from "@/assets/icons/svg/chatNotIn.svg"; import PersonInSvg from "@/assets/icons/svg/personIn.svg"; import PersonNotInSvg from "@/assets/icons/svg/personNotIn.svg"; import { router, usePathname } from "expo-router"; -import React from 'react'; -import { Dimensions, Image, Platform, TouchableOpacity, View } from 'react-native'; -import { Circle, Ellipse, G, Mask, Path, Rect, Svg } from 'react-native-svg'; +import React, { useCallback, useEffect, useMemo } from 'react'; +import { Dimensions, Image, StyleSheet, TouchableOpacity, View } from 'react-native'; +import Svg, { Circle, Ellipse, G, Mask, Path, Rect } from "react-native-svg"; + +// 使用 React.memo 包装 SVG 组件,避免不必要的重渲染 +const TabIcon = React.memo(({ isActive, ActiveIcon, InactiveIcon }: { + isActive: boolean; + ActiveIcon: React.FC<{ width: number; height: number }>; + InactiveIcon: React.FC<{ width: number; height: number }>; +}) => { + const Icon = isActive ? ActiveIcon : InactiveIcon; + return ; +}); + +// 提取 SVG 组件,避免重复渲染 +const CenterButtonSvg = React.memo(() => ( + + + + + + + + + + + + + + + + + + + + +)); const AskNavbar = () => { // 获取设备尺寸 - const { width } = Dimensions.get('window'); - // 获取路由 + const { width } = useMemo(() => Dimensions.get('window'), []); const pathname = usePathname(); - return ( - { + const preloadPages = async () => { + try { + await Promise.all([ + router.prefetch('/memo-list'), + router.prefetch('/ask'), + router.prefetch('/owner') + ]); + } catch (error) { + console.warn('预加载页面失败:', error); + } + }; + preloadPages(); + }, []); + + // 使用 useCallback 缓存导航函数 + const navigateTo = useCallback((route: string) => { + if (route === '/ask') { + router.push({ + pathname: '/ask', + params: { newSession: "true" } + }); + } else { + router.push(route as any); + } + }, []); + + // 使用 useMemo 缓存样式对象 + const styles = useMemo(() => StyleSheet.create({ + container: { + position: 'absolute', + bottom: 0, + left: 0, + right: 0, + backgroundColor: 'white', shadowColor: '#000', - shadowOffset: { width: 0, height: -4 }, // Negative height for bottom shadow + shadowOffset: { width: 0, height: -4 }, shadowOpacity: 0.1, shadowRadius: 8, - elevation: 10, // For Android - }}> - {/* */} + elevation: 10, + }, + backgroundImage: { + width, + height: 80, + resizeMode: 'cover' + }, + navButton: { + width: width / 2, // 半屏宽度 + height: 80, // 与 navbar 高度相同 + justifyContent: 'center', + alignItems: 'center' + }, + navContainer: { + position: 'absolute', + bottom: 0, + left: 0, + right: 0, + height: 80, // Set a fixed height for the navbar + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + paddingHorizontal: 32, + backgroundColor: 'transparent', // Make sure it's transparent + }, + centerButton: { + position: 'absolute', + left: width / 2, + top: -42.5, // Adjust this value to move the button up or down + marginLeft: -42.5, // Half of the button width (85/2) + width: 85, + height: 85, + justifyContent: 'center', + alignItems: 'center', + shadowColor: '#FFB645', + shadowOffset: { width: 0, height: 4 }, + shadowOpacity: 0.3, + shadowRadius: 8, + elevation: 8, + borderRadius: 50, + backgroundColor: 'transparent', + zIndex: 10, + } + }), [width]); + + return ( + - - router.push('/memo-list')} style={{ padding: 16 }}> - {pathname === "/memo-list" ? : } + + navigateTo('/memo-list')} + style={[styles.navButton, { alignItems: "flex-start", paddingLeft: 16 }]} + > + { - router.push({ - pathname: '/ask', - params: { newSession: "true" } - }); - }} - className={`${Platform.OS === 'web' ? '-mt-[4rem]' : width <= 375 ? '-mt-[5rem]' : '-mt-[5rem]'}`} + onPress={() => navigateTo('/ask')} + style={styles.centerButton} > - - - - - - - - - - - - - - - - - - - - - - - - - - + - router.push('/owner')} style={{ padding: 16 }}> - - {pathname === "/owner" ? : } - {/* */} - + + navigateTo('/owner')} + style={styles.navButton} + > + ); }; -export default AskNavbar; \ No newline at end of file +export default React.memo(AskNavbar); \ No newline at end of file diff --git a/components/memo/SkeletonItem.tsx b/components/memo/SkeletonItem.tsx new file mode 100644 index 0000000..39c144f --- /dev/null +++ b/components/memo/SkeletonItem.tsx @@ -0,0 +1,49 @@ +import React from 'react'; +import { StyleSheet, View } from 'react-native'; + +const SkeletonItem = () => { + return ( + + + + + + + + ); +}; + +const styles = StyleSheet.create({ + container: { + flexDirection: 'row', + alignItems: 'center', + padding: 16, + backgroundColor: '#fff', + }, + avatar: { + width: 48, + height: 48, + borderRadius: 24, + backgroundColor: '#f0f0f0', + }, + content: { + flex: 1, + marginLeft: 12, + justifyContent: 'center', + }, + title: { + height: 16, + width: '60%', + backgroundColor: '#f0f0f0', + marginBottom: 8, + borderRadius: 4, + }, + subtitle: { + height: 14, + width: '80%', + backgroundColor: '#f5f5f5', + borderRadius: 4, + }, +}); + +export default React.memo(SkeletonItem); diff --git a/i18n/locales/en/ask.json b/i18n/locales/en/ask.json index 3031390..2d7159c 100644 --- a/i18n/locales/en/ask.json +++ b/i18n/locales/en/ask.json @@ -5,6 +5,14 @@ "ready": "Ready to wake up your memories?", "justAsk": "Just ask MeMo, let me bring them back to life!", "selectPhoto": "Select Photo", - "continueAsking": "Continue Asking" + "continueAsking": "Continue Asking", + "unNamed": "UnNamed", + "noMessage": "No Message", + "memoList": "Memo List", + "noChat": "No Chat", + "loading": "Loading...", + "refresh": "Refresh", + "error": "have some error", + "issue": "have some issue" } } \ No newline at end of file diff --git a/i18n/locales/zh/ask.json b/i18n/locales/zh/ask.json index 3031390..bc9a814 100644 --- a/i18n/locales/zh/ask.json +++ b/i18n/locales/zh/ask.json @@ -5,6 +5,14 @@ "ready": "Ready to wake up your memories?", "justAsk": "Just ask MeMo, let me bring them back to life!", "selectPhoto": "Select Photo", - "continueAsking": "Continue Asking" + "continueAsking": "Continue Asking", + "unNamed": "未命名对话", + "noMessage": "暂无消息", + "memoList": "对话记录", + "noChat": "暂无对话记录", + "loading": "加载中...", + "refresh": "刷新", + "error": "出错了", + "issue": "发生了一些问题" } } \ No newline at end of file diff --git a/lib/prefetch.ts b/lib/prefetch.ts new file mode 100644 index 0000000..002e863 --- /dev/null +++ b/lib/prefetch.ts @@ -0,0 +1,76 @@ +import { fetchApi } from './server-api-util'; + +// 全局缓存对象 +const cache: Record = {}; +const CACHE_DURATION = 5 * 60 * 1000; // 5分钟缓存时间 + +/** + * 预取数据并缓存 + * @param url API地址 + * @param forceRefresh 是否强制刷新缓存 + * @returns 返回Promise,解析为获取到的数据 + */ +export const prefetchData = async (url: string, forceRefresh = false): Promise => { + const now = Date.now(); + + // 检查缓存是否存在且未过期 + if (!forceRefresh && cache[url] && (now - cache[url].timestamp < CACHE_DURATION)) { + return cache[url].data as T; + } + + try { + const data = await fetchApi(url); + // 缓存数据 + cache[url] = { + data, + timestamp: now, + }; + return data; + } catch (error) { + console.error(`Prefetch failed for ${url}:`, error); + // 如果缓存中有旧数据,返回旧数据 + if (cache[url]) { + return cache[url].data as T; + } + throw error; + } +}; + +/** + * 预取聊天列表 + */ +export const prefetchChats = async () => { + return prefetchData>('/chats'); +}; + +/** + * 预取单个聊天详情 + */ +export const prefetchChatDetail = async (sessionId: string) => { + return prefetchData(`/chats/${sessionId}/message-history`); +}; + +/** + * 清除指定URL的缓存 + */ +export const clearCache = (url?: string) => { + if (url) { + delete cache[url]; + } else { + // 清除所有缓存 + Object.keys(cache).forEach(key => { + delete cache[key]; + }); + } +}; + +/** + * 获取缓存数据 + */ +export const getCachedData = (url: string): T | null => { + const cached = cache[url]; + if (cached && (Date.now() - cached.timestamp < CACHE_DURATION)) { + return cached.data as T; + } + return null; +}; From 438876d7a6041f8aaba4ed9108f3ecbebda6bbc8 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Wed, 30 Jul 2025 11:30:34 +0800 Subject: [PATCH 18/68] =?UTF-8?q?feat:=20ask=E4=B8=8B=E8=BD=BD=E4=BA=A4?= =?UTF-8?q?=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 2 +- app/(tabs)/ask.tsx | 42 ++- assets/icons/svg/cancel.svg | 1 + assets/icons/svg/download.svg | 1 + assets/icons/svg/sun.svg | 3 + assets/icons/svg/video.svg | 3 + components/ask/aiChat.tsx | 358 +++++--------------------- components/ask/chat.tsx | 23 +- components/ask/hello.tsx | 92 ++++++- components/ask/selectModel.tsx | 288 +++++++++++++++++++++ components/ask/send.tsx | 164 ++++++++---- components/ask/singleContentModel.tsx | 159 ++++++++++++ components/ask/utils.ts | 119 +++++++++ components/download/qrCode.tsx | 4 +- components/gusture/contextMenu.tsx | 179 +++++++++++++ i18n/locales/en/ask.json | 49 ++-- i18n/locales/zh/ask.json | 5 +- provider.tsx | 41 +-- 18 files changed, 1112 insertions(+), 421 deletions(-) create mode 100644 assets/icons/svg/cancel.svg create mode 100644 assets/icons/svg/download.svg create mode 100644 assets/icons/svg/sun.svg create mode 100644 assets/icons/svg/video.svg create mode 100644 components/ask/selectModel.tsx create mode 100644 components/ask/singleContentModel.tsx create mode 100644 components/gusture/contextMenu.tsx diff --git a/app.json b/app.json index 426908f..e201da3 100644 --- a/app.json +++ b/app.json @@ -12,7 +12,7 @@ "supportsTablet": true, "infoPlist": { "NSPhotoLibraryUsageDescription": "允许访问照片库,以便模型使用您照片库中的素材进行视频创作”(例如:上传您参加音乐节的现场图,生成一个音乐节体验Vlog", - "NSPhotoLibraryAddUsageDescription": "需要保存图片到相册", + "NSPhotoLibraryAddUsageDescription": "App需要访问相册来保存图片", "NSLocationWhenInUseUsageDescription": "允许获取位置信息,以便模型使用您的位置信息进行个性化创作”(例如:上传您去欧洲旅游的位置信息,结合在当地拍摄的照片,生成一个欧洲旅行攻略Vlog)", "ITSAppUsesNonExemptEncryption": false, "UIBackgroundModes": [ diff --git a/app/(tabs)/ask.tsx b/app/(tabs)/ask.tsx index eac825b..035bbfa 100644 --- a/app/(tabs)/ask.tsx +++ b/app/(tabs)/ask.tsx @@ -5,8 +5,8 @@ import SendMessage from "@/components/ask/send"; import { ThemedText } from "@/components/ThemedText"; import { fetchApi } from "@/lib/server-api-util"; import { Message } from "@/types/ask"; -import { router, useLocalSearchParams } from "expo-router"; -import { default as React, default as React, useCallback, useEffect, useRef, useState } from 'react'; +import { router, useFocusEffect, useLocalSearchParams } from "expo-router"; +import { useCallback, useEffect, useRef, useState } from 'react'; import { Animated, FlatList, @@ -116,7 +116,6 @@ export default function AskScreen() { Animated.timing(fadeAnimChat, { toValue: 1, duration: 300, - duration: 300, useNativeDriver: true, }) ]).start(() => { @@ -131,31 +130,20 @@ export default function AskScreen() { useEffect(() => { if (!isHello) { - const timer = setTimeout(() => { - scrollToEnd(false); - }, 300); - return () => clearTimeout(timer); + // 不再自动关闭键盘,让用户手动控制 + // 这里可以添加其他需要在隐藏hello界面时执行的逻辑 + scrollToEnd(false); } }, [isHello]); - useEffect(() => { - const timer = setTimeout(() => { - if (!isHello) { - try { - if (TextInput.State?.currentlyFocusedInput) { - const input = TextInput.State.currentlyFocusedInput(); - if (input) input.blur(); - } - } catch (error) { - console.log('失去焦点失败:', error); - } - - scrollToEnd(false); + useFocusEffect( + useCallback(() => { + if (!sessionId) { + setIsHello(true); + setUserMessages([]) } - }, 200); - - return () => clearTimeout(timer); - }, [isHello]); + }, [sessionId]) + ); return ( @@ -194,7 +182,7 @@ export default function AskScreen() { } ]} > - + {/* 聊天页面 */} @@ -299,7 +287,7 @@ const styles = StyleSheet.create({ padding: 16, paddingBottom: 24, backgroundColor: 'white', - borderTopWidth: 1, - borderTopColor: '#f0f0f0', + // borderTopWidth: 1, + // borderTopColor: '#f0f0f0', }, }); \ No newline at end of file diff --git a/assets/icons/svg/cancel.svg b/assets/icons/svg/cancel.svg new file mode 100644 index 0000000..982309c --- /dev/null +++ b/assets/icons/svg/cancel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/svg/download.svg b/assets/icons/svg/download.svg new file mode 100644 index 0000000..c79fa79 --- /dev/null +++ b/assets/icons/svg/download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/svg/sun.svg b/assets/icons/svg/sun.svg new file mode 100644 index 0000000..ad68ee6 --- /dev/null +++ b/assets/icons/svg/sun.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/svg/video.svg b/assets/icons/svg/video.svg new file mode 100644 index 0000000..e5a979c --- /dev/null +++ b/assets/icons/svg/video.svg @@ -0,0 +1,3 @@ + + + diff --git a/components/ask/aiChat.tsx b/components/ask/aiChat.tsx index b0ff2fd..62df7c5 100644 --- a/components/ask/aiChat.tsx +++ b/components/ask/aiChat.tsx @@ -1,26 +1,25 @@ +import CancelSvg from '@/assets/icons/svg/cancel.svg'; import ChatSvg from "@/assets/icons/svg/chat.svg"; -import FolderSvg from "@/assets/icons/svg/folder.svg"; +import DownloadSvg from '@/assets/icons/svg/download.svg'; import MoreSvg from "@/assets/icons/svg/more.svg"; -import ReturnArrow from "@/assets/icons/svg/returnArrow.svg"; -import YesSvg from "@/assets/icons/svg/yes.svg"; import { Message, Video } from "@/types/ask"; import { MaterialItem } from "@/types/personal-info"; import { TFunction } from "i18next"; import React from 'react'; import { - FlatList, Image, - Modal, Pressable, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; +import ContextMenu from "../gusture/contextMenu"; import { ThemedText } from "../ThemedText"; +import SelectModel from "./selectModel"; +import SingleContentModel from "./singleContentModel"; import TypewriterText from "./typewriterText"; -import { mergeArrays } from "./utils"; -import VideoPlayer from "./VideoPlayer"; +import { mergeArrays, saveMediaToGallery } from "./utils"; interface RenderMessageProps { insets: { top: number }; @@ -28,18 +27,17 @@ interface RenderMessageProps { sessionId: string; setModalVisible: React.Dispatch>; modalVisible: { visible: boolean, data: Video | MaterialItem }; - setModalDetailsVisible: React.Dispatch>; - modalDetailsVisible: boolean; + setModalDetailsVisible: React.Dispatch>; + modalDetailsVisible: { visible: boolean, content: any }; setSelectedImages: React.Dispatch>; selectedImages: string[]; t: TFunction; + setCancel: React.Dispatch>; + cancel: boolean; } -const MessageItem = ({ t, insets, item, sessionId, setModalVisible, modalVisible, setModalDetailsVisible, modalDetailsVisible, setSelectedImages, selectedImages }: RenderMessageProps) => { +const MessageItem = ({ setCancel, cancel = true, t, insets, item, sessionId, setModalVisible, modalVisible, setModalDetailsVisible, modalDetailsVisible, setSelectedImages, selectedImages }: RenderMessageProps) => { const isUser = item.role === 'User'; - const isVideo = (data: Video | MaterialItem): data is Video => { - return 'video' in data; - }; return ( @@ -76,23 +74,58 @@ const MessageItem = ({ t, insets, item, sessionId, setModalVisible, modalVisible marginBottom: 8, }} > - , + label: "保存", + onPress: () => { + const imageUrl = image?.preview_file_info?.url || image.video?.preview_file_info?.url; + if (imageUrl) { + saveMediaToGallery(imageUrl, t); + } + }, + textStyle: { color: '#4C320C' } + }, + { + svg: , + label: "取消", + onPress: () => console.log('取消'), + textStyle: { color: 'red' } + } + ]} + menuStyle={{ + backgroundColor: 'white', + borderRadius: 8, + padding: 8, + minWidth: 150, + shadowColor: '#000', + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.25, + shadowRadius: 4, + elevation: 5, }} - resizeMode="cover" - loadingIndicatorSource={require('@/assets/images/png/placeholder.png')} - /> + > + + + ))} { ((item.content.video_material_infos?.length || 0) + (item.content.image_material_infos?.length || 0)) > 3 && { - setModalDetailsVisible(true); + setSelectedImages([]) + setModalDetailsVisible({ visible: true, content: item.content }); }}> {((item.content.video_material_infos?.length || 0) + (item.content.image_material_infos?.length || 0))} @@ -116,152 +149,19 @@ const MessageItem = ({ t, insets, item, sessionId, setModalVisible, modalVisible ))} )} */} - { - setModalVisible({ visible: false, data: {} as Video | MaterialItem }); - }}> - - { - setModalVisible({ visible: false, data: {} as Video | MaterialItem }) - }} - /> - setModalVisible({ visible: false, data: {} as Video | MaterialItem })}> - {isVideo(modalVisible.data) ? ( - // 视频播放器 - setModalVisible({ visible: false, data: {} as Video | MaterialItem })} - > - setModalVisible({ visible: false, data: {} as Video | MaterialItem })} - /> - - ) : ( - // 图片预览 - setModalVisible({ visible: false, data: {} as Video | MaterialItem })} - style={styles.imageContainer} - > - - - )} - - - - { - setModalDetailsVisible(false); - }} - > - - - setModalDetailsVisible(false)}> - - - {t('ask.selectPhoto', { ns: 'ask' })} - - - - item.id} - showsVerticalScrollIndicator={false} - contentContainerStyle={detailsStyles.flatListContent} - initialNumToRender={12} - maxToRenderPerBatch={12} - updateCellsBatchingPeriod={50} - windowSize={10} - removeClippedSubviews={true} - renderItem={({ item }) => { - return ( - - - - {selectedImages?.map((image, index) => { - if (image === item.id || image === item.video?.id) { - return index + 1 - } - })} - - console.log('Image load error:', error.nativeEvent.error)} - onLoad={() => console.log('Image loaded successfully')} - loadingIndicatorSource={require('@/assets/images/png/placeholder.png')} - /> - { - setSelectedImages((prev) => { - if (prev.includes(item?.id || item?.video?.id)) { - return prev.filter((id) => id !== (item.id || item?.video?.id)); - } else { - return [...prev, item.id || item.video?.id]; - } - }); - }} - > - {selectedImages.includes(item?.id || item?.video?.id) ? : ""} - - - - ); - }} - /> - - - { - // 如果用户没有选择 则为选择全部 - if (selectedImages?.length < 0) { - setSelectedImages(mergeArrays(item.content.image_material_infos || [], item.content.video_material_infos || [])?.map((item) => { - return item.id || item.video?.id - })) - } - setModalDetailsVisible(false) - }} - activeOpacity={0.8} - > - - {t('ask.continueAsking', { ns: 'ask' })} - - - - - + {/* 单个图片弹窗 */} + + {/* 全部图片详情弹窗 */} + ); @@ -352,123 +252,3 @@ const styles = StyleSheet.create({ }, }); -const detailsStyles = StyleSheet.create({ - gridItemContainer: { - flex: 1, // 使用 flex 布局使项目平均分配空间 - maxWidth: '33.33%', // 每行最多4个项目 - aspectRatio: 1, // 保持1:1的宽高比 - }, - flatListContent: { - paddingBottom: 100, // 为底部按钮留出更多空间 - paddingHorizontal: 8, // 添加水平内边距 - paddingTop: 8, - }, - headerText: { - fontSize: 20, - fontWeight: 'bold', - color: "#4C320C" - }, - container: { - flex: 1, - padding: 0, - margin: 0, - backgroundColor: '#fff', - width: '100%', - height: '100%', - position: 'relative', - }, - imageNumber: { - fontSize: 16, - fontWeight: 'bold', - color: '#fff', - position: 'absolute', - top: 10, - left: 10, - zIndex: 10, // 确保数字显示在图片上方 - }, - imageNumberText: { - fontSize: 16, - fontWeight: 'bold', - color: '#fff', - }, - numberText: { - position: 'absolute', - top: 10, - left: 10, - width: 28, - height: 28, - borderRadius: 14, - backgroundColor: 'rgba(0, 122, 255, 0.9)', // 使用半透明蓝色背景 - justifyContent: 'center', - alignItems: 'center', - shadowColor: '#000', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.25, - shadowRadius: 3.84, - elevation: 5, - }, - header: { - flexDirection: 'row', - justifyContent: 'space-between', - alignItems: 'center', - padding: 16, - borderBottomWidth: 1, - borderBottomColor: '#eee', - }, - gridItem: { - flex: 1, // 填充父容器 - overflow: 'hidden', - backgroundColor: '#f5f5f5', - borderWidth: 1, - borderColor: '#eee', - height: '100%', // 确保高度填满容器 - position: 'relative', - }, - image: { - width: '100%', - height: '100%', - resizeMode: 'cover', - }, - circleMarker: { - position: 'absolute', - top: 10, - right: 10, - width: 28, - height: 28, - borderRadius: 14, - justifyContent: 'center', - alignItems: 'center', - borderWidth: 3, - borderColor: '#fff', - }, - circleMarkerSelected: { - backgroundColor: '#FFB645', - }, - markerText: { - fontSize: 16, - fontWeight: 'bold', - color: '#000', - }, - footer: { - position: 'absolute', - bottom: 20, - left: 0, - right: 0, - paddingHorizontal: 16, - zIndex: 10, - paddingVertical: 10, - }, - continueButton: { - backgroundColor: '#E2793F', - borderRadius: 32, - padding: 16, - alignItems: 'center', - width: '100%', - zIndex: 10, - }, - continueButtonText: { - color: '#fff', - fontSize: 18, - fontWeight: 'bold', - } -}); \ No newline at end of file diff --git a/components/ask/chat.tsx b/components/ask/chat.tsx index 9a65dc5..69f42d1 100644 --- a/components/ask/chat.tsx +++ b/components/ask/chat.tsx @@ -5,7 +5,8 @@ import { useTranslation } from 'react-i18next'; import { FlatList, FlatListProps, - SafeAreaView + SafeAreaView, + View } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; import MessageItem from './aiChat'; @@ -26,10 +27,15 @@ function ChatComponent( const [modalVisible, setModalVisible] = React.useState({ visible: false, data: {} as Video | MaterialItem }); const { t } = useTranslation(); const keyExtractor = useCallback((item: Message) => `${item.role}-${item.timestamp}`, []); + // 取消展示右键菜单 + const [cancel, setCancel] = useState(true); + const contentContainerStyle = useMemo(() => ({ + padding: 16, + flexGrow: 1, + paddingTop: 0, + }), []); - const contentContainerStyle = useMemo(() => ({ padding: 16, flexGrow: 1 }), []); - - const [modalDetailsVisible, setModalDetailsVisible] = useState(false); + const [modalDetailsVisible, setModalDetailsVisible] = useState<{ visible: boolean, content: any }>({ visible: false, content: [] }); return ( @@ -37,7 +43,14 @@ function ChatComponent( ref={ref} data={userMessages} keyExtractor={keyExtractor} - renderItem={({ item }) => MessageItem({ t, setSelectedImages, selectedImages, insets, item, sessionId, modalVisible, setModalVisible, setModalDetailsVisible, modalDetailsVisible })} + renderItem={({ item, index }) => { + const itemStyle = index === 0 ? { marginTop: 16, marginHorizontal: 16 } : { marginHorizontal: 16 }; + return ( + + {MessageItem({ setCancel, cancel, t, setSelectedImages, selectedImages, insets, item, sessionId, modalVisible, setModalVisible, setModalDetailsVisible, modalDetailsVisible })} + + ); + }} contentContainerStyle={contentContainerStyle} keyboardDismissMode="interactive" keyboardShouldPersistTaps="handled" diff --git a/components/ask/hello.tsx b/components/ask/hello.tsx index e47aea1..474a37e 100644 --- a/components/ask/hello.tsx +++ b/components/ask/hello.tsx @@ -1,17 +1,55 @@ import IP from "@/assets/icons/svg/ip.svg"; import { ThemedText } from "@/components/ThemedText"; +import { Message } from "@/types/ask"; +import { Dispatch, SetStateAction } from "react"; import { useTranslation } from "react-i18next"; -import { ScrollView, View } from 'react-native'; +import { ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native'; +import { createNewConversation, getConversation } from "./utils"; -export default function AskHello() { +interface AskHelloProps { + setUserMessages: Dispatch>; + setConversationId: Dispatch>; + setIsHello: Dispatch>; +} +export default function AskHello({ setUserMessages, setConversationId, setIsHello }: AskHelloProps) { const { t } = useTranslation(); + const handleCase = async (text: string) => { + setIsHello(false) + setUserMessages([ + { + content: { + text: text + }, + role: 'User', + timestamp: new Date().toISOString() + }, + { + content: { + text: "正在寻找,请稍等..." + }, + role: 'Assistant', + timestamp: new Date().toISOString() + } + ]); + const data = await createNewConversation(text); + setConversationId(data); + const response = await getConversation({ session_id: data, user_text: text, material_ids: [] }); + setUserMessages((prev: Message[]) => { + const newMessages = [...(prev || [])]; + if (response) { + newMessages.push(response); + } + return newMessages.filter((item: Message) => + item?.content?.text !== '正在寻找,请稍等...' + ); + }); + } return ( - + - + {t('ask.ready', { ns: 'ask' })} {"\n"} {t('ask.justAsk', { ns: 'ask' })} + + { + handleCase(t('ask:ask.case1')); + }}> + + {t('ask:ask.case1')} + + + { + handleCase(t('ask:ask.case2')); + }}> + + {t('ask:ask.case2')} + + + { + handleCase(t('ask:ask.case3')); + }}> + + {t('ask:ask.case3')} + + + ); -} \ No newline at end of file +} + + +const styles = StyleSheet.create({ + caseContainer: { + flexDirection: 'row', + flexWrap: 'wrap', + justifyContent: 'center', + gap: 8, + width: '100%', + marginTop: 16 + }, + case: { + borderWidth: 2, + borderColor: "#FFB645", + borderRadius: 24, + paddingHorizontal: 8, + width: 'auto' + } +}) \ No newline at end of file diff --git a/components/ask/selectModel.tsx b/components/ask/selectModel.tsx new file mode 100644 index 0000000..e6c9350 --- /dev/null +++ b/components/ask/selectModel.tsx @@ -0,0 +1,288 @@ +import CancelSvg from '@/assets/icons/svg/cancel.svg'; +import DownloadSvg from '@/assets/icons/svg/download.svg'; +import FolderSvg from "@/assets/icons/svg/folder.svg"; +import ReturnArrow from "@/assets/icons/svg/returnArrow.svg"; +import YesSvg from "@/assets/icons/svg/yes.svg"; +import { TFunction } from "i18next"; +import React from "react"; +import { FlatList, Image, Modal, StyleSheet, TouchableOpacity, View } from "react-native"; +import ContextMenu from "../gusture/contextMenu"; +import { ThemedText } from "../ThemedText"; +import { mergeArrays, saveMediaToGallery } from "./utils"; + +interface SelectModelProps { + modalDetailsVisible: { visible: boolean, content: any }; + setModalDetailsVisible: React.Dispatch>; + insets: { top: number }; + setSelectedImages: React.Dispatch>; + selectedImages: string[]; + t: TFunction; + cancel: boolean; + setCancel: React.Dispatch>; +} +const SelectModel = ({ modalDetailsVisible, setModalDetailsVisible, insets, setSelectedImages, selectedImages, t, cancel, setCancel }: SelectModelProps) => { + + return ( + { + setModalDetailsVisible({ visible: false, content: [] }); + }} + > + + + setModalDetailsVisible({ visible: false, content: [] })}> + + + {t('ask.selectPhoto', { ns: 'ask' })} + + + + item.id} + showsVerticalScrollIndicator={false} + contentContainerStyle={detailsStyles.gridContainer} + initialNumToRender={12} + maxToRenderPerBatch={12} + updateCellsBatchingPeriod={50} + windowSize={10} + removeClippedSubviews={true} + renderItem={({ item }) => { + const itemId = item?.id || item?.video?.id; + const isSelected = selectedImages.includes(itemId); + + const toggleSelection = () => { + setSelectedImages(prev => + isSelected + ? prev.filter(id => id !== itemId) + : [...prev, itemId] + ); + }; + + return ( + + + + {isSelected && ( + + {selectedImages.indexOf(itemId) + 1} + + )} + , + label: "保存", + onPress: () => { + const imageUrl = item?.file_info?.url || item.video?.file_info?.url; + if (imageUrl) { + saveMediaToGallery(imageUrl, t); + } + }, + textStyle: { color: '#4C320C' } + }, + { + svg: , + label: "取消", + onPress: () => console.log('取消'), + textStyle: { color: 'red' } + } + ]} + menuStyle={{ + backgroundColor: 'white', + borderRadius: 8, + padding: 8, + minWidth: 150, + shadowColor: '#000', + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.25, + shadowRadius: 4, + elevation: 5, + }} + > + console.log('Image load error:', error.nativeEvent.error)} + onLoad={() => console.log('Image loaded successfully')} + loadingIndicatorSource={require('@/assets/images/png/placeholder.png')} + /> + + + { + setSelectedImages(prev => + isSelected + ? prev.filter(id => id !== itemId) + : [...prev, itemId] + ); + }} + activeOpacity={0.8} + > + {isSelected && } + + + + ); + }} + /> + + + { + // 如果用户没有选择 则为选择全部 + if (selectedImages?.length < 0) { + setSelectedImages(mergeArrays(modalDetailsVisible?.content?.image_material_infos || [], modalDetailsVisible?.content?.video_material_infos || [])?.map((item) => { + return item.id || item.video?.id + })) + } + setModalDetailsVisible({ visible: false, content: [] }) + }} + activeOpacity={0.8} + > + + {t('ask.continueAsking', { ns: 'ask' })} + + + + + + ) +} + + +const detailsStyles = StyleSheet.create({ + gridContainer: { + flex: 1, + paddingHorizontal: 8, + paddingTop: 8, + }, + gridItemContainer: { + width: '33.33%', + aspectRatio: 1, + padding: 1, + }, + flatListContent: { + paddingBottom: 100, + paddingHorizontal: 8, + paddingTop: 8, + }, + headerText: { + fontSize: 20, + fontWeight: 'bold', + color: "#4C320C" + }, + container: { + flex: 1, + padding: 0, + margin: 0, + backgroundColor: '#fff', + width: '100%', + height: '100%', + position: 'relative', + }, + imageNumber: { + fontSize: 16, + fontWeight: 'bold', + color: '#fff', + position: 'absolute', + top: 10, + left: 10, + zIndex: 10, + }, + imageNumberText: { + fontSize: 16, + fontWeight: 'bold', + color: '#fff', + }, + numberText: { + position: 'absolute', + top: 10, + left: 10, + width: 28, + height: 28, + borderRadius: 14, + backgroundColor: 'rgba(0, 122, 255, 0.9)', + justifyContent: 'center', + alignItems: 'center', + shadowColor: '#000', + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.25, + shadowRadius: 3.84, + elevation: 5, + }, + header: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + padding: 16, + borderBottomWidth: 1, + borderBottomColor: '#eee', + }, + gridItem: { + flex: 1, + backgroundColor: '#f5f5f5', + borderRadius: 8, + overflow: 'hidden', + position: 'relative', + }, + image: { + width: '100%', + height: '100%', + resizeMode: 'cover', + }, + circleMarker: { + position: 'absolute', + top: 10, + right: 10, + width: 28, + height: 28, + borderRadius: 14, + justifyContent: 'center', + alignItems: 'center', + borderWidth: 2, + borderColor: '#fff', + }, + circleMarkerSelected: { + backgroundColor: '#FFB645', + }, + markerText: { + fontSize: 16, + fontWeight: 'bold', + color: '#000', + }, + footer: { + position: 'absolute', + bottom: 20, + left: 0, + right: 0, + paddingHorizontal: 16, + zIndex: 10, + paddingVertical: 10, + }, + continueButton: { + backgroundColor: '#E2793F', + borderRadius: 32, + padding: 16, + alignItems: 'center', + width: '100%', + zIndex: 10, + }, + continueButtonText: { + color: '#fff', + fontSize: 18, + fontWeight: 'bold', + } +}); + +export default SelectModel \ No newline at end of file diff --git a/components/ask/send.tsx b/components/ask/send.tsx index ab9793e..5a6f3ba 100644 --- a/components/ask/send.tsx +++ b/components/ask/send.tsx @@ -1,16 +1,21 @@ 'use client'; import SendSvg from '@/assets/icons/svg/send.svg'; -import React, { Dispatch, SetStateAction, useCallback, useEffect, useState } from 'react'; +import SunSvg from '@/assets/icons/svg/sun.svg'; +import VideoSvg from '@/assets/icons/svg/video.svg'; +import React, { Dispatch, SetStateAction, useCallback, useEffect, useRef, useState } from 'react'; import { + EventSubscription, Keyboard, + ScrollView, StyleSheet, TextInput, TouchableOpacity, View } from 'react-native'; -import { fetchApi } from '@/lib/server-api-util'; import { Message } from '@/types/ask'; +import { ThemedText } from '../ThemedText'; +import { createNewConversation, getConversation } from './utils'; interface Props { setIsHello: Dispatch>, @@ -26,35 +31,48 @@ export default function SendMessage(props: Props) { // 用户询问 const [inputValue, setInputValue] = useState(''); - // 创建新对话并获取消息 - const createNewConversation = useCallback(async (user_text: string) => { - const data = await fetchApi("/chat/new", { - method: "POST", - }); - setConversationId(data); - await getConversation({ session_id: data, user_text, material_ids: [] }); - }, []); - // 获取对话信息 - const getConversation = useCallback(async ({ session_id, user_text, material_ids }: { session_id: string, user_text: string, material_ids: string[] }) => { - // 获取对话信息必须要有对话id - if (!session_id) return; - const response = await fetchApi(`/chat`, { - method: "POST", - body: JSON.stringify({ - session_id, - user_text, - material_ids - }) + // 添加一个ref来跟踪键盘状态 + const keyboardDidShowListener = useRef(null); + const keyboardDidHideListener = useRef(null); + const isKeyboardVisible = useRef(false); + + useEffect(() => { + // 使用keyboardWillShow而不是keyboardDidShow,这样可以在键盘完全显示前更新UI + const showSubscription = Keyboard.addListener('keyboardWillShow', () => { + isKeyboardVisible.current = true; + if (!conversationId) { + // 确保在下一个事件循环中更新状态,避免可能的渲染问题 + requestAnimationFrame(() => { + setIsHello(false); + setUserMessages([ + { + content: { + text: '想打开记忆盲盒吗?描述你的回忆,我来帮你找回照片、生成影片或解锁隐藏彩蛋✨' + + }, + role: 'Assistant', + timestamp: new Date().toISOString() + } + ]) + }); + } }); - setSelectedImages([]); - setUserMessages((prev: Message[]) => [...prev, response]?.filter((item: Message) => item.content.text !== '正在寻找,请稍等...')); - }, []); + + const hideSubscription = Keyboard.addListener('keyboardWillHide', () => { + isKeyboardVisible.current = false; + }); + + return () => { + showSubscription.remove(); + hideSubscription.remove(); + }; + }, [conversationId]); // 发送询问 - const handleSubmit = () => { - const text = inputValue; + const handleSubmit = useCallback(async () => { + const text = inputValue.trim(); // 用户输入信息之后进行后续操作 if (text) { // 将用户输入信息添加到消息列表中 @@ -75,48 +93,73 @@ export default function SendMessage(props: Props) { ])); // 如果没有对话ID,创建新对话并获取消息,否则直接获取消息 if (!conversationId) { - createNewConversation(text); + const data = await createNewConversation(text); + setConversationId(data); + const response = await getConversation({ session_id: data, user_text: text, material_ids: [] }); + setSelectedImages([]); + setUserMessages((prev: Message[]) => { + const newMessages = [...(prev || [])]; + if (response) { + newMessages.push(response); + } + return newMessages.filter((item: Message) => + item?.content?.text !== '正在寻找,请稍等...' + ); + }); } else { - getConversation({ + const response = await getConversation({ session_id: conversationId, user_text: text, material_ids: selectedImages }); + setSelectedImages([]); + setUserMessages((prev: Message[]) => { + const newMessages = [...(prev || [])]; + if (response) { + newMessages.push(response); + } + return newMessages.filter((item: Message) => + item?.content?.text !== '正在寻找,请稍等...' + ); + }); } // 将输入框清空 setInputValue(''); - // 关闭键盘 - Keyboard.dismiss(); - } - } - useEffect(() => { - const keyboardWillShowListener = Keyboard.addListener( - 'keyboardWillShow', - () => { - if (!conversationId) { - console.log('Keyboard will show'); - setIsHello(false); - setUserMessages([{ - content: { - text: "快来寻找你的记忆吧。。。" - }, - role: 'Assistant', - timestamp: new Date().toISOString() - }]) - } else { - - } + // 只有在键盘可见时才关闭键盘 + if (isKeyboardVisible.current) { + Keyboard.dismiss(); } - ); + } + }, [inputValue, conversationId, selectedImages, createNewConversation, getConversation]); - return () => { - keyboardWillShowListener.remove(); - }; - }, [conversationId]); + const handleQuitly = (type: string) => { + setIsHello(false) + setUserMessages(pre => ([ + ...pre, + { + content: { + text: type === "search" + ? '想找合适的图片?试试这样搜更精准:\n\n• 明确主题:比如"秋日森林""极简风书桌""复古海报设计"\n\n• 加上细节:想找特定风格?试试"水彩风猫咪""赛博朋克城市夜景";需要特定用途?比如"无版权风景图""可商用图标"\n\n• 描述场景:比如"阳光透过树叶的光斑""雨天咖啡馆窗外"\n\n输入这些关键词,说不定就能找到你想要的画面啦~' + : '想让你的视频内容更吸睛、更有故事感吗?不妨试试从搜索图片入手吧!\n\n你可以先确定视频的主题——是治愈系的自然风景,还是复古风的城市街景,或是充满活力的生活瞬间?然后根据主题去搜索相关的图片,比如想做"春日限定"主题,就搜"樱花飘落""草地野餐""嫩芽初绽"之类的画面。\n\n这些图片能帮你快速理清视频的画面脉络,甚至能激发新的创意——比如一张老照片里的复古物件,或许能延伸出一段关于时光的故事;一组星空图片,说不定能串联成关于梦想与远方的叙事。把这些图片按你的想法串联起来,配上合适的音乐和文案,一段有温度的视频就诞生啦,试试看吧~' + }, + role: 'Assistant', + timestamp: new Date().toISOString() + } + ])) + }; return ( + + handleQuitly('search')}> + + 检索素材 + handleQuitly('video')}> + + 创作视频 + + @@ -144,6 +187,17 @@ export default function SendMessage(props: Props) { } const styles = StyleSheet.create({ + button: { + paddingHorizontal: 8, + paddingVertical: 4, + margin: 5, + borderRadius: 25, + alignItems: 'center', + borderWidth: 2, + display: 'flex', + flexDirection: 'row', + gap: 5 + }, container: { justifyContent: 'center', backgroundColor: '#transparent', diff --git a/components/ask/singleContentModel.tsx b/components/ask/singleContentModel.tsx new file mode 100644 index 0000000..4140ae7 --- /dev/null +++ b/components/ask/singleContentModel.tsx @@ -0,0 +1,159 @@ +import { Video } from "@/types/ask"; +import { MaterialItem } from "@/types/personal-info"; +import { Image, Modal, StyleSheet, TouchableOpacity, View } from "react-native"; +import VideoPlayer from "./VideoPlayer"; + +interface SingleContentModelProps { + modalVisible: { visible: boolean, data: Video | MaterialItem }; + setModalVisible: React.Dispatch>; +} +const SingleContentModel = ({ modalVisible, setModalVisible }: SingleContentModelProps) => { + const isVideo = (data: Video | MaterialItem): data is Video => { + return 'video' in data; + }; + + return ( + { + setModalVisible({ visible: false, data: {} as Video | MaterialItem }); + }}> + + { + setModalVisible({ visible: false, data: {} as Video | MaterialItem }) + }} + /> + setModalVisible({ visible: false, data: {} as Video | MaterialItem })}> + {isVideo(modalVisible.data) ? ( + // 视频播放器 + setModalVisible({ visible: false, data: {} as Video | MaterialItem })} + > + setModalVisible({ visible: false, data: {} as Video | MaterialItem })} + /> + + ) : ( + // 图片预览 + setModalVisible({ visible: false, data: {} as Video | MaterialItem })} + style={styles.imageContainer} + > + + + )} + + + + ) +} + + + +const styles = StyleSheet.create({ + imageGridContainer: { + flexDirection: 'row', + flexWrap: 'nowrap', + width: '100%', + marginTop: 8, + }, + video: { + width: '100%', + height: '100%', + }, + imageContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + width: '100%', + maxHeight: '60%', + }, + fullWidthImage: { + width: '100%', + height: "54%", + marginBottom: 8, + }, + gridImage: { + aspectRatio: 1, + marginBottom: 8, + }, + background: { + ...StyleSheet.absoluteFillObject, + backgroundColor: 'rgba(0, 0, 0, 0.5)', // 添加半透明黑色背景 + }, + centeredView: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + modalView: { + borderRadius: 20, + alignItems: 'center', + height: '100%', + width: "100%", + justifyContent: 'center', + alignSelf: 'center', + }, + container: { + flex: 1, + backgroundColor: '#f5f5f5', + }, + userAvatar: { + width: 30, + height: 30, + borderRadius: 15, + }, + messageList: { + padding: 16, + }, + messageBubble: { + paddingHorizontal: 16, + paddingVertical: 12, + fontWeight: "600" + }, + userBubble: { + alignSelf: 'flex-end', + backgroundColor: '#FFB645', + marginLeft: '20%', + }, + aiBubble: { + alignSelf: 'flex-start', + backgroundColor: '#fff', + marginRight: '20%', + borderWidth: 1, + borderColor: '#e5e5ea', + }, + userText: { + color: '#4C320C', + fontSize: 16, + }, + aiText: { + color: '#000', + fontSize: 16, + }, +}); + +export default SingleContentModel \ No newline at end of file diff --git a/components/ask/utils.ts b/components/ask/utils.ts index 81a838f..ebcf9e7 100644 --- a/components/ask/utils.ts +++ b/components/ask/utils.ts @@ -1,3 +1,11 @@ +import { fetchApi } from "@/lib/server-api-util"; +import { Message } from "@/types/ask"; +import * as FileSystem from 'expo-file-system'; +import * as MediaLibrary from 'expo-media-library'; +import { TFunction } from "i18next"; +import { useCallback } from "react"; +import { Alert } from 'react-native'; + // 实现一个函数,从两个数组中轮流插入新数组 export const mergeArrays = (arr1: any[], arr2: any[]) => { const result: any[] = []; @@ -8,3 +16,114 @@ export const mergeArrays = (arr1: any[], arr2: any[]) => { } return result; }; + + +// 创建新对话并获取消息 +export const createNewConversation = useCallback(async (user_text: string) => { + const data = await fetchApi("/chat/new", { + method: "POST", + }); + return data +}, []); + +// 获取对话信息 +export const getConversation = async ({ + session_id, + user_text, + material_ids +}: { + session_id: string, + user_text: string, + material_ids: string[] +}): Promise => { + // 获取对话信息必须要有对话id + if (!session_id) return undefined; + + try { + const response = await fetchApi(`/chat`, { + method: "POST", + body: JSON.stringify({ + session_id, + user_text, + material_ids + }) + }); + return response; + } catch (error) { + // console.error('Error in getConversation:', error); + return undefined; + } +}; + +// 图片 视频 保存到本地 +export const saveMediaToGallery = async (mediaUrl: string, t: TFunction) => { + // 声明 fileUri 变量以便在 finally 块中使用 + let fileUri: string | null = null; + + try { + // 首先请求权限 + const { status } = await MediaLibrary.requestPermissionsAsync(); + + if (status !== 'granted') { + Alert.alert('需要相册权限', '请允许应用访问相册以保存媒体文件'); + return false; + } + + // 获取文件扩展名 + const fileExtension = mediaUrl.split('.').pop()?.toLowerCase() || 'mp4'; + const isVideo = ['mp4', 'mov', 'avi', 'mkv'].includes(fileExtension); + const fileName = `temp_${Date.now()}.${fileExtension}`; + fileUri = `${FileSystem.documentDirectory}${fileName}`; + + // 下载文件 + console.log('开始下载文件:', mediaUrl); + const downloadResumable = FileSystem.createDownloadResumable( + mediaUrl, + fileUri, + {}, + (downloadProgress) => { + const progress = downloadProgress.totalBytesWritten / (downloadProgress.totalBytesExpectedToWrite || 1); + console.log(`下载进度: ${Math.round(progress * 100)}%`); + } + ); + + const downloadResult = await downloadResumable.downloadAsync(); + + if (!downloadResult) { + throw new Error('下载失败: 下载被取消或发生错误'); + } + + const { uri } = downloadResult; + console.log('文件下载完成,准备保存到相册:', uri); + + // 保存到相册 + const asset = await MediaLibrary.createAssetAsync(uri); + await MediaLibrary.createAlbumAsync( + 'Memowake', + asset, + false + ); + + Alert.alert( + '保存成功', + isVideo ? '视频已保存到相册' : '图片已保存到相册' + ); + return true; + } catch (error) { + console.error('保存失败:', error); + Alert.alert( + '保存失败', + error instanceof Error ? error.message : '保存媒体文件时出错,请重试' + ); + return false; + } finally { + // 清理临时文件 + try { + if (fileUri) { + await FileSystem.deleteAsync(fileUri, { idempotent: true }).catch(console.warn); + } + } catch (cleanupError) { + console.warn('清理临时文件时出错:', cleanupError); + } + } +}; \ No newline at end of file diff --git a/components/download/qrCode.tsx b/components/download/qrCode.tsx index 36d2531..74e435e 100644 --- a/components/download/qrCode.tsx +++ b/components/download/qrCode.tsx @@ -1,9 +1,9 @@ +import i18n from '@/i18n'; +import { PermissionService } from '@/lib/PermissionService'; import * as Haptics from 'expo-haptics'; import * as MediaLibrary from 'expo-media-library'; import React, { useRef } from 'react'; import { StyleSheet, TouchableOpacity, View } from 'react-native'; -import i18n from '@/i18n'; -import { PermissionService } from '@/lib/PermissionService'; import QRCode from 'react-native-qrcode-svg'; import { captureRef } from 'react-native-view-shot'; diff --git a/components/gusture/contextMenu.tsx b/components/gusture/contextMenu.tsx new file mode 100644 index 0000000..a33c23c --- /dev/null +++ b/components/gusture/contextMenu.tsx @@ -0,0 +1,179 @@ +import React, { useRef, useState } from 'react'; +import { + Dimensions, + Modal, + StyleProp, + StyleSheet, + Text, + TextStyle, + TouchableOpacity, + TouchableWithoutFeedback, + View, + ViewStyle +} from 'react-native'; +import { Gesture, GestureDetector } from 'react-native-gesture-handler'; +import { runOnJS } from 'react-native-reanimated'; + +interface MenuItem { + label: string; + svg?: React.ReactNode; + onPress: () => void; + textStyle?: StyleProp; +} + +interface ContextMenuProps { + children: React.ReactNode; + items: MenuItem[]; + menuStyle?: StyleProp; + menuItemStyle?: StyleProp; + menuTextStyle?: StyleProp; + dividerStyle?: StyleProp; + onOpen?: () => void; + onClose?: () => void; + longPressDuration?: number; + activeOpacity?: number; +} + +const ContextMenu: React.FC = ({ + children, + items, + menuStyle, + menuItemStyle, + menuTextStyle, + dividerStyle, + cancel, + onOpen, + onClose, + longPressDuration = 500, + activeOpacity = 0.8, +}) => { + const { width: screenWidth, height: screenHeight } = Dimensions.get('window'); + const [menuVisible, setMenuVisible] = useState(false); + const [menuPosition, setMenuPosition] = useState({ x: 0, y: 0 }); + const containerRef = useRef(null); + + const showMenu = (x: number, y: number) => { + setMenuPosition({ x, y }); + setMenuVisible(true); + onOpen?.(); + }; + + const hideMenu = () => { + setMenuVisible(false); + onClose?.(); + }; + + const handleItemPress = (onPress: () => void) => { + onPress(); + hideMenu(); + }; + + const gesture = Gesture.LongPress() + .minDuration(longPressDuration) + .onStart((e) => { + const absoluteX = e.absoluteX; + const absoluteY = e.absoluteY; + runOnJS(showMenu)(absoluteX, absoluteY); + }); + + useEffect(() => { + setMenuVisible(!cancel); + }, [cancel]) + + return ( + <> + + + + {children} + + + + + + + + + + screenWidth / 2 ? menuPosition.x - 150 : menuPosition.x, + screenWidth - 160 + ), + }, + menuStyle, + ]} + onStartShouldSetResponder={() => true} + > + {items.map((item, index) => ( + + handleItemPress(item.onPress)} + activeOpacity={activeOpacity} + > + {item.svg} + + {item.label} + + + {index < items.length - 1 && ( + + )} + + ))} + + + + ); +}; + +const styles = StyleSheet.create({ + modalOverlay: { + ...StyleSheet.absoluteFillObject, + backgroundColor: 'rgba(0, 0, 0, 0.1)', + }, + menu: { + backgroundColor: 'white', + borderRadius: 8, + minWidth: 100, + shadowColor: '#000', + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.3, + shadowRadius: 6, + elevation: 10, + zIndex: 1000, + }, + menuItem: { + paddingVertical: 12, + paddingHorizontal: 16, + minWidth: 100, + flexDirection: 'row', + gap: 4, + alignItems: 'center' + }, + menuText: { + fontSize: 16, + color: '#333', + }, + divider: { + height: 1, + backgroundColor: '#f0f0f0', + marginHorizontal: 8, + }, +}); + +export default ContextMenu; \ No newline at end of file diff --git a/i18n/locales/en/ask.json b/i18n/locales/en/ask.json index 2d7159c..cff67f7 100644 --- a/i18n/locales/en/ask.json +++ b/i18n/locales/en/ask.json @@ -1,18 +1,35 @@ { - "ask": { - "hi": "Hi,", - "iAmMemo": "I'm Memo!", - "ready": "Ready to wake up your memories?", - "justAsk": "Just ask MeMo, let me bring them back to life!", - "selectPhoto": "Select Photo", - "continueAsking": "Continue Asking", - "unNamed": "UnNamed", - "noMessage": "No Message", - "memoList": "Memo List", - "noChat": "No Chat", - "loading": "Loading...", - "refresh": "Refresh", - "error": "have some error", - "issue": "have some issue" - } + "ask": { + "hi": "Hi,", + "iAmMemo": "I'm Memo!", + "ready": "Ready to wake up your memories?", + "justAsk": "Just ask MeMo, let me bring them back to life!", + "selectPhoto": "Select Photo", + "continueAsking": "Continue Asking", + "unNamed": "UnNamed", + "noMessage": "No Message", + "memoList": "Memo List", + "noChat": "No Chat", + "loading": "Loading...", + "refresh": "Refresh", + "error": "have some error", + "issue": "have some issue", + "case1": "Find last year's baby/pet material", + "case2": "Find last year's food", + "case3": "Find recent travel material", + "mediaAuth": "need album permission", + "mediaAuthDesc": "allow app to access album to save media files", + "saveSuccess": "save success", + "imgSave": "image saved to album", + "videoSave": "video saved to album", + "saveError": "save failed", + "saveErrorDesc": "save media files error, please try again", + "save": "save", + "cancel": "cancel", + "introduction1": "Ready to open the memory time capsule? Describe your memory, and I'll help you find photos, create videos, or unlock hidden Easter eggs ✨", + "introduction2": "Looking for the perfect image? Try these search tips for better results:\n\n• Be specific: Try 'autumn forest', 'minimalist desk', or 'vintage poster design'\n\n• Add details: For specific styles, try 'watercolor cat' or 'cyberpunk city nightscape'; for specific uses, try 'royalty-free landscape' or 'commercial use icons'\n\n• Describe the scene: Try 'sunlight through leaves' or 'rainy day coffee shop window'\n\nEnter these keywords, and you might just find the perfect shot!", + "introduction3": "Want to make your videos more engaging and story-driven? Start with an image search!\n\nFirst, decide on your video's theme—whether it's healing natural landscapes, retro cityscapes, or vibrant life moments. Then search for related images. For example, if your theme is 'Spring Limited,' search for 'cherry blossoms falling,' 'picnic in the grass,' or 'first buds of spring.'\n\nThese images can help you visualize your video's flow and even spark new ideas—like how an old photo of a vintage object might inspire a story about time, or how a series of starry sky images could connect into a narrative about dreams and distant places. String these images together with the right music and captions, and you've got yourself a heartwarming video. Give it a try!", + "search": "Search Assets", + "video": "Create Video" + } } \ No newline at end of file diff --git a/i18n/locales/zh/ask.json b/i18n/locales/zh/ask.json index bc9a814..4ff442d 100644 --- a/i18n/locales/zh/ask.json +++ b/i18n/locales/zh/ask.json @@ -13,6 +13,9 @@ "loading": "加载中...", "refresh": "刷新", "error": "出错了", - "issue": "发生了一些问题" + "issue": "发生了一些问题", + "case1": "找去年我家宝宝/宠物的素材片段", + "case2": "找去年吃过的美食", + "case3": "找近期旅游的素材" } } \ No newline at end of file diff --git a/provider.tsx b/provider.tsx index 7960a54..5e20661 100644 --- a/provider.tsx +++ b/provider.tsx @@ -1,6 +1,9 @@ import { I18nextProvider } from "react-i18next"; import { Platform } from 'react-native'; +import 'react-native-gesture-handler'; +import { GestureHandlerRootView } from "react-native-gesture-handler"; +import 'react-native-reanimated'; import Toast, { BaseToast, ErrorToast, ToastConfig } from 'react-native-toast-message'; import { Provider as ReduxProvider } from "react-redux"; import { AuthProvider } from "./contexts/auth-context"; @@ -70,24 +73,24 @@ const toastConfig: ToastConfig = { export function Provider({ children }: { children: React.ReactNode }) { return ( - - - - - - {children} - - - - - - + + + + + + {children} + + + + + + ); } From 26e3b4d0c98a2e80084c5ef132d3520ccb79f05a Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Thu, 31 Jul 2025 14:26:54 +0800 Subject: [PATCH 19/68] =?UTF-8?q?feat:=20=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/ask/aiChat.tsx | 12 +++++++----- components/ask/selectModel.tsx | 7 ++++--- components/ask/send.tsx | 19 ++++++++----------- components/ask/typewriterText.tsx | 2 +- components/ask/utils.ts | 14 +++++++------- components/gusture/contextMenu.tsx | 3 ++- i18n/locales/zh/ask.json | 16 +++++++++++++++- 7 files changed, 44 insertions(+), 29 deletions(-) diff --git a/components/ask/aiChat.tsx b/components/ask/aiChat.tsx index 62df7c5..1163829 100644 --- a/components/ask/aiChat.tsx +++ b/components/ask/aiChat.tsx @@ -78,7 +78,7 @@ const MessageItem = ({ setCancel, cancel = true, t, insets, item, sessionId, set items={[ { svg: , - label: "保存", + label: t("ask:ask.save"), onPress: () => { const imageUrl = image?.preview_file_info?.url || image.video?.preview_file_info?.url; if (imageUrl) { @@ -89,11 +89,14 @@ const MessageItem = ({ setCancel, cancel = true, t, insets, item, sessionId, set }, { svg: , - label: "取消", - onPress: () => console.log('取消'), + label: t("ask:ask.cancel"), + onPress: () => { + setCancel(true); + }, textStyle: { color: 'red' } } ]} + cancel={cancel} menuStyle={{ backgroundColor: 'white', borderRadius: 8, @@ -117,7 +120,6 @@ const MessageItem = ({ setCancel, cancel = true, t, insets, item, sessionId, set loadingIndicatorSource={require('@/assets/images/png/placeholder.png')} /> - ))} @@ -198,7 +200,7 @@ const styles = StyleSheet.create({ }, background: { ...StyleSheet.absoluteFillObject, - backgroundColor: 'rgba(0, 0, 0, 0.5)', // 添加半透明黑色背景 + backgroundColor: 'rgba(0, 0, 0, 0.5)', }, centeredView: { flex: 1, diff --git a/components/ask/selectModel.tsx b/components/ask/selectModel.tsx index e6c9350..5ae244a 100644 --- a/components/ask/selectModel.tsx +++ b/components/ask/selectModel.tsx @@ -77,7 +77,7 @@ const SelectModel = ({ modalDetailsVisible, setModalDetailsVisible, insets, setS items={[ { svg: , - label: "保存", + label: t("ask:ask.save"), onPress: () => { const imageUrl = item?.file_info?.url || item.video?.file_info?.url; if (imageUrl) { @@ -88,11 +88,12 @@ const SelectModel = ({ modalDetailsVisible, setModalDetailsVisible, insets, setS }, { svg: , - label: "取消", - onPress: () => console.log('取消'), + label: t("ask:ask.cancel"), + onPress: () => setCancel(true), textStyle: { color: 'red' } } ]} + cancel={cancel} menuStyle={{ backgroundColor: 'white', borderRadius: 8, diff --git a/components/ask/send.tsx b/components/ask/send.tsx index 5a6f3ba..08543cd 100644 --- a/components/ask/send.tsx +++ b/components/ask/send.tsx @@ -4,7 +4,6 @@ import SunSvg from '@/assets/icons/svg/sun.svg'; import VideoSvg from '@/assets/icons/svg/video.svg'; import React, { Dispatch, SetStateAction, useCallback, useEffect, useRef, useState } from 'react'; import { - EventSubscription, Keyboard, ScrollView, StyleSheet, @@ -14,6 +13,7 @@ import { } from 'react-native'; import { Message } from '@/types/ask'; +import { useTranslation } from 'react-i18next'; import { ThemedText } from '../ThemedText'; import { createNewConversation, getConversation } from './utils'; @@ -28,14 +28,12 @@ interface Props { export default function SendMessage(props: Props) { const { setIsHello, conversationId, setUserMessages, setConversationId, selectedImages, setSelectedImages } = props; + const { t } = useTranslation() + // 用户询问 const [inputValue, setInputValue] = useState(''); - - // 添加一个ref来跟踪键盘状态 - const keyboardDidShowListener = useRef(null); - const keyboardDidHideListener = useRef(null); const isKeyboardVisible = useRef(false); useEffect(() => { @@ -49,8 +47,7 @@ export default function SendMessage(props: Props) { setUserMessages([ { content: { - text: '想打开记忆盲盒吗?描述你的回忆,我来帮你找回照片、生成影片或解锁隐藏彩蛋✨' - + text: t("ask:ask.introduction1") }, role: 'Assistant', timestamp: new Date().toISOString() @@ -139,8 +136,8 @@ export default function SendMessage(props: Props) { { content: { text: type === "search" - ? '想找合适的图片?试试这样搜更精准:\n\n• 明确主题:比如"秋日森林""极简风书桌""复古海报设计"\n\n• 加上细节:想找特定风格?试试"水彩风猫咪""赛博朋克城市夜景";需要特定用途?比如"无版权风景图""可商用图标"\n\n• 描述场景:比如"阳光透过树叶的光斑""雨天咖啡馆窗外"\n\n输入这些关键词,说不定就能找到你想要的画面啦~' - : '想让你的视频内容更吸睛、更有故事感吗?不妨试试从搜索图片入手吧!\n\n你可以先确定视频的主题——是治愈系的自然风景,还是复古风的城市街景,或是充满活力的生活瞬间?然后根据主题去搜索相关的图片,比如想做"春日限定"主题,就搜"樱花飘落""草地野餐""嫩芽初绽"之类的画面。\n\n这些图片能帮你快速理清视频的画面脉络,甚至能激发新的创意——比如一张老照片里的复古物件,或许能延伸出一段关于时光的故事;一组星空图片,说不定能串联成关于梦想与远方的叙事。把这些图片按你的想法串联起来,配上合适的音乐和文案,一段有温度的视频就诞生啦,试试看吧~' + ? t("ask:ask.introduction2") + : t("ask:ask.introduction3") }, role: 'Assistant', timestamp: new Date().toISOString() @@ -154,10 +151,10 @@ export default function SendMessage(props: Props) { handleQuitly('search')}> - 检索素材 + {t("ask:ask.search")} handleQuitly('video')}> - 创作视频 + {t("ask:ask.video")} = ({ text, - speed = 150, + speed = 100, loop = false, delay = 2000, }) => { diff --git a/components/ask/utils.ts b/components/ask/utils.ts index ebcf9e7..79f046a 100644 --- a/components/ask/utils.ts +++ b/components/ask/utils.ts @@ -65,7 +65,7 @@ export const saveMediaToGallery = async (mediaUrl: string, t: TFunction) => { const { status } = await MediaLibrary.requestPermissionsAsync(); if (status !== 'granted') { - Alert.alert('需要相册权限', '请允许应用访问相册以保存媒体文件'); + Alert.alert(t("ask:ask.mediaAuth"), t("ask:ask.mediaAuthDesc")); return false; } @@ -105,15 +105,15 @@ export const saveMediaToGallery = async (mediaUrl: string, t: TFunction) => { ); Alert.alert( - '保存成功', - isVideo ? '视频已保存到相册' : '图片已保存到相册' + t("ask:ask.saveSuccess"), + isVideo ? t("ask:ask.videoSave") : t("ask:ask.imgSave") ); return true; } catch (error) { - console.error('保存失败:', error); + console.log('保存失败:', error); Alert.alert( - '保存失败', - error instanceof Error ? error.message : '保存媒体文件时出错,请重试' + t("ask:ask.saveError"), + error instanceof Error ? error.message : t("ask:ask.saveError") ); return false; } finally { @@ -123,7 +123,7 @@ export const saveMediaToGallery = async (mediaUrl: string, t: TFunction) => { await FileSystem.deleteAsync(fileUri, { idempotent: true }).catch(console.warn); } } catch (cleanupError) { - console.warn('清理临时文件时出错:', cleanupError); + console.log('清理临时文件时出错:', cleanupError); } } }; \ No newline at end of file diff --git a/components/gusture/contextMenu.tsx b/components/gusture/contextMenu.tsx index a33c23c..01280b3 100644 --- a/components/gusture/contextMenu.tsx +++ b/components/gusture/contextMenu.tsx @@ -1,4 +1,4 @@ -import React, { useRef, useState } from 'react'; +import React, { useEffect, useRef, useState } from 'react'; import { Dimensions, Modal, @@ -32,6 +32,7 @@ interface ContextMenuProps { onClose?: () => void; longPressDuration?: number; activeOpacity?: number; + cancel?: boolean; } const ContextMenu: React.FC = ({ diff --git a/i18n/locales/zh/ask.json b/i18n/locales/zh/ask.json index 4ff442d..5f46082 100644 --- a/i18n/locales/zh/ask.json +++ b/i18n/locales/zh/ask.json @@ -16,6 +16,20 @@ "issue": "发生了一些问题", "case1": "找去年我家宝宝/宠物的素材片段", "case2": "找去年吃过的美食", - "case3": "找近期旅游的素材" + "case3": "找近期旅游的素材", + "mediaAuth": "需要相册权限", + "mediaAuthDesc": "请允许应用访问相册以保存媒体文件", + "saveSuccess": "保存成功", + "imgSave": "图片已保存到相册", + "videoSave": "视频已保存到相册", + "saveError": "保存失败", + "saveErrorDesc": "保存媒体文件时出错,请重试", + "save": "保存", + "cancel": "取消", + "introduction1": "想打开记忆盲盒吗?描述你的回忆,我来帮你找回照片、生成影片或解锁隐藏彩蛋✨", + "introduction2": "想找合适的图片?试试这样搜更精准:\n\n• 明确主题:比如'秋日森林'、'极简风书桌'、'复古海报设计'\n\n• 加上细节:想找特定风格?试试'水彩风猫咪'、'赛博朋克城市夜景';需要特定用途?比如'无版权风景图'、'可商用图标'\n\n• 描述场景:比如'阳光透过树叶的光斑'、'雨天咖啡馆窗外'\n\n输入这些关键词,说不定就能找到你想要的画面啦~", + "introduction3": "想让你的视频内容更吸睛、更有故事感吗?不妨试试从搜索图片入手吧!\n\n你可以先确定视频的主题——是治愈系的自然风景,还是复古风的城市街景,或是充满活力的生活瞬间?然后根据主题去搜索相关的图片,比如想做'春日限定'主题,就搜'樱花飘落''草地野餐''嫩芽初绽'之类的画面。\n\n这些图片能帮你快速理清视频的画面脉络,甚至能激发新的创意——比如一张老照片里的复古物件,或许能延伸出一段关于时光的故事;一组星空图片,说不定能串联成关于梦想与远方的叙事。把这些图片按你的想法串联起来,配上合适的音乐和文案,一段有温度的视频就诞生啦,试试看吧~", + "search": "检索素材", + "video": "创作视频" } } \ No newline at end of file From 483a5e0beaf61bb8928b3c33df8702923eb801ad Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 29 Jul 2025 14:28:10 +0800 Subject: [PATCH 20/68] feat: apple --- app/(tabs)/rights.tsx | 51 +++++++++++------------------ components/owner/rights/premium.tsx | 7 ++-- 2 files changed, 23 insertions(+), 35 deletions(-) diff --git a/app/(tabs)/rights.tsx b/app/(tabs)/rights.tsx index 1fb9eda..9a78980 100644 --- a/app/(tabs)/rights.tsx +++ b/app/(tabs)/rights.tsx @@ -8,7 +8,7 @@ import ProRights from '@/components/owner/rights/proRights'; import { createOrder, createPayment, getPAy, isOrderExpired, payFailure, payProcessing, paySuccess } from '@/components/owner/rights/utils'; import { ThemedText } from '@/components/ThemedText'; import { CreateOrder } from '@/types/personal-info'; -import { ErrorCode, getAvailablePurchases, getPurchaseHistories, ProductPurchase, useIAP } from 'expo-iap'; +import { ErrorCode, getPurchaseHistories, useIAP } from 'expo-iap'; import { useLocalSearchParams, useRouter } from "expo-router"; import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -21,14 +21,8 @@ export default function Rights() { const { t } = useTranslation(); const { connected, - products, - subscriptions, - currentPurchase, - currentPurchaseError, requestProducts, requestPurchase, - finishTransaction, - validateReceipt, } = useIAP(); // 用户勾选协议 const [agree, setAgree] = useState(false); @@ -66,19 +60,19 @@ export default function Rights() { }; // 恢复购买 - const restorePurchases = async () => { - try { - const purchases = await getAvailablePurchases(); - console.log('Available purchases:', purchases); - // Process and validate restored purchases - for (const purchase of purchases) { - await validateAndGrantPurchase(purchase); - } - alert(t('personal:rights.restoreSuccess')); - } catch (error) { - console.error('Restore failed:', error); - } - }; + // const restorePurchases = async () => { + // try { + // const purchases = await getAvailablePurchases(); + // console.log('Available purchases:', purchases); + // // Process and validate restored purchases + // for (const purchase of purchases) { + // await validateAndGrantPurchase(purchase); + // } + // alert(t('personal:rights.restoreSuccess')); + // } catch (error) { + // console.error('Restore failed:', error); + // } + // }; // 处理购买 const handlePurchase = async (sku: string, transaction_id: string) => { @@ -88,15 +82,13 @@ export default function Rights() { const res = await requestPurchase({ request: { ios: { - sku: payType, + sku: sku, andDangerouslyFinishTransactionAutomaticallyIOS: false, }, }, }); - console.log('Purchase success:', res); - - // 支付成功 - await paySuccess(transaction_id, res?.transactionId || "") + // 支付成功 + await paySuccess(res?.transaction_id || "", "2000000971679717") } catch (error: any) { console.log('Purchase failed:', error); // 支付失败 @@ -248,7 +240,7 @@ export default function Rights() { {/* 普通权益 */} {/* 会员权益 */} - + {/* 支付方式 */} {/* */} @@ -306,7 +298,7 @@ export default function Rights() { {/* 协议弹窗 */} - + ); } @@ -454,7 +446,4 @@ const styles = StyleSheet.create({ color: '#4C320C', lineHeight: 32 } -}); -function validateAndGrantPurchase(purchase: ProductPurchase) { - throw new Error('Function not implemented.'); -} +}); \ No newline at end of file diff --git a/components/owner/rights/premium.tsx b/components/owner/rights/premium.tsx index 2a64dcc..6492705 100644 --- a/components/owner/rights/premium.tsx +++ b/components/owner/rights/premium.tsx @@ -11,7 +11,6 @@ interface Props { premiumPay: any; loading: boolean; setShowTerms: (visible: boolean) => void; - restorePurchases: () => void; } export interface PayItem { @@ -31,7 +30,7 @@ export interface PayItem { } const Premium = (props: Props) => { - const { style, payType, setPayType, premiumPay, loading, setShowTerms, restorePurchases } = props; + const { style, payType, setPayType, premiumPay, loading } = props; const bestValue = maxDiscountProduct(premiumPay)?.product_code const { t } = useTranslation(); @@ -80,7 +79,7 @@ const Premium = (props: Props) => { }) } - + {/* {t('personal:rights.restorePurchase')} @@ -89,7 +88,7 @@ const Premium = (props: Props) => { {t('personal:rights.restore')} - + */} ); } From c51168ec563ec68304c95b1fb1218b71910559ac Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 29 Jul 2025 14:38:40 +0800 Subject: [PATCH 21/68] =?UTF-8?q?feat:=20=E5=A4=84=E7=90=86web=E7=AB=AFexp?= =?UTF-8?q?oiap=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/rights.tsx | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/app/(tabs)/rights.tsx b/app/(tabs)/rights.tsx index 9a78980..d433645 100644 --- a/app/(tabs)/rights.tsx +++ b/app/(tabs)/rights.tsx @@ -8,12 +8,25 @@ import ProRights from '@/components/owner/rights/proRights'; import { createOrder, createPayment, getPAy, isOrderExpired, payFailure, payProcessing, paySuccess } from '@/components/owner/rights/utils'; import { ThemedText } from '@/components/ThemedText'; import { CreateOrder } from '@/types/personal-info'; -import { ErrorCode, getPurchaseHistories, useIAP } from 'expo-iap'; import { useLocalSearchParams, useRouter } from "expo-router"; import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { ActivityIndicator, Image, ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native'; -import { useSafeAreaInsets } from "react-native-safe-area-context"; +import { ActivityIndicator, Image, Platform, ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; + +// 根据平台动态导入 expo-iap +let useIAP: any, requestPurchase: any, getPurchaseHistories: any; +if (Platform.OS !== 'web') { + const iap = require('expo-iap'); + useIAP = iap.useIAP; + requestPurchase = iap.requestPurchase; + getPurchaseHistories = iap.getPurchaseHistories; +} else { + // 为 Web 端提供 mock 实现 + useIAP = () => ({ connected: false }); + requestPurchase = async () => { console.log('IAP is not available on web.'); }; + getPurchaseHistories = async () => []; +} export default function Rights() { const insets = useSafeAreaInsets(); @@ -22,19 +35,18 @@ export default function Rights() { const { connected, requestProducts, - requestPurchase, + ErrorCode } = useIAP(); + const { pro } = useLocalSearchParams<{ + credit: string; + pro: string; + }>(); // 用户勾选协议 const [agree, setAgree] = useState(false); // 用户选择购买的loading const [confirmLoading, setConfirmLoading] = useState(false); // 选择购买方式 const [payChoice, setPayChoice] = useState<'ApplePay'>('ApplePay'); - // 获取路由参数 - const { credit, pro } = useLocalSearchParams<{ - credit: string; - pro: string; - }>(); // 普通用户,会员 const [userType, setUserType] = useState<'normal' | 'premium'>('normal'); @@ -88,7 +100,7 @@ export default function Rights() { }, }); // 支付成功 - await paySuccess(res?.transaction_id || "", "2000000971679717") + await paySuccess(transaction_id, res?.transaction_id || "") } catch (error: any) { console.log('Purchase failed:', error); // 支付失败 @@ -214,7 +226,7 @@ export default function Rights() { - {credit} + {pro} From a188ea9d7dfd367aec6278b55d489cddd15362c1 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Thu, 31 Jul 2025 15:14:50 +0800 Subject: [PATCH 22/68] =?UTF-8?q?feat:=20=E4=B8=AA=E4=BA=BA=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=20userinfo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/owner.tsx | 4 -- app/(tabs)/rights.tsx | 2 +- assets/icons/svg/free.svg | 42 ++++++++++++++++++++ assets/icons/svg/line.svg | 3 ++ assets/icons/svg/pro.svg | 62 ++++++++++++++++++++++++++++++ assets/icons/svg/topRightData.svg | 3 ++ components/owner/album.tsx | 5 +-- components/owner/rights/normal.tsx | 1 - components/owner/userName.tsx | 49 +++++++++++++++++++++-- 9 files changed, 158 insertions(+), 13 deletions(-) create mode 100644 assets/icons/svg/free.svg create mode 100644 assets/icons/svg/line.svg create mode 100644 assets/icons/svg/pro.svg create mode 100644 assets/icons/svg/topRightData.svg diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index 3cc0eab..eed318d 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -2,7 +2,6 @@ import ComeinSvg from '@/assets/icons/svg/comein.svg'; import ConversationsSvg from '@/assets/icons/svg/conversations.svg'; import StoriesSvg from '@/assets/icons/svg/stories.svg'; import AskNavbar from '@/components/layout/ask'; -import AlbumComponent from '@/components/owner/album'; import CarouselComponent from '@/components/owner/carousel'; import CreateCountComponent from '@/components/owner/createCount'; import Ranking from '@/components/owner/ranking'; @@ -82,9 +81,6 @@ export default function OwnerPage() { {/* 用户信息 */} - {/* 设置栏 */} - - {/* 资源数据 */} router.push({ diff --git a/app/(tabs)/rights.tsx b/app/(tabs)/rights.tsx index d433645..e9e97c2 100644 --- a/app/(tabs)/rights.tsx +++ b/app/(tabs)/rights.tsx @@ -257,7 +257,7 @@ export default function Rights() { {/* 支付方式 */} {/* */} {/* 会员权益信息 */} - + diff --git a/assets/icons/svg/free.svg b/assets/icons/svg/free.svg new file mode 100644 index 0000000..3922c40 --- /dev/null +++ b/assets/icons/svg/free.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/svg/line.svg b/assets/icons/svg/line.svg new file mode 100644 index 0000000..5cebb9e --- /dev/null +++ b/assets/icons/svg/line.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/svg/pro.svg b/assets/icons/svg/pro.svg new file mode 100644 index 0000000..6088bbd --- /dev/null +++ b/assets/icons/svg/pro.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/svg/topRightData.svg b/assets/icons/svg/topRightData.svg new file mode 100644 index 0000000..61eb428 --- /dev/null +++ b/assets/icons/svg/topRightData.svg @@ -0,0 +1,3 @@ + + + diff --git a/components/owner/album.tsx b/components/owner/album.tsx index ff94e61..8b34244 100644 --- a/components/owner/album.tsx +++ b/components/owner/album.tsx @@ -4,13 +4,13 @@ import { useTranslation } from 'react-i18next'; import { StyleProp, StyleSheet, TouchableOpacity, View, ViewStyle } from "react-native"; import { ThemedText } from "../ThemedText"; interface CategoryProps { - setModalVisible: (visible: boolean) => void; style?: StyleProp; } -const AlbumComponent = ({ setModalVisible, style }: CategoryProps) => { +const AlbumComponent = ({ style }: CategoryProps) => { const { t } = useTranslation(); const router = useRouter(); + return ( @@ -21,7 +21,6 @@ const AlbumComponent = ({ setModalVisible, style }: CategoryProps) => { { - // setModalVisible(true); router.push('/setting'); }} activeOpacity={0.7} diff --git a/components/owner/rights/normal.tsx b/components/owner/rights/normal.tsx index 2fde55e..c526156 100644 --- a/components/owner/rights/normal.tsx +++ b/components/owner/rights/normal.tsx @@ -58,7 +58,6 @@ const styles = StyleSheet.create({ normalInfo: { display: "flex", flexDirection: "column", - alignItems: "center", gap: 16 }, normalItem: { diff --git a/components/owner/userName.tsx b/components/owner/userName.tsx index 2225312..9820270 100644 --- a/components/owner/userName.tsx +++ b/components/owner/userName.tsx @@ -1,13 +1,18 @@ import UserSvg from '@/assets/icons/svg/ataver.svg'; +import SettingSvg from '@/assets/icons/svg/setting.svg'; import StarSvg from '@/assets/icons/svg/star.svg'; import { ThemedText } from '@/components/ThemedText'; import { UserInfoDetails } from '@/types/user'; +import { useRouter } from 'expo-router'; import { useState } from 'react'; -import { Image, ScrollView, View } from 'react-native'; +import { Image, ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native'; import CopyButton from '../copy'; + export default function UserInfo({ userInfo }: { userInfo: UserInfoDetails }) { // 添加状态来跟踪图片加载状态 const [imageError, setImageError] = useState(false); + const router = useRouter(); + return ( {/* 头像 */} @@ -55,15 +60,39 @@ export default function UserInfo({ userInfo }: { userInfo: UserInfoDetails }) { )) } + {userInfo?.remain_points} - - User ID:{userInfo?.user_info?.user_id} - + + + + User ID:{userInfo?.user_info?.user_id} + + + + { + router.push('/setting'); + }} + activeOpacity={0.7} + hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }} + style={[styles.text, { flex: 1, alignItems: "center", paddingVertical: 6, zIndex: 999 }]}> + + @@ -71,3 +100,15 @@ export default function UserInfo({ userInfo }: { userInfo: UserInfoDetails }) { ); } +const styles = StyleSheet.create({ + text: { + fontSize: 12, + fontWeight: '700', + color: '#AC7E35', + borderColor: '#FFD18A', + borderWidth: 1, + borderRadius: 20, + padding: 4, + textAlign: "center", + } +}); \ No newline at end of file From fa4092302b7ac0dfe80c4cbb22858b159b8d22ff Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Thu, 31 Jul 2025 16:19:30 +0800 Subject: [PATCH 23/68] =?UTF-8?q?feat:=20pro=E5=8D=A1=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 2 +- app/(tabs)/owner.tsx | 11 +- assets/icons/svg/pro.svg | 62 ----------- assets/icons/svg/proText.svg | 9 ++ assets/icons/svg/righttopDate.svg | 3 + assets/icons/svg/topRightData.svg | 3 - components/owner/rights/memberCard.tsx | 139 +++++++++++++++++++++++++ i18n/locales/zh/personal.json | 3 +- lib/server-api-util.ts | 2 +- package-lock.json | 11 ++ package.json | 3 +- 11 files changed, 174 insertions(+), 74 deletions(-) delete mode 100644 assets/icons/svg/pro.svg create mode 100644 assets/icons/svg/proText.svg create mode 100644 assets/icons/svg/righttopDate.svg delete mode 100644 assets/icons/svg/topRightData.svg create mode 100644 components/owner/rights/memberCard.tsx diff --git a/.env b/.env index 53a6945..8a1f236 100644 --- a/.env +++ b/.env @@ -1 +1 @@ -API_ENDPOINT=http://192.168.31.115:18080/api \ No newline at end of file +API_ENDPOINT=http://192.168.31.16:31646/api \ No newline at end of file diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index eed318d..62db827 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -1,20 +1,19 @@ -import ComeinSvg from '@/assets/icons/svg/comein.svg'; import ConversationsSvg from '@/assets/icons/svg/conversations.svg'; import StoriesSvg from '@/assets/icons/svg/stories.svg'; import AskNavbar from '@/components/layout/ask'; import CarouselComponent from '@/components/owner/carousel'; import CreateCountComponent from '@/components/owner/createCount'; import Ranking from '@/components/owner/ranking'; +import MemberCard from '@/components/owner/rights/memberCard'; import SettingModal from '@/components/owner/setting'; import UserInfo from '@/components/owner/userName'; -import { ThemedText } from '@/components/ThemedText'; import { checkAuthStatus } from '@/lib/auth'; import { fetchApi } from '@/lib/server-api-util'; import { CountData, UserInfoDetails } from '@/types/user'; import { useRouter } from 'expo-router'; import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { FlatList, StyleSheet, TouchableOpacity, View } from 'react-native'; +import { FlatList, StyleSheet, View } from 'react-native'; import { useSafeAreaInsets } from "react-native-safe-area-context"; export default function OwnerPage() { @@ -82,7 +81,7 @@ export default function OwnerPage() { {/* 资源数据 */} - router.push({ pathname: '/rights', params: { credit: userInfoDetails?.remain_points, pro: userInfoDetails?.membership_level } @@ -94,7 +93,9 @@ export default function OwnerPage() { {t("generalSetting.unlock", { ns: "personal" })} - + */} + + {/* 分类 */} diff --git a/assets/icons/svg/pro.svg b/assets/icons/svg/pro.svg deleted file mode 100644 index 6088bbd..0000000 --- a/assets/icons/svg/pro.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/icons/svg/proText.svg b/assets/icons/svg/proText.svg new file mode 100644 index 0000000..9fda745 --- /dev/null +++ b/assets/icons/svg/proText.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/icons/svg/righttopDate.svg b/assets/icons/svg/righttopDate.svg new file mode 100644 index 0000000..49dc48c --- /dev/null +++ b/assets/icons/svg/righttopDate.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/svg/topRightData.svg b/assets/icons/svg/topRightData.svg deleted file mode 100644 index 61eb428..0000000 --- a/assets/icons/svg/topRightData.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/components/owner/rights/memberCard.tsx b/components/owner/rights/memberCard.tsx new file mode 100644 index 0000000..191a44f --- /dev/null +++ b/components/owner/rights/memberCard.tsx @@ -0,0 +1,139 @@ +import ProTextSvg from '@/assets/icons/svg/proText.svg'; +import RightTopDateSvg from '@/assets/icons/svg/righttopDate.svg'; +import { ThemedText } from '@/components/ThemedText'; +import { useTranslation } from "react-i18next"; +import { StyleSheet, View } from "react-native"; + +const MemberCard = () => { + const { t } = useTranslation(); + + return ( + + + + + + {t("personal:generalSetting.unlock")} + + + + + + + + + + + + 2025-09-25截止 + + + + ); +}; + +const styles = StyleSheet.create({ + date: { + fontSize: 12, + fontWeight: 'bold', + color: '#4C320C', + padding: 4, + transform: [{ rotate: '40deg' }], + position: 'absolute', + top: 20, + right: -38, + }, + container: { + borderRadius: 32, + height: 140, + }, + card: { + flex: 1, + backgroundColor: '#4C320C', + borderRadius: 16, + padding: 16, + flexDirection: 'row', + justifyContent: 'space-between', + overflow: 'hidden', + }, + content: { + flex: 1, + justifyContent: 'space-between', + }, + textContainer: { + flex: 1, + justifyContent: 'center', + }, + title: { + fontSize: 42, + fontWeight: 'bold', + width: '100%', + textAlign: 'center' + }, + subtitle: { + color: '#FFE4A8', + fontSize: 14, + marginBottom: 12, + }, + benefitsContainer: { + marginTop: 8, + }, + benefit: { + color: '#FFF8DE', + fontSize: 12, + lineHeight: 20, + }, + decorativeElements: { + position: 'absolute', + top: 0, + left: 0, + right: 0, + bottom: 0, + }, + topRightData: { + position: 'absolute', + top: -4, + right: 16, + zIndex: 0, + }, + topRightData2: { + position: 'absolute', + top: '50%', + right: -16, + zIndex: 0, + }, + righttopData: { + position: 'absolute', + top: -6, + right: 20, + zIndex: 0, + }, + line: { + position: 'absolute', + bottom: 16, + left: 16, + right: 16, + height: 4, + }, + characterContainer: { + position: 'absolute', + right: 0, + bottom: 0, + width: 360, + height: 140, + justifyContent: 'flex-end', + alignItems: 'flex-end', + }, + gradient: { + position: 'absolute', + left: 0, + right: 0, + top: 0, + bottom: 0, + }, + transparentText: { + opacity: 1, + }, +}); + +export default MemberCard; \ No newline at end of file diff --git a/i18n/locales/zh/personal.json b/i18n/locales/zh/personal.json index 6ba9bab..f06f787 100644 --- a/i18n/locales/zh/personal.json +++ b/i18n/locales/zh/personal.json @@ -87,7 +87,8 @@ "premium": "升级至会员", "unlock": "解锁更多记忆魔法", "delete": "确定要注销账号吗?", - "cancel": "取消" + "cancel": "取消", + "pro": "Pro" }, "rights": { "title": "权益", diff --git a/lib/server-api-util.ts b/lib/server-api-util.ts index 8331343..870d4c7 100644 --- a/lib/server-api-util.ts +++ b/lib/server-api-util.ts @@ -25,7 +25,7 @@ export interface PagedResult { // 获取.env文件中的变量 -export const API_ENDPOINT = Constants.expoConfig?.extra?.API_ENDPOINT || "http://192.168.31.115:18080/api"; +export const API_ENDPOINT = Constants.expoConfig?.extra?.API_ENDPOINT || "http://192.168.31.16:31646/api"; // 更新 access_token 的逻辑 - 用于React组件中 export const useAuthToken = async(message: string | null) => { diff --git a/package-lock.json b/package-lock.json index 09db5d3..61c613b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.0", "dependencies": { "@expo/vector-icons": "^14.1.0", + "@react-native-masked-view/masked-view": "0.3.2", "@react-navigation/bottom-tabs": "^7.3.10", "@react-navigation/elements": "^2.3.8", "@react-navigation/native": "^7.1.6", @@ -3792,6 +3793,16 @@ } } }, + "node_modules/@react-native-masked-view/masked-view": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@react-native-masked-view/masked-view/-/masked-view-0.3.2.tgz", + "integrity": "sha512-XwuQoW7/GEgWRMovOQtX3A4PrXhyaZm0lVUiY8qJDvdngjLms9Cpdck6SmGAUNqQwcj2EadHC1HwL0bEyoa/SQ==", + "license": "MIT", + "peerDependencies": { + "react": ">=16", + "react-native": ">=0.57" + } + }, "node_modules/@react-native-picker/picker": { "version": "2.11.1", "resolved": "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.11.1.tgz", diff --git a/package.json b/package.json index 788a6a7..048dedc 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,8 @@ "react-native-view-shot": "4.0.3", "react-native-web": "~0.20.0", "react-native-webview": "13.13.5", - "react-redux": "^9.2.0" + "react-redux": "^9.2.0", + "@react-native-masked-view/masked-view": "0.3.2" }, "devDependencies": { "@babel/core": "^7.25.2", From 174d78fd91f7557b711bf9d36a4cae6b46dc21a3 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Thu, 31 Jul 2025 17:37:23 +0800 Subject: [PATCH 24/68] =?UTF-8?q?feat:=20=E8=BD=AE=E6=92=AD=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/icons/svg/imgTotal.svg | 4 +++ assets/icons/svg/imgTotalWhite.svg | 6 ++++ assets/icons/svg/liveTotal.svg | 8 +++++ assets/icons/svg/people.svg | 4 +-- assets/icons/svg/timeTotal.svg | 3 ++ assets/icons/svg/timeTotalWhite.svg | 3 ++ assets/icons/svg/videoTotal.svg | 3 ++ assets/icons/svg/videoTotalWhite.svg | 3 ++ components/owner/carousel.tsx | 50 ++++++++++++++++------------ components/owner/category.tsx | 34 ++++++++++++++----- 10 files changed, 86 insertions(+), 32 deletions(-) create mode 100644 assets/icons/svg/imgTotal.svg create mode 100644 assets/icons/svg/imgTotalWhite.svg create mode 100644 assets/icons/svg/liveTotal.svg create mode 100644 assets/icons/svg/timeTotal.svg create mode 100644 assets/icons/svg/timeTotalWhite.svg create mode 100644 assets/icons/svg/videoTotal.svg create mode 100644 assets/icons/svg/videoTotalWhite.svg diff --git a/assets/icons/svg/imgTotal.svg b/assets/icons/svg/imgTotal.svg new file mode 100644 index 0000000..e56e54f --- /dev/null +++ b/assets/icons/svg/imgTotal.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/icons/svg/imgTotalWhite.svg b/assets/icons/svg/imgTotalWhite.svg new file mode 100644 index 0000000..e23ab51 --- /dev/null +++ b/assets/icons/svg/imgTotalWhite.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/icons/svg/liveTotal.svg b/assets/icons/svg/liveTotal.svg new file mode 100644 index 0000000..f0faf33 --- /dev/null +++ b/assets/icons/svg/liveTotal.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/assets/icons/svg/people.svg b/assets/icons/svg/people.svg index db2a291..b83b918 100644 --- a/assets/icons/svg/people.svg +++ b/assets/icons/svg/people.svg @@ -1,3 +1,3 @@ - - + + diff --git a/assets/icons/svg/timeTotal.svg b/assets/icons/svg/timeTotal.svg new file mode 100644 index 0000000..653117d --- /dev/null +++ b/assets/icons/svg/timeTotal.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/svg/timeTotalWhite.svg b/assets/icons/svg/timeTotalWhite.svg new file mode 100644 index 0000000..1c818c4 --- /dev/null +++ b/assets/icons/svg/timeTotalWhite.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/svg/videoTotal.svg b/assets/icons/svg/videoTotal.svg new file mode 100644 index 0000000..fa5f97a --- /dev/null +++ b/assets/icons/svg/videoTotal.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/svg/videoTotalWhite.svg b/assets/icons/svg/videoTotalWhite.svg new file mode 100644 index 0000000..a91c405 --- /dev/null +++ b/assets/icons/svg/videoTotalWhite.svg @@ -0,0 +1,3 @@ + + + diff --git a/components/owner/carousel.tsx b/components/owner/carousel.tsx index b54992a..ece3de7 100644 --- a/components/owner/carousel.tsx +++ b/components/owner/carousel.tsx @@ -1,5 +1,7 @@ -import HandersSvg from "@/assets/icons/svg/handers.svg"; -import UserinfoTotalSvg from "@/assets/icons/svg/userinfoTotal.svg"; +import ImgTotalSvg from "@/assets/icons/svg/imgTotal.svg"; +import LiveTotalSvg from "@/assets/icons/svg/liveTotal.svg"; +import TimeTotalSvg from "@/assets/icons/svg/timeTotal.svg"; +import VideoTotalSvg from "@/assets/icons/svg/videoTotal.svg"; import { Counter, UserCountData } from "@/types/user"; import * as React from "react"; import { Dimensions, StyleSheet, View, ViewStyle } from "react-native"; @@ -44,16 +46,18 @@ function CarouselComponent(props: Props) { const totleItem = (data: UserCountData) => { return {Object?.entries(data)?.filter(([key]) => key !== 'cover_url')?.map((item, index) => ( - - {item[0]} + + + + { + item?.[0]?.includes('video_count') ? : item?.[0]?.includes('photo') ? : item?.[0]?.includes('live') ? : + } + + {item[0]} + {item[1]} ))} - - - - - } @@ -70,7 +74,7 @@ function CarouselComponent(props: Props) { height={width * 0.75} data={carouselDataValue || []} mode="parallax" - // defaultIndex={carouselDataValue?.findIndex((item) => item?.key === 'total_count') - 1 || 0} + defaultIndex={carouselDataValue?.findIndex((item) => item?.key === 'total_count') - 1 || 0} modeConfig={{ parallaxScrollingScale: 1, parallaxScrollingOffset: 160, @@ -108,16 +112,22 @@ function CarouselComponent(props: Props) { } const styles = StyleSheet.create({ + icon: { + alignItems: 'center', + justifyContent: 'center', + backgroundColor: '#fff', + borderRadius: 32, + padding: 4 + }, container: { backgroundColor: "#FFB645", - paddingVertical: 8, + paddingVertical: 16, paddingHorizontal: 16, borderRadius: 16, display: "flex", flexDirection: "column", position: 'relative', - width: width * 0.6, - height: '85%' + width: width * 0.7 }, image: { position: 'absolute', @@ -130,23 +140,19 @@ const styles = StyleSheet.create({ item: { flexDirection: "row", alignItems: "center", - justifyContent: "space-between", - paddingVertical: 8, - borderBottomColor: '#fff', - borderBottomWidth: 1, + paddingVertical: 16 }, title: { color: "#4C320C", - fontWeight: "700", - fontSize: 14, + fontWeight: "500", + fontSize: 22, }, number: { color: "#fff", fontWeight: "700", - fontSize: 32, - textAlign: 'right', + fontSize: 28, + textAlign: 'left', flex: 1, - paddingTop: 8 } }) diff --git a/components/owner/category.tsx b/components/owner/category.tsx index 2f91fa2..69c1ad9 100644 --- a/components/owner/category.tsx +++ b/components/owner/category.tsx @@ -1,4 +1,8 @@ +import ImgTotalSvg from "@/assets/icons/svg/imgTotalWhite.svg"; +import LiveTotalSvg from "@/assets/icons/svg/liveTotal.svg"; import PeopleSvg from "@/assets/icons/svg/people.svg"; +import TimeTotalSvg from "@/assets/icons/svg/timeTotalWhite.svg"; +import VideoTotalSvg from "@/assets/icons/svg/videoTotalWhite.svg"; import { Image, StyleProp, StyleSheet, View, ViewStyle } from "react-native"; import { ThemedText } from "../ThemedText"; @@ -26,7 +30,14 @@ const CategoryComponent = ({ title, data, bgSvg, style }: CategoryProps) => { {data.map((item, index) => ( - {item.title} + + + { + index == 0 ? : index == 1 ? : index == 2 ? : + } + + {item.title} + {item.number} ))} @@ -34,7 +45,6 @@ const CategoryComponent = ({ title, data, bgSvg, style }: CategoryProps) => { {title} - ); @@ -54,12 +64,13 @@ const styles = StyleSheet.create({ }, overlay: { ...StyleSheet.absoluteFillObject, - backgroundColor: 'rgba(0, 0, 0, 0.2)', // 0% 不透明度的黑色 + backgroundColor: 'rgba(0, 0, 0, 0.3)', + backdropFilter: 'blur(5px)', }, content: { paddingHorizontal: 40, paddingVertical: 24, - justifyContent: 'flex-end', + justifyContent: "space-between", flex: 1 }, titleContent: { @@ -72,7 +83,7 @@ const styles = StyleSheet.create({ }, title: { color: 'white', - fontSize: 16, + fontSize: 20, fontWeight: '700', textShadowColor: 'rgba(0, 0, 0, 0.5)', textShadowOffset: { width: 1, height: 1 }, @@ -85,17 +96,24 @@ const styles = StyleSheet.create({ item: { flexDirection: 'row', alignItems: 'center', - paddingVertical: 8, justifyContent: 'space-between', + paddingVertical: 8, + width: '100%', }, itemTitle: { color: 'white', - fontSize: 14, + fontSize: 22, fontWeight: '700', + marginLeft: 16, + flex: 1, }, itemNumber: { color: 'white', - fontSize: 14, + fontSize: 28, + fontWeight: '700', + textAlign: 'left', + marginLeft: 8, + flex: 1 } }); From 9efa6e75056da0e262f7a4aa730099c2a4d5bf85 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Thu, 31 Jul 2025 19:23:25 +0800 Subject: [PATCH 25/68] =?UTF-8?q?feat:=20=E6=A0=B7=E5=BC=8F=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/owner.tsx | 6 +- assets/icons/svg/pro.svg | 25 +++++ components/owner/carousel.tsx | 5 +- components/owner/category.tsx | 13 ++- components/owner/createCount.tsx | 21 ++-- components/owner/rights/memberCard.tsx | 136 ++++--------------------- components/owner/userName.tsx | 6 +- 7 files changed, 71 insertions(+), 141 deletions(-) create mode 100644 assets/icons/svg/pro.svg diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index 62db827..1805d1d 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -97,14 +97,14 @@ export default function OwnerPage() { {/* 分类 */} - + {/* 作品数据 */} - } number={userInfoDetails.stories_count} /> - } number={userInfoDetails.conversations_count} /> + } number={userInfoDetails.stories_count} /> + } number={userInfoDetails.conversations_count} /> {/* 排行榜 */} diff --git a/assets/icons/svg/pro.svg b/assets/icons/svg/pro.svg new file mode 100644 index 0000000..b0500e0 --- /dev/null +++ b/assets/icons/svg/pro.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/components/owner/carousel.tsx b/components/owner/carousel.tsx index ece3de7..207641d 100644 --- a/components/owner/carousel.tsx +++ b/components/owner/carousel.tsx @@ -77,7 +77,7 @@ function CarouselComponent(props: Props) { defaultIndex={carouselDataValue?.findIndex((item) => item?.key === 'total_count') - 1 || 0} modeConfig={{ parallaxScrollingScale: 1, - parallaxScrollingOffset: 160, + parallaxScrollingOffset: 150, parallaxAdjacentItemScale: 0.7 }} renderItem={({ item, index }) => { @@ -121,7 +121,7 @@ const styles = StyleSheet.create({ }, container: { backgroundColor: "#FFB645", - paddingVertical: 16, + paddingVertical: 8, paddingHorizontal: 16, borderRadius: 16, display: "flex", @@ -153,6 +153,7 @@ const styles = StyleSheet.create({ fontSize: 28, textAlign: 'left', flex: 1, + paddingTop: 8 } }) diff --git a/components/owner/category.tsx b/components/owner/category.tsx index 69c1ad9..3454003 100644 --- a/components/owner/category.tsx +++ b/components/owner/category.tsx @@ -3,9 +3,9 @@ import LiveTotalSvg from "@/assets/icons/svg/liveTotal.svg"; import PeopleSvg from "@/assets/icons/svg/people.svg"; import TimeTotalSvg from "@/assets/icons/svg/timeTotalWhite.svg"; import VideoTotalSvg from "@/assets/icons/svg/videoTotalWhite.svg"; +import { BlurView } from "expo-blur"; import { Image, StyleProp, StyleSheet, View, ViewStyle } from "react-native"; import { ThemedText } from "../ThemedText"; - interface CategoryProps { title: string; data: { title: string, number: string | number }[]; @@ -25,7 +25,7 @@ const CategoryComponent = ({ title, data, bgSvg, style }: CategoryProps) => { resizeMode: "cover" }} /> - + {data.map((item, index) => ( @@ -64,12 +64,11 @@ const styles = StyleSheet.create({ }, overlay: { ...StyleSheet.absoluteFillObject, - backgroundColor: 'rgba(0, 0, 0, 0.3)', + backgroundColor: 'rgba(0, 0, 0, 0.4)', backdropFilter: 'blur(5px)', }, content: { - paddingHorizontal: 40, - paddingVertical: 24, + padding: 16, justifyContent: "space-between", flex: 1 }, @@ -79,7 +78,6 @@ const styles = StyleSheet.create({ justifyContent: 'center', position: 'relative', width: '100%', - marginTop: 16 }, title: { color: 'white', @@ -113,7 +111,8 @@ const styles = StyleSheet.create({ fontWeight: '700', textAlign: 'left', marginLeft: 8, - flex: 1 + flex: 1, + paddingTop: 8 } }); diff --git a/components/owner/createCount.tsx b/components/owner/createCount.tsx index fec95ee..aa1518b 100644 --- a/components/owner/createCount.tsx +++ b/components/owner/createCount.tsx @@ -10,13 +10,13 @@ interface CreateCountProps { const CreateCountComponent = (props: CreateCountProps) => { return ( + {props.number} - {props.title} {props.icon} + {props.title} - {props.number} ); }; @@ -26,8 +26,8 @@ const styles = StyleSheet.create({ flex: 1, display: "flex", flexDirection: "column", - alignItems: "flex-start", - justifyContent: "space-between", + alignItems: "center", + justifyContent: "center", gap: 8, backgroundColor: "#FAF9F6", padding: 16, @@ -45,24 +45,23 @@ const styles = StyleSheet.create({ width: "100%", display: "flex", flexDirection: "row", + alignItems: "center", + justifyContent: "center", gap: 8, - // 靠左展示 - textAlign: 'left', }, title: { - width: "53%", - fontSize: 11, + fontSize: 20, fontWeight: "700", // 允许换行 flexWrap: "wrap", }, number: { fontSize: 32, - fontWeight: "700", + fontWeight: "400", paddingTop: 8, width: "100%", - // 靠右展示 - textAlign: "right", + textAlign: "center", + color: "#4C320C" }, }) export default CreateCountComponent; diff --git a/components/owner/rights/memberCard.tsx b/components/owner/rights/memberCard.tsx index 191a44f..bd7ded3 100644 --- a/components/owner/rights/memberCard.tsx +++ b/components/owner/rights/memberCard.tsx @@ -1,138 +1,42 @@ -import ProTextSvg from '@/assets/icons/svg/proText.svg'; -import RightTopDateSvg from '@/assets/icons/svg/righttopDate.svg'; +import HandersSvg from '@/assets/icons/svg/handers.svg'; +import ProSvg from '@/assets/icons/svg/pro.svg'; import { ThemedText } from '@/components/ThemedText'; import { useTranslation } from "react-i18next"; -import { StyleSheet, View } from "react-native"; +import { Dimensions, Image, StyleSheet, View } from "react-native"; const MemberCard = () => { const { t } = useTranslation(); - + const proPng = require("@/assets/images/png/owner/pro.png"); + const width = Dimensions.get("window").width; return ( - - - - - {t("personal:generalSetting.unlock")} - - - - - - - - - - - - 2025-09-25截止 - + + + + + 2025-09-05截止 ); }; const styles = StyleSheet.create({ + dateContainer: { + position: 'absolute', + top: 16, + right: -15, + zIndex: 1, + transform: [{ rotate: '40deg' }], + }, date: { - fontSize: 12, + fontSize: 11, fontWeight: 'bold', color: '#4C320C', padding: 4, - transform: [{ rotate: '40deg' }], - position: 'absolute', - top: 20, - right: -38, }, container: { - borderRadius: 32, - height: 140, - }, - card: { - flex: 1, - backgroundColor: '#4C320C', - borderRadius: 16, - padding: 16, - flexDirection: 'row', - justifyContent: 'space-between', - overflow: 'hidden', - }, - content: { - flex: 1, - justifyContent: 'space-between', - }, - textContainer: { - flex: 1, - justifyContent: 'center', - }, - title: { - fontSize: 42, - fontWeight: 'bold', - width: '100%', - textAlign: 'center' - }, - subtitle: { - color: '#FFE4A8', - fontSize: 14, - marginBottom: 12, - }, - benefitsContainer: { - marginTop: 8, - }, - benefit: { - color: '#FFF8DE', - fontSize: 12, - lineHeight: 20, - }, - decorativeElements: { - position: 'absolute', - top: 0, - left: 0, - right: 0, - bottom: 0, - }, - topRightData: { - position: 'absolute', - top: -4, - right: 16, - zIndex: 0, - }, - topRightData2: { - position: 'absolute', - top: '50%', - right: -16, - zIndex: 0, - }, - righttopData: { - position: 'absolute', - top: -6, - right: 20, - zIndex: 0, - }, - line: { - position: 'absolute', - bottom: 16, - left: 16, - right: 16, - height: 4, - }, - characterContainer: { - position: 'absolute', - right: 0, - bottom: 0, - width: 360, - height: 140, - justifyContent: 'flex-end', - alignItems: 'flex-end', - }, - gradient: { - position: 'absolute', - left: 0, - right: 0, - top: 0, - bottom: 0, - }, - transparentText: { - opacity: 1, + position: "relative", + height: 120 }, }); diff --git a/components/owner/userName.tsx b/components/owner/userName.tsx index 9820270..f87e731 100644 --- a/components/owner/userName.tsx +++ b/components/owner/userName.tsx @@ -90,12 +90,11 @@ export default function UserInfo({ userInfo }: { userInfo: UserInfoDetails }) { }} activeOpacity={0.7} hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }} - style={[styles.text, { flex: 1, alignItems: "center", paddingVertical: 6, zIndex: 999 }]}> + style={styles.text}> - ); } @@ -110,5 +109,8 @@ const styles = StyleSheet.create({ borderRadius: 20, padding: 4, textAlign: "center", + alignItems: "center", + paddingVertical: 6, + paddingHorizontal: 12 } }); \ No newline at end of file From 1941790a05cf4dd6b30e4c81002df949fae3d567 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Thu, 31 Jul 2025 19:40:28 +0800 Subject: [PATCH 26/68] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/owner.tsx | 19 ++--------- components/owner/carousel.tsx | 2 +- components/owner/category.tsx | 2 +- components/owner/rights/memberCard.tsx | 46 ++++++++++++++++++++++---- components/owner/userName.tsx | 3 +- i18n/locales/en/personal.json | 4 ++- i18n/locales/zh/personal.json | 3 +- 7 files changed, 52 insertions(+), 27 deletions(-) diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index 1805d1d..fe9936f 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -80,24 +80,11 @@ export default function OwnerPage() { {/* 用户信息 */} - {/* 资源数据 */} - {/* router.push({ - pathname: '/rights', - params: { credit: userInfoDetails?.remain_points, pro: userInfoDetails?.membership_level } - })} - style={styles.resourceContainer} - > - - {t("generalSetting.premium", { ns: "personal" })} - {t("generalSetting.unlock", { ns: "personal" })} - - - */} - + {/* 会员卡 */} + {/* 分类 */} - + diff --git a/components/owner/carousel.tsx b/components/owner/carousel.tsx index 207641d..93ccdb4 100644 --- a/components/owner/carousel.tsx +++ b/components/owner/carousel.tsx @@ -150,7 +150,7 @@ const styles = StyleSheet.create({ number: { color: "#fff", fontWeight: "700", - fontSize: 28, + fontSize: 26, textAlign: 'left', flex: 1, paddingTop: 8 diff --git a/components/owner/category.tsx b/components/owner/category.tsx index 3454003..8af6b84 100644 --- a/components/owner/category.tsx +++ b/components/owner/category.tsx @@ -22,7 +22,7 @@ const CategoryComponent = ({ title, data, bgSvg, style }: CategoryProps) => { style={{ width: "100%", height: "100%", - resizeMode: "cover" + resizeMode: "cover", }} /> diff --git a/components/owner/rights/memberCard.tsx b/components/owner/rights/memberCard.tsx index bd7ded3..1aa9109 100644 --- a/components/owner/rights/memberCard.tsx +++ b/components/owner/rights/memberCard.tsx @@ -1,26 +1,60 @@ import HandersSvg from '@/assets/icons/svg/handers.svg'; import ProSvg from '@/assets/icons/svg/pro.svg'; import { ThemedText } from '@/components/ThemedText'; +import { useRouter } from 'expo-router'; import { useTranslation } from "react-i18next"; -import { Dimensions, Image, StyleSheet, View } from "react-native"; +import { Dimensions, Image, StyleSheet, TouchableOpacity, View } from "react-native"; -const MemberCard = () => { +const MemberCard = ({ pro }: { pro: string }) => { const { t } = useTranslation(); const proPng = require("@/assets/images/png/owner/pro.png"); const width = Dimensions.get("window").width; + const router = useRouter(); + return ( - - - - + + + + 2025-09-05截止 + + { + pro === "Pro" + ? + null : + { + router.push('/rights'); + }} + activeOpacity={0.7} + hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }} + style={styles.proText} + > + {t("personal:generalSetting.goPremium")} + + } + + ); }; const styles = StyleSheet.create({ + proText: { + fontSize: 10, + fontWeight: 'bold', + color: '#4C320C', + padding: 4, + paddingHorizontal: 8, + borderRadius: 16, + backgroundColor: '#fff', + position: 'absolute', + top: 30, + left: 90, + opacity: 0.7 + }, dateContainer: { position: 'absolute', top: 16, diff --git a/components/owner/userName.tsx b/components/owner/userName.tsx index f87e731..9540338 100644 --- a/components/owner/userName.tsx +++ b/components/owner/userName.tsx @@ -90,7 +90,8 @@ export default function UserInfo({ userInfo }: { userInfo: UserInfoDetails }) { }} activeOpacity={0.7} hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }} - style={styles.text}> + style={styles.text} + > diff --git a/i18n/locales/en/personal.json b/i18n/locales/en/personal.json index 62cb0cc..547f175 100644 --- a/i18n/locales/en/personal.json +++ b/i18n/locales/en/personal.json @@ -87,7 +87,9 @@ "premium": "Upgrade to Premium", "unlock": "Unlock more memory magic", "delete": "Are you sure you want to delete your account?", - "cancel": "Cancel" + "cancel": "Cancel", + "pro": "Pro", + "goPremium": "开通会员" }, "rights": { "title": "Subscription", diff --git a/i18n/locales/zh/personal.json b/i18n/locales/zh/personal.json index f06f787..72a9341 100644 --- a/i18n/locales/zh/personal.json +++ b/i18n/locales/zh/personal.json @@ -88,7 +88,8 @@ "unlock": "解锁更多记忆魔法", "delete": "确定要注销账号吗?", "cancel": "取消", - "pro": "Pro" + "pro": "Pro", + "goPremium": "开通会员" }, "rights": { "title": "权益", From 69735168f7611705c7be1d7b3f08715a511cd0de Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Thu, 31 Jul 2025 20:09:00 +0800 Subject: [PATCH 27/68] =?UTF-8?q?feat:=20ask=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/ask/aiChat.tsx | 194 +++++++++++++++++---------------- components/ask/send.tsx | 14 +-- components/ask/threeCircle.tsx | 114 +++++++++++++++++++ i18n/locales/en/ask.json | 3 +- i18n/locales/zh/ask.json | 3 +- 5 files changed, 228 insertions(+), 100 deletions(-) create mode 100644 components/ask/threeCircle.tsx diff --git a/components/ask/aiChat.tsx b/components/ask/aiChat.tsx index 1163829..58dcc95 100644 --- a/components/ask/aiChat.tsx +++ b/components/ask/aiChat.tsx @@ -18,7 +18,7 @@ import ContextMenu from "../gusture/contextMenu"; import { ThemedText } from "../ThemedText"; import SelectModel from "./selectModel"; import SingleContentModel from "./singleContentModel"; -import TypewriterText from "./typewriterText"; +import Loading from './threeCircle'; import { mergeArrays, saveMediaToGallery } from "./utils"; interface RenderMessageProps { @@ -42,102 +42,112 @@ const MessageItem = ({ setCancel, cancel = true, t, insets, item, sessionId, set return ( {!isUser && } - - 0 || item.content.image_material_infos && item.content.image_material_infos.length > 0) ? '!rounded-t-3xl !rounded-b-2xl' : '!rounded-3xl'}`} - > - - - {!isUser - ? - sessionId ? item.content.text : - : item.content.text - } - + + + 0 || item.content.image_material_infos && item.content.image_material_infos.length > 0) ? '!rounded-t-3xl !rounded-b-2xl' : '!rounded-3xl'}`} + style={[ + styles.messageBubble, + isUser ? styles.userBubble : styles.aiBubble, + { marginRight: item.content.text == "正在寻找,请稍等..." ? 0 : isUser ? 0 : 10 } + ]} + > + + + {!isUser + ? + sessionId ? item.content.text : item.content.text == "正在寻找,请稍等..." ? : item.content.text + : item.content.text + } + - {(mergeArrays(item.content.image_material_infos || [], item.content.video_material_infos || [])?.length || 0 > 0) && ( - - - {mergeArrays(item.content.image_material_infos || [], item.content.video_material_infos || [])?.slice(0, 3)?.map((image) => ( - { - setModalVisible({ visible: true, data: image }); - }} - style={{ - width: '32%', - aspectRatio: 1, - marginBottom: 8, - }} - > - , - label: t("ask:ask.save"), - onPress: () => { - const imageUrl = image?.preview_file_info?.url || image.video?.preview_file_info?.url; - if (imageUrl) { - saveMediaToGallery(imageUrl, t); - } - }, - textStyle: { color: '#4C320C' } - }, - { - svg: , - label: t("ask:ask.cancel"), - onPress: () => { - setCancel(true); - }, - textStyle: { color: 'red' } - } - ]} - cancel={cancel} - menuStyle={{ - backgroundColor: 'white', - borderRadius: 8, - padding: 8, - minWidth: 150, - shadowColor: '#000', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.25, - shadowRadius: 4, - elevation: 5, + {(mergeArrays(item.content.image_material_infos || [], item.content.video_material_infos || [])?.length || 0 > 0) && ( + + + {mergeArrays(item.content.image_material_infos || [], item.content.video_material_infos || [])?.slice(0, 3)?.map((image) => ( + { + setModalVisible({ visible: true, data: image }); + }} + style={{ + width: '32%', + aspectRatio: 1, + marginBottom: 8, }} > - , + label: t("ask:ask.save"), + onPress: () => { + const imageUrl = image?.preview_file_info?.url || image.video?.preview_file_info?.url; + if (imageUrl) { + saveMediaToGallery(imageUrl, t); + } + }, + textStyle: { color: '#4C320C' } + }, + { + svg: , + label: t("ask:ask.cancel"), + onPress: () => { + setCancel(true); + }, + textStyle: { color: 'red' } + } + ]} + cancel={cancel} + menuStyle={{ + backgroundColor: 'white', + borderRadius: 8, + padding: 8, + minWidth: 150, + shadowColor: '#000', + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.25, + shadowRadius: 4, + elevation: 5, }} - resizeMode="cover" - loadingIndicatorSource={require('@/assets/images/png/placeholder.png')} - /> - - - ))} + > + + + + ))} + + { + ((item.content.video_material_infos?.length || 0) + (item.content.image_material_infos?.length || 0)) > 3 + && { + setSelectedImages([]) + setModalDetailsVisible({ visible: true, content: item.content }); + }}> + {((item.content.video_material_infos?.length || 0) + (item.content.image_material_infos?.length || 0))} + + + + + } - { - ((item.content.video_material_infos?.length || 0) + (item.content.image_material_infos?.length || 0)) > 3 - && { - setSelectedImages([]) - setModalDetailsVisible({ visible: true, content: item.content }); - }}> - {((item.content.video_material_infos?.length || 0) + (item.content.image_material_infos?.length || 0))} - - - - - } - - )} + )} + + { + item.content.text == "正在寻找,请稍等..." + && + + {t("ask:ask.think")} + + } {/* {item.askAgain && item.askAgain.length > 0 && ( @@ -247,10 +257,12 @@ const styles = StyleSheet.create({ userText: { color: '#4C320C', fontSize: 16, + lineHeight: 24, }, aiText: { color: '#000', fontSize: 16, + lineHeight: 24, }, }); diff --git a/components/ask/send.tsx b/components/ask/send.tsx index 08543cd..fef9621 100644 --- a/components/ask/send.tsx +++ b/components/ask/send.tsx @@ -170,11 +170,11 @@ export default function SendMessage(props: Props) { returnKeyType="send" /> - + @@ -204,18 +204,18 @@ const styles = StyleSheet.create({ borderWidth: 1, borderRadius: 25, paddingHorizontal: 20, - paddingVertical: 12, + paddingVertical: 13, fontSize: 16, width: '100%', // 确保输入框宽度撑满 paddingRight: 50 }, voiceButton: { - width: 40, - height: 40, + padding: 8, borderRadius: 20, backgroundColor: '#FF9500', justifyContent: 'center', alignItems: 'center', - marginRight: 8, // 添加一点 + position: 'absolute', + transform: [{ translateY: -12 }], }, }); \ No newline at end of file diff --git a/components/ask/threeCircle.tsx b/components/ask/threeCircle.tsx new file mode 100644 index 0000000..767dd3b --- /dev/null +++ b/components/ask/threeCircle.tsx @@ -0,0 +1,114 @@ +import React, { useEffect, useRef } from 'react'; +import { Animated, StyleSheet, View } from 'react-native'; + +const Loading = () => { + // 创建三个动画值,控制每个点的大小变化 + const anim1 = useRef(new Animated.Value(0)).current; + const anim2 = useRef(new Animated.Value(0)).current; + const anim3 = useRef(new Animated.Value(0)).current; + + // 定义动画序列 + const startAnimation = () => { + // 重置动画值 + anim1.setValue(0); + anim2.setValue(0); + anim3.setValue(0); + + // 创建动画序列 + Animated.loop( + Animated.stagger(200, [ + // 第一个点动画 + Animated.sequence([ + Animated.timing(anim1, { + toValue: 1, + duration: 400, + useNativeDriver: true, + }), + Animated.timing(anim1, { + toValue: 0, + duration: 400, + useNativeDriver: true, + }), + ]), + // 第二个点动画 + Animated.sequence([ + Animated.timing(anim2, { + toValue: 1, + duration: 400, + useNativeDriver: true, + }), + Animated.timing(anim2, { + toValue: 0, + duration: 400, + useNativeDriver: true, + }), + ]), + // 第三个点动画 + Animated.sequence([ + Animated.timing(anim3, { + toValue: 1, + duration: 400, + useNativeDriver: true, + }), + Animated.timing(anim3, { + toValue: 0, + duration: 400, + useNativeDriver: true, + }), + ]), + ]) + ).start(); + }; + + useEffect(() => { + startAnimation(); + return () => { + // 清理动画 + anim1.stopAnimation(); + anim2.stopAnimation(); + anim3.stopAnimation(); + }; + }, []); + + // 颜色插值 + const color1 = anim1.interpolate({ + inputRange: [0, 0.5, 1], + outputRange: ['#999999', '#4C320C', '#999999'], + }); + + const color2 = anim2.interpolate({ + inputRange: [0, 0.5, 1], + outputRange: ['#999999', '#4C320C', '#999999'], + }); + + const color3 = anim3.interpolate({ + inputRange: [0, 0.5, 1], + outputRange: ['#999999', '#4C320C', '#999999'], + }); + + return ( + + + + + + ); +}; + +const styles = StyleSheet.create({ + container: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + padding: 8, + }, + dot: { + width: 8, + height: 8, + borderRadius: 4, + marginHorizontal: 4, + backgroundColor: '#999999', + }, +}); + +export default Loading; \ No newline at end of file diff --git a/i18n/locales/en/ask.json b/i18n/locales/en/ask.json index cff67f7..1337485 100644 --- a/i18n/locales/en/ask.json +++ b/i18n/locales/en/ask.json @@ -30,6 +30,7 @@ "introduction2": "Looking for the perfect image? Try these search tips for better results:\n\n• Be specific: Try 'autumn forest', 'minimalist desk', or 'vintage poster design'\n\n• Add details: For specific styles, try 'watercolor cat' or 'cyberpunk city nightscape'; for specific uses, try 'royalty-free landscape' or 'commercial use icons'\n\n• Describe the scene: Try 'sunlight through leaves' or 'rainy day coffee shop window'\n\nEnter these keywords, and you might just find the perfect shot!", "introduction3": "Want to make your videos more engaging and story-driven? Start with an image search!\n\nFirst, decide on your video's theme—whether it's healing natural landscapes, retro cityscapes, or vibrant life moments. Then search for related images. For example, if your theme is 'Spring Limited,' search for 'cherry blossoms falling,' 'picnic in the grass,' or 'first buds of spring.'\n\nThese images can help you visualize your video's flow and even spark new ideas—like how an old photo of a vintage object might inspire a story about time, or how a series of starry sky images could connect into a narrative about dreams and distant places. String these images together with the right music and captions, and you've got yourself a heartwarming video. Give it a try!", "search": "Search Assets", - "video": "Create Video" + "video": "Create Video", + "think": "Thinking..." } } \ No newline at end of file diff --git a/i18n/locales/zh/ask.json b/i18n/locales/zh/ask.json index 5f46082..f933fb0 100644 --- a/i18n/locales/zh/ask.json +++ b/i18n/locales/zh/ask.json @@ -30,6 +30,7 @@ "introduction2": "想找合适的图片?试试这样搜更精准:\n\n• 明确主题:比如'秋日森林'、'极简风书桌'、'复古海报设计'\n\n• 加上细节:想找特定风格?试试'水彩风猫咪'、'赛博朋克城市夜景';需要特定用途?比如'无版权风景图'、'可商用图标'\n\n• 描述场景:比如'阳光透过树叶的光斑'、'雨天咖啡馆窗外'\n\n输入这些关键词,说不定就能找到你想要的画面啦~", "introduction3": "想让你的视频内容更吸睛、更有故事感吗?不妨试试从搜索图片入手吧!\n\n你可以先确定视频的主题——是治愈系的自然风景,还是复古风的城市街景,或是充满活力的生活瞬间?然后根据主题去搜索相关的图片,比如想做'春日限定'主题,就搜'樱花飘落''草地野餐''嫩芽初绽'之类的画面。\n\n这些图片能帮你快速理清视频的画面脉络,甚至能激发新的创意——比如一张老照片里的复古物件,或许能延伸出一段关于时光的故事;一组星空图片,说不定能串联成关于梦想与远方的叙事。把这些图片按你的想法串联起来,配上合适的音乐和文案,一段有温度的视频就诞生啦,试试看吧~", "search": "检索素材", - "video": "创作视频" + "video": "创作视频", + "think": "思考中..." } } \ No newline at end of file From 8efed74b926ee444054aecfd3f44734603c0750c Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Thu, 31 Jul 2025 20:21:08 +0800 Subject: [PATCH 28/68] =?UTF-8?q?feat:=20=E7=BA=BF=E4=B8=8A=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/server-api-util.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/server-api-util.ts b/lib/server-api-util.ts index 870d4c7..10d06fc 100644 --- a/lib/server-api-util.ts +++ b/lib/server-api-util.ts @@ -25,7 +25,7 @@ export interface PagedResult { // 获取.env文件中的变量 -export const API_ENDPOINT = Constants.expoConfig?.extra?.API_ENDPOINT || "http://192.168.31.16:31646/api"; +export const API_ENDPOINT = Constants.expoConfig?.extra?.API_ENDPOINT || "https://api.memorywake.com/api"; // 更新 access_token 的逻辑 - 用于React组件中 export const useAuthToken = async(message: string | null) => { From 935753f6b36f5d5f561a04a1a6239764fcde6c46 Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Thu, 31 Jul 2025 20:40:53 +0800 Subject: [PATCH 29/68] fix: remove lazy load --- app/(tabs)/memo-list.tsx | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/app/(tabs)/memo-list.tsx b/app/(tabs)/memo-list.tsx index 6c02fb9..b0fc7ab 100644 --- a/app/(tabs)/memo-list.tsx +++ b/app/(tabs)/memo-list.tsx @@ -6,11 +6,11 @@ import { FlatList, InteractionManager, PixelRatio, Platform, RefreshControl, Sty import { useSafeAreaInsets } from 'react-native-safe-area-context'; // 懒加载组件 -const ChatSvg = React.lazy(() => import('@/assets/icons/svg/chat.svg')); -const AskNavbar = React.lazy(() => import('@/components/layout/ask')); -const UploaderProgress = React.lazy(() => import('@/components/file-upload/upload-progress/uploader-progress')); -const SkeletonItem = React.lazy(() => import('@/components/memo/SkeletonItem')); -const ErrorBoundary = React.lazy(() => import('@/components/common/ErrorBoundary')); +import ChatSvg from '@/assets/icons/svg/chat.svg'; +import AskNavbar from '@/components/layout/ask'; +import UploaderProgress from '@/components/file-upload/upload-progress/uploader-progress'; +import SkeletonItem from '@/components/memo/SkeletonItem'; +import ErrorBoundary from '@/components/common/ErrorBoundary'; // 类型定义 import { useUploadManager } from '@/hooks/useUploadManager'; @@ -34,9 +34,7 @@ const preloadAssets = async () => { const SkeletonList = () => ( {Array(5).fill(0).map((_, index) => ( - - - + ))} ); @@ -145,13 +143,11 @@ const MemoList = () => { activeOpacity={0.7} > - }> - - + { {/* 上传进度 */} - - - + ), [insets.top]); @@ -226,9 +220,7 @@ const MemoList = () => { return ( - - - + ); } @@ -267,9 +259,6 @@ const MemoList = () => { /> {/* 底部导航栏 */} - - - ); From d728ea05c0258cd932abb54b51b55ca9786bf353 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Fri, 1 Aug 2025 10:49:16 +0800 Subject: [PATCH 30/68] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 2 +- app/(tabs)/login.tsx | 1 + app/(tabs)/memo-list.tsx | 7 ++++--- components/login/code.tsx | 29 +++++++++++++++++++---------- components/login/signUp.tsx | 10 +++++++--- components/owner/carousel.tsx | 9 ++++++++- i18n/locales/en/login.json | 3 ++- i18n/locales/zh/login.json | 3 ++- 8 files changed, 44 insertions(+), 20 deletions(-) diff --git a/.env b/.env index 8a1f236..a102646 100644 --- a/.env +++ b/.env @@ -1 +1 @@ -API_ENDPOINT=http://192.168.31.16:31646/api \ No newline at end of file +API_ENDPOINT=https://api.memorywake.com/api \ No newline at end of file diff --git a/app/(tabs)/login.tsx b/app/(tabs)/login.tsx index e789d12..6e99cf9 100644 --- a/app/(tabs)/login.tsx +++ b/app/(tabs)/login.tsx @@ -136,6 +136,7 @@ const LoginScreen = () => { setShowPassword={setShowPassword} showPassword={showPassword} /> + // ) }; diff --git a/app/(tabs)/memo-list.tsx b/app/(tabs)/memo-list.tsx index b0fc7ab..fa21157 100644 --- a/app/(tabs)/memo-list.tsx +++ b/app/(tabs)/memo-list.tsx @@ -7,10 +7,10 @@ import { useSafeAreaInsets } from 'react-native-safe-area-context'; // 懒加载组件 import ChatSvg from '@/assets/icons/svg/chat.svg'; -import AskNavbar from '@/components/layout/ask'; -import UploaderProgress from '@/components/file-upload/upload-progress/uploader-progress'; -import SkeletonItem from '@/components/memo/SkeletonItem'; import ErrorBoundary from '@/components/common/ErrorBoundary'; +import UploaderProgress from '@/components/file-upload/upload-progress/uploader-progress'; +import AskNavbar from '@/components/layout/ask'; +import SkeletonItem from '@/components/memo/SkeletonItem'; // 类型定义 import { useUploadManager } from '@/hooks/useUploadManager'; @@ -259,6 +259,7 @@ const MemoList = () => { /> {/* 底部导航栏 */} + ); diff --git a/components/login/code.tsx b/components/login/code.tsx index 156ecac..62e2481 100644 --- a/components/login/code.tsx +++ b/components/login/code.tsx @@ -37,20 +37,27 @@ const Code = ({ setSteps, phone }: LoginProps) => { setError(''); const newCode = [...code]; - // Handle pasted code from SMS - if (text.length === 6 && /^\d{6}$/.test(text)) { - const digits = text.split(''); + // Handle pasted code from SMS or autofill + if ((text.length === 6 || text.length > 1) && /^\d+$/.test(text)) { + const digits = text.split('').slice(0, 6); // Ensure we only take first 6 digits setCode(digits); - refs.current[5]?.focus(); // Focus on the last input after autofill + refs.current[5]?.focus(); // Focus on the last input + // Auto-submit if we have exactly 6 digits + if (digits.length === 6) { + handleTelLogin(); + } return; } - // Handle manual input - if (text.length <= 1) { + // Handle single digit input + if (text.length <= 1 && /^\d?$/.test(text)) { newCode[index] = text; setCode(newCode); - if (text) { + // Auto-submit if this is the last digit + if (text && index === 5) { + handleTelLogin(); + } else if (text) { focusNext(index, text); } } @@ -145,14 +152,16 @@ const Code = ({ setSteps, phone }: LoginProps) => { style={{ width: 40, height: 40 }} className="bg-[#FFF8DE] rounded-xl text-textTertiary text-3xl text-center" keyboardType="number-pad" - maxLength={1} - textContentType="oneTimeCode" // For iOS autofill - autoComplete='sms-otp' // For Android autofill + maxLength={6} // Allow pasting longer codes value={digit} onChangeText={text => handleCodeChange(text, index)} onKeyPress={({ nativeEvent }) => focusPrevious(index, nativeEvent.key)} selectTextOnFocus caretHidden={true} + autoFocus={index === 0} + textContentType="oneTimeCode" + autoComplete="one-time-code" + importantForAutofill="yes" /> ))} diff --git a/components/login/signUp.tsx b/components/login/signUp.tsx index 6f5c441..8251b0f 100644 --- a/components/login/signUp.tsx +++ b/components/login/signUp.tsx @@ -84,9 +84,13 @@ const SignUp = ({ updateUrlParam, setError, setShowPassword, showPassword }: Log } if (password) { // 校验密码是否符合规范 - const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/; - if (!passwordRegex.test(password)) { - setError(t('auth.signup.passwordAuth', { ns: 'login' })); + // const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/; + // if (!passwordRegex.test(password)) { + // setError(t('auth.signup.passwordAuth', { ns: 'login' })); + // return; + // } + if (password.length < 6) { + setError(t('auth.signup.pwdLengthError', { ns: 'login' })); return; } } diff --git a/components/owner/carousel.tsx b/components/owner/carousel.tsx index 93ccdb4..b59955b 100644 --- a/components/owner/carousel.tsx +++ b/components/owner/carousel.tsx @@ -74,7 +74,14 @@ function CarouselComponent(props: Props) { height={width * 0.75} data={carouselDataValue || []} mode="parallax" - defaultIndex={carouselDataValue?.findIndex((item) => item?.key === 'total_count') - 1 || 0} + defaultIndex={ + carouselDataValue?.length + ? Math.max(0, Math.min( + carouselDataValue.length - 1, + carouselDataValue.findIndex((item) => item?.key === 'total_count') - 1 + )) + : 0 + } modeConfig={{ parallaxScrollingScale: 1, parallaxScrollingOffset: 150, diff --git a/i18n/locales/en/login.json b/i18n/locales/en/login.json index bd71809..779e558 100644 --- a/i18n/locales/en/login.json +++ b/i18n/locales/en/login.json @@ -119,7 +119,8 @@ "codeExpireTime": "Code will expire in", "checkedRequired": "Please agree to the terms", "emailAuth": "Please enter a valid email address", - "passwordAuth": "Please enter a valid password" + "passwordAuth": "Please enter a valid password", + "pwdLengthError": "Password length must be at least 6 characters" } } } \ No newline at end of file diff --git a/i18n/locales/zh/login.json b/i18n/locales/zh/login.json index 3daf77c..37839d6 100644 --- a/i18n/locales/zh/login.json +++ b/i18n/locales/zh/login.json @@ -120,7 +120,8 @@ "codeExpireTime": "验证码将在以下时间后过期", "checkedRequired": "请勾选协议", "emailAuth": "请输入一个有效的邮箱地址", - "passwordAuth": "请输入一个有效的密码" + "passwordAuth": "请输入一个有效的密码", + "pwdLengthError": "密码长度至少为6位" } } } \ No newline at end of file From be3c8e0c75ddec84a600d793e9bccbddc30021f1 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Fri, 1 Aug 2025 14:06:24 +0800 Subject: [PATCH 31/68] =?UTF-8?q?feat:=20ask=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/owner.tsx | 25 ++++++++++++++++--------- components/ask/aiChat.tsx | 13 +++++++------ components/ask/hello.tsx | 4 ++-- components/ask/send.tsx | 6 +++--- 4 files changed, 28 insertions(+), 20 deletions(-) diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index fe9936f..3e7322e 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -10,8 +10,8 @@ import UserInfo from '@/components/owner/userName'; import { checkAuthStatus } from '@/lib/auth'; import { fetchApi } from '@/lib/server-api-util'; import { CountData, UserInfoDetails } from '@/types/user'; -import { useRouter } from 'expo-router'; -import { useEffect, useState } from 'react'; +import { useFocusEffect, usePathname, useRouter } from 'expo-router'; +import { useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { FlatList, StyleSheet, View } from 'react-native'; import { useSafeAreaInsets } from "react-native-safe-area-context"; @@ -20,6 +20,7 @@ export default function OwnerPage() { const insets = useSafeAreaInsets(); const { t } = useTranslation(); const router = useRouter(); + const pathname = usePathname(); useEffect(() => { const checkAuth = async () => { @@ -54,18 +55,24 @@ export default function OwnerPage() { }) } // 设计轮询获取数量统计 - useEffect(() => { - // 将轮询间隔增加到5秒,减少服务器压力和电池消耗 - const interval = setInterval(() => { + useFocusEffect( + useCallback(() => { + // 当页面获取焦点时开始轮询 + const interval = setInterval(() => { + getCountData(); + }, 5000); + + // 立即执行一次 getCountData(); - }, 5000); - return () => clearInterval(interval); - }, []); + + // 当页面失去焦点时清除定时器 + return () => clearInterval(interval); + }, []) // 空依赖数组,因为 getCountData 是稳定的 + ); // 初始化获取用户信息 useEffect(() => { getUserInfo(); - getCountData(); }, []); return ( diff --git a/components/ask/aiChat.tsx b/components/ask/aiChat.tsx index 58dcc95..4ec6971 100644 --- a/components/ask/aiChat.tsx +++ b/components/ask/aiChat.tsx @@ -49,14 +49,15 @@ const MessageItem = ({ setCancel, cancel = true, t, insets, item, sessionId, set style={[ styles.messageBubble, isUser ? styles.userBubble : styles.aiBubble, - { marginRight: item.content.text == "正在寻找,请稍等..." ? 0 : isUser ? 0 : 10 } + { marginRight: item.content.text == "keepSearchIng" ? 0 : isUser ? 0 : 10 } ]} > {!isUser - ? - sessionId ? item.content.text : item.content.text == "正在寻找,请稍等..." ? : item.content.text + ? item.content.text == "keepSearchIng" + ? + : item.content.text : item.content.text } @@ -142,7 +143,7 @@ const MessageItem = ({ setCancel, cancel = true, t, insets, item, sessionId, set { - item.content.text == "正在寻找,请稍等..." + item.content.text == "keepSearchIng" && {t("ask:ask.think")} @@ -245,12 +246,12 @@ const styles = StyleSheet.create({ userBubble: { alignSelf: 'flex-end', backgroundColor: '#FFB645', - marginLeft: '20%', + marginLeft: 10, }, aiBubble: { alignSelf: 'flex-start', backgroundColor: '#fff', - marginRight: '20%', + marginRight: 10, borderWidth: 1, borderColor: '#e5e5ea', }, diff --git a/components/ask/hello.tsx b/components/ask/hello.tsx index 474a37e..b502a00 100644 --- a/components/ask/hello.tsx +++ b/components/ask/hello.tsx @@ -26,7 +26,7 @@ export default function AskHello({ setUserMessages, setConversationId, setIsHell }, { content: { - text: "正在寻找,请稍等..." + text: "keepSearchIng" }, role: 'Assistant', timestamp: new Date().toISOString() @@ -41,7 +41,7 @@ export default function AskHello({ setUserMessages, setConversationId, setIsHell newMessages.push(response); } return newMessages.filter((item: Message) => - item?.content?.text !== '正在寻找,请稍等...' + item?.content?.text !== 'keepSearchIng' ); }); } diff --git a/components/ask/send.tsx b/components/ask/send.tsx index fef9621..756b258 100644 --- a/components/ask/send.tsx +++ b/components/ask/send.tsx @@ -82,7 +82,7 @@ export default function SendMessage(props: Props) { }, { content: { - text: "正在寻找,请稍等..." + text: "keepSearchIng" }, role: 'Assistant', timestamp: new Date().toISOString() @@ -100,7 +100,7 @@ export default function SendMessage(props: Props) { newMessages.push(response); } return newMessages.filter((item: Message) => - item?.content?.text !== '正在寻找,请稍等...' + item?.content?.text !== 'keepSearchIng' ); }); } else { @@ -116,7 +116,7 @@ export default function SendMessage(props: Props) { newMessages.push(response); } return newMessages.filter((item: Message) => - item?.content?.text !== '正在寻找,请稍等...' + item?.content?.text !== 'keepSearchIng' ); }); } From 1f7a101fc507ff33bead926166dedac6dd6dbfda Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Fri, 1 Aug 2025 14:50:34 +0800 Subject: [PATCH 32/68] =?UTF-8?q?feat:=20=E6=9A=82=E6=8F=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/_layout.tsx | 6 ++++-- app/(tabs)/login.tsx | 26 ++++++++++++++++---------- components/login/code.tsx | 24 ++++-------------------- components/login/phone.tsx | 4 +++- components/login/phoneLogin.tsx | 8 ++++++-- i18n/locales/zh/login.json | 2 +- package-lock.json | 20 ++++++++++++++++++++ package.json | 5 +++-- 8 files changed, 57 insertions(+), 38 deletions(-) diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index 843e35c..f3e8a9a 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -165,8 +165,10 @@ export default function TabLayout() { }, [token]); // 添加token作为依赖 useEffect(() => { - prefetchChats().catch(console.error); - }, []); + if (token) { + prefetchChats().catch(console.error); + } + }, [token]); return ( { const router = useRouter(); @@ -20,6 +21,7 @@ const LoginScreen = () => { const { height: windowHeight } = useWindowDimensions(); const [showPassword, setShowPassword] = useState(false); const [keyboardOffset, setKeyboardOffset] = useState(0); + const insets = useSafeAreaInsets(); // 判断是否有白边 const statusBarHeight = StatusBar?.currentHeight ?? 0; @@ -60,7 +62,7 @@ const LoginScreen = () => { > { { shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.1, shadowRadius: 8, - elevation: 5 + elevation: 5, + paddingBottom: insets.bottom } as ViewStyle} onLayout={handleLayout} > @@ -131,12 +134,15 @@ const LoginScreen = () => { /> ), login: ( - - // + // + + ), + code: ( + ) }; diff --git a/components/login/code.tsx b/components/login/code.tsx index 62e2481..0db467d 100644 --- a/components/login/code.tsx +++ b/components/login/code.tsx @@ -7,14 +7,12 @@ import { useTranslation } from "react-i18next"; import { ActivityIndicator, Animated, TextInput as RNTextInput, TextInput, TouchableOpacity, View } from "react-native"; import { useAuth } from "../../contexts/auth-context"; import { ThemedText } from "../ThemedText"; -import { Steps } from "./phoneLogin"; -interface LoginProps { - setSteps: (steps: Steps) => void; +interface CodeProps { phone: string; } -const Code = ({ setSteps, phone }: LoginProps) => { +const Code = ({ phone }: CodeProps) => { const { t } = useTranslation(); const { login } = useAuth(); const [isLoading, setIsLoading] = useState(false); @@ -71,7 +69,6 @@ const Code = ({ setSteps, phone }: LoginProps) => { }) } catch (error) { - // console.error(t("auth.telLogin.sendCodeError", { ns: 'login' }), error); } } @@ -97,13 +94,11 @@ const Code = ({ setSteps, phone }: LoginProps) => { login(res, res.access_token || '') router.replace('/user-message') }).catch((error) => { - // console.log(error); setError(t("auth.telLogin.codeVaild", { ns: 'login' })); }) setIsLoading(false); } catch (error) { setIsLoading(false); - // console.error(t("auth.telLogin.codeVaild", { ns: 'login' }), error); } } // 60s倒计时 @@ -116,7 +111,7 @@ const Code = ({ setSteps, phone }: LoginProps) => { }, [countdown]); return ( - + @@ -152,7 +147,7 @@ const Code = ({ setSteps, phone }: LoginProps) => { style={{ width: 40, height: 40 }} className="bg-[#FFF8DE] rounded-xl text-textTertiary text-3xl text-center" keyboardType="number-pad" - maxLength={6} // Allow pasting longer codes + maxLength={6} value={digit} onChangeText={text => handleCodeChange(text, index)} onKeyPress={({ nativeEvent }) => focusPrevious(index, nativeEvent.key)} @@ -202,17 +197,6 @@ const Code = ({ setSteps, phone }: LoginProps) => { - - - setSteps('phone')} - > - - {t("auth.telLogin.goBack", { ns: 'login' })} - - - ) } diff --git a/components/login/phone.tsx b/components/login/phone.tsx index e39365c..92d7409 100644 --- a/components/login/phone.tsx +++ b/components/login/phone.tsx @@ -9,9 +9,10 @@ interface LoginProps { setSteps: (steps: Steps) => void; setPhone: (phone: string) => void; phone: string; + updateUrlParam: (status: string, value: string) => void; } -const Phone = ({ setSteps, setPhone, phone }: LoginProps) => { +const Phone = ({ setSteps, setPhone, phone, updateUrlParam }: LoginProps) => { const { t } = useTranslation(); const [isLoading, setIsLoading] = useState(false); const [error, setError] = useState(''); @@ -30,6 +31,7 @@ const Phone = ({ setSteps, setPhone, phone }: LoginProps) => { body: JSON.stringify({ phone: phone }), }) setSteps('code') + updateUrlParam("status", "code"); setIsLoading(false); } catch (error) { setPhone("") diff --git a/components/login/phoneLogin.tsx b/components/login/phoneLogin.tsx index a509ad9..843014f 100644 --- a/components/login/phoneLogin.tsx +++ b/components/login/phoneLogin.tsx @@ -5,13 +5,17 @@ import Phone from "./phone"; export type Steps = "phone" | "code"; -const PhoneLogin = () => { +interface LoginProps { + updateUrlParam: (status: string, value: string) => void; +} + +const PhoneLogin = ({ updateUrlParam }: LoginProps) => { const [steps, setSteps] = useState("phone"); const [phone, setPhone] = useState(''); return { - steps === "phone" ? : + steps === "phone" ? : } } diff --git a/i18n/locales/zh/login.json b/i18n/locales/zh/login.json index 37839d6..96e1b5b 100644 --- a/i18n/locales/zh/login.json +++ b/i18n/locales/zh/login.json @@ -23,7 +23,7 @@ "allDone": "完成!" }, "telLogin": { - "title": "验证身份", + "title": "请输入手机号", "secondTitle": "我们已发送验证码至:", "sendCode": "发送验证码", "continue": "继续", diff --git a/package-lock.json b/package-lock.json index 61c613b..626a079 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "@react-navigation/elements": "^2.3.8", "@react-navigation/native": "^7.1.6", "@reduxjs/toolkit": "^2.8.2", + "@twotalltotems/react-native-otp-input": "^1.3.11", "@types/p-limit": "^2.2.0", "@types/react-redux": "^7.1.34", "expo": "53.0.19", @@ -3793,6 +3794,16 @@ } } }, + "node_modules/@react-native-community/clipboard": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@react-native-community/clipboard/-/clipboard-1.5.1.tgz", + "integrity": "sha512-AHAmrkLEH5UtPaDiRqoULERHh3oNv7Dgs0bTC0hO5Z2GdNokAMPT5w8ci8aMcRemcwbtdHjxChgtjbeA38GBdA==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.0", + "react-native": ">=0.57.0" + } + }, "node_modules/@react-native-masked-view/masked-view": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@react-native-masked-view/masked-view/-/masked-view-0.3.2.tgz", @@ -4645,6 +4656,15 @@ "devOptional": true, "license": "MIT" }, + "node_modules/@twotalltotems/react-native-otp-input": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@twotalltotems/react-native-otp-input/-/react-native-otp-input-1.3.11.tgz", + "integrity": "sha512-xSsEMa8llYHITKgx1FGwU3uK56Kk6+abgkJpo57pLnUpYC2CZpvhkvRKhFa7Ui6BhdRuh0Ob1O7q234d3CksRg==", + "license": "MIT", + "dependencies": { + "@react-native-community/clipboard": "^1.2.2" + } + }, "node_modules/@tybys/wasm-util": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", diff --git a/package.json b/package.json index 048dedc..05e0bca 100644 --- a/package.json +++ b/package.json @@ -15,10 +15,12 @@ }, "dependencies": { "@expo/vector-icons": "^14.1.0", + "@react-native-masked-view/masked-view": "0.3.2", "@react-navigation/bottom-tabs": "^7.3.10", "@react-navigation/elements": "^2.3.8", "@react-navigation/native": "^7.1.6", "@reduxjs/toolkit": "^2.8.2", + "@twotalltotems/react-native-otp-input": "^1.3.11", "@types/p-limit": "^2.2.0", "@types/react-redux": "^7.1.34", "expo": "53.0.19", @@ -81,8 +83,7 @@ "react-native-view-shot": "4.0.3", "react-native-web": "~0.20.0", "react-native-webview": "13.13.5", - "react-redux": "^9.2.0", - "@react-native-masked-view/masked-view": "0.3.2" + "react-redux": "^9.2.0" }, "devDependencies": { "@babel/core": "^7.25.2", From f7146adf13683e3dbce1d39eb6d7a5033dbc7f5b Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Fri, 1 Aug 2025 15:17:44 +0800 Subject: [PATCH 33/68] =?UTF-8?q?feat:=20=E9=AA=8C=E8=AF=81=E7=A0=81?= =?UTF-8?q?=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/login/code.tsx | 96 +++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 50 deletions(-) diff --git a/components/login/code.tsx b/components/login/code.tsx index 0db467d..146ae80 100644 --- a/components/login/code.tsx +++ b/components/login/code.tsx @@ -1,10 +1,11 @@ import Error from "@/assets/icons/svg/error.svg"; import { fetchApi } from "@/lib/server-api-util"; import { User } from "@/types/user"; +import OTPInputView from '@twotalltotems/react-native-otp-input'; import { router } from "expo-router"; import { useEffect, useRef, useState } from "react"; import { useTranslation } from "react-i18next"; -import { ActivityIndicator, Animated, TextInput as RNTextInput, TextInput, TouchableOpacity, View } from "react-native"; +import { Animated, TextInput as RNTextInput, StyleSheet, TouchableOpacity, View } from "react-native"; import { useAuth } from "../../contexts/auth-context"; import { ThemedText } from "../ThemedText"; @@ -18,7 +19,7 @@ const Code = ({ phone }: CodeProps) => { const [isLoading, setIsLoading] = useState(false); const refs = useRef>(Array(6).fill(null)); const shakeAnim = useRef(new Animated.Value(0)).current; - const [code, setCode] = useState(['', '', '', '', '', '']); + const [code, setCode] = useState([]); const [error, setError] = useState(''); const focusNext = (index: number, value: string) => { @@ -111,7 +112,7 @@ const Code = ({ phone }: CodeProps) => { }, [countdown]); return ( - + @@ -125,60 +126,28 @@ const Code = ({ phone }: CodeProps) => { - { + setCode([code]); }} - > - {code.map((digit, index) => ( - { - if (ref) { - refs.current[index] = ref; - } - }} - style={{ width: 40, height: 40 }} - className="bg-[#FFF8DE] rounded-xl text-textTertiary text-3xl text-center" - keyboardType="number-pad" - maxLength={6} - value={digit} - onChangeText={text => handleCodeChange(text, index)} - onKeyPress={({ nativeEvent }) => focusPrevious(index, nativeEvent.key)} - selectTextOnFocus - caretHidden={true} - autoFocus={index === 0} - textContentType="oneTimeCode" - autoComplete="one-time-code" - importantForAutofill="yes" - /> - ))} - + onCodeFilled={(code) => { + handleTelLogin() + }} + code={code.join('')} + autoFocusOnLoad={false} + codeInputFieldStyle={styles.underlineStyleBase} + codeInputHighlightStyle={styles.underlineStyleHighLighted} + style={styles.otpContainer} + placeholderCharacter="-" + placeholderTextColor="#AC7E35" + /> {error} - - {isLoading ? ( - - ) : ( - - {t("auth.telLogin.continue", { ns: 'login' })} - - )} - @@ -201,5 +170,32 @@ const Code = ({ phone }: CodeProps) => { ) } +const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + padding: 20, + }, + otpContainer: { + width: '100%', + height: 100 + }, + underlineStyleBase: { + width: 50, + height: 50, + borderWidth: 0, + borderRadius: 16, + fontSize: 18, + color: '#000', + textAlign: 'center', + backgroundColor: '#FFF8DE' + }, + underlineStyleHighLighted: { + borderColor: '#E2793F', + backgroundColor: '#FFF8DE', + borderWidth: 2, + }, +}); export default Code \ No newline at end of file From 7b938e37a2dc01aa3bdce32ddf80339b289bc29b Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Fri, 1 Aug 2025 15:26:29 +0800 Subject: [PATCH 34/68] =?UTF-8?q?feat:=20=E9=AA=8C=E8=AF=81=E7=A0=81?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/login/code.tsx | 97 +++++++++++++++++++++++++++++--------- i18n/locales/en/login.json | 1 + i18n/locales/zh/login.json | 1 + 3 files changed, 77 insertions(+), 22 deletions(-) diff --git a/components/login/code.tsx b/components/login/code.tsx index 146ae80..8d62af9 100644 --- a/components/login/code.tsx +++ b/components/login/code.tsx @@ -112,26 +112,26 @@ const Code = ({ phone }: CodeProps) => { }, [countdown]); return ( - - - - - {t("auth.telLogin.title", { ns: 'login' })} + + + + + {t("auth.telLogin.codeTitle", { ns: 'login' })} - + {t("auth.telLogin.secondTitle", { ns: 'login' })} - + {phone} { setCode([code]); }} - onCodeFilled={(code) => { + onCodeFilled={() => { handleTelLogin() }} code={code.join('')} @@ -142,25 +142,26 @@ const Code = ({ phone }: CodeProps) => { placeholderCharacter="-" placeholderTextColor="#AC7E35" /> - + - + {error} - - + + {t("auth.telLogin.sendAgain", { ns: 'login' })} { - if (countdown > 0) { - return - } else { + if (countdown <= 0) { sendVerificationCode() } }}> - 0 ? '!text-gray-400' : ''}`}> + 0 && styles.disabledResendText + ]}> {countdown > 0 ? `${countdown}s${t("auth.telLogin.resend", { ns: 'login' })}` : t("auth.telLogin.resend", { ns: 'login' })} @@ -172,14 +173,38 @@ const Code = ({ phone }: CodeProps) => { const styles = StyleSheet.create({ container: { + flex: 1, + backgroundColor: '#FFFFFF', + }, + contentContainer: { flex: 1, justifyContent: 'center', + }, + headerContainer: { alignItems: 'center', - padding: 20, + marginBottom: 16, + }, + title: { + fontSize: 24, + fontWeight: '600', + marginBottom: 8, + paddingTop: 4, + color: '#111827', + }, + subtitle: { + fontSize: 16, + color: '#4B5563', + textAlign: 'center', + marginBottom: 4, + }, + phoneNumber: { + fontSize: 16, + fontWeight: '500', + color: '#E2793F', }, otpContainer: { width: '100%', - height: 100 + height: 80, }, underlineStyleBase: { width: 50, @@ -187,15 +212,43 @@ const styles = StyleSheet.create({ borderWidth: 0, borderRadius: 16, fontSize: 18, - color: '#000', + color: '#000000', textAlign: 'center', - backgroundColor: '#FFF8DE' + backgroundColor: '#FFF8DE', }, underlineStyleHighLighted: { borderColor: '#E2793F', backgroundColor: '#FFF8DE', borderWidth: 2, }, + errorContainer: { + width: '100%', + flexDirection: 'row', + justifyContent: 'flex-end', + alignItems: 'center', + }, + errorText: { + fontSize: 16, + fontWeight: '500', + color: '#E2793F', + marginLeft: 8, + }, + footerContainer: { + flexDirection: 'row', + justifyContent: 'center', + marginTop: 8, + }, + footerText: { + color: '#6B7280', + }, + resendText: { + color: '#E2793F', + fontWeight: '500', + marginLeft: 4, + }, + disabledResendText: { + color: '#9CA3AF', + }, }); -export default Code \ No newline at end of file +export default Code; \ No newline at end of file diff --git a/i18n/locales/en/login.json b/i18n/locales/en/login.json index 779e558..157d090 100644 --- a/i18n/locales/en/login.json +++ b/i18n/locales/en/login.json @@ -24,6 +24,7 @@ }, "telLogin": { "title": "Verify Your Identity", + "codeTitle": "Verify Your Identity", "secondTitle": "We’ve sent an email with your code to:", "sendCode": "send code", "continue": " Continue", diff --git a/i18n/locales/zh/login.json b/i18n/locales/zh/login.json index 96e1b5b..3ebd163 100644 --- a/i18n/locales/zh/login.json +++ b/i18n/locales/zh/login.json @@ -24,6 +24,7 @@ }, "telLogin": { "title": "请输入手机号", + "codeTitle": "请输入验证码", "secondTitle": "我们已发送验证码至:", "sendCode": "发送验证码", "continue": "继续", From ef70e2f83adf2098fcd186e51c9cdfc06942d2cd Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Fri, 1 Aug 2025 15:52:45 +0800 Subject: [PATCH 35/68] =?UTF-8?q?feat:=20=E6=A0=B7=E5=BC=8F=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/login.tsx | 18 ++- components/login/login.tsx | 222 +++++++++++++++++++++++------------- components/login/signUp.tsx | 12 +- 3 files changed, 162 insertions(+), 90 deletions(-) diff --git a/app/(tabs)/login.tsx b/app/(tabs)/login.tsx index 39dc282..fd3121a 100644 --- a/app/(tabs)/login.tsx +++ b/app/(tabs)/login.tsx @@ -2,6 +2,7 @@ import Handers from '@/assets/icons/svg/handers.svg'; import LoginIP1 from '@/assets/icons/svg/loginIp1.svg'; import LoginIP2 from '@/assets/icons/svg/loginIp2.svg'; import ForgetPwd from '@/components/login/forgetPwd'; +import Login from '@/components/login/login'; import PhoneLogin from '@/components/login/phoneLogin'; import SignUp from '@/components/login/signUp'; import { ThemedText } from '@/components/ThemedText'; @@ -19,7 +20,10 @@ const LoginScreen = () => { const [error, setError] = useState('123'); const [containerHeight, setContainerHeight] = useState(0); const { height: windowHeight } = useWindowDimensions(); + // 展示首次输入密码 const [showPassword, setShowPassword] = useState(false); + // 展示二次输入密码 + const [showSecondPassword, setShowSecondPassword] = useState(false); const [keyboardOffset, setKeyboardOffset] = useState(0); const insets = useSafeAreaInsets(); // 判断是否有白边 @@ -126,6 +130,8 @@ const LoginScreen = () => { {...commonProps} setShowPassword={setShowPassword} showPassword={showPassword} + setShowSecondPassword={setShowSecondPassword} + showSecondPassword={showSecondPassword} /> ), forgetPwd: ( @@ -134,12 +140,12 @@ const LoginScreen = () => { /> ), login: ( - // - + + // ), code: ( diff --git a/components/login/login.tsx b/components/login/login.tsx index 134e560..4a97015 100644 --- a/components/login/login.tsx +++ b/components/login/login.tsx @@ -2,7 +2,7 @@ import { Ionicons } from "@expo/vector-icons"; import { router } from "expo-router"; import { useState } from "react"; import { useTranslation } from "react-i18next"; -import { ActivityIndicator, TextInput, TouchableOpacity, View } from "react-native"; +import { ActivityIndicator, StyleSheet, TextInput, TouchableOpacity, View } from "react-native"; import { useAuth } from "../../contexts/auth-context"; import { fetchApi } from "../../lib/server-api-util"; import { User } from "../../types/user"; @@ -52,6 +52,7 @@ const Login = ({ updateUrlParam, setError, setShowPassword, showPassword }: Logi router.replace('/user-message'); } } catch (error) { + // Handle error } finally { setIsLoading(false); } @@ -64,93 +65,156 @@ const Login = ({ updateUrlParam, setError, setShowPassword, showPassword }: Logi const handleSignUp = () => { updateUrlParam('status', 'signUp'); }; - return - {/* 邮箱输入框 */} - - - {t('auth.login.email', { ns: 'login' })} - - { - setEmail(text); - setError('123'); - }} - keyboardType="email-address" - autoCapitalize="none" - /> - - {/* 密码输入框 */} - - - {t('auth.login.password', { ns: 'login' })} - - + + return ( + + + + {t('auth.login.email', { ns: 'login' })} + { - setPassword(text); + setEmail(text); setError('123'); }} - secureTextEntry={!showPassword} + autoCapitalize="none" /> - setShowPassword(!showPassword)} - > - + + + + {t('auth.login.password', { ns: 'login' })} + + + { + setPassword(text); + setError('123'); + }} + secureTextEntry={!showPassword} /> + setShowPassword(!showPassword)} + > + + + + + + + + {t('auth.login.forgotPassword', { ns: 'login' })} + + + + + {isLoading ? ( + + ) : ( + + {t('auth.login.loginButton', { ns: 'login' })} + + )} + + + + + {t('auth.login.signUpMessage', { ns: 'login' })} + + + + {t('auth.login.signUp', { ns: 'login' })} + + ); +}; - {/* 忘记密码链接 */} - - - {t('auth.login.forgotPassword', { ns: 'login' })} - - +const styles = StyleSheet.create({ + container: { + flex: 1, + }, + inputContainer: { + marginBottom: 20, + }, + inputLabel: { + fontSize: 16, + color: '#1F2937', + marginBottom: 8, + marginLeft: 8, + }, + textInput: { + borderRadius: 12, + paddingHorizontal: 16, + paddingVertical: 12, + fontSize: 16, + textAlignVertical: 'center', + backgroundColor: '#FFF8DE' + }, + passwordInputContainer: { + position: 'relative', + }, + eyeIcon: { + position: 'absolute', + right: 12, + top: 14, + }, + forgotPassword: { + alignSelf: 'flex-end', + marginBottom: 24, + }, + forgotPasswordText: { + color: '#1F2937', + fontSize: 14, + }, + loginButton: { + width: '100%', + backgroundColor: '#E2793F', + borderRadius: 28, + padding: 16, + alignItems: 'center', + marginBottom: 24, + }, + loginButtonText: { + color: '#FFFFFF', + fontWeight: '600', + }, + signupContainer: { + flexDirection: 'row', + justifyContent: 'center', + marginTop: 8, + }, + signupText: { + color: '#1F2937', + fontSize: 14, + }, + signupLink: { + color: '#E2793F', + fontSize: 14, + fontWeight: '600', + marginLeft: 4, + }, +}); - {/* 登录按钮 */} - - {isLoading ? ( - - ) : ( - - {t('auth.login.loginButton', { ns: 'login' })} - - )} - - - {/* 注册链接 */} - - - {t('auth.login.signUpMessage', { ns: 'login' })} - - - - {t('auth.login.signUp', { ns: 'login' })} - - - - -} - - -export default Login \ No newline at end of file +export default Login; \ No newline at end of file diff --git a/components/login/signUp.tsx b/components/login/signUp.tsx index 8251b0f..ec2a608 100644 --- a/components/login/signUp.tsx +++ b/components/login/signUp.tsx @@ -14,9 +14,11 @@ interface LoginProps { setError: (error: string) => void; setShowPassword: (showPassword: boolean) => void; showPassword: boolean; + setShowSecondPassword: (showSecondPassword: boolean) => void; + showSecondPassword: boolean; } -const SignUp = ({ updateUrlParam, setError, setShowPassword, showPassword }: LoginProps) => { +const SignUp = ({ updateUrlParam, setError, setShowPassword, showPassword, setShowSecondPassword, showSecondPassword }: LoginProps) => { const { t } = useTranslation(); const { login } = useAuth(); const router = useRouter(); @@ -32,7 +34,6 @@ const SignUp = ({ updateUrlParam, setError, setShowPassword, showPassword }: Log // 从 URL 参数中获取 task_id 和 steps const params = useLocalSearchParams<{ task_id?: string; steps?: string }>(); const taskId = params.task_id; - const steps = params.steps; const handlePasswordChange = (value: string) => { setPassword(value); @@ -139,6 +140,7 @@ const SignUp = ({ updateUrlParam, setError, setShowPassword, showPassword }: Log // 初始化 useEffect(() => { setShowPassword(false) + setShowSecondPassword(false) }, []) return @@ -208,14 +210,14 @@ const SignUp = ({ updateUrlParam, setError, setShowPassword, showPassword }: Log handleConfirmPasswordChange(value) setError('123') }} - secureTextEntry={!showPassword} + secureTextEntry={!showSecondPassword} /> setShowPassword(!showPassword)} + onPress={() => setShowSecondPassword(!showSecondPassword)} className="px-3 py-2" > From e6a8faa61014346bc9a0c06a560e38d01def28d5 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Fri, 1 Aug 2025 16:05:27 +0800 Subject: [PATCH 36/68] =?UTF-8?q?feat:=20=E7=99=BB=E5=BD=95=E9=A1=B5?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/login.tsx | 2 +- components/login/forgetPwd.tsx | 144 ++++++---- components/login/signUp.tsx | 473 ++++++++++++++++++++------------- 3 files changed, 376 insertions(+), 243 deletions(-) diff --git a/app/(tabs)/login.tsx b/app/(tabs)/login.tsx index fd3121a..786a111 100644 --- a/app/(tabs)/login.tsx +++ b/app/(tabs)/login.tsx @@ -81,7 +81,7 @@ const LoginScreen = () => { }} > { - showPassword + (showPassword || showSecondPassword) ? : diff --git a/components/login/forgetPwd.tsx b/components/login/forgetPwd.tsx index 0f38b15..4bebfbb 100644 --- a/components/login/forgetPwd.tsx +++ b/components/login/forgetPwd.tsx @@ -2,7 +2,7 @@ import { fetchApi } from "@/lib/server-api-util"; import { User } from "@/types/user"; import { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { ActivityIndicator, TextInput, TouchableOpacity, View } from "react-native"; +import { ActivityIndicator, StyleSheet, TextInput, TouchableOpacity, View } from "react-native"; import { ThemedText } from "../ThemedText"; interface LoginProps { @@ -15,12 +15,10 @@ interface LoginProps { const ForgetPwd = ({ setIsSignUp, updateUrlParam, setError }: LoginProps) => { const { t } = useTranslation(); const [loading, setLocading] = useState(false); - // 发送邮箱后把按钮变为disabled const [isDisabled, setIsDisabled] = useState(false); const [email, setEmail] = useState(''); const [countdown, setCountdown] = useState(0); - // 倒计时效果 useEffect(() => { if (countdown > 0) { const timer = setTimeout(() => setCountdown(countdown - 1), 1000); @@ -30,7 +28,6 @@ const ForgetPwd = ({ setIsSignUp, updateUrlParam, setError }: LoginProps) => { } }, [countdown, isDisabled]); - // 发送邮件 const handleSubmit = () => { if (!email) { setError(t('auth.forgetPwd.emailPlaceholder', { ns: 'login' })); @@ -41,7 +38,7 @@ const ForgetPwd = ({ setIsSignUp, updateUrlParam, setError }: LoginProps) => { const body = { email: email, } - // 调接口确定邮箱是否正确,是否有该用户邮箱权限 + fetchApi('/iam/reset-password-session', { method: 'POST', body: JSON.stringify(body), @@ -50,19 +47,17 @@ const ForgetPwd = ({ setIsSignUp, updateUrlParam, setError }: LoginProps) => { } }) .then((_) => { - // console.log("Password reset email sent successfully"); setIsDisabled(true); - setCountdown(60); // 开始60秒倒计时 + setCountdown(60); }) .catch((error) => { - // console.error('Failed to send reset email:', error); setError(t('auth.forgetPwd.sendEmailError', { ns: 'login' })); }) .finally(() => { setLocading(false); }); }; - // 返回登陆 + const handleBackToLogin = () => { if (setIsSignUp) { setIsSignUp('login'); @@ -72,50 +67,95 @@ const ForgetPwd = ({ setIsSignUp, updateUrlParam, setError }: LoginProps) => { } } - return - {/* 邮箱输入框 */} - - - {t('auth.forgetPwd.title', { ns: 'login' })} - - - - {/* 发送重置密码邮件 */} - - {loading ? ( - - ) : ( - - {isDisabled - ? `${t("auth.forgetPwd.sendEmailBtnDisabled", { ns: "login" })} (${countdown}s)` - : t("auth.forgetPwd.sendEmailBtn", { ns: "login" })} - + return ( + + + + {t('auth.forgetPwd.title', { ns: 'login' })} - )} - - {/* 返回登陆 */} - - - {t('auth.forgetPwd.goback', { ns: 'login' })} - - - + + + + + {loading ? ( + + ) : ( + + {isDisabled + ? `${t("auth.forgetPwd.sendEmailBtnDisabled", { ns: "login" })} (${countdown}s)` + : t("auth.forgetPwd.sendEmailBtn", { ns: "login" })} + + )} + + + + + {t('auth.forgetPwd.goback', { ns: 'login' })} + + + + ); } +const styles = StyleSheet.create({ + container: { + width: '100%', + }, + inputContainer: { + marginBottom: 20, + }, + inputLabel: { + fontSize: 16, + color: '#1F2937', + marginBottom: 8, + marginLeft: 8, + }, + textInput: { + borderRadius: 12, + padding: 12, + fontSize: 16, + backgroundColor: '#FFF8DE', + }, + submitButton: { + width: '100%', + backgroundColor: '#E2793F', + borderRadius: 28, + padding: 16, + alignItems: 'center', + }, + disabledButton: { + opacity: 0.5, + }, + buttonText: { + color: '#FFFFFF', + fontWeight: '600', + }, + backButton: { + alignSelf: 'center', + marginTop: 24, + }, + backButtonText: { + color: '#1F2937', + fontSize: 14, + }, +}); -export default ForgetPwd \ No newline at end of file +export default ForgetPwd; \ No newline at end of file diff --git a/components/login/signUp.tsx b/components/login/signUp.tsx index ec2a608..8d2790d 100644 --- a/components/login/signUp.tsx +++ b/components/login/signUp.tsx @@ -2,7 +2,7 @@ import { Ionicons } from "@expo/vector-icons"; import { useLocalSearchParams, useRouter } from "expo-router"; import { useEffect, useState } from 'react'; import { useTranslation } from "react-i18next"; -import { ActivityIndicator, TextInput, TouchableOpacity, View } from 'react-native'; +import { ActivityIndicator, StyleSheet, TextInput, TouchableOpacity, View } from 'react-native'; import { useAuth } from "../../contexts/auth-context"; import { fetchApi } from "../../lib/server-api-util"; import { User } from "../../types/user"; @@ -143,206 +143,299 @@ const SignUp = ({ updateUrlParam, setError, setShowPassword, showPassword, setSh setShowSecondPassword(false) }, []) - return - {/* 邮箱输入 */} - - - {t('auth.login.email', { ns: 'login' })} - - - { - setEmail(value) - setError('123') - }} - keyboardType="email-address" - autoCapitalize="none" - /> - - - - {/* 密码输入 */} - - - {t('auth.login.password', { ns: 'login' })} - - - { - handlePasswordChange(value) - setError('123') - }} - secureTextEntry={!showPassword} - /> - setShowPassword(!showPassword)} - className="px-3 py-2" - > - - - - - - {/* 确认密码 */} - - - {t('auth.signup.confirmPassword', { ns: 'login' })} - - - { - handleConfirmPasswordChange(value) - setError('123') - }} - secureTextEntry={!showSecondPassword} - /> - setShowSecondPassword(!showSecondPassword)} - className="px-3 py-2" - > - - - - - - {/* 注册按钮 */} - - {loading ? ( - - ) : ( - - {t("auth.signup.signupButton", { ns: 'login' })} + return ( + + {/* 邮箱输入 */} + + + {t('auth.login.email', { ns: 'login' })} - )} - - - { - const newValue = !checked; - setChecked(newValue); - if (!newValue) { - setError(t('auth.signup.checkedRequired', { ns: 'login' })); - return - } else { - setError("123") - } + + { + setEmail(value) + setError('123') + }} + keyboardType="email-address" + autoCapitalize="none" + /> + + - }} - style={{ - width: 20, - height: 20, - borderRadius: 10, - borderWidth: 2, - borderColor: checked ? '#E2793F' : '#ccc', - backgroundColor: checked ? '#E2793F' : 'transparent', - justifyContent: 'center', - alignItems: 'center', - marginRight: 8, - }} + {/* 密码输入 */} + + + {t('auth.login.password', { ns: 'login' })} + + + { + handlePasswordChange(value) + setError('123') + }} + secureTextEntry={!showPassword} + /> + setShowPassword(!showPassword)} + style={styles.eyeIcon} + > + + + + + + {/* 确认密码 */} + + + {t('auth.signup.confirmPassword', { ns: 'login' })} + + + { + handleConfirmPasswordChange(value) + setError('123') + }} + secureTextEntry={!showSecondPassword} + /> + setShowSecondPassword(!showSecondPassword)} + style={styles.eyeIcon} + > + + + + + + {/* 注册按钮 */} + - {checked && ( - + {loading ? ( + + ) : ( + + {t("auth.signup.signupButton", { ns: 'login' })} + )} - - - {t("auth.telLogin.agree", { ns: 'login' })} - - { - setModalType('terms'); - setPrivacyModalVisible(true); - }}> - - {t("auth.telLogin.terms", { ns: 'login' })} - + + { + const newValue = !checked; + setChecked(newValue); + if (!newValue) { + setError(t('auth.signup.checkedRequired', { ns: 'login' })); + return + } else { + setError("123") + } + + }} + style={[ + styles.checkbox, + checked && styles.checkboxChecked + ]} + > + {checked && ( + + )} - - {t("auth.telLogin.and", { ns: 'login' })} - - { - setModalType('privacy'); - setPrivacyModalVisible(true); - }}> - - {t("auth.telLogin.privacyPolicy", { ns: 'login' })} + + + {t("auth.telLogin.agree", { ns: 'login' })} - - - {t("auth.telLogin.and", { ns: 'login' })} - - { - setModalType('user'); - setPrivacyModalVisible(true); - }}> - - {t("auth.telLogin.userAgreement", { ns: 'login' })} + { + setModalType('terms'); + setPrivacyModalVisible(true); + }}> + + {t("auth.telLogin.terms", { ns: 'login' })} + + + + {t("auth.telLogin.and", { ns: 'login' })} - - - {t("auth.telLogin.and", { ns: 'login' })} - - { - setModalType('ai'); - setPrivacyModalVisible(true); - }}> - - {t("auth.telLogin.aiAgreement", { ns: 'login' })} + { + setModalType('privacy'); + setPrivacyModalVisible(true); + }}> + + {t("auth.telLogin.privacyPolicy", { ns: 'login' })} + + + + {t("auth.telLogin.and", { ns: 'login' })} - - - {t("auth.telLogin.agreement", { ns: 'login' })} - - - {t("common.name")} - - - {t("auth.telLogin.getPhone", { ns: 'login' })} - + { + setModalType('user'); + setPrivacyModalVisible(true); + }}> + + {t("auth.telLogin.userAgreement", { ns: 'login' })} + + + + {t("auth.telLogin.and", { ns: 'login' })} + + { + setModalType('ai'); + setPrivacyModalVisible(true); + }}> + + {t("auth.telLogin.aiAgreement", { ns: 'login' })} + + + + {t("auth.telLogin.agreement", { ns: 'login' })} + + + {t("common.name")} + + + {t("auth.telLogin.getPhone", { ns: 'login' })} + + - - {/* 已有账号 */} - - - {t("auth.signup.haveAccount", { ns: 'login' })} - - { - updateUrlParam("status", "login"); - }} - > - - {t("auth.signup.login", { ns: 'login' })} + {/* 已有账号 */} + + + {t("auth.signup.haveAccount", { ns: 'login' })} - + { + updateUrlParam("status", "login"); + }} + > + + {t("auth.signup.login", { ns: 'login' })} + + + + + {/* 协议弹窗 */} + + ); +}; - {/* 协议弹窗 */} - - -} +const styles = StyleSheet.create({ + container: { + width: '100%', + }, + inputContainer: { + marginBottom: 16, + }, + inputWrapper: { + borderRadius: 12, + backgroundColor: '#FFF8DE', + overflow: 'hidden', + }, + inputLabel: { + fontSize: 16, + color: '#1F2937', + marginBottom: 8, + marginLeft: 8, + }, + textInput: { + padding: 12, + fontSize: 16, + color: '#1F2937', + }, + passwordInputContainer: { + flexDirection: 'row', + alignItems: 'center', + borderRadius: 12, + backgroundColor: '#FFF8DE', + overflow: 'hidden', + }, + eyeIcon: { + paddingHorizontal: 12, + paddingVertical: 8, + }, + signupButton: { + width: '100%', + backgroundColor: '#E2793F', + borderRadius: 28, + padding: 16, + alignItems: 'center', + marginBottom: 16, + }, + signupButtonText: { + color: '#FFFFFF', + fontWeight: '600', + }, + termsContainer: { + flexDirection: 'row', + alignItems: 'flex-start', + marginVertical: 10, + }, + checkbox: { + width: 20, + height: 20, + borderRadius: 10, + borderWidth: 2, + borderColor: '#E5E7EB', + justifyContent: 'center', + alignItems: 'center', + marginRight: 8, + marginTop: 2, + }, + checkboxChecked: { + backgroundColor: '#E2793F', + borderColor: '#E2793F', + }, + termsTextContainer: { + flexDirection: 'row', + flexWrap: 'wrap', + flex: 1, + }, + termsText: { + fontSize: 14, + color: '#1F2937', + lineHeight: 20, + }, + termsLink: { + fontSize: 14, + color: '#E2793F', + lineHeight: 20, + }, + loginContainer: { + flexDirection: 'row', + justifyContent: 'center', + marginTop: 24, + }, + loginText: { + fontSize: 14, + color: '#1F2937', + }, + loginLink: { + color: '#E2793F', + fontSize: 14, + fontWeight: '600', + marginLeft: 4, + }, +}); -export default SignUp \ No newline at end of file +export default SignUp; \ No newline at end of file From d996b4dab6f556cacd341247064b526887b9dbe0 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Fri, 1 Aug 2025 17:20:09 +0800 Subject: [PATCH 37/68] =?UTF-8?q?feat:=20=E5=8A=A8=E7=94=BB+=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/ask.tsx | 2 +- app/(tabs)/index.tsx | 433 +++++++++++++++++++++++++++++++--- components/owner/carousel.tsx | 16 +- 3 files changed, 412 insertions(+), 39 deletions(-) diff --git a/app/(tabs)/ask.tsx b/app/(tabs)/ask.tsx index 035bbfa..4de2030 100644 --- a/app/(tabs)/ask.tsx +++ b/app/(tabs)/ask.tsx @@ -166,7 +166,7 @@ export default function AskScreen() { > - MemoWake + { router.push('/owner') }}>MemoWake diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx index 44dd58d..975b366 100644 --- a/app/(tabs)/index.tsx +++ b/app/(tabs)/index.tsx @@ -1,17 +1,182 @@ import IP from '@/assets/icons/svg/ip.svg'; import { checkAuthStatus } from '@/lib/auth'; import { useRouter } from 'expo-router'; -import React, { useEffect, useState } from 'react'; +import React, { useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { Text, TouchableOpacity, View } from 'react-native'; +import { Animated, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import { useSafeAreaInsets } from "react-native-safe-area-context"; export default function HomeScreen() { const router = useRouter(); const { t } = useTranslation(); const insets = useSafeAreaInsets(); - const [isLoading, setIsLoading] = useState(true); + const [isLoading, setIsLoading] = useState(false); + // 动画值 + const fadeAnim = useRef(new Animated.Value(0)).current; // IP图标的淡入动画 + const shakeAnim = useRef(new Animated.Value(0)).current; // IP图标的摇晃动画 + const animationRef = useRef(null); // 动画引用 + const descriptionAnim = useRef(new Animated.Value(0)).current; // 描述文本的淡入动画 + const buttonAnim = useRef(new Animated.Value(0)).current; // 按钮的淡入动画 + const buttonShakeAnim = useRef(new Animated.Value(0)).current; // 按钮的摇晃动画 + const buttonLoopAnim = useRef(null); // 按钮循环动画引用 + + // 文本行动画值 + const [textAnimations] = useState(() => ({ + line1: new Animated.Value(0), // 第一行文本动画 + line2: new Animated.Value(0), // 第二行文本动画 + line3: new Animated.Value(0), // 第三行文本动画 + subtitle: new Animated.Value(0), // 副标题动画 + })); + + // 启动IP图标摇晃动画 + const startShaking = () => { + // 停止任何正在进行的动画 + if (animationRef.current) { + animationRef.current.stop(); + } + + // 创建动画序列 + const sequence = Animated.sequence([ + // 第一次左右摇晃 + Animated.timing(shakeAnim, { + toValue: 1, + duration: 300, + useNativeDriver: true, + }), + Animated.timing(shakeAnim, { + toValue: -1, + duration: 300, + useNativeDriver: true, + }), + // 第二次左右摇晃 + Animated.timing(shakeAnim, { + toValue: 1, + duration: 300, + useNativeDriver: true, + }), + Animated.timing(shakeAnim, { + toValue: -1, + duration: 300, + useNativeDriver: true, + }), + // 回到中心位置 + Animated.timing(shakeAnim, { + toValue: 0, + duration: 200, + useNativeDriver: true, + }), + // 1秒延迟 + Animated.delay(1000), + ]); + + // 循环播放动画序列 + animationRef.current = Animated.loop(sequence); + animationRef.current.start(); + }; + + // 启动文本动画 + const startTextAnimations = () => { + // 按顺序延迟启动每行文本动画 + return new Promise((resolve) => { + Animated.stagger(300, [ + Animated.timing(textAnimations.line1, { + toValue: 1, + duration: 500, + useNativeDriver: true, + }), + Animated.timing(textAnimations.line2, { + toValue: 1, + duration: 500, + useNativeDriver: true, + }), + Animated.timing(textAnimations.line3, { + toValue: 1, + duration: 500, + useNativeDriver: true, + }), + Animated.timing(textAnimations.subtitle, { + toValue: 1, + duration: 500, + useNativeDriver: true, + }), + ]).start(() => resolve()); + }); + }; + + // 启动描述文本动画 + const startDescriptionAnimation = () => { + // IP图标显示后淡入描述文本 + return new Promise((resolve) => { + Animated.sequence([ + Animated.delay(200), // IP图标显示后延迟200ms + Animated.timing(descriptionAnim, { + toValue: 1, + duration: 800, + useNativeDriver: true, + }) + ]).start(() => resolve()); + }); + }; + + // 启动按钮动画 + const startButtonAnimation = () => { + // 首先淡入按钮 + Animated.sequence([ + Animated.timing(buttonAnim, { + toValue: 1, + duration: 800, + useNativeDriver: true, + }) + ]).start(() => { + // 淡入完成后开始循环摇晃动画 + startButtonShakeLoop(); + }); + }; + + // 启动按钮循环摇晃动画 + const startButtonShakeLoop = () => { + // 停止任何正在进行的动画 + if (buttonLoopAnim.current) { + buttonLoopAnim.current.stop(); + } + + // 创建摇晃动画序列 + const shakeSequence = Animated.sequence([ + // 向右摇晃 + Animated.timing(buttonShakeAnim, { + toValue: 1, + duration: 100, + useNativeDriver: true, + }), + // 向左摇晃 + Animated.timing(buttonShakeAnim, { + toValue: -1, + duration: 100, + useNativeDriver: true, + }), + // 再次向右摇晃 + Animated.timing(buttonShakeAnim, { + toValue: 1, + duration: 100, + useNativeDriver: true, + }), + // 回到中心位置 + Animated.timing(buttonShakeAnim, { + toValue: 0, + duration: 100, + useNativeDriver: true, + }), + // 暂停3秒 + Animated.delay(3000) + ]); + + // 循环播放动画序列 + buttonLoopAnim.current = Animated.loop(shakeSequence); + buttonLoopAnim.current.start(); + }; + + // 组件挂载时启动动画 useEffect(() => { setIsLoading(true); checkAuthStatus(router, () => { @@ -21,58 +186,266 @@ export default function HomeScreen() { }).catch(() => { setIsLoading(false); }); + // IP图标的淡入动画 + Animated.timing(fadeAnim, { + toValue: 1, + duration: 1000, + useNativeDriver: true, + }).start(() => { + // 淡入完成后开始摇晃动画 + startShaking(); + // IP显示后开始文本动画 + startTextAnimations() + .then(() => startDescriptionAnimation()) + .then(() => startButtonAnimation()) + .catch(console.error); + }); + + // 组件卸载时清理动画 + return () => { + if (buttonLoopAnim.current) { + buttonLoopAnim.current.stop(); + } + if (animationRef.current) { + animationRef.current.stop(); + } + }; }, []); + // 动画样式 + const animatedStyle = { + opacity: fadeAnim, + transform: [ + { + translateX: shakeAnim.interpolate({ + inputRange: [-1, 1], + outputRange: [-2, 2], + }) + }, + { + rotate: shakeAnim.interpolate({ + inputRange: [-1, 1], + outputRange: ['-2deg', '2deg'], + }), + }, + ], + }; + if (isLoading) { return ( - - 加载中... + + {t('common.loading')} ); } return ( - - + + {/* 标题区域 */} - - + + {t('auth.welcomeAwaken.awaken', { ns: 'login' })} - {"\n"} + + {t('auth.welcomeAwaken.your', { ns: 'login' })} - {"\n"} + + {t('auth.welcomeAwaken.pm', { ns: 'login' })} - - + + {t('auth.welcomeAwaken.slogan', { ns: 'login' })} - + - {/* Memo 形象区域 */} - - + {/* Animated IP */} + + + + {/* 介绍文本 */} - + {t('auth.welcomeAwaken.gallery', { ns: 'login' })} {"\n"} {t('auth.welcomeAwaken.back', { ns: 'login' })} - + {/* 唤醒按钮 */} - { - router.push('/login') + - - {t('auth.welcomeAwaken.awake', { ns: 'login' })} - - + { + router.push('/login'); + }} + activeOpacity={0.8} + > + + {t('auth.welcomeAwaken.awake', { ns: 'login' })} + + + - + ); -} \ No newline at end of file +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#FFB645', + }, + loadingContainer: { + flex: 1, + backgroundColor: '#FFB645', + justifyContent: 'center', + alignItems: 'center', + }, + loadingText: { + color: '#FFFFFF', + fontSize: 16, + }, + contentContainer: { + flex: 1, + backgroundColor: '#FFB645', + paddingHorizontal: 16, + paddingBottom: 32, + }, + headerContainer: { + marginBottom: 40, + width: '100%', + paddingHorizontal: 20, + }, + titleText: { + color: '#FFFFFF', + fontSize: 30, + fontWeight: 'bold', + marginBottom: 12, + textAlign: 'left', + lineHeight: 36, + }, + subtitleText: { + color: 'rgba(255, 255, 255, 0.85)', + fontSize: 16, + textAlign: 'left', + lineHeight: 24, + }, + ipContainer: { + alignItems: 'center', + marginBottom: 16, + minHeight: 200, + }, + ipWrapper: { + alignItems: 'center', + justifyContent: 'center', + }, + descriptionText: { + color: '#FFFFFF', + fontSize: 16, + textAlign: 'center', + lineHeight: 24, + opacity: 0.9, + paddingHorizontal: 40, + marginTop: -16, + }, + awakenButton: { + backgroundColor: '#FFFFFF', + borderRadius: 28, + paddingVertical: 16, + paddingHorizontal: 40, + shadowColor: '#000', + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.1, + shadowRadius: 4, + elevation: 2, + width: '100%', + alignItems: 'center', + marginTop: 24, + }, + buttonText: { + color: '#4C320C', + fontWeight: 'bold', + fontSize: 18, + }, +}); \ No newline at end of file diff --git a/components/owner/carousel.tsx b/components/owner/carousel.tsx index b59955b..c1168ef 100644 --- a/components/owner/carousel.tsx +++ b/components/owner/carousel.tsx @@ -74,14 +74,14 @@ function CarouselComponent(props: Props) { height={width * 0.75} data={carouselDataValue || []} mode="parallax" - defaultIndex={ - carouselDataValue?.length - ? Math.max(0, Math.min( - carouselDataValue.length - 1, - carouselDataValue.findIndex((item) => item?.key === 'total_count') - 1 - )) - : 0 - } + // defaultIndex={ + // carouselDataValue?.length + // ? Math.max(0, Math.min( + // carouselDataValue.length - 1, + // carouselDataValue.findIndex((item) => item?.key === 'total_count') - 1 + // )) + // : 0 + // } modeConfig={{ parallaxScrollingScale: 1, parallaxScrollingOffset: 150, From 1fd3907ceb5c9a24e38486791182c8ce7f31c7b8 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Fri, 1 Aug 2025 18:02:16 +0800 Subject: [PATCH 38/68] =?UTF-8?q?feat:=20=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/index.tsx | 38 +++++++++++++++++++++++++++++++++++++- app/(tabs)/owner.tsx | 8 +++----- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx index 975b366..c80353f 100644 --- a/app/(tabs)/index.tsx +++ b/app/(tabs)/index.tsx @@ -29,6 +29,9 @@ export default function HomeScreen() { subtitle: new Animated.Value(0), // 副标题动画 })); + // 添加挥手动画值 + const waveAnim = useRef(new Animated.Value(0)).current; + // 启动IP图标摇晃动画 const startShaking = () => { // 停止任何正在进行的动画 @@ -176,6 +179,31 @@ export default function HomeScreen() { buttonLoopAnim.current.start(); }; + // 启动挥手动画 + const startWaveAnimation = () => { + // 创建循环动画:左右摇摆 + Animated.loop( + Animated.sequence([ + Animated.timing(waveAnim, { + toValue: 1, + duration: 500, + useNativeDriver: true, + }), + Animated.timing(waveAnim, { + toValue: -1, + duration: 500, + useNativeDriver: true, + }), + Animated.timing(waveAnim, { + toValue: 0, + duration: 500, + useNativeDriver: true, + }), + Animated.delay(1000), // 暂停1秒 + ]) + ).start(); + }; + // 组件挂载时启动动画 useEffect(() => { setIsLoading(true); @@ -199,6 +227,8 @@ export default function HomeScreen() { .then(() => startDescriptionAnimation()) .then(() => startButtonAnimation()) .catch(console.error); + // 启动挥手动画 + startWaveAnimation(); }); // 组件卸载时清理动画 @@ -231,6 +261,12 @@ export default function HomeScreen() { ], }; + // 旋转动画插值 + const rotate = waveAnim.interpolate({ + inputRange: [-1, 0, 1], + outputRange: ['-15deg', '0deg', '15deg'], + }); + if (isLoading) { return ( @@ -309,7 +345,7 @@ export default function HomeScreen() { {/* Animated IP */} - + diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index 3e7322e..2bffecc 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -1,9 +1,7 @@ import ConversationsSvg from '@/assets/icons/svg/conversations.svg'; import StoriesSvg from '@/assets/icons/svg/stories.svg'; import AskNavbar from '@/components/layout/ask'; -import CarouselComponent from '@/components/owner/carousel'; import CreateCountComponent from '@/components/owner/createCount'; -import Ranking from '@/components/owner/ranking'; import MemberCard from '@/components/owner/rights/memberCard'; import SettingModal from '@/components/owner/setting'; import UserInfo from '@/components/owner/userName'; @@ -91,9 +89,9 @@ export default function OwnerPage() { {/* 分类 */} - + {/* - + */} {/* 作品数据 */} @@ -102,7 +100,7 @@ export default function OwnerPage() { {/* 排行榜 */} - + {/* */} } // 优化性能:添加 getItemLayout From 4675043d85801b1f99621293ee2278c02246d1fe Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Sun, 3 Aug 2025 11:08:04 +0800 Subject: [PATCH 39/68] =?UTF-8?q?chore:=20=E6=9E=84=E5=BB=BA=E4=BA=A7?= =?UTF-8?q?=E7=89=A9=E6=B7=BB=E5=8A=A0gitignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index ff09c93..ff57f2b 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,5 @@ app-example # Expo prebuild generated files android/ ios/ + +build* \ No newline at end of file From b7d9186570bdf247ebc4f31a40128748a470f324 Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Sun, 3 Aug 2025 13:58:45 +0800 Subject: [PATCH 40/68] =?UTF-8?q?enhance:=20=E4=BC=98=E5=8C=96=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=88=87=E6=8D=A2=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/_layout.tsx | 367 +++++++++++++++-------------- app/(tabs)/memo-list.tsx | 10 +- app/(tabs)/owner.tsx | 52 +++- components/layout/ask.tsx | 5 + components/owner/SkeletonOwner.tsx | 92 ++++++++ components/owner/createCount.tsx | 20 +- 6 files changed, 346 insertions(+), 200 deletions(-) create mode 100644 components/owner/SkeletonOwner.tsx diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index f3e8a9a..ff49b19 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -12,6 +12,8 @@ import * as SecureStore from 'expo-secure-store'; import React, { useCallback, useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Platform } from 'react-native'; +import { TransitionPresets } from '@react-navigation/bottom-tabs'; +import AskNavbar from '@/components/layout/ask'; interface PollingData { title: string; @@ -19,6 +21,7 @@ interface PollingData { content: string; extra: any; } + export default function TabLayout() { const { t } = useTranslation(); const colorScheme = useColorScheme(); @@ -171,192 +174,198 @@ export default function TabLayout() { }, [token]); return ( - - {/* 落地页 */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + <> + - {/* 登录 */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> - {/* 重置密码 */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> - {/* loading页面 */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> - {/* 用户信息收集 */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> - {/* ask页面 */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> - {/* memo list */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> - {/* owner */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> - {/* 排行榜 */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> - {/* 对话详情页 */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> - {/* 隐私协议 */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> - - {/* Support Screen */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> - - {/* Debug Screen - only in development */} - {process.env.NODE_ENV === 'development' && ( + > + {/* 落地页 */} ( - - ), + title: 'Memo', + tabBarButton: () => null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> + {/* 登录 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> + {/* 重置密码 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> + {/* loading页面 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> + {/* 用户信息收集 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> + {/* ask页面 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' }, // 确保在标签栏中不显示 + ...TransitionPresets.ShiftTransition, + }} + /> + {/* memo list */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' }, // 确保在标签栏中不显示 + ...TransitionPresets.ShiftTransition, + }} + /> + {/* owner */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' }, // 确保在标签栏中不显示 + ...TransitionPresets.ShiftTransition, + }} + /> + {/* 排行榜 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> + {/* 对话详情页 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> + {/* 隐私协议 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 }} /> - )} - {/* 下载页面 */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> + {/* Support Screen */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> - {/* 购买权益页面 */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> + {/* Debug Screen - only in development */} + {process.env.NODE_ENV === 'development' && ( + ( + + ), + }} + /> + )} - {/* 设置页面 */} - null, // 隐藏底部标签栏 - headerShown: false, // 隐藏导航栏 - tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 - }} - /> - + {/* 下载页面 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> + + {/* 购买权益页面 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> + + {/* 设置页面 */} + null, // 隐藏底部标签栏 + headerShown: false, // 隐藏导航栏 + tabBarStyle: { display: 'none' } // 确保在标签栏中不显示 + }} + /> + + + ); } diff --git a/app/(tabs)/memo-list.tsx b/app/(tabs)/memo-list.tsx index fa21157..9d96226 100644 --- a/app/(tabs)/memo-list.tsx +++ b/app/(tabs)/memo-list.tsx @@ -9,7 +9,7 @@ import { useSafeAreaInsets } from 'react-native-safe-area-context'; import ChatSvg from '@/assets/icons/svg/chat.svg'; import ErrorBoundary from '@/components/common/ErrorBoundary'; import UploaderProgress from '@/components/file-upload/upload-progress/uploader-progress'; -import AskNavbar from '@/components/layout/ask'; + import SkeletonItem from '@/components/memo/SkeletonItem'; // 类型定义 @@ -176,7 +176,7 @@ const MemoList = () => { {/* 上传进度 */} - + {/* */} ), [insets.top]); @@ -218,9 +218,8 @@ const MemoList = () => { // 如果组件未完全加载,显示骨架屏 if (!isMounted) { return ( - + - ); } @@ -257,9 +256,6 @@ const MemoList = () => { contentContainerStyle={styles.listContent} ItemSeparatorComponent={() => } /> - - {/* 底部导航栏 */} - ); diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index 2bffecc..5fbe53c 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -1,9 +1,10 @@ import ConversationsSvg from '@/assets/icons/svg/conversations.svg'; import StoriesSvg from '@/assets/icons/svg/stories.svg'; -import AskNavbar from '@/components/layout/ask'; + import CreateCountComponent from '@/components/owner/createCount'; import MemberCard from '@/components/owner/rights/memberCard'; import SettingModal from '@/components/owner/setting'; +import SkeletonOwner from '@/components/owner/SkeletonOwner'; import UserInfo from '@/components/owner/userName'; import { checkAuthStatus } from '@/lib/auth'; import { fetchApi } from '@/lib/server-api-util'; @@ -20,6 +21,9 @@ export default function OwnerPage() { const router = useRouter(); const pathname = usePathname(); + // 添加页面挂载状态 + const [isMounted, setIsMounted] = useState(false); + useEffect(() => { const checkAuth = async () => { const authStatus = await checkAuthStatus(router); @@ -47,11 +51,17 @@ export default function OwnerPage() { // 获取用户信息 const [userInfoDetails, setUserInfoDetails] = useState({} as UserInfoDetails); - const getUserInfo = () => { + + // 优化getUserInfo函数,添加挂载状态检查 + const getUserInfo = useCallback(() => { fetchApi("/membership/personal-center-info").then((res) => { - setUserInfoDetails(res as UserInfoDetails); + // 只有在组件挂载时才更新状态 + if (isMounted) { + setUserInfoDetails(res as UserInfoDetails); + } }) - } + }, [isMounted]); + // 设计轮询获取数量统计 useFocusEffect( useCallback(() => { @@ -70,8 +80,35 @@ export default function OwnerPage() { // 初始化获取用户信息 useEffect(() => { - getUserInfo(); - }, []); + let isActive = true; + + const initialize = async () => { + try { + await getUserInfo(); + } catch (error) { + console.error('初始化失败:', error); + } finally { + if (isActive) { + setIsMounted(true); + } + } + }; + + initialize(); + + return () => { + isActive = false; + }; + }, [getUserInfo]); + + // 如果组件未完全加载,显示骨架屏 + if (!isMounted) { + return ( + + + + ); + } return ( @@ -112,9 +149,6 @@ export default function OwnerPage() { {modalVisible && ( )} - - {/* 导航栏 */} - ); } diff --git a/components/layout/ask.tsx b/components/layout/ask.tsx index 95e9716..e933f68 100644 --- a/components/layout/ask.tsx +++ b/components/layout/ask.tsx @@ -131,6 +131,11 @@ const AskNavbar = () => { } }), [width]); + // 如果当前路径是ask页面,则不渲染导航栏 + if (pathname != '/memo-list' && pathname != '/owner') { + return null; + } + return ( diff --git a/components/owner/SkeletonOwner.tsx b/components/owner/SkeletonOwner.tsx new file mode 100644 index 0000000..333eb77 --- /dev/null +++ b/components/owner/SkeletonOwner.tsx @@ -0,0 +1,92 @@ +import React from 'react'; +import { StyleSheet, View } from 'react-native'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; + +// 骨架屏占位组件 +const SkeletonItem = () => ( + +); + +const SkeletonOwner = () => { + const insets = useSafeAreaInsets(); + + return ( + + {/* 用户信息骨架屏 */} + + + + + + + + + + + + + + + {/* 会员卡骨架屏 */} + + + + + {/* 作品数据骨架屏 */} + + + + + + + + {/* 排行榜骨架屏 */} + + + + {Array(3).fill(0).map((_, index) => ( + + ))} + + + + ); +}; + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: 'white', + }, + section: { + marginBottom: 16, + }, + skeletonItem: { + backgroundColor: '#E1E1E1', + borderRadius: 8, + overflow: 'hidden', + }, + userInfoHeader: { + flexDirection: 'row', + alignItems: 'center', + marginBottom: 16, + }, + userInfoTextContainer: { + flex: 1, + marginLeft: 16, + }, + userInfoStats: { + flexDirection: 'row', + justifyContent: 'space-around', + }, + countContainer: { + flexDirection: 'row', + justifyContent: 'space-between', + gap: 16, + }, + rankingList: { + marginTop: 16, + }, +}); + +export default SkeletonOwner; diff --git a/components/owner/createCount.tsx b/components/owner/createCount.tsx index aa1518b..ab6fae7 100644 --- a/components/owner/createCount.tsx +++ b/components/owner/createCount.tsx @@ -1,3 +1,4 @@ +import React, { useMemo } from "react"; import { StyleProp, StyleSheet, View, ViewStyle } from "react-native"; import { ThemedText } from "../ThemedText"; @@ -7,9 +8,17 @@ interface CreateCountProps { number: number; style?: StyleProp; } -const CreateCountComponent = (props: CreateCountProps) => { + +// 使用React.memo优化组件,避免不必要的重渲染 +const CreateCountComponent = React.memo((props: CreateCountProps) => { + // 预计算样式以提高性能 + const containerStyle = useMemo(() => [ + styles.container, + props.style + ], [props.style]); + return ( - + {props.number} @@ -19,7 +28,7 @@ const CreateCountComponent = (props: CreateCountProps) => { ); -}; +}); const styles = StyleSheet.create({ container: { @@ -39,7 +48,7 @@ const styles = StyleSheet.create({ }, shadowOpacity: 0.25, shadowRadius: 3.84, - elevation: 5, + // elevation: 1, }, header: { width: "100%", @@ -63,5 +72,6 @@ const styles = StyleSheet.create({ textAlign: "center", color: "#4C320C" }, -}) +}); + export default CreateCountComponent; From 1f00a39e80c98cc25776a63e098724b4ea93edac Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Sun, 3 Aug 2025 15:35:04 +0800 Subject: [PATCH 41/68] =?UTF-8?q?chore:=20API=5FENDPOINT=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 1 - app.json | 1 + app/_layout.tsx | 20 ++++++++++---------- lib/server-api-util.ts | 1 + 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.env b/.env index a102646..e69de29 100644 --- a/.env +++ b/.env @@ -1 +0,0 @@ -API_ENDPOINT=https://api.memorywake.com/api \ No newline at end of file diff --git a/app.json b/app.json index e201da3..63fd639 100644 --- a/app.json +++ b/app.json @@ -84,6 +84,7 @@ "typedRoutes": true }, "extra": { + "API_ENDPOINT": "http://192.168.31.107:8081/api", "router": {}, "eas": { "projectId": "04721dd4-6b15-495a-b9ec-98187c613172" diff --git a/app/_layout.tsx b/app/_layout.tsx index 675444b..3f1d690 100644 --- a/app/_layout.tsx +++ b/app/_layout.tsx @@ -1,3 +1,4 @@ +import { PermissionProvider } from '@/context/PermissionContext'; import { useColorScheme } from '@/hooks/useColorScheme'; import { registerBackgroundUploadTask } from '@/lib/background-uploader/automatic'; import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native'; @@ -7,7 +8,6 @@ import { StatusBar } from 'expo-status-bar'; import { useEffect } from 'react'; import 'react-native-reanimated'; import '../global.css'; -import { PermissionProvider } from '@/context/PermissionContext'; import { Provider } from "../provider"; export default function RootLayout() { @@ -34,15 +34,15 @@ export default function RootLayout() { - - - + + + diff --git a/lib/server-api-util.ts b/lib/server-api-util.ts index 10d06fc..ba4ec7a 100644 --- a/lib/server-api-util.ts +++ b/lib/server-api-util.ts @@ -128,6 +128,7 @@ export const fetchApi = async ( needToast = true, needToken = true, ): Promise => { + // console.log("API_ENDPOINT", Constants.expoConfig?.extra?.API_ENDPOINT); const makeRequest = async (isRetry = false): Promise> => { try { let token = ""; From 4a30e7f43c1f954a7d1871c7aa21841714df7fd3 Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Sun, 3 Aug 2025 16:27:39 +0800 Subject: [PATCH 42/68] =?UTF-8?q?refactor::=20=E6=B6=88=E6=81=AF=E4=BD=93?= =?UTF-8?q?=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/ask/aiChat.tsx | 269 ------------------ components/ask/chat.tsx | 2 +- components/ask/singleContentModel.tsx | 27 +- components/chat/message-item/MediaGrid.tsx | 81 ++++++ .../chat/message-item/MessageBubble.tsx | 46 +++ .../chat/message-item/MessageContent.tsx | 77 +++++ components/chat/message-item/MessageRow.tsx | 50 ++++ components/chat/message-item/message-item.tsx | 76 +++++ types/ask.ts | 50 +++- 9 files changed, 380 insertions(+), 298 deletions(-) delete mode 100644 components/ask/aiChat.tsx create mode 100644 components/chat/message-item/MediaGrid.tsx create mode 100644 components/chat/message-item/MessageBubble.tsx create mode 100644 components/chat/message-item/MessageContent.tsx create mode 100644 components/chat/message-item/MessageRow.tsx create mode 100644 components/chat/message-item/message-item.tsx diff --git a/components/ask/aiChat.tsx b/components/ask/aiChat.tsx deleted file mode 100644 index 4ec6971..0000000 --- a/components/ask/aiChat.tsx +++ /dev/null @@ -1,269 +0,0 @@ -import CancelSvg from '@/assets/icons/svg/cancel.svg'; -import ChatSvg from "@/assets/icons/svg/chat.svg"; -import DownloadSvg from '@/assets/icons/svg/download.svg'; -import MoreSvg from "@/assets/icons/svg/more.svg"; -import { Message, Video } from "@/types/ask"; -import { MaterialItem } from "@/types/personal-info"; -import { TFunction } from "i18next"; -import React from 'react'; -import { - Image, - Pressable, - StyleSheet, - Text, - TouchableOpacity, - View -} from 'react-native'; -import ContextMenu from "../gusture/contextMenu"; -import { ThemedText } from "../ThemedText"; -import SelectModel from "./selectModel"; -import SingleContentModel from "./singleContentModel"; -import Loading from './threeCircle'; -import { mergeArrays, saveMediaToGallery } from "./utils"; - -interface RenderMessageProps { - insets: { top: number }; - item: Message; - sessionId: string; - setModalVisible: React.Dispatch>; - modalVisible: { visible: boolean, data: Video | MaterialItem }; - setModalDetailsVisible: React.Dispatch>; - modalDetailsVisible: { visible: boolean, content: any }; - setSelectedImages: React.Dispatch>; - selectedImages: string[]; - t: TFunction; - setCancel: React.Dispatch>; - cancel: boolean; -} - -const MessageItem = ({ setCancel, cancel = true, t, insets, item, sessionId, setModalVisible, modalVisible, setModalDetailsVisible, modalDetailsVisible, setSelectedImages, selectedImages }: RenderMessageProps) => { - const isUser = item.role === 'User'; - - return ( - - {!isUser && } - - - 0 || item.content.image_material_infos && item.content.image_material_infos.length > 0) ? '!rounded-t-3xl !rounded-b-2xl' : '!rounded-3xl'}`} - style={[ - styles.messageBubble, - isUser ? styles.userBubble : styles.aiBubble, - { marginRight: item.content.text == "keepSearchIng" ? 0 : isUser ? 0 : 10 } - ]} - > - - - {!isUser - ? item.content.text == "keepSearchIng" - ? - : item.content.text - : item.content.text - } - - - {(mergeArrays(item.content.image_material_infos || [], item.content.video_material_infos || [])?.length || 0 > 0) && ( - - - {mergeArrays(item.content.image_material_infos || [], item.content.video_material_infos || [])?.slice(0, 3)?.map((image) => ( - { - setModalVisible({ visible: true, data: image }); - }} - style={{ - width: '32%', - aspectRatio: 1, - marginBottom: 8, - }} - > - , - label: t("ask:ask.save"), - onPress: () => { - const imageUrl = image?.preview_file_info?.url || image.video?.preview_file_info?.url; - if (imageUrl) { - saveMediaToGallery(imageUrl, t); - } - }, - textStyle: { color: '#4C320C' } - }, - { - svg: , - label: t("ask:ask.cancel"), - onPress: () => { - setCancel(true); - }, - textStyle: { color: 'red' } - } - ]} - cancel={cancel} - menuStyle={{ - backgroundColor: 'white', - borderRadius: 8, - padding: 8, - minWidth: 150, - shadowColor: '#000', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.25, - shadowRadius: 4, - elevation: 5, - }} - > - - - - ))} - - { - ((item.content.video_material_infos?.length || 0) + (item.content.image_material_infos?.length || 0)) > 3 - && { - setSelectedImages([]) - setModalDetailsVisible({ visible: true, content: item.content }); - }}> - {((item.content.video_material_infos?.length || 0) + (item.content.image_material_infos?.length || 0))} - - - - - } - - )} - - - { - item.content.text == "keepSearchIng" - && - - {t("ask:ask.think")} - - } - - {/* {item.askAgain && item.askAgain.length > 0 && ( - - {item.askAgain.map((suggestion, index, array) => ( - - {suggestion.text} - - ))} - - )} */} - {/* 单个图片弹窗 */} - - {/* 全部图片详情弹窗 */} - - - - ); -}; - -export default MessageItem; - -const styles = StyleSheet.create({ - imageGridContainer: { - flexDirection: 'row', - flexWrap: 'nowrap', - width: '100%', - marginTop: 8, - }, - video: { - width: '100%', - height: '100%', - }, - imageContainer: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - width: '100%', - maxHeight: '60%', - }, - fullWidthImage: { - width: '100%', - height: "54%", - marginBottom: 8, - }, - gridImage: { - aspectRatio: 1, - marginBottom: 8, - }, - background: { - ...StyleSheet.absoluteFillObject, - backgroundColor: 'rgba(0, 0, 0, 0.5)', - }, - centeredView: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - }, - modalView: { - borderRadius: 20, - alignItems: 'center', - height: '100%', - width: "100%", - justifyContent: 'center', - alignSelf: 'center', - }, - container: { - flex: 1, - backgroundColor: '#f5f5f5', - }, - userAvatar: { - width: 30, - height: 30, - borderRadius: 15, - }, - messageList: { - padding: 16, - }, - messageBubble: { - paddingHorizontal: 16, - paddingVertical: 12, - fontWeight: "600" - }, - userBubble: { - alignSelf: 'flex-end', - backgroundColor: '#FFB645', - marginLeft: 10, - }, - aiBubble: { - alignSelf: 'flex-start', - backgroundColor: '#fff', - marginRight: 10, - borderWidth: 1, - borderColor: '#e5e5ea', - }, - userText: { - color: '#4C320C', - fontSize: 16, - lineHeight: 24, - }, - aiText: { - color: '#000', - fontSize: 16, - lineHeight: 24, - }, -}); - diff --git a/components/ask/chat.tsx b/components/ask/chat.tsx index 69f42d1..e25f315 100644 --- a/components/ask/chat.tsx +++ b/components/ask/chat.tsx @@ -9,7 +9,7 @@ import { View } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; -import MessageItem from './aiChat'; +import MessageItem from '../chat/message-item/message-item'; // 继承 FlatListProps 来接收所有 FlatList 的属性 interface ChatProps extends Omit, 'data' | 'renderItem'> { diff --git a/components/ask/singleContentModel.tsx b/components/ask/singleContentModel.tsx index 4140ae7..6d69f10 100644 --- a/components/ask/singleContentModel.tsx +++ b/components/ask/singleContentModel.tsx @@ -1,15 +1,14 @@ -import { Video } from "@/types/ask"; -import { MaterialItem } from "@/types/personal-info"; +import { ContentPart } from "@/types/ask"; import { Image, Modal, StyleSheet, TouchableOpacity, View } from "react-native"; import VideoPlayer from "./VideoPlayer"; interface SingleContentModelProps { - modalVisible: { visible: boolean, data: Video | MaterialItem }; - setModalVisible: React.Dispatch>; + modalVisible: { visible: boolean, data: ContentPart }; + setModalVisible: React.Dispatch>; } const SingleContentModel = ({ modalVisible, setModalVisible }: SingleContentModelProps) => { - const isVideo = (data: Video | MaterialItem): data is Video => { - return 'video' in data; + const isVideo = (data: ContentPart) => { + return data.type === 'video'; }; return ( @@ -18,16 +17,16 @@ const SingleContentModel = ({ modalVisible, setModalVisible }: SingleContentMode transparent={true} visible={modalVisible.visible} onRequestClose={() => { - setModalVisible({ visible: false, data: {} as Video | MaterialItem }); + setModalVisible({ visible: false, data: {} as ContentPart }); }}> { - setModalVisible({ visible: false, data: {} as Video | MaterialItem }) + setModalVisible({ visible: false, data: {} as ContentPart }) }} /> - setModalVisible({ visible: false, data: {} as Video | MaterialItem })}> + setModalVisible({ visible: false, data: {} as ContentPart })}> {isVideo(modalVisible.data) ? ( // 视频播放器 setModalVisible({ visible: false, data: {} as Video | MaterialItem })} + onPress={() => setModalVisible({ visible: false, data: {} as ContentPart })} > setModalVisible({ visible: false, data: {} as Video | MaterialItem })} + onPress={() => setModalVisible({ visible: false, data: {} as ContentPart })} /> ) : ( // 图片预览 setModalVisible({ visible: false, data: {} as Video | MaterialItem })} + onPress={() => setModalVisible({ visible: false, data: {} as ContentPart })} style={styles.imageContainer} > diff --git a/components/chat/message-item/MediaGrid.tsx b/components/chat/message-item/MediaGrid.tsx new file mode 100644 index 0000000..d9d28f9 --- /dev/null +++ b/components/chat/message-item/MediaGrid.tsx @@ -0,0 +1,81 @@ +import React from 'react'; +import { View, Pressable, Image, StyleSheet } from 'react-native'; +import ContextMenu from "../../gusture/contextMenu"; +import DownloadSvg from "@/assets/icons/svg/download.svg"; +import CancelSvg from "@/assets/icons/svg/cancel.svg"; +import { ContentPart } from "@/types/ask"; +import { TFunction } from 'i18next'; +import { saveMediaToGallery } from "../../ask/utils"; + +interface MediaGridProps { + mediaItems: ContentPart[]; + setModalVisible: React.Dispatch>; + setCancel: React.Dispatch>; + cancel: boolean; + t: TFunction; +} + +const MediaGrid = ({ mediaItems, setModalVisible, setCancel, cancel, t }: MediaGridProps) => { + // 只取前6个元素(2行,每行3个) + const displayItems = mediaItems.slice(0, 6); + + return ( + + {displayItems.map((media) => ( + { + setModalVisible({ visible: true, data: media }); + }} + className="mb-2 w-[32%] aspect-square" + > + , + label: t("ask:ask.save"), + onPress: () => { + if (media?.url) { + saveMediaToGallery(media?.url, t); + } + }, + textStyle: { color: '#4C320C' } + }, + { + svg: , + label: t("ask:ask.cancel"), + onPress: () => { + setCancel(true); + }, + textStyle: { color: 'red' } + } + ]} + cancel={cancel} + menuStyle={{ + backgroundColor: 'white', + borderRadius: 8, + padding: 8, + minWidth: 150, + shadowColor: '#000', + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.25, + shadowRadius: 4, + elevation: 5, + }} + > + + + + ))} + + ); +}; + + + +export default MediaGrid; diff --git a/components/chat/message-item/MessageBubble.tsx b/components/chat/message-item/MessageBubble.tsx new file mode 100644 index 0000000..a392c61 --- /dev/null +++ b/components/chat/message-item/MessageBubble.tsx @@ -0,0 +1,46 @@ +import React from 'react'; +import { View } from 'react-native'; +import MessageContent from './MessageContent'; +import { getMessageText, isMessageContainMedia } from "@/types/ask"; + +interface MessageBubbleProps { + item: any; + isUser: boolean; + setModalVisible: React.Dispatch>; + setCancel: React.Dispatch>; + cancel: boolean; + t: any; + setSelectedImages: React.Dispatch>; + setModalDetailsVisible: React.Dispatch>; +} + +const MessageBubble = ({ + item, + isUser, + setModalVisible, + setCancel, + cancel, + t, + setSelectedImages, + setModalDetailsVisible +}: MessageBubbleProps) => { + return ( + + + + ); +}; + +export default MessageBubble; diff --git a/components/chat/message-item/MessageContent.tsx b/components/chat/message-item/MessageContent.tsx new file mode 100644 index 0000000..dd00e8a --- /dev/null +++ b/components/chat/message-item/MessageContent.tsx @@ -0,0 +1,77 @@ +import MoreSvg from "@/assets/icons/svg/more.svg"; +import { ContentPart, getMessageText, isMessageContainMedia } from "@/types/ask"; +import { TFunction } from 'i18next'; +import React from 'react'; +import { Text, TouchableOpacity, View } from 'react-native'; +import Loading from '../../ask/threeCircle'; +import { ThemedText } from "../../ThemedText"; +import MediaGrid from './MediaGrid'; + +interface MessageContentProps { + item: any; + isUser: boolean; + setModalVisible: React.Dispatch>; + setCancel: React.Dispatch>; + cancel: boolean; + t: TFunction; + setSelectedImages: React.Dispatch>; + setModalDetailsVisible: React.Dispatch>; +} + +const MessageContent = ({ + item, + isUser, + setModalVisible, + setCancel, + cancel, + t, + setSelectedImages, + setModalDetailsVisible +}: MessageContentProps) => { + return ( + + + {!isUser + ? getMessageText(item) == "keepSearchIng" + ? + : getMessageText(item) + : getMessageText(item) + } + + + {isMessageContainMedia(item) && ( + + {item.content instanceof Array && (() => { + const mediaItems = item.content.filter((media: ContentPart) => media.type !== 'text'); + + return ( + + + + ); + })()} + { + (item.content instanceof Array && item.content.length > 3) + && { + setSelectedImages([]) + setModalDetailsVisible({ visible: true, content: item.content }); + }}> + {item.content.length} + + + + + } + + )} + + ); +}; + +export default MessageContent; diff --git a/components/chat/message-item/MessageRow.tsx b/components/chat/message-item/MessageRow.tsx new file mode 100644 index 0000000..7898854 --- /dev/null +++ b/components/chat/message-item/MessageRow.tsx @@ -0,0 +1,50 @@ +import React from 'react'; +import { View, Text } from 'react-native'; +import MessageBubble from './MessageBubble'; +import { getMessageText } from "@/types/ask"; + +interface MessageRowProps { + item: any; + isUser: boolean; + setModalVisible: React.Dispatch>; + setCancel: React.Dispatch>; + cancel: boolean; + t: any; + setSelectedImages: React.Dispatch>; + setModalDetailsVisible: React.Dispatch>; +} + +const MessageRow = ({ + item, + isUser, + setModalVisible, + setCancel, + cancel, + t, + setSelectedImages, + setModalDetailsVisible +}: MessageRowProps) => { + return ( + + + { + getMessageText(item) == "keepSearchIng" + && + + {t("ask:ask.think")} + + } + + ); +}; + +export default MessageRow; diff --git a/components/chat/message-item/message-item.tsx b/components/chat/message-item/message-item.tsx new file mode 100644 index 0000000..2801bb8 --- /dev/null +++ b/components/chat/message-item/message-item.tsx @@ -0,0 +1,76 @@ +import ChatSvg from "@/assets/icons/svg/chat.svg"; +import { ContentPart, getMessageText, isMessageContainMedia, Message, User } from "@/types/ask"; +import { TFunction } from "i18next"; +import React from 'react'; +import { + StyleSheet, + View +} from 'react-native'; +import SelectModel from "../../ask/selectModel"; +import SingleContentModel from "../../ask/singleContentModel"; +import MessageRow from './MessageRow'; + +interface RenderMessageProps { + insets: { top: number }; + item: Message; + sessionId: string; + setModalVisible: React.Dispatch>; + modalVisible: { visible: boolean, data: ContentPart }; + setModalDetailsVisible: React.Dispatch>; + modalDetailsVisible: { visible: boolean, content: any }; + setSelectedImages: React.Dispatch>; + selectedImages: string[]; + t: TFunction; + setCancel: React.Dispatch>; + cancel: boolean; +} + +const MessageItem = ({ setCancel, cancel = true, t, insets, item, sessionId, setModalVisible, modalVisible, setModalDetailsVisible, modalDetailsVisible, setSelectedImages, selectedImages }: RenderMessageProps) => { + const isUser = item.role === User; + + return ( + + {!isUser && } + + + {/* {item.askAgain && item.askAgain.length > 0 && ( + + {item.askAgain.map((suggestion, index, array) => ( + + {suggestion.text} + + ))} + + )} */} + {/* 单个图片弹窗 */} + + {/* 全部图片详情弹窗 */} + + + + ); +}; + +export default MessageItem; + diff --git a/types/ask.ts b/types/ask.ts index f5365cb..d3164dd 100644 --- a/types/ask.ts +++ b/types/ask.ts @@ -1,4 +1,3 @@ -import { MaterialItem } from "./personal-info"; interface FileInfo { id: string; @@ -34,22 +33,45 @@ export interface Video { video: VideoInfo; video_clips: VideoClip[]; } -export interface Content { - text: string; - image_material_infos?: MaterialItem[]; - video_material_infos?: Video[]; -} -export interface Message { - content: Content; - role: 'User' | 'Assistant'; // 使用联合类型限制 role 的值 - timestamp: string; - askAgain?: Array<{ - id: string; - text: string; - }>; +export interface ContentPart { + type: string; + text?: string; + caption?: string; + url?: string; + id?: string; } +export interface Message { + id: string; + content: string | ContentPart[]; + role: typeof User | typeof Assistant; + timestamp: string; + // askAgain?: Array<{ + // id: string; + // text: string; + // }>; +} + +export function getMessageText(message: Message) { + if (typeof message.content === 'string') { + return message.content; + } else { + return message.content.map((item) => item.text || '').join(''); + } +} + +export function isMessageContainMedia(message: Message) { + if (typeof message.content === 'string') { + return false; + } else { + return message.content.some((item) => item.type === 'image' || item.type === 'video'); + } +} + +export const User = 'user'; +export const Assistant = 'assistant'; + export interface Chat { created_at: string; session_id: string; From 061f4e07eb778cdd4bd891cb182e21ae7980bf3d Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Sun, 3 Aug 2025 17:00:50 +0800 Subject: [PATCH 43/68] =?UTF-8?q?chore:=20=E5=BC=95=E5=85=A5=E6=96=B0markd?= =?UTF-8?q?own=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/ask/chat.tsx | 55 ++++- .../chat/message-item/MessageBubble.tsx | 2 +- .../chat/message-item/MessageContent.tsx | 24 +- components/chat/message-item/MessageRow.tsx | 2 +- components/chat/message-item/message-item.tsx | 19 +- package-lock.json | 224 +++++++++++++++++- package.json | 6 +- 7 files changed, 289 insertions(+), 43 deletions(-) diff --git a/components/ask/chat.tsx b/components/ask/chat.tsx index e25f315..3a999cb 100644 --- a/components/ask/chat.tsx +++ b/components/ask/chat.tsx @@ -1,6 +1,5 @@ -import { Message, Video } from '@/types/ask'; -import { MaterialItem } from '@/types/personal-info'; -import React, { Dispatch, ForwardedRef, forwardRef, memo, SetStateAction, useCallback, useMemo, useState } from 'react'; +import { ContentPart, Message } from '@/types/ask'; +import React, { Dispatch, ForwardedRef, forwardRef, SetStateAction, useCallback, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { FlatList, @@ -10,6 +9,8 @@ import { } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; import MessageItem from '../chat/message-item/message-item'; +import SelectModel from "./selectModel"; +import SingleContentModel from "./singleContentModel"; // 继承 FlatListProps 来接收所有 FlatList 的属性 interface ChatProps extends Omit, 'data' | 'renderItem'> { @@ -24,7 +25,7 @@ function ChatComponent( ref: ForwardedRef> ) { const insets = useSafeAreaInsets(); - const [modalVisible, setModalVisible] = React.useState({ visible: false, data: {} as Video | MaterialItem }); + const [modalVisible, setModalVisible] = React.useState({ visible: false, data: {} as ContentPart }); const { t } = useTranslation(); const keyExtractor = useCallback((item: Message) => `${item.role}-${item.timestamp}`, []); // 取消展示右键菜单 @@ -37,20 +38,35 @@ function ChatComponent( const [modalDetailsVisible, setModalDetailsVisible] = useState<{ visible: boolean, content: any }>({ visible: false, content: [] }); + const renderMessageItem = useCallback(({ item, index }: { item: Message, index: number }) => { + const itemStyle = index === 0 ? { marginTop: 16, marginHorizontal: 16 } : { marginHorizontal: 16 }; + return ( + + + + ); + }, [insets, sessionId, modalVisible, modalDetailsVisible, selectedImages, t, cancel]); + return ( { - const itemStyle = index === 0 ? { marginTop: 16, marginHorizontal: 16 } : { marginHorizontal: 16 }; - return ( - - {MessageItem({ setCancel, cancel, t, setSelectedImages, selectedImages, insets, item, sessionId, modalVisible, setModalVisible, setModalDetailsVisible, modalDetailsVisible })} - - ); - }} + renderItem={renderMessageItem} contentContainerStyle={contentContainerStyle} keyboardDismissMode="interactive" keyboardShouldPersistTaps="handled" @@ -61,8 +77,21 @@ function ChatComponent( windowSize={11} {...restProps} // 将所有其他属性传递给 FlatList /> + {/* 单个图片弹窗 */} + + {/* 全部图片详情弹窗 */} + ); } -export default memo(forwardRef(ChatComponent)); \ No newline at end of file +export default React.memo(forwardRef(ChatComponent)); \ No newline at end of file diff --git a/components/chat/message-item/MessageBubble.tsx b/components/chat/message-item/MessageBubble.tsx index a392c61..aa49de6 100644 --- a/components/chat/message-item/MessageBubble.tsx +++ b/components/chat/message-item/MessageBubble.tsx @@ -43,4 +43,4 @@ const MessageBubble = ({ ); }; -export default MessageBubble; +export default React.memo(MessageBubble); diff --git a/components/chat/message-item/MessageContent.tsx b/components/chat/message-item/MessageContent.tsx index dd00e8a..eaa7577 100644 --- a/components/chat/message-item/MessageContent.tsx +++ b/components/chat/message-item/MessageContent.tsx @@ -1,8 +1,9 @@ import MoreSvg from "@/assets/icons/svg/more.svg"; import { ContentPart, getMessageText, isMessageContainMedia } from "@/types/ask"; +import { MarkdownTextInput, parseExpensiMark } from '@expensify/react-native-live-markdown'; import { TFunction } from 'i18next'; import React from 'react'; -import { Text, TouchableOpacity, View } from 'react-native'; +import { TouchableOpacity, View } from 'react-native'; import Loading from '../../ask/threeCircle'; import { ThemedText } from "../../ThemedText"; import MediaGrid from './MediaGrid'; @@ -18,6 +19,8 @@ interface MessageContentProps { setModalDetailsVisible: React.Dispatch>; } + + const MessageContent = ({ item, isUser, @@ -30,14 +33,15 @@ const MessageContent = ({ }: MessageContentProps) => { return ( - - {!isUser - ? getMessageText(item) == "keepSearchIng" - ? - : getMessageText(item) - : getMessageText(item) - } - + {getMessageText(item) == "keepSearchIng" && !isUser ? ( + + ) : ( + + )} + {isMessageContainMedia(item) && ( @@ -74,4 +78,4 @@ const MessageContent = ({ ); }; -export default MessageContent; +export default React.memo(MessageContent); diff --git a/components/chat/message-item/MessageRow.tsx b/components/chat/message-item/MessageRow.tsx index 7898854..4559d4b 100644 --- a/components/chat/message-item/MessageRow.tsx +++ b/components/chat/message-item/MessageRow.tsx @@ -47,4 +47,4 @@ const MessageRow = ({ ); }; -export default MessageRow; +export default React.memo(MessageRow); diff --git a/components/chat/message-item/message-item.tsx b/components/chat/message-item/message-item.tsx index 2801bb8..a557999 100644 --- a/components/chat/message-item/message-item.tsx +++ b/components/chat/message-item/message-item.tsx @@ -6,8 +6,7 @@ import { StyleSheet, View } from 'react-native'; -import SelectModel from "../../ask/selectModel"; -import SingleContentModel from "../../ask/singleContentModel"; + import MessageRow from './MessageRow'; interface RenderMessageProps { @@ -54,23 +53,11 @@ const MessageItem = ({ setCancel, cancel = true, t, insets, item, sessionId, set ))} )} */} - {/* 单个图片弹窗 */} - - {/* 全部图片详情弹窗 */} - + ); }; -export default MessageItem; +export default React.memo(MessageItem); diff --git a/package-lock.json b/package-lock.json index 626a079..44acd45 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "memowake", "version": "1.0.0", "dependencies": { + "@expensify/react-native-live-markdown": "^0.1.299", "@expo/vector-icons": "^14.1.0", "@react-native-masked-view/masked-view": "0.3.2", "@react-navigation/bottom-tabs": "^7.3.10", @@ -17,6 +18,7 @@ "@twotalltotems/react-native-otp-input": "^1.3.11", "@types/p-limit": "^2.2.0", "@types/react-redux": "^7.1.34", + "expensify-common": "^2.0.154", "expo": "53.0.19", "expo-audio": "~0.4.8", "expo-background-task": "^0.2.8", @@ -49,6 +51,7 @@ "expo-video": "~2.2.2", "expo-video-thumbnails": "~9.1.3", "expo-web-browser": "~14.2.0", + "html-entities": "2.5.3", "i18next": "^25.2.1", "i18next-browser-languagedetector": "^8.2.0", "i18next-http-backend": "^3.0.2", @@ -77,7 +80,8 @@ "react-native-view-shot": "4.0.3", "react-native-web": "~0.20.0", "react-native-webview": "13.13.5", - "react-redux": "^9.2.0" + "react-redux": "^9.2.0", + "worklet": "^1.0.3" }, "devDependencies": { "@babel/core": "^7.25.2", @@ -2252,6 +2256,25 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@expensify/react-native-live-markdown": { + "version": "0.1.299", + "resolved": "https://registry.npmmirror.com/@expensify/react-native-live-markdown/-/react-native-live-markdown-0.1.299.tgz", + "integrity": "sha512-kqbNG726Xtk3V2TFll1rxJSRdAQUZ2Ret3bEYopEm49fcy5FLCQZ76MVm5yg6dbpnYnqRukQ+aIut1lEXzoMiw==", + "license": "MIT", + "workspaces": [ + "./example", + "./WebExample" + ], + "engines": { + "node": ">= 18.0.0" + }, + "peerDependencies": { + "expensify-common": ">=2.0.115", + "react": "*", + "react-native": "*", + "react-native-reanimated": ">=3.17.0" + } + }, "node_modules/@expo/cli": { "version": "0.24.20", "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.24.20.tgz", @@ -5979,6 +6002,20 @@ "integrity": "sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==", "license": "MIT" }, + "node_modules/awesome-phonenumber": { + "version": "5.11.0", + "resolved": "https://registry.npmmirror.com/awesome-phonenumber/-/awesome-phonenumber-5.11.0.tgz", + "integrity": "sha512-25GfikMIo6CBQIqvjoewo4uiu5Ai7WqEC8gxesH3LDwCY43oEdkLaT15a+8adC7uWIJCGh+YQiBY5bjmDpoQcg==", + "license": "MIT", + "workspaces": [ + "webpack", + "cjs-test", + "esm-test" + ], + "engines": { + "node": ">=14" + } + }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -6688,6 +6725,15 @@ "dev": true, "license": "MIT" }, + "node_modules/classnames": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/classnames/-/classnames-2.5.0.tgz", + "integrity": "sha512-FQuRlyKinxrb5gwJlfVASbSrDlikDJ07426TrfPsdGLvtochowmkbnSFdQGJ2aoXrSetq5KqGV9emvWpy+91xA==", + "license": "MIT", + "workspaces": [ + "benchmarks" + ] + }, "node_modules/cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -6718,6 +6764,17 @@ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", "license": "MIT" }, + "node_modules/clipboard": { + "version": "2.0.11", + "resolved": "https://registry.npmmirror.com/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", + "license": "MIT", + "dependencies": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -7418,6 +7475,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "license": "MIT" + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -8637,6 +8700,78 @@ "dev": true, "license": "MIT" }, + "node_modules/expensify-common": { + "version": "2.0.154", + "resolved": "https://registry.npmmirror.com/expensify-common/-/expensify-common-2.0.154.tgz", + "integrity": "sha512-CtzYZFP/n+b390IPEfpXo4GYW7CdaQz0S776NYCABH5LFbF2355N0utD3pB9Z+hKYgru7wGs0sOo7RYiTlmxWg==", + "license": "MIT", + "dependencies": { + "awesome-phonenumber": "^5.4.0", + "classnames": "2.5.0", + "clipboard": "2.0.11", + "html-entities": "^2.5.2", + "jquery": "3.6.0", + "localforage": "^1.10.0", + "lodash": "4.17.21", + "prop-types": "15.8.1", + "react": "16.12.0", + "react-dom": "16.12.0", + "semver": "^7.6.3", + "simply-deferred": "git+https://github.com/Expensify/simply-deferred.git#77a08a95754660c7bd6e0b6979fdf84e8e831bf5", + "ua-parser-js": "^1.0.38" + } + }, + "node_modules/expensify-common/node_modules/react": { + "version": "16.12.0", + "resolved": "https://registry.npmmirror.com/react/-/react-16.12.0.tgz", + "integrity": "sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expensify-common/node_modules/react-dom": { + "version": "16.12.0", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-16.12.0.tgz", + "integrity": "sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.18.0" + }, + "peerDependencies": { + "react": "^16.0.0" + } + }, + "node_modules/expensify-common/node_modules/scheduler": { + "version": "0.18.0", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/expensify-common/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/expo": { "version": "53.0.19", "resolved": "https://registry.npmjs.org/expo/-/expo-53.0.19.tgz", @@ -9926,6 +10061,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", + "license": "MIT", + "dependencies": { + "delegate": "^3.1.2" + } + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -10097,6 +10241,22 @@ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "license": "ISC" }, + "node_modules/html-entities": { + "version": "2.5.3", + "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-2.5.3.tgz", + "integrity": "sha512-D3AfvN7SjhTgBSA8L1BN4FpPzuEd06uy4lHwSoRWr0lndi9BKaNzPLKGOWZ2ocSGguozr08TTb2jhCLHaemruw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -10356,6 +10516,12 @@ "node": ">=16.x" } }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "license": "MIT" + }, "node_modules/immer": { "version": "10.1.1", "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz", @@ -12143,6 +12309,12 @@ "jiti": "bin/jiti.js" } }, + "node_modules/jquery": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==", + "license": "MIT" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -12292,6 +12464,15 @@ "node": ">= 0.8.0" } }, + "node_modules/lie": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/lie/-/lie-3.1.1.tgz", + "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, "node_modules/lighthouse-logger": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", @@ -12572,6 +12753,15 @@ "uc.micro": "^1.0.1" } }, + "node_modules/localforage": { + "version": "1.10.0", + "resolved": "https://registry.npmmirror.com/localforage/-/localforage-1.10.0.tgz", + "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", + "license": "Apache-2.0", + "dependencies": { + "lie": "3.1.1" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -12587,6 +12777,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -16051,6 +16247,12 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "license": "MIT" }, + "node_modules/select": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/select/-/select-1.1.2.tgz", + "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==", + "license": "MIT" + }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -16477,6 +16679,14 @@ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", "license": "MIT" }, + "node_modules/simply-deferred": { + "version": "3.0.0", + "resolved": "git+ssh://git@github.com/Expensify/simply-deferred.git#77a08a95754660c7bd6e0b6979fdf84e8e831bf5", + "integrity": "sha512-ozF7i2XEEBIcuRW+ThH+wmMeww//KEf1W3MhLHo4aOBmaxvZhBPpKoMCDmvNCIA5HPkkxe6x5XFGkSqHwCd6DQ==", + "engines": { + "node": "*" + } + }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -17253,6 +17463,12 @@ "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "license": "MIT" }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "license": "MIT" + }, "node_modules/tinyglobby": { "version": "0.2.14", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", @@ -18173,6 +18389,12 @@ "node": ">=0.10.0" } }, + "node_modules/worklet": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/worklet/-/worklet-1.0.3.tgz", + "integrity": "sha512-fU9QogyerNeIu0QBRTAQC1vcOf0NA8eCIJnSRDr+j7N4m+I8OrVd0VBEBhcNEs3rwGl569Hh2NWEOD5lRXlbRg==", + "license": "ISC" + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", diff --git a/package.json b/package.json index 05e0bca..76e2331 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "test": "jest" }, "dependencies": { + "@expensify/react-native-live-markdown": "^0.1.299", "@expo/vector-icons": "^14.1.0", "@react-native-masked-view/masked-view": "0.3.2", "@react-navigation/bottom-tabs": "^7.3.10", @@ -23,6 +24,7 @@ "@twotalltotems/react-native-otp-input": "^1.3.11", "@types/p-limit": "^2.2.0", "@types/react-redux": "^7.1.34", + "expensify-common": "^2.0.154", "expo": "53.0.19", "expo-audio": "~0.4.8", "expo-background-task": "^0.2.8", @@ -55,6 +57,7 @@ "expo-video": "~2.2.2", "expo-video-thumbnails": "~9.1.3", "expo-web-browser": "~14.2.0", + "html-entities": "2.5.3", "i18next": "^25.2.1", "i18next-browser-languagedetector": "^8.2.0", "i18next-http-backend": "^3.0.2", @@ -83,7 +86,8 @@ "react-native-view-shot": "4.0.3", "react-native-web": "~0.20.0", "react-native-webview": "13.13.5", - "react-redux": "^9.2.0" + "react-redux": "^9.2.0", + "worklet": "^1.0.3" }, "devDependencies": { "@babel/core": "^7.25.2", From f3882a4856fdbee428277265f2c0f79acfc31416 Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Sun, 3 Aug 2025 17:37:16 +0800 Subject: [PATCH 44/68] =?UTF-8?q?chore:=20markdown=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chat/message-item/MessageBubble.tsx | 72 +++++++------- .../chat/message-item/MessageContent.tsx | 95 +++++++++++++++++-- 2 files changed, 123 insertions(+), 44 deletions(-) diff --git a/components/chat/message-item/MessageBubble.tsx b/components/chat/message-item/MessageBubble.tsx index aa49de6..d808c4e 100644 --- a/components/chat/message-item/MessageBubble.tsx +++ b/components/chat/message-item/MessageBubble.tsx @@ -1,46 +1,46 @@ +import { getMessageText, isMessageContainMedia } from "@/types/ask"; import React from 'react'; import { View } from 'react-native'; -import MessageContent from './MessageContent'; -import { getMessageText, isMessageContainMedia } from "@/types/ask"; +import MessageContent from "./MessageContent"; interface MessageBubbleProps { - item: any; - isUser: boolean; - setModalVisible: React.Dispatch>; - setCancel: React.Dispatch>; - cancel: boolean; - t: any; - setSelectedImages: React.Dispatch>; - setModalDetailsVisible: React.Dispatch>; + item: any; + isUser: boolean; + setModalVisible: React.Dispatch>; + setCancel: React.Dispatch>; + cancel: boolean; + t: any; + setSelectedImages: React.Dispatch>; + setModalDetailsVisible: React.Dispatch>; } -const MessageBubble = ({ - item, - isUser, - setModalVisible, - setCancel, - cancel, - t, - setSelectedImages, - setModalDetailsVisible +const MessageBubble = ({ + item, + isUser, + setModalVisible, + setCancel, + cancel, + t, + setSelectedImages, + setModalDetailsVisible }: MessageBubbleProps) => { - return ( - - - - ); + return ( + + + + ); }; export default React.memo(MessageBubble); diff --git a/components/chat/message-item/MessageContent.tsx b/components/chat/message-item/MessageContent.tsx index eaa7577..b19f7ee 100644 --- a/components/chat/message-item/MessageContent.tsx +++ b/components/chat/message-item/MessageContent.tsx @@ -1,9 +1,9 @@ import MoreSvg from "@/assets/icons/svg/more.svg"; import { ContentPart, getMessageText, isMessageContainMedia } from "@/types/ask"; -import { MarkdownTextInput, parseExpensiMark } from '@expensify/react-native-live-markdown'; import { TFunction } from 'i18next'; import React from 'react'; -import { TouchableOpacity, View } from 'react-native'; +import { Platform, StyleSheet, TouchableOpacity, View } from 'react-native'; +import Markdown from "react-native-markdown-display"; import Loading from '../../ask/threeCircle'; import { ThemedText } from "../../ThemedText"; import MediaGrid from './MediaGrid'; @@ -19,7 +19,85 @@ interface MessageContentProps { setModalDetailsVisible: React.Dispatch>; } - +const chineseMarkdownStyle = StyleSheet.create({ + // General body text + body: { + fontSize: 14, + lineHeight: 24.5, // 1.75 * fontSize for better readability + color: '#333', + }, + // Headings + heading1: { + fontSize: 24, + fontWeight: 'bold', + marginTop: 10, + marginBottom: 10, + lineHeight: 36, + borderBottomWidth: 1, + borderColor: '#eee', + paddingBottom: 5, + }, + heading2: { + fontSize: 22, + fontWeight: 'bold', + marginTop: 8, + marginBottom: 8, + lineHeight: 33, + }, + heading3: { + fontSize: 20, + fontWeight: 'bold', + marginTop: 6, + marginBottom: 6, + lineHeight: 30, + }, + // Paragraph: Add vertical margin for better separation + paragraph: { + marginTop: 10, + marginBottom: 10, + }, + // Lists + bullet_list_icon: { + fontSize: 16, + lineHeight: 28, + marginRight: 8, + }, + list_item: { + flexDirection: 'row', + alignItems: 'flex-start', + marginBottom: 8, + }, + // Code blocks + code_block: { + fontFamily: Platform.OS === 'ios' ? 'Courier New' : 'monospace', + backgroundColor: '#f5f5f5', + padding: 15, + borderRadius: 4, + marginVertical: 10, + fontSize: 14, + lineHeight: 21, + }, + // Blockquote + blockquote: { + backgroundColor: '#f0f0f0', + borderLeftColor: '#ccc', + borderLeftWidth: 4, + paddingHorizontal: 15, + paddingVertical: 10, + marginVertical: 10, + }, + // Link + link: { + color: '#007aff', // Standard blue link color + textDecorationLine: 'underline', + }, + // Horizontal Rule + hr: { + backgroundColor: '#e0e0e0', + height: 1, + marginVertical: 15, + }, +}); const MessageContent = ({ item, @@ -32,14 +110,15 @@ const MessageContent = ({ setModalDetailsVisible }: MessageContentProps) => { return ( - + {getMessageText(item) == "keepSearchIng" && !isUser ? ( ) : ( - + + + {getMessageText(item)} + + )} From 94340feabbacd121c1324cfe4cf367f1903b4faa Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Sun, 3 Aug 2025 17:51:07 +0800 Subject: [PATCH 45/68] =?UTF-8?q?fix:=20=E5=88=97=E8=A1=A8=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=9C=80=E6=96=B0=E6=B6=88=E6=81=AF=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/memo-list.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/(tabs)/memo-list.tsx b/app/(tabs)/memo-list.tsx index 9d96226..6d3ab57 100644 --- a/app/(tabs)/memo-list.tsx +++ b/app/(tabs)/memo-list.tsx @@ -16,7 +16,7 @@ import SkeletonItem from '@/components/memo/SkeletonItem'; import { useUploadManager } from '@/hooks/useUploadManager'; import { getCachedData, prefetchChatDetail, prefetchChats } from '@/lib/prefetch'; import { fetchApi } from '@/lib/server-api-util'; -import { Chat } from '@/types/ask'; +import { Chat, getMessageText } from '@/types/ask'; import { useTranslation } from 'react-i18next'; // 预加载资源 @@ -162,7 +162,7 @@ const MemoList = () => { numberOfLines={1} ellipsizeMode="tail" > - {item.latest_message?.content?.text || t('ask:ask.noMessage')} + {(item.latest_message && getMessageText(item.latest_message)) || t('ask:ask.noMessage')} @@ -218,7 +218,7 @@ const MemoList = () => { // 如果组件未完全加载,显示骨架屏 if (!isMounted) { return ( - + ); From 9acdec2347bea7c23848bb865b74c0ff07317cc6 Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Sun, 3 Aug 2025 21:15:01 +0800 Subject: [PATCH 46/68] feat: websocket util --- app.json | 1 + app/(tabs)/_layout.tsx | 14 ++- app/(tabs)/ask.tsx | 83 +++++++++++++- components/ask/send.tsx | 54 ++++----- components/layout/ask.tsx | 35 +++++- lib/websocket-util.ts | 226 ++++++++++++++++++++++++++++++++++++++ 6 files changed, 378 insertions(+), 35 deletions(-) create mode 100644 lib/websocket-util.ts diff --git a/app.json b/app.json index 63fd639..3aa0f2f 100644 --- a/app.json +++ b/app.json @@ -85,6 +85,7 @@ }, "extra": { "API_ENDPOINT": "http://192.168.31.107:8081/api", + "WEBSOCKET_ENDPOINT": "ws://192.168.31.107:8081/ws/chat", "router": {}, "eas": { "projectId": "04721dd4-6b15-495a-b9ec-98187c613172" diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index ff49b19..514e602 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -6,6 +6,7 @@ import { Colors } from '@/constants/Colors'; import { useColorScheme } from '@/hooks/useColorScheme'; import { prefetchChats } from '@/lib/prefetch'; import { fetchApi } from '@/lib/server-api-util'; +import { webSocketManager, WebSocketStatus } from '@/lib/websocket-util'; import * as Notifications from 'expo-notifications'; import { Tabs } from 'expo-router'; import * as SecureStore from 'expo-secure-store'; @@ -30,6 +31,7 @@ export default function TabLayout() { const tokenInterval = useRef(null); const isMounted = useRef(true); const [token, setToken] = useState(''); + const [wsStatus, setWsStatus] = useState('disconnected'); const sendNotification = async (item: PollingData) => { // 请求通知权限 const granted = await requestNotificationPermission(); @@ -67,6 +69,16 @@ export default function TabLayout() { }; }, []); + useEffect(() => { + const handleStatusChange = (status: WebSocketStatus) => { + setWsStatus(status); + }; + webSocketManager.subscribeStatus(handleStatusChange); + return () => { + webSocketManager.unsubscribeStatus(handleStatusChange); + }; + }, []); + // 轮询获取推送消息 const startPolling = useCallback(async (interval: number = 5000) => { @@ -365,7 +377,7 @@ export default function TabLayout() { }} /> - + ); } diff --git a/app/(tabs)/ask.tsx b/app/(tabs)/ask.tsx index 4de2030..1d8ed53 100644 --- a/app/(tabs)/ask.tsx +++ b/app/(tabs)/ask.tsx @@ -4,7 +4,8 @@ import AskHello from "@/components/ask/hello"; import SendMessage from "@/components/ask/send"; import { ThemedText } from "@/components/ThemedText"; import { fetchApi } from "@/lib/server-api-util"; -import { Message } from "@/types/ask"; +import { webSocketManager, WsMessage } from "@/lib/websocket-util"; +import { Assistant, Message } from "@/types/ask"; import { router, useFocusEffect, useLocalSearchParams } from "expo-router"; import { useCallback, useEffect, useRef, useState } from 'react'; import { @@ -78,6 +79,86 @@ export default function AskScreen() { }; }, [isHello]); + useFocusEffect( + useCallback(() => { + webSocketManager.connect(); + + const handleChatStream = (message: WsMessage) => { + if (message.type === 'ChatStream') { + setUserMessages(prevMessages => { + const newMessages = [...prevMessages]; + const lastMessage = newMessages[newMessages.length - 1]; + + if (lastMessage && lastMessage.role === Assistant) { + if (typeof lastMessage.content === 'string') { + if (lastMessage.content === 'keepSearchIng') { + // 第一次收到流式消息,替换占位符 + lastMessage.content = message.chunk; + } else { + // 持续追加流式消息 + lastMessage.content += message.chunk; + } + } else { + // 如果 content 是数组,则更新第一个 text 部分 + const textPart = lastMessage.content.find(p => p.type === 'text'); + if (textPart) { + textPart.text = (textPart.text || '') + message.chunk; + } + } + } + return newMessages; + }); + } + }; + + const handleChatStreamEnd = (message: WsMessage) => { + if (message.type === 'ChatStreamEnd') { + setUserMessages(prevMessages => { + const newMessages = [...prevMessages]; + const lastMessage = newMessages[newMessages.length - 1]; + if (lastMessage && lastMessage.role === Assistant) { + // 使用最终消息替换流式消息,确保 message.message 存在 + if (message.message) { + newMessages[newMessages.length - 1] = message.message as Message; + } else { + // 如果最终消息为空,则移除 'keepSearchIng' 占位符 + return prevMessages.filter(m => !(typeof m.content === 'string' && m.content === 'keepSearchIng')); + } + } + return newMessages; + }); + } + }; + + const handleError = (message: WsMessage) => { + if (message.type === 'Error') { + console.error(`WebSocket Error: ${message.code} - ${message.message}`); + // 可以在这里添加错误提示,例如替换最后一条消息为错误信息 + setUserMessages(prev => { + const newMessages = [...prev]; + const lastMessage = newMessages[newMessages.length - 1]; + if (lastMessage && typeof lastMessage.content === 'string' && lastMessage.content === 'keepSearchIng') { + lastMessage.content = `Error: ${message.message}`; + } + return newMessages; + }) + } + }; + + webSocketManager.subscribe('ChatStream', handleChatStream); + webSocketManager.subscribe('ChatStreamEnd', handleChatStreamEnd); + webSocketManager.subscribe('Error', handleError); + + return () => { + webSocketManager.unsubscribe('ChatStream', handleChatStream); + webSocketManager.unsubscribe('ChatStreamEnd', handleChatStreamEnd); + webSocketManager.unsubscribe('Error', handleError); + // 可以在这里选择断开连接,或者保持连接以加快下次进入页面的速度 + // webSocketManager.disconnect(); + }; + }, []) + ); + useEffect(() => { if (sessionId) { setConversationId(sessionId); diff --git a/components/ask/send.tsx b/components/ask/send.tsx index 756b258..352dc46 100644 --- a/components/ask/send.tsx +++ b/components/ask/send.tsx @@ -15,7 +15,8 @@ import { import { Message } from '@/types/ask'; import { useTranslation } from 'react-i18next'; import { ThemedText } from '../ThemedText'; -import { createNewConversation, getConversation } from './utils'; +import { createNewConversation } from './utils'; +import { webSocketManager } from '@/lib/websocket-util'; interface Props { setIsHello: Dispatch>, @@ -88,37 +89,28 @@ export default function SendMessage(props: Props) { timestamp: new Date().toISOString() } ])); - // 如果没有对话ID,创建新对话并获取消息,否则直接获取消息 - if (!conversationId) { - const data = await createNewConversation(text); - setConversationId(data); - const response = await getConversation({ session_id: data, user_text: text, material_ids: [] }); - setSelectedImages([]); - setUserMessages((prev: Message[]) => { - const newMessages = [...(prev || [])]; - if (response) { - newMessages.push(response); - } - return newMessages.filter((item: Message) => - item?.content?.text !== 'keepSearchIng' - ); + let currentSessionId = conversationId; + // 如果没有对话ID,先创建一个新对话 + if (!currentSessionId) { + currentSessionId = await createNewConversation(text); + setConversationId(currentSessionId); + } + + // 通过 WebSocket 发送消息 + if (currentSessionId) { + webSocketManager.send({ + type: 'Chat', + session_id: currentSessionId, + message: text, + image_material_ids: selectedImages.length > 0 ? selectedImages : undefined, }); + setSelectedImages([]); } else { - const response = await getConversation({ - session_id: conversationId, - user_text: text, - material_ids: selectedImages - }); - setSelectedImages([]); - setUserMessages((prev: Message[]) => { - const newMessages = [...(prev || [])]; - if (response) { - newMessages.push(response); - } - return newMessages.filter((item: Message) => - item?.content?.text !== 'keepSearchIng' - ); - }); + console.error("无法获取 session_id,消息发送失败。"); + // 可以在这里处理错误,例如显示一个提示 + setUserMessages(prev => prev.filter(item => + !(typeof item.content === 'string' && item.content === 'keepSearchIng') + )); } // 将输入框清空 setInputValue(''); @@ -127,7 +119,7 @@ export default function SendMessage(props: Props) { Keyboard.dismiss(); } } - }, [inputValue, conversationId, selectedImages, createNewConversation, getConversation]); + }, [inputValue, conversationId, selectedImages, createNewConversation]); const handleQuitly = (type: string) => { setIsHello(false) diff --git a/components/layout/ask.tsx b/components/layout/ask.tsx index e933f68..73a657d 100644 --- a/components/layout/ask.tsx +++ b/components/layout/ask.tsx @@ -2,6 +2,7 @@ import ChatInSvg from "@/assets/icons/svg/chatIn.svg"; import ChatNotInSvg from "@/assets/icons/svg/chatNotIn.svg"; import PersonInSvg from "@/assets/icons/svg/personIn.svg"; import PersonNotInSvg from "@/assets/icons/svg/personNotIn.svg"; +import { WebSocketStatus } from "@/lib/websocket-util"; import { router, usePathname } from "expo-router"; import React, { useCallback, useEffect, useMemo } from 'react'; import { Dimensions, Image, StyleSheet, TouchableOpacity, View } from 'react-native'; @@ -41,11 +42,28 @@ const CenterButtonSvg = React.memo(() => ( )); -const AskNavbar = () => { +interface AskNavbarProps { + wsStatus: WebSocketStatus; +} + +const AskNavbar = ({ wsStatus }: AskNavbarProps) => { // 获取设备尺寸 const { width } = useMemo(() => Dimensions.get('window'), []); const pathname = usePathname(); + const statusColor = useMemo(() => { + switch (wsStatus) { + case 'connected': + return '#4CAF50'; // Green + case 'connecting': + case 'reconnecting': + return '#FFC107'; // Amber + case 'disconnected': + default: + return '#F44336'; // Red + } + }, [wsStatus]); + // 预加载目标页面 useEffect(() => { const preloadPages = async () => { @@ -128,8 +146,20 @@ const AskNavbar = () => { borderRadius: 50, backgroundColor: 'transparent', zIndex: 10, + }, + statusIndicator: { + position: 'absolute', + top: 15, + right: 15, + width: 10, + height: 10, + borderRadius: 5, + borderWidth: 1, + borderColor: '#FFF', + backgroundColor: statusColor, + zIndex: 11, } - }), [width]); + }), [width, statusColor]); // 如果当前路径是ask页面,则不渲染导航栏 if (pathname != '/memo-list' && pathname != '/owner') { @@ -155,6 +185,7 @@ const AskNavbar = () => { onPress={() => navigateTo('/ask')} style={styles.centerButton} > + diff --git a/lib/websocket-util.ts b/lib/websocket-util.ts new file mode 100644 index 0000000..7fc7775 --- /dev/null +++ b/lib/websocket-util.ts @@ -0,0 +1,226 @@ +import Constants from 'expo-constants'; +import * as SecureStore from 'expo-secure-store'; +import { Platform } from 'react-native'; + +// 从环境变量或默认值中定义 WebSocket 端点 +export const WEBSOCKET_ENDPOINT = Constants.expoConfig?.extra?.WEBSOCKET_ENDPOINT || "wss://api.memorywake.com/ws"; + +export type WebSocketStatus = 'connecting' | 'connected' | 'disconnected' | 'reconnecting'; + +type StatusListener = (status: WebSocketStatus) => void; + +// 消息监听器类型 +type MessageListener = (data: any) => void; + +// 根据后端 Rust 定义的 WsMessage 枚举创建 TypeScript 类型 +export type WsMessage = + | { type: 'Chat', session_id: string, message: string, image_material_ids?: string[], video_material_ids?: string[] } + | { type: 'ChatResponse', session_id: string, message: any, message_id?: string } + | { type: 'ChatStream', session_id: string, chunk: string } + | { type: 'ChatStreamEnd', session_id: string, message: any } + | { type: 'Error', code: string, message: string } + | { type: 'Ping' } + | { type: 'Pong' } + | { type: 'Connected', user_id: number }; + +class WebSocketManager { + private ws: WebSocket | null = null; + private status: WebSocketStatus = 'disconnected'; + private messageListeners: Map void>> = new Map(); + private statusListeners: Set = new Set(); + private reconnectAttempts = 0; + private readonly maxReconnectAttempts = 1; + private readonly reconnectInterval = 1000; // 初始重连间隔为1秒 + private pingIntervalId: ReturnType | null = null; + private readonly pingInterval = 30000; // 30秒发送一次心跳 + + constructor() { + // 这是一个单例类,连接通过调用 connect() 方法来启动 + } + + /** + * 获取当前 WebSocket 连接状态。 + */ + public getStatus(): WebSocketStatus { + return this.status; + } + + /** + * 启动 WebSocket 连接。 + * 会自动获取并使用存储的认证 token。 + */ + public async connect() { + if (this.ws && (this.status === 'connected' || this.status === 'connecting')) { + if (this.status === 'connected' || this.status === 'connecting') { + return; + } + } + + this.setStatus('connecting'); + + let token = ""; + if (Platform.OS === 'web') { + token = localStorage.getItem('token') || ""; + } else { + token = await SecureStore.getItemAsync('token') || ""; + } + + if (!token) { + console.error('WebSocket: 未找到认证 token,无法连接。'); + this.setStatus('disconnected'); + return; + } else { + console.log('WebSocket: 认证 token:', token); + } + + const url = `${WEBSOCKET_ENDPOINT}?token=${token}`; + console.log('WebSocket: 连接 URL:', url); + this.ws = new WebSocket(url); + + this.ws.onopen = () => { + console.log('WebSocket connected'); + this.setStatus('connected'); + this.reconnectAttempts = 0; // 重置重连尝试次数 + this.startPing(); + }; + + this.ws.onmessage = (event) => { + try { + const message: WsMessage = JSON.parse(event.data); + // 根据消息类型分发 + const eventListeners = this.messageListeners.get(message.type); + if (eventListeners) { + eventListeners.forEach(callback => callback(message)); + } + // 可以在这里处理通用的消息,比如 Pong + if (message.type === 'Pong') { + // console.log('Received Pong'); + } + } catch (error) { + console.error('处理 WebSocket 消息失败:', error); + } + }; + + this.ws.onerror = (error) => { + console.error('WebSocket 发生错误:', error); + }; + + this.ws.onclose = () => { + console.log('WebSocket disconnected'); + this.ws = null; + this.stopPing(); + // 只有在不是手动断开连接时才重连 + if (this.status !== 'disconnected') { + this.setStatus('reconnecting'); + this.handleReconnect(); + } + }; + } + + /** + * 处理自动重连逻辑,使用指数退避策略。 + */ + private handleReconnect() { + if (this.reconnectAttempts < this.maxReconnectAttempts) { + this.reconnectAttempts++; + const delay = this.reconnectInterval * Math.pow(2, this.reconnectAttempts - 1); + console.log(`${delay / 1000}秒后尝试重新连接 (第 ${this.reconnectAttempts} 次)...`); + setTimeout(() => { + this.connect(); + }, delay); + } else { + console.error('WebSocket 重连失败,已达到最大尝试次数。'); + this.setStatus('disconnected'); + } + } + + /** + * 发送消息到 WebSocket 服务器。 + * @param message 要发送的消息对象,必须包含 type 字段。 + */ + public send(message: WsMessage) { + if (this.status !== 'connected' || !this.ws) { + console.error('WebSocket 未连接,无法发送消息。'); + return; + } + this.ws.send(JSON.stringify(message)); + } + + /** + * 订阅指定消息类型的消息。 + * @param type 消息类型,例如 'ChatResponse'。 + * @param callback 收到消息时的回调函数。 + */ + public subscribe(type: WsMessage['type'], callback: (message: WsMessage) => void) { + if (!this.messageListeners.has(type)) { + this.messageListeners.set(type, new Set()); + } + this.messageListeners.get(type)?.add(callback); + } + + /** + * 取消订阅指定消息类型的消息。 + * @param type 消息类型。 + * @param callback 要移除的回调函数。 + */ + public unsubscribe(type: WsMessage['type'], callback: (message: WsMessage) => void) { + const eventListeners = this.messageListeners.get(type); + if (eventListeners) { + eventListeners.delete(callback); + if (eventListeners.size === 0) { + this.messageListeners.delete(type); + } + } + } + + /** + * 手动断开 WebSocket 连接。 + */ + public disconnect() { + this.setStatus('disconnected'); + if (this.ws) { + this.ws.close(); + } + this.stopPing(); + } + + private setStatus(status: WebSocketStatus) { + if (this.status !== status) { + this.status = status; + this.statusListeners.forEach(listener => listener(status)); + } + } + + public subscribeStatus(listener: StatusListener) { + this.statusListeners.add(listener); + // Immediately invoke with current status + listener(this.status); + } + + public unsubscribeStatus(listener: StatusListener) { + this.statusListeners.delete(listener); + } + + /** + * 启动心跳机制。 + */ + private startPing() { + this.stopPing(); // 先停止任何可能正在运行的计时器 + this.pingIntervalId = setInterval(() => { + this.send({ type: 'Ping' }); + }, this.pingInterval); + } + + /** + * 停止心跳机制。 + */ + private stopPing() { + if (this.pingIntervalId) { + clearInterval(this.pingIntervalId); + this.pingIntervalId = null; + } + } +} + +// 导出一个单例,确保整个应用共享同一个 WebSocket 连接 +export const webSocketManager = new WebSocketManager(); From df8dd38c84b98de61f9a27deaa5c0745e226872e Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Sun, 3 Aug 2025 21:33:39 +0800 Subject: [PATCH 47/68] =?UTF-8?q?feat:=20=E6=B5=81=E5=BC=8F=E8=BE=93?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/ask/hello.tsx | 44 ++++++------ components/ask/send.tsx | 145 ++++++++++++++++++++++++++++++++------- lib/websocket-util.ts | 1 + 3 files changed, 144 insertions(+), 46 deletions(-) diff --git a/components/ask/hello.tsx b/components/ask/hello.tsx index b502a00..58f6152 100644 --- a/components/ask/hello.tsx +++ b/components/ask/hello.tsx @@ -4,7 +4,8 @@ import { Message } from "@/types/ask"; import { Dispatch, SetStateAction } from "react"; import { useTranslation } from "react-i18next"; import { ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native'; -import { createNewConversation, getConversation } from "./utils"; +import { webSocketManager } from "@/lib/websocket-util"; +import { createNewConversation } from "./utils"; interface AskHelloProps { setUserMessages: Dispatch>; @@ -15,35 +16,34 @@ export default function AskHello({ setUserMessages, setConversationId, setIsHell const { t } = useTranslation(); const handleCase = async (text: string) => { - setIsHello(false) + setIsHello(false); setUserMessages([ { - content: { - text: text - }, - role: 'User', + id: Math.random().toString(36).substring(2, 9), + content: text, + role: 'user', timestamp: new Date().toISOString() }, { - content: { - text: "keepSearchIng" - }, - role: 'Assistant', + id: Math.random().toString(36).substring(2, 9), + content: "keepSearchIng", + role: 'assistant', timestamp: new Date().toISOString() } ]); - const data = await createNewConversation(text); - setConversationId(data); - const response = await getConversation({ session_id: data, user_text: text, material_ids: [] }); - setUserMessages((prev: Message[]) => { - const newMessages = [...(prev || [])]; - if (response) { - newMessages.push(response); - } - return newMessages.filter((item: Message) => - item?.content?.text !== 'keepSearchIng' - ); - }); + + const sessionId = await createNewConversation(text); + if (sessionId) { + setConversationId(sessionId); + webSocketManager.send({ + type: 'Chat', + session_id: sessionId, + message: text + }); + } else { + console.error("Failed to create a new conversation."); + setUserMessages(prev => prev.filter(item => item.content !== 'keepSearchIng')); + } } return ( diff --git a/components/ask/send.tsx b/components/ask/send.tsx index 352dc46..b70c028 100644 --- a/components/ask/send.tsx +++ b/components/ask/send.tsx @@ -16,6 +16,7 @@ import { Message } from '@/types/ask'; import { useTranslation } from 'react-i18next'; import { ThemedText } from '../ThemedText'; import { createNewConversation } from './utils'; +import { WsMessage } from '@/lib/websocket-util'; import { webSocketManager } from '@/lib/websocket-util'; interface Props { @@ -26,6 +27,8 @@ interface Props { selectedImages: string[]; setSelectedImages: Dispatch>; } +const RENDER_INTERVAL = 50; // 渲染间隔,单位毫秒 + export default function SendMessage(props: Props) { const { setIsHello, conversationId, setUserMessages, setConversationId, selectedImages, setSelectedImages } = props; @@ -35,7 +38,106 @@ export default function SendMessage(props: Props) { const [inputValue, setInputValue] = useState(''); // 添加一个ref来跟踪键盘状态 - const isKeyboardVisible = useRef(false); + const isKeyboardVisible = useRef(false); + const chunkQueue = useRef([]); + const renderInterval = useRef | null>(null); + + useEffect(() => { + const handleChatStream = (message: WsMessage) => { + if (message.type !== 'ChatStream' || !message.chunk) return; + + chunkQueue.current.push(message.chunk); + + if (!renderInterval.current) { + renderInterval.current = setInterval(() => { + if (chunkQueue.current.length > 0) { + const textToRender = chunkQueue.current.join(''); + chunkQueue.current = []; + + setUserMessages(prevMessages => { + if (prevMessages.length === 0) return prevMessages; + + const lastMessage = prevMessages[prevMessages.length - 1]; + if (lastMessage.role !== 'assistant') return prevMessages; + + const updatedContent = (lastMessage.content === 'keepSearchIng' ? '' : lastMessage.content) + textToRender; + + const updatedLastMessage = { ...lastMessage, content: updatedContent }; + + return [...prevMessages.slice(0, -1), updatedLastMessage]; + }); + } else { + if (renderInterval.current) { + clearInterval(renderInterval.current); + renderInterval.current = null; + } + } + }, RENDER_INTERVAL); + } + }; + + const handleChatStreamEnd = (message: WsMessage) => { + if (message.type !== 'ChatStreamEnd') return; + + // Stop the timer and process any remaining chunks + if (renderInterval.current) { + clearInterval(renderInterval.current); + renderInterval.current = null; + } + + const remainingText = chunkQueue.current.join(''); + chunkQueue.current = []; + + setUserMessages(prevMessages => { + if (prevMessages.length === 0) return prevMessages; + + const lastMessage = prevMessages[prevMessages.length - 1]; + if (lastMessage.role !== 'assistant') return prevMessages; + + // Apply remaining chunks from the queue + const contentWithQueue = (lastMessage.content === 'keepSearchIng' ? '' : lastMessage.content) + remainingText; + + // Create the final updated message object + const updatedLastMessage = { + ...lastMessage, + // Use the final message from ChatStreamEnd if available, otherwise use the content with queued text + content: message.message ? message.message.content : contentWithQueue, + timestamp: message.message ? message.message.timestamp : lastMessage.timestamp, + }; + + return [...prevMessages.slice(0, -1), updatedLastMessage]; + }); + }; + + const handleChatResponse = (message: WsMessage) => { + if (message.type === 'ChatResponse' && message.message) { + setUserMessages(prev => { + const newMessages = prev.filter(item => item.content !== 'keepSearchIng'); + return [...newMessages, { + ...(message.message as Message), + role: 'assistant', + }]; + }); + } + } + + const typedHandleChatStream = handleChatStream as (message: WsMessage) => void; + const typedHandleChatStreamEnd = handleChatStreamEnd as (message: WsMessage) => void; + const typedHandleChatResponse = handleChatResponse as (message: WsMessage) => void; + + webSocketManager.subscribe('ChatStream', typedHandleChatStream); + webSocketManager.subscribe('ChatStreamEnd', typedHandleChatStreamEnd); + webSocketManager.subscribe('ChatResponse', typedHandleChatResponse); + + return () => { + webSocketManager.unsubscribe('ChatStream', typedHandleChatStream); + webSocketManager.unsubscribe('ChatStreamEnd', typedHandleChatStreamEnd); + webSocketManager.unsubscribe('ChatResponse', typedHandleChatResponse); + if (renderInterval.current) { + clearInterval(renderInterval.current); + } + }; + }, [setUserMessages]); useEffect(() => { // 使用keyboardWillShow而不是keyboardDidShow,这样可以在键盘完全显示前更新UI @@ -47,10 +149,9 @@ export default function SendMessage(props: Props) { setIsHello(false); setUserMessages([ { - content: { - text: t("ask:ask.introduction1") - }, - role: 'Assistant', + id: Math.random().toString(36).substring(2, 9), + content: t("ask:ask.introduction1"), + role: 'assistant', timestamp: new Date().toISOString() } ]) @@ -66,7 +167,8 @@ export default function SendMessage(props: Props) { showSubscription.remove(); hideSubscription.remove(); }; - }, [conversationId]); + }, [conversationId, setIsHello, setUserMessages, t]); + // 发送询问 const handleSubmit = useCallback(async () => { @@ -75,17 +177,15 @@ export default function SendMessage(props: Props) { if (text) { // 将用户输入信息添加到消息列表中 setUserMessages(pre => ([...pre, { - content: { - text: text - }, - role: 'User', + id: Math.random().toString(36).substring(2, 9), + content: text, + role: 'user', timestamp: new Date().toISOString() }, { - content: { - text: "keepSearchIng" - }, - role: 'Assistant', + id: Math.random().toString(36).substring(2, 9), + content: "keepSearchIng", + role: 'assistant', timestamp: new Date().toISOString() } ])); @@ -108,9 +208,7 @@ export default function SendMessage(props: Props) { } else { console.error("无法获取 session_id,消息发送失败。"); // 可以在这里处理错误,例如显示一个提示 - setUserMessages(prev => prev.filter(item => - !(typeof item.content === 'string' && item.content === 'keepSearchIng') - )); + setUserMessages(prev => prev.filter(item => item.content !== 'keepSearchIng')); } // 将输入框清空 setInputValue(''); @@ -119,19 +217,18 @@ export default function SendMessage(props: Props) { Keyboard.dismiss(); } } - }, [inputValue, conversationId, selectedImages, createNewConversation]); + }, [inputValue, conversationId, selectedImages, createNewConversation, setConversationId, setSelectedImages, setUserMessages]); const handleQuitly = (type: string) => { setIsHello(false) setUserMessages(pre => ([ ...pre, { - content: { - text: type === "search" - ? t("ask:ask.introduction2") - : t("ask:ask.introduction3") - }, - role: 'Assistant', + id: Math.random().toString(36).substring(2, 9), + content: type === "search" + ? t("ask:ask.introduction2") + : t("ask:ask.introduction3"), + role: 'assistant', timestamp: new Date().toISOString() } ])) diff --git a/lib/websocket-util.ts b/lib/websocket-util.ts index 7fc7775..1b83926 100644 --- a/lib/websocket-util.ts +++ b/lib/websocket-util.ts @@ -87,6 +87,7 @@ class WebSocketManager { this.ws.onmessage = (event) => { try { const message: WsMessage = JSON.parse(event.data); + // console.log('WebSocket received message:', message) // 根据消息类型分发 const eventListeners = this.messageListeners.get(message.type); if (eventListeners) { From 3fa9acc15d46e5bd7eacb9f8cd1b8356d430170a Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Mon, 4 Aug 2025 10:30:05 +0800 Subject: [PATCH 48/68] =?UTF-8?q?feat:=20=E5=90=8E=E7=AB=AF=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app.json b/app.json index 3aa0f2f..3d3bfb3 100644 --- a/app.json +++ b/app.json @@ -84,8 +84,8 @@ "typedRoutes": true }, "extra": { - "API_ENDPOINT": "http://192.168.31.107:8081/api", - "WEBSOCKET_ENDPOINT": "ws://192.168.31.107:8081/ws/chat", + "API_ENDPOINT": "http://192.168.31.16:31646/api", + "WEBSOCKET_ENDPOINT": "ws://192.168.31.16:31646/ws/chat", "router": {}, "eas": { "projectId": "04721dd4-6b15-495a-b9ec-98187c613172" From c406312e0ae6c1a49611c0d67ea573f5ce955c7e Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Mon, 4 Aug 2025 11:49:57 +0800 Subject: [PATCH 49/68] =?UTF-8?q?feat:=20=E9=87=8D=E7=BD=AE=E5=AF=86?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/_layout.tsx | 4 +- app/(tabs)/reset-password.tsx | 155 +++++++++++++++++++++++++--------- components/ask/send.tsx | 18 ++-- 3 files changed, 130 insertions(+), 47 deletions(-) diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index 514e602..5e4c871 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -1,4 +1,5 @@ import { HapticTab } from '@/components/HapticTab'; +import AskNavbar from '@/components/layout/ask'; import { TabBarIcon } from '@/components/navigation/TabBarIcon'; import { requestNotificationPermission } from '@/components/owner/utils'; import TabBarBackground from '@/components/ui/TabBarBackground'; @@ -7,14 +8,13 @@ import { useColorScheme } from '@/hooks/useColorScheme'; import { prefetchChats } from '@/lib/prefetch'; import { fetchApi } from '@/lib/server-api-util'; import { webSocketManager, WebSocketStatus } from '@/lib/websocket-util'; +import { TransitionPresets } from '@react-navigation/bottom-tabs'; import * as Notifications from 'expo-notifications'; import { Tabs } from 'expo-router'; import * as SecureStore from 'expo-secure-store'; import React, { useCallback, useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Platform } from 'react-native'; -import { TransitionPresets } from '@react-navigation/bottom-tabs'; -import AskNavbar from '@/components/layout/ask'; interface PollingData { title: string; diff --git a/app/(tabs)/reset-password.tsx b/app/(tabs)/reset-password.tsx index 3995603..598ad10 100644 --- a/app/(tabs)/reset-password.tsx +++ b/app/(tabs)/reset-password.tsx @@ -7,19 +7,19 @@ import { Ionicons } from '@expo/vector-icons'; import { useLocalSearchParams, useRouter } from 'expo-router'; import React, { useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { ActivityIndicator, KeyboardAvoidingView, Platform, ScrollView, TextInput, TouchableOpacity, View } from 'react-native'; +import { ActivityIndicator, KeyboardAvoidingView, Platform, ScrollView, StyleSheet, TextInput, TouchableOpacity, View } from 'react-native'; -const resetPassword = () => { +const ResetPassword = () => { const { t } = useTranslation(); const router = useRouter(); const { session_id: resetPasswordSessionId, token } = useLocalSearchParams<{ session_id: string; token: string }>(); - // 使用 auth context 登录 const { login } = useAuth(); const [password, setPassword] = useState(''); const [confirmPassword, setConfirmPassword] = useState(''); const [loading, setLoading] = useState(false); const [showPassword, setShowPassword] = useState(false); + const [showSecondPassword, setShowSecondPassword] = useState(false); const [error, setError] = useState(''); const validatePassword = (pwd: string) => { @@ -38,8 +38,8 @@ const resetPassword = () => { return; } - if (!validatePassword(password)) { - setError(t('auth.signup.passwordAuth', { ns: 'login' })); + if (password?.length < 6) { + setError(t('auth.signup.pwdLengthError', { ns: 'login' })); return; } @@ -64,6 +64,7 @@ const resetPassword = () => { if (login) { login(response, response.access_token || ''); } + router.push('/ask'); } catch (error) { console.error('Reset password error:', error); setError(t('auth.resetPwd.error', { ns: 'login' }) || 'Failed to reset password'); @@ -75,80 +76,75 @@ const resetPassword = () => { return ( - - - + + + {t('auth.resetPwd.title', { ns: 'login' })} {error ? ( - + {error} ) : null} - - + + { + setPassword(value) + }} secureTextEntry={!showPassword} - autoCapitalize="none" - autoCorrect={false} /> setShowPassword(!showPassword)} - className="p-2" + style={styles.eyeIcon} > - - - + { + setConfirmPassword(value) + }} + secureTextEntry={!showSecondPassword} /> setShowPassword(!showPassword)} - className="p-2" + onPress={() => setShowSecondPassword(!showSecondPassword)} + style={styles.eyeIcon} > - {loading ? ( ) : ( - + {t('auth.resetPwd.resetButton', { ns: 'login' })} )} @@ -157,6 +153,87 @@ const resetPassword = () => { ); -} +}; -export default resetPassword +const styles = StyleSheet.create({ + passwordInputContainer: { + flexDirection: 'row', + alignItems: 'center', + borderRadius: 12, + backgroundColor: '#FFF8DE', + overflow: 'hidden', + }, + container: { + flex: 1, + backgroundColor: '#fff', + }, + scrollContainer: { + flexGrow: 1, + justifyContent: 'center', + padding: 20, + }, + formContainer: { + width: '100%', + maxWidth: 400, + alignSelf: 'center', + padding: 20, + borderRadius: 12, + backgroundColor: '#fff', + }, + title: { + fontSize: 24, + fontWeight: 'bold', + marginBottom: 24, + textAlign: 'center', + color: '#1f2937', + }, + errorText: { + color: '#ef4444', + marginBottom: 16, + textAlign: 'center', + }, + inputContainer: { + marginBottom: 24, + gap: 16 + }, + inputWrapper: { + flexDirection: 'row', + alignItems: 'center', + borderWidth: 1, + borderColor: '#e5e7eb', + borderRadius: 8, + paddingHorizontal: 12, + }, + confirmInput: { + marginTop: 16, + }, + input: { + borderRadius: 12, + paddingHorizontal: 16, + paddingVertical: 12, + fontSize: 16, + textAlignVertical: 'center', + backgroundColor: '#FFF8DE' + }, + eyeIcon: { + padding: 8, + }, + submitButton: { + width: '100%', + paddingVertical: 12, + borderRadius: 8, + alignItems: 'center', + justifyContent: 'center', + backgroundColor: '#E2793F', + }, + submitButtonDisabled: { + backgroundColor: '#f59e0b', + }, + submitButtonText: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + }, +}); + +export default ResetPassword; diff --git a/components/ask/send.tsx b/components/ask/send.tsx index b70c028..08effe9 100644 --- a/components/ask/send.tsx +++ b/components/ask/send.tsx @@ -12,12 +12,11 @@ import { View } from 'react-native'; +import { webSocketManager, WsMessage } from '@/lib/websocket-util'; import { Message } from '@/types/ask'; import { useTranslation } from 'react-i18next'; import { ThemedText } from '../ThemedText'; import { createNewConversation } from './utils'; -import { WsMessage } from '@/lib/websocket-util'; -import { webSocketManager } from '@/lib/websocket-util'; interface Props { setIsHello: Dispatch>, @@ -38,12 +37,12 @@ export default function SendMessage(props: Props) { const [inputValue, setInputValue] = useState(''); // 添加一个ref来跟踪键盘状态 - const isKeyboardVisible = useRef(false); + const isKeyboardVisible = useRef(false); const chunkQueue = useRef([]); const renderInterval = useRef | null>(null); useEffect(() => { - const handleChatStream = (message: WsMessage) => { + const handleChatStream = (message: WsMessage) => { if (message.type !== 'ChatStream' || !message.chunk) return; chunkQueue.current.push(message.chunk); @@ -76,7 +75,7 @@ export default function SendMessage(props: Props) { } }; - const handleChatStreamEnd = (message: WsMessage) => { + const handleChatStreamEnd = (message: WsMessage) => { if (message.type !== 'ChatStreamEnd') return; // Stop the timer and process any remaining chunks @@ -129,7 +128,7 @@ export default function SendMessage(props: Props) { webSocketManager.subscribe('ChatStreamEnd', typedHandleChatStreamEnd); webSocketManager.subscribe('ChatResponse', typedHandleChatResponse); - return () => { + return () => { webSocketManager.unsubscribe('ChatStream', typedHandleChatStream); webSocketManager.unsubscribe('ChatStreamEnd', typedHandleChatStreamEnd); webSocketManager.unsubscribe('ChatResponse', typedHandleChatResponse); @@ -194,6 +193,13 @@ export default function SendMessage(props: Props) { if (!currentSessionId) { currentSessionId = await createNewConversation(text); setConversationId(currentSessionId); + webSocketManager.send({ + type: 'Chat', + session_id: currentSessionId, + message: text, + image_material_ids: selectedImages.length > 0 ? selectedImages : undefined, + }); + setSelectedImages([]); } // 通过 WebSocket 发送消息 From b266b6646d4137da03f1d09e473119abcf3db400 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Mon, 4 Aug 2025 14:32:28 +0800 Subject: [PATCH 50/68] =?UTF-8?q?feat:=20ask=E9=A1=B5=E9=9D=A2=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/ask.tsx | 27 ++++++++----- app/(tabs)/owner.tsx | 8 ++-- components/ask/chat.tsx | 40 +++++++++++++++++-- components/ask/threeCircle.tsx | 2 +- components/chat/message-item/MessageRow.tsx | 26 ++++++------ components/chat/message-item/message-item.tsx | 7 ++-- i18n/locales/en/ask.json | 7 +++- i18n/locales/zh/ask.json | 7 +++- lib/server-api-util.ts | 3 +- lib/websocket-util.ts | 17 +++++++- 10 files changed, 107 insertions(+), 37 deletions(-) diff --git a/app/(tabs)/ask.tsx b/app/(tabs)/ask.tsx index 1d8ed53..5644c98 100644 --- a/app/(tabs)/ask.tsx +++ b/app/(tabs)/ask.tsx @@ -4,10 +4,11 @@ import AskHello from "@/components/ask/hello"; import SendMessage from "@/components/ask/send"; import { ThemedText } from "@/components/ThemedText"; import { fetchApi } from "@/lib/server-api-util"; -import { webSocketManager, WsMessage } from "@/lib/websocket-util"; +import { getWebSocketErrorMessage, webSocketManager, WsMessage } from "@/lib/websocket-util"; import { Assistant, Message } from "@/types/ask"; import { router, useFocusEffect, useLocalSearchParams } from "expo-router"; import { useCallback, useEffect, useRef, useState } from 'react'; +import { useTranslation } from "react-i18next"; import { Animated, FlatList, @@ -31,6 +32,7 @@ export default function AskScreen() { const [selectedImages, setSelectedImages] = useState([]); const fadeAnim = useRef(new Animated.Value(1)).current; const fadeAnimChat = useRef(new Animated.Value(0)).current; + const { t } = useTranslation(); const { sessionId, newSession } = useLocalSearchParams<{ sessionId: string; @@ -132,16 +134,23 @@ export default function AskScreen() { const handleError = (message: WsMessage) => { if (message.type === 'Error') { - console.error(`WebSocket Error: ${message.code} - ${message.message}`); + console.log(`WebSocket Error: ${message.code} - ${message.message}`); // 可以在这里添加错误提示,例如替换最后一条消息为错误信息 setUserMessages(prev => { - const newMessages = [...prev]; - const lastMessage = newMessages[newMessages.length - 1]; - if (lastMessage && typeof lastMessage.content === 'string' && lastMessage.content === 'keepSearchIng') { - lastMessage.content = `Error: ${message.message}`; - } - return newMessages; - }) + // 创建新的数组和新的消息对象 + return prev.map((msg, index) => { + if (index === prev.length - 1 && + typeof msg.content === 'string' && + msg.content === 'keepSearchIng') { + // 返回新的消息对象 + return { + ...msg, + content: getWebSocketErrorMessage(message.code, t) + }; + } + return msg; + }); + }); } }; diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index 5fbe53c..0e92e2f 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -1,7 +1,9 @@ import ConversationsSvg from '@/assets/icons/svg/conversations.svg'; import StoriesSvg from '@/assets/icons/svg/stories.svg'; +import CarouselComponent from '@/components/owner/carousel'; import CreateCountComponent from '@/components/owner/createCount'; +import Ranking from '@/components/owner/ranking'; import MemberCard from '@/components/owner/rights/memberCard'; import SettingModal from '@/components/owner/setting'; import SkeletonOwner from '@/components/owner/SkeletonOwner'; @@ -126,9 +128,9 @@ export default function OwnerPage() { {/* 分类 */} - {/* + - */} + {/* 作品数据 */} @@ -137,7 +139,7 @@ export default function OwnerPage() { {/* 排行榜 */} - {/* */} + } // 优化性能:添加 getItemLayout diff --git a/components/ask/chat.tsx b/components/ask/chat.tsx index 3a999cb..f5e4b80 100644 --- a/components/ask/chat.tsx +++ b/components/ask/chat.tsx @@ -1,5 +1,5 @@ import { ContentPart, Message } from '@/types/ask'; -import React, { Dispatch, ForwardedRef, forwardRef, SetStateAction, useCallback, useMemo, useState } from 'react'; +import React, { Dispatch, ForwardedRef, forwardRef, SetStateAction, useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { FlatList, @@ -12,6 +12,8 @@ import MessageItem from '../chat/message-item/message-item'; import SelectModel from "./selectModel"; import SingleContentModel from "./singleContentModel"; + + // 继承 FlatListProps 来接收所有 FlatList 的属性 interface ChatProps extends Omit, 'data' | 'renderItem'> { userMessages: Message[]; @@ -37,6 +39,18 @@ function ChatComponent( }), []); const [modalDetailsVisible, setModalDetailsVisible] = useState<{ visible: boolean, content: any }>({ visible: false, content: [] }); + const flatListRef = useRef(null); + const prevMessagesLength = useRef(0); + + // 自动滚动到底部 + useEffect(() => { + if (userMessages.length > 0 && userMessages.length !== prevMessagesLength.current) { + setTimeout(() => { + flatListRef.current?.scrollToEnd({ animated: true }); + }, 100); + prevMessagesLength.current = userMessages.length; + } + }, [userMessages.length]); const renderMessageItem = useCallback(({ item, index }: { item: Message, index: number }) => { const itemStyle = index === 0 ? { marginTop: 16, marginHorizontal: 16 } : { marginHorizontal: 16 }; @@ -63,7 +77,17 @@ function ChatComponent( return ( { + // 处理转发 ref 和内部 ref + if (ref) { + if (typeof ref === 'function') { + ref(node); + } else { + ref.current = node; + } + } + flatListRef.current = node; + }} data={userMessages} keyExtractor={keyExtractor} renderItem={renderMessageItem} @@ -75,7 +99,17 @@ function ChatComponent( updateCellsBatchingPeriod={50} initialNumToRender={10} windowSize={11} - {...restProps} // 将所有其他属性传递给 FlatList + onContentSizeChange={() => { + if (userMessages.length > 0) { + flatListRef.current?.scrollToEnd({ animated: true }); + } + }} + onLayout={() => { + if (userMessages.length > 0) { + flatListRef.current?.scrollToEnd({ animated: false }); + } + }} + {...restProps} /> {/* 单个图片弹窗 */} diff --git a/components/ask/threeCircle.tsx b/components/ask/threeCircle.tsx index 767dd3b..6c9c348 100644 --- a/components/ask/threeCircle.tsx +++ b/components/ask/threeCircle.tsx @@ -100,7 +100,7 @@ const styles = StyleSheet.create({ flexDirection: 'row', alignItems: 'center', justifyContent: 'center', - padding: 8, + padding: 16, }, dot: { width: 8, diff --git a/components/chat/message-item/MessageRow.tsx b/components/chat/message-item/MessageRow.tsx index 4559d4b..c098760 100644 --- a/components/chat/message-item/MessageRow.tsx +++ b/components/chat/message-item/MessageRow.tsx @@ -1,7 +1,7 @@ -import React from 'react'; -import { View, Text } from 'react-native'; -import MessageBubble from './MessageBubble'; import { getMessageText } from "@/types/ask"; +import React from 'react'; +import { Text, View } from 'react-native'; +import MessageBubble from './MessageBubble'; interface MessageRowProps { item: any; @@ -14,19 +14,19 @@ interface MessageRowProps { setModalDetailsVisible: React.Dispatch>; } -const MessageRow = ({ - item, - isUser, - setModalVisible, - setCancel, - cancel, - t, - setSelectedImages, +const MessageRow = ({ + item, + isUser, + setModalVisible, + setCancel, + cancel, + t, + setSelectedImages, setModalDetailsVisible }: MessageRowProps) => { return ( - - + {!isUser && } - - + { // 获取.env文件中的变量 -export const API_ENDPOINT = Constants.expoConfig?.extra?.API_ENDPOINT || "https://api.memorywake.com/api"; +export const API_ENDPOINT = Constants.expoConfig?.extra?.API_ENDPOINT || "http://192.168.31.16:31646/api"; + // 更新 access_token 的逻辑 - 用于React组件中 export const useAuthToken = async(message: string | null) => { diff --git a/lib/websocket-util.ts b/lib/websocket-util.ts index 1b83926..70e8290 100644 --- a/lib/websocket-util.ts +++ b/lib/websocket-util.ts @@ -1,9 +1,10 @@ import Constants from 'expo-constants'; import * as SecureStore from 'expo-secure-store'; +import { TFunction } from 'i18next'; import { Platform } from 'react-native'; // 从环境变量或默认值中定义 WebSocket 端点 -export const WEBSOCKET_ENDPOINT = Constants.expoConfig?.extra?.WEBSOCKET_ENDPOINT || "wss://api.memorywake.com/ws"; +export const WEBSOCKET_ENDPOINT = Constants.expoConfig?.extra?.WEBSOCKET_ENDPOINT || "ws://192.168.31.16:31646/ws/chat"; export type WebSocketStatus = 'connecting' | 'connected' | 'disconnected' | 'reconnecting'; @@ -225,3 +226,17 @@ class WebSocketManager { // 导出一个单例,确保整个应用共享同一个 WebSocket 连接 export const webSocketManager = new WebSocketManager(); + + +// webscoket 错误映射 +export const getWebSocketErrorMessage = (key: string, t: TFunction) => { + const messages = { + 'INSUFFICIENT_POINTS': t('ask:ask.insufficientPoints'), + 'INVALID_TOKEN': t('ask:ask.invalidToken'), + 'NOT_FOUND': t('ask:ask.notFound'), + 'PERMISSION_DENIED': t('ask:ask.permissionDenied'), + 'NOT_CONNECTED': t('ask:ask.notConnected'), + }; + + return messages[key as keyof typeof messages] || t('ask:ask.unknownError'); +}; \ No newline at end of file From 84e12639811d78c7dc05f13ac5c72b0c522a38e7 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Mon, 4 Aug 2025 15:26:39 +0800 Subject: [PATCH 51/68] feat: settingmodal --- app/(tabs)/owner.tsx | 12 +------ app/(tabs)/reset-password.tsx | 4 +-- app/(tabs)/setting.tsx | 60 ++++++++++++++++++---------------- components/login/forgetPwd.tsx | 2 +- components/login/login.tsx | 2 +- components/owner/delete.tsx | 5 ++- components/owner/setting.tsx | 5 +-- components/owner/userInfo.tsx | 16 ++++----- i18n/locales/en/login.json | 8 +++-- i18n/locales/zh/login.json | 8 +++-- 10 files changed, 58 insertions(+), 64 deletions(-) diff --git a/app/(tabs)/owner.tsx b/app/(tabs)/owner.tsx index 0e92e2f..b3fa3a0 100644 --- a/app/(tabs)/owner.tsx +++ b/app/(tabs)/owner.tsx @@ -5,13 +5,12 @@ import CarouselComponent from '@/components/owner/carousel'; import CreateCountComponent from '@/components/owner/createCount'; import Ranking from '@/components/owner/ranking'; import MemberCard from '@/components/owner/rights/memberCard'; -import SettingModal from '@/components/owner/setting'; import SkeletonOwner from '@/components/owner/SkeletonOwner'; import UserInfo from '@/components/owner/userName'; import { checkAuthStatus } from '@/lib/auth'; import { fetchApi } from '@/lib/server-api-util'; import { CountData, UserInfoDetails } from '@/types/user'; -import { useFocusEffect, usePathname, useRouter } from 'expo-router'; +import { useFocusEffect, useRouter } from 'expo-router'; import { useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { FlatList, StyleSheet, View } from 'react-native'; @@ -21,7 +20,6 @@ export default function OwnerPage() { const insets = useSafeAreaInsets(); const { t } = useTranslation(); const router = useRouter(); - const pathname = usePathname(); // 添加页面挂载状态 const [isMounted, setIsMounted] = useState(false); @@ -36,10 +34,6 @@ export default function OwnerPage() { checkAuth(); }, [router]); - // 设置弹窗 - const [modalVisible, setModalVisible] = useState(false); - - // 数据统计 const [countData, setCountData] = useState({} as CountData); @@ -147,10 +141,6 @@ export default function OwnerPage() { { length: 1000, offset: 1000 * index, index } )} /> - {/* 设置弹窗 - 使用条件渲染避免层级冲突 */} - {modalVisible && ( - - )} ); } diff --git a/app/(tabs)/reset-password.tsx b/app/(tabs)/reset-password.tsx index 598ad10..63e8a3a 100644 --- a/app/(tabs)/reset-password.tsx +++ b/app/(tabs)/reset-password.tsx @@ -34,12 +34,12 @@ const ResetPassword = () => { } if (password !== confirmPassword) { - setError(t('auth.signup.passwordNotMatch', { ns: 'login' })); + setError(t('auth.forgetPwd.passwordNotMatch', { ns: 'login' })); return; } if (password?.length < 6) { - setError(t('auth.signup.pwdLengthError', { ns: 'login' })); + setError(t('auth.forgetPwd.pwdLengthError', { ns: 'login' })); return; } diff --git a/app/(tabs)/setting.tsx b/app/(tabs)/setting.tsx index 5c679fc..eda0964 100644 --- a/app/(tabs)/setting.tsx +++ b/app/(tabs)/setting.tsx @@ -11,17 +11,17 @@ import { checkNotificationPermission, getLocationPermission, getPermissions, req import { ThemedText } from '@/components/ThemedText'; import { useAuth } from '@/contexts/auth-context'; import { fetchApi } from '@/lib/server-api-util'; -import { Address, User } from '@/types/user'; +import { Address } from '@/types/user'; import * as Location from 'expo-location'; -import { useRouter } from 'expo-router'; +import { useFocusEffect, useRouter } from 'expo-router'; import * as SecureStore from 'expo-secure-store'; -import React, { useEffect, useState } from 'react'; +import React, { useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Linking, Platform, Pressable, ScrollView, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import { useSafeAreaInsets } from "react-native-safe-area-context"; -const Setting = (props: { modalVisible: boolean, setModalVisible: (visible: boolean) => void, userInfo: User }) => { - const { modalVisible, setModalVisible, userInfo } = props; +const Setting = (props: { userInfo: any }) => { + const { userInfo } = props; const insets = useSafeAreaInsets(); const { t } = useTranslation(); // 判断当前语言环境 @@ -59,7 +59,6 @@ const Setting = (props: { modalVisible: boolean, setModalVisible: (visible: bool .then((granted: boolean | ((prevState: boolean) => boolean)) => { setNotificationsEnabled(granted); }); - setModalVisible(false); } }; @@ -74,7 +73,6 @@ const Setting = (props: { modalVisible: boolean, setModalVisible: (visible: bool .then((granted: boolean | ((prevState: boolean) => boolean)) => { setAlbumEnabled(granted); }); - setModalVisible(false); } } @@ -90,7 +88,6 @@ const Setting = (props: { modalVisible: boolean, setModalVisible: (visible: bool .then((granted: boolean | ((prevState: boolean) => boolean)) => { setLocationEnabled(granted); }); - setModalVisible(false); } }; // 正在获取位置信息 @@ -166,7 +163,6 @@ const Setting = (props: { modalVisible: boolean, setModalVisible: (visible: bool }) .then(async (res) => { await logout(); - setModalVisible(false); router.replace('/login'); }) .catch(() => { @@ -174,22 +170,32 @@ const Setting = (props: { modalVisible: boolean, setModalVisible: (visible: bool }); }; // 检查是否有权限 - useEffect(() => { - if (modalVisible) { - // 位置权限 - getLocationPermission().then((res: boolean | ((prevState: boolean) => boolean)) => { - setLocationEnabled(res); - }) - // 媒体库权限 - getPermissions().then((res: boolean | ((prevState: boolean) => boolean)) => { - setAlbumEnabled(res); - }) - // 通知权限 - checkNotificationPermission().then((res: boolean | ((prevState: boolean) => boolean)) => { - setNotificationsEnabled(res); - }) - } - }, [modalVisible]) + useFocusEffect( + useCallback(() => { + let isActive = true; + + const checkPermissions = async () => { + // 位置权限 + const locationRes = await getLocationPermission(); + // 媒体库权限 + const albumRes = await getPermissions(); + // 通知权限 + const notificationRes = await checkNotificationPermission(); + + if (isActive) { + setLocationEnabled(locationRes); + setAlbumEnabled(albumRes); + setNotificationsEnabled(notificationRes); + } + }; + + checkPermissions(); + + return () => { + isActive = false; + }; + }, []) + ); // 获取语言环境 useEffect(() => { @@ -215,8 +221,6 @@ const Setting = (props: { modalVisible: boolean, setModalVisible: (visible: bool {/* 用户信息 */} - + ); }; diff --git a/components/login/forgetPwd.tsx b/components/login/forgetPwd.tsx index 4bebfbb..da377d2 100644 --- a/components/login/forgetPwd.tsx +++ b/components/login/forgetPwd.tsx @@ -51,7 +51,7 @@ const ForgetPwd = ({ setIsSignUp, updateUrlParam, setError }: LoginProps) => { setCountdown(60); }) .catch((error) => { - setError(t('auth.forgetPwd.sendEmailError', { ns: 'login' })); + setError(error.message || t('auth.forgetPwd.sendEmailError', { ns: 'login' })); }) .finally(() => { setLocading(false); diff --git a/components/login/login.tsx b/components/login/login.tsx index 4a97015..84017c4 100644 --- a/components/login/login.tsx +++ b/components/login/login.tsx @@ -52,7 +52,7 @@ const Login = ({ updateUrlParam, setError, setShowPassword, showPassword }: Logi router.replace('/user-message'); } } catch (error) { - // Handle error + setError(error.message || t('auth.login.loginError', { ns: 'login' })); } finally { setIsLoading(false); } diff --git a/components/owner/delete.tsx b/components/owner/delete.tsx index 977f5fb..4b56770 100644 --- a/components/owner/delete.tsx +++ b/components/owner/delete.tsx @@ -6,8 +6,8 @@ import { useTranslation } from 'react-i18next'; import { Modal, Pressable, StyleSheet, View } from 'react-native'; import { ThemedText } from '../ThemedText'; -const DeleteModal = (props: { modalVisible: boolean, setModalVisible: (visible: boolean) => void, setSettingModalVisible: (visible: boolean) => void }) => { - const { modalVisible, setModalVisible, setSettingModalVisible } = props; +const DeleteModal = (props: { modalVisible: boolean, setModalVisible: (visible: boolean) => void }) => { + const { modalVisible, setModalVisible } = props; const { logout } = useAuth(); const { t } = useTranslation(); const router = useRouter(); @@ -22,7 +22,6 @@ const DeleteModal = (props: { modalVisible: boolean, setModalVisible: (visible: .then(async (res) => { await logout(); setModalVisible(false); - setSettingModalVisible(false); router.replace('/login'); }) .catch(() => { diff --git a/components/owner/setting.tsx b/components/owner/setting.tsx index 1a11077..9f83dfb 100644 --- a/components/owner/setting.tsx +++ b/components/owner/setting.tsx @@ -19,6 +19,9 @@ import { checkNotificationPermission, getLocationPermission, getPermissions, req const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: boolean) => void, userInfo: User }) => { const { modalVisible, setModalVisible, userInfo } = props; + console.log(111111111111111111111111); + + console.log("hjhkkkkkkkkkkkkkkkkkkkkkkkkkkk111111111", setModalVisible); const { t } = useTranslation(); const [modalType, setModalType] = useState<'ai' | 'terms' | 'privacy' | 'user'>('ai'); @@ -213,8 +216,6 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: {/* 用户信息 */} void; - modalVisible: boolean; getCurrentLocation: () => void; isLoading: boolean; isRefreshing: boolean; @@ -21,7 +19,8 @@ interface UserInfoProps { setCurrentLocation: (location: Address) => void; } const UserInfo = (props: UserInfoProps) => { - const { userInfo, setModalVisible, modalVisible, getCurrentLocation, isLoading, isRefreshing, currentLocation, setCurrentLocation } = props; + const { userInfo, getCurrentLocation, isLoading, isRefreshing, currentLocation, setCurrentLocation } = props; + const router = useRouter(); const { t } = useTranslation(); // 获取本地存储的location @@ -71,13 +70,11 @@ const UserInfo = (props: UserInfoProps) => { // 在组件挂载时自动获取位置(可选) useEffect(() => { - if (modalVisible) { - getLocation(); - if (currentLocation && Object?.keys(currentLocation)?.length === 0) { - getCurrentLocation(); - } + getLocation(); + if (currentLocation && Object?.keys(currentLocation)?.length === 0) { + getCurrentLocation(); } - }, [modalVisible]) + }, []) return ( @@ -124,7 +121,6 @@ const UserInfo = (props: UserInfoProps) => { } { - setModalVisible(false); // 携带参数跳转 router.push({ pathname: '/user-message', diff --git a/i18n/locales/en/login.json b/i18n/locales/en/login.json index 157d090..b0ad62d 100644 --- a/i18n/locales/en/login.json +++ b/i18n/locales/en/login.json @@ -66,8 +66,7 @@ "accountPlaceholder": "Enter your account or email", "signUpMessage": "Don’t have an account?", "signUp": "Sign up", - "phoneLogin": "Phone Login", - "passwordNotMatch": "Passwords do not match" + "phoneLogin": "Phone Login" }, "agree": { "logintext": "By logging in, you agree to our", @@ -87,7 +86,10 @@ "sendEmailBtn": "Send email", "goback": "Go back", "success": "Email sent successfully, please check your email", - "sendEmailBtnDisabled": "Email sent" + "sendEmailBtnDisabled": "Email sent", + "sendEmailError": "Failed to send email, please try again", + "passwordNotMatch": "Passwords do not match", + "pwdLengthError": "Password length must be at least 6 characters" }, "resetPwd": { "title": "Reset password", diff --git a/i18n/locales/zh/login.json b/i18n/locales/zh/login.json index 3ebd163..c0a04b0 100644 --- a/i18n/locales/zh/login.json +++ b/i18n/locales/zh/login.json @@ -66,8 +66,7 @@ "accountPlaceholder": "请输入您的账号或邮箱", "signUpMessage": "还没有账号?", "signUp": "注册", - "phoneLogin": "手机号登录", - "passwordNotMatch": "密码不一致" + "phoneLogin": "手机号登录" }, "agree": { "logintext": "登录即表示您同意我们的", @@ -87,7 +86,10 @@ "sendEmailBtn": "发送邮件", "signupButton": "注册", "goback": "返回登录", - "sendEmailBtnDisabled": "已发送" + "sendEmailBtnDisabled": "已发送", + "sendEmailError": "发送失败,请重试", + "passwordNotMatch": "密码不一致", + "pwdLengthError": "密码长度至少为6位" }, "resetPwd": { "title": "重置密码", From 240601b97b827a560c57074ed3ee4e6d0f4ddf6f Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Mon, 4 Aug 2025 15:49:26 +0800 Subject: [PATCH 52/68] =?UTF-8?q?feat:=20=E9=80=89=E6=8B=A9=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/ask/selectModel.tsx | 41 ++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/components/ask/selectModel.tsx b/components/ask/selectModel.tsx index 5ae244a..d9c34c7 100644 --- a/components/ask/selectModel.tsx +++ b/components/ask/selectModel.tsx @@ -3,12 +3,14 @@ import DownloadSvg from '@/assets/icons/svg/download.svg'; import FolderSvg from "@/assets/icons/svg/folder.svg"; import ReturnArrow from "@/assets/icons/svg/returnArrow.svg"; import YesSvg from "@/assets/icons/svg/yes.svg"; +import { ContentPart } from '@/types/ask'; import { TFunction } from "i18next"; import React from "react"; import { FlatList, Image, Modal, StyleSheet, TouchableOpacity, View } from "react-native"; import ContextMenu from "../gusture/contextMenu"; import { ThemedText } from "../ThemedText"; import { mergeArrays, saveMediaToGallery } from "./utils"; +import VideoPlayer from './VideoPlayer'; interface SelectModelProps { modalDetailsVisible: { visible: boolean, content: any }; @@ -21,6 +23,7 @@ interface SelectModelProps { setCancel: React.Dispatch>; } const SelectModel = ({ modalDetailsVisible, setModalDetailsVisible, insets, setSelectedImages, selectedImages, t, cancel, setCancel }: SelectModelProps) => { + const items = modalDetailsVisible?.content?.filter((media: ContentPart) => media.type !== 'text'); return ( item.id} showsVerticalScrollIndicator={false} @@ -56,14 +59,6 @@ const SelectModel = ({ modalDetailsVisible, setModalDetailsVisible, insets, setS const itemId = item?.id || item?.video?.id; const isSelected = selectedImages.includes(itemId); - const toggleSelection = () => { - setSelectedImages(prev => - isSelected - ? prev.filter(id => id !== itemId) - : [...prev, itemId] - ); - }; - return ( @@ -79,7 +74,7 @@ const SelectModel = ({ modalDetailsVisible, setModalDetailsVisible, insets, setS svg: , label: t("ask:ask.save"), onPress: () => { - const imageUrl = item?.file_info?.url || item.video?.file_info?.url; + const imageUrl = item?.url; if (imageUrl) { saveMediaToGallery(imageUrl, t); } @@ -106,13 +101,25 @@ const SelectModel = ({ modalDetailsVisible, setModalDetailsVisible, insets, setS elevation: 5, }} > - console.log('Image load error:', error.nativeEvent.error)} - onLoad={() => console.log('Image loaded successfully')} - loadingIndicatorSource={require('@/assets/images/png/placeholder.png')} - /> + {item?.type === 'image' ? ( + console.log('Image load error:', error.nativeEvent.error)} + onLoad={() => console.log('Image loaded successfully')} + loadingIndicatorSource={require('@/assets/images/png/placeholder.png')} + /> + ) : ( + + )} Date: Mon, 4 Aug 2025 19:13:59 +0800 Subject: [PATCH 53/68] =?UTF-8?q?chore:=20=E6=B7=BB=E5=8A=A0=E5=9F=9F?= =?UTF-8?q?=E5=90=8D=E4=BF=A1=E4=BB=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 11 ++++++++++- network_security_config.xml | 7 +++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 network_security_config.xml diff --git a/app.json b/app.json index 3d3bfb3..1e68492 100644 --- a/app.json +++ b/app.json @@ -11,6 +11,14 @@ "ios": { "supportsTablet": true, "infoPlist": { + "NSAppTransportSecurity": { + "NSExceptionDomains": { + "192.168.20.2": { + "NSIncludesSubdomains": true, + "NSExceptionAllowsInsecureHTTPLoads": true + } + } + }, "NSPhotoLibraryUsageDescription": "允许访问照片库,以便模型使用您照片库中的素材进行视频创作”(例如:上传您参加音乐节的现场图,生成一个音乐节体验Vlog", "NSPhotoLibraryAddUsageDescription": "App需要访问相册来保存图片", "NSLocationWhenInUseUsageDescription": "允许获取位置信息,以便模型使用您的位置信息进行个性化创作”(例如:上传您去欧洲旅游的位置信息,结合在当地拍摄的照片,生成一个欧洲旅行攻略Vlog)", @@ -36,7 +44,8 @@ "WAKE_LOCK" ], "edgeToEdgeEnabled": true, - "package": "com.memowake.app" + "package": "com.memowake.app", + "networkSecurityConfig": "@xml/network_security_config" }, "web": { "bundler": "metro", diff --git a/network_security_config.xml b/network_security_config.xml new file mode 100644 index 0000000..7545674 --- /dev/null +++ b/network_security_config.xml @@ -0,0 +1,7 @@ + + + + 192.168.31.16 + 192.168.20.2 + + From 2f4fd12c6748b68691f5ff3250d7fd8043da0c6c Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Mon, 4 Aug 2025 19:27:20 +0800 Subject: [PATCH 54/68] =?UTF-8?q?chore:=20=E5=8A=A0=E9=80=9F=E7=BC=96?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .bunfig.toml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .bunfig.toml diff --git a/.bunfig.toml b/.bunfig.toml new file mode 100644 index 0000000..7e51f12 --- /dev/null +++ b/.bunfig.toml @@ -0,0 +1,2 @@ +[install] +registry = "https://registry.npmmirror.com/" \ No newline at end of file From fab73d196f1f20f806d4d7b4543a1a402d6687f5 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Mon, 4 Aug 2025 20:00:15 +0800 Subject: [PATCH 55/68] =?UTF-8?q?feat:=20=E8=AE=BE=E7=BD=AE=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/setting.tsx | 15 ++- components/user-message.tsx/look.tsx | 5 +- lib/background-uploader/types.ts | 131 ++++++++++++++------------- 3 files changed, 80 insertions(+), 71 deletions(-) diff --git a/app/(tabs)/setting.tsx b/app/(tabs)/setting.tsx index eda0964..dcfb7d2 100644 --- a/app/(tabs)/setting.tsx +++ b/app/(tabs)/setting.tsx @@ -11,7 +11,7 @@ import { checkNotificationPermission, getLocationPermission, getPermissions, req import { ThemedText } from '@/components/ThemedText'; import { useAuth } from '@/contexts/auth-context'; import { fetchApi } from '@/lib/server-api-util'; -import { Address } from '@/types/user'; +import { Address, User, UserInfoDetails } from '@/types/user'; import * as Location from 'expo-location'; import { useFocusEffect, useRouter } from 'expo-router'; import * as SecureStore from 'expo-secure-store'; @@ -20,8 +20,14 @@ import { useTranslation } from 'react-i18next'; import { Linking, Platform, Pressable, ScrollView, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import { useSafeAreaInsets } from "react-native-safe-area-context"; -const Setting = (props: { userInfo: any }) => { - const { userInfo } = props; +const Setting = (props: { userInfo: UserInfoDetails }) => { + const [userInfo, setUserInfo] = useState(null); + + const getUserInfo = async () => { + const res = await fetchApi("/iam/user-info"); + setUserInfo(res); + } + const insets = useSafeAreaInsets(); const { t } = useTranslation(); // 判断当前语言环境 @@ -200,6 +206,7 @@ const Setting = (props: { userInfo: any }) => { // 获取语言环境 useEffect(() => { getLanguage(); + getUserInfo() }, []) return ( @@ -220,7 +227,7 @@ const Setting = (props: { userInfo: any }) => { {/* 用户信息 */} @@ -32,11 +33,11 @@ export default function Look(props: Props) { {t('auth.userMessage.avatorText2', { ns: 'login' })} { - fileData[0]?.previewUrl + fileData[0]?.preview || fileData[0]?.previewUrl ? : avatar diff --git a/lib/background-uploader/types.ts b/lib/background-uploader/types.ts index e7ace0c..d4c2e5f 100644 --- a/lib/background-uploader/types.ts +++ b/lib/background-uploader/types.ts @@ -1,8 +1,8 @@ import * as MediaLibrary from 'expo-media-library'; export type ExtendedAsset = MediaLibrary.Asset & { - size?: number; - exif?: Record | null; + size?: number; + exif?: Record | null; }; // 上传任务类型 @@ -18,92 +18,93 @@ export type UploadTask = { // 文件元数据信息 interface FileSize { - value: number; - unit: string; + value: number; + unit: string; } interface FileMetadata { - originalName: string; - type: string; - isCompressed: string; - fileType: string; + originalName: string; + type: string; + isCompressed: string; + fileType: string; } // 后端返回的文件信息 interface FileInfo { - file_id: number; - name: string; - size: FileSize; - content_type: string; // 这里与 ConfirmUpload 的 content_type 定义不同,需要注意 - upload_time: string; - storage_medium: string; - file_path: string; // 这里与 ConfirmUpload 的 file_path 定义不同 - uploader_id: number; - upload_status: string; - deletion_status: string; - metadata: FileMetadata; + file_id: number; + name: string; + size: FileSize; + content_type: string; // 这里与 ConfirmUpload 的 content_type 定义不同,需要注意 + upload_time: string; + storage_medium: string; + file_path: string; // 这里与 ConfirmUpload 的 file_path 定义不同 + uploader_id: number; + upload_status: string; + deletion_status: string; + metadata: FileMetadata; } // 上传队列项 - 作为唯一的类型定义 // 定义 EXIF 数据类型 export type ExifData = { - GPSLatitude?: number | undefined; - GPSLongitude?: number | undefined; - GPSAltitude?: number | undefined; - DateTimeOriginal?: string | undefined; - Make?: string | undefined; - Model?: string | undefined; - ExposureTime?: number | undefined; - FNumber?: number | undefined; - ISOSpeedRatings?: number | undefined; - FocalLength?: number | undefined; - [key: string]: any; + GPSLatitude?: number | undefined; + GPSLongitude?: number | undefined; + GPSAltitude?: number | undefined; + DateTimeOriginal?: string | undefined; + Make?: string | undefined; + Model?: string | undefined; + ExposureTime?: number | undefined; + FNumber?: number | undefined; + ISOSpeedRatings?: number | undefined; + FocalLength?: number | undefined; + [key: string]: any; }; // 默认的 EXIF 数据结构 export const defaultExifData: ExifData = { - GPSLatitude: undefined, - GPSLongitude: undefined, - GPSAltitude: undefined, - DateTimeOriginal: undefined, - Make: undefined, - Model: undefined, - ExposureTime: undefined, - FNumber: undefined, - ISOSpeedRatings: undefined, - FocalLength: undefined, + GPSLatitude: undefined, + GPSLongitude: undefined, + GPSAltitude: undefined, + DateTimeOriginal: undefined, + Make: undefined, + Model: undefined, + ExposureTime: undefined, + FNumber: undefined, + ISOSpeedRatings: undefined, + FocalLength: undefined, }; // 压缩图片可配置参数 export interface ImagesuploaderProps { - children?: React.ReactNode; - style?: import('react-native').StyleProp; - onPickImage?: (file: File, exifData: ExifData) => void; - compressQuality?: number; - maxWidth?: number; - maxHeight?: number; - preserveExif?: boolean; - uploadOriginal?: boolean; - onUploadComplete?: (result: FileUploadItem[]) => void; - onProgress?: (progress: any) => void; // TODO: Define a proper type for progress - multipleChoice?: boolean; - fileType?: any[]; // TODO: Use MediaType from expo-image-picker - showPreview?: boolean; + children?: React.ReactNode; + style?: import('react-native').StyleProp; + onPickImage?: (file: File, exifData: ExifData) => void; + compressQuality?: number; + maxWidth?: number; + maxHeight?: number; + preserveExif?: boolean; + uploadOriginal?: boolean; + onUploadComplete?: (result: FileUploadItem[]) => void; + onProgress?: (progress: any) => void; // TODO: Define a proper type for progress + multipleChoice?: boolean; + fileType?: any[]; // TODO: Use MediaType from expo-image-picker + showPreview?: boolean; } export interface FileUploadItem { - id: string; - uri: string; // 用于本地展示的资源URI - name: string; - progress: number; - status: 'pending' | 'uploading' | 'success' | 'error'; // 统一状态 - error?: string | null; - previewUrl: string; // 预览URL - file?: File; - type: 'image' | 'video'; - thumbnail?: string; // 缩略图URL - thumbnailFile?: File; // 缩略图文件对象 - originalFile?: FileInfo // 上传后返回的文件信息 + id: string; + uri: string; // 用于本地展示的资源URI + name: string; + progress: number; + status: 'pending' | 'uploading' | 'success' | 'error'; // 统一状态 + error?: string | null; + previewUrl: string; // 预览URL + preview: string; // 预览URL + file?: File; + type: 'image' | 'video'; + thumbnail?: string; // 缩略图URL + thumbnailFile?: File; // 缩略图文件对象 + originalFile?: FileInfo // 上传后返回的文件信息 } // 确认上传返回 From 6e8113e109f89d0a81641563f2c6c16ece6ff31a Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Mon, 4 Aug 2025 20:14:43 +0800 Subject: [PATCH 56/68] =?UTF-8?q?feat:=20=E5=8F=B3=E6=BB=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/ask.tsx | 179 +++++++++++++++++++++++++-------------------- 1 file changed, 101 insertions(+), 78 deletions(-) diff --git a/app/(tabs)/ask.tsx b/app/(tabs)/ask.tsx index 5644c98..2a15ace 100644 --- a/app/(tabs)/ask.tsx +++ b/app/(tabs)/ask.tsx @@ -20,6 +20,8 @@ import { TouchableOpacity, View } from 'react-native'; +import { Gesture, GestureDetector } from "react-native-gesture-handler"; +import { runOnJS } from 'react-native-reanimated'; import { useSafeAreaInsets } from "react-native-safe-area-context"; export default function AskScreen() { @@ -46,6 +48,25 @@ export default function AskScreen() { } }, []); + const updateState = (value: string) => { + console.log('Received in JS:', value); + // 更新 React 状态或路由 + router.replace(value); + }; + // 右滑 + const gesture = Gesture.Pan() + .onEnd((event) => { + const { translationX } = event; + const threshold = 100; // 滑动阈值 + + if (translationX > threshold) { + // 从左向右滑动,跳转页面 + runOnJS(router.replace)("memo-list"); + } + }) + .minPointers(1) + .activeOffsetX([-10, 10]); // 在 X 方向触发的范围 + useEffect(() => { if (!isHello && userMessages.length > 0) { scrollToEnd(); @@ -236,86 +257,88 @@ export default function AskScreen() { ); return ( - - {/* 导航栏 */} - - { - try { - if (TextInput.State?.currentlyFocusedInput) { - const input = TextInput.State.currentlyFocusedInput(); - if (input) input.blur(); + + + {/* 导航栏 */} + + { + try { + if (TextInput.State?.currentlyFocusedInput) { + const input = TextInput.State.currentlyFocusedInput(); + if (input) input.blur(); + } + } catch (error) { + console.log('失去焦点失败:', error); } - } catch (error) { - console.log('失去焦点失败:', error); - } - Keyboard.dismiss(); - router.push('/memo-list'); - }} - > - - - { router.push('/owner') }}>MemoWake - - - - - {/* 欢迎页面 */} - - - - - {/* 聊天页面 */} - - scrollToEnd()} - /> - - - - {/* 输入框区域 */} - - - + Keyboard.dismiss(); + router.push('/memo-list'); + }} + > + + + { router.push('/owner') }}>MemoWake + - - + + + {/* 欢迎页面 */} + + + + + {/* 聊天页面 */} + + scrollToEnd()} + /> + + + + {/* 输入框区域 */} + + + + + + + ); } From a5f6c71d05b7e213217f37754dc409b8cfd2e351 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 5 Aug 2025 10:38:29 +0800 Subject: [PATCH 57/68] feat: docker --- app.json | 11 +---------- network_security_config.xml | 7 ------- package-lock.json | 24 ++++++++++++------------ package.json | 4 ++-- 4 files changed, 15 insertions(+), 31 deletions(-) delete mode 100644 network_security_config.xml diff --git a/app.json b/app.json index 1e68492..3d3bfb3 100644 --- a/app.json +++ b/app.json @@ -11,14 +11,6 @@ "ios": { "supportsTablet": true, "infoPlist": { - "NSAppTransportSecurity": { - "NSExceptionDomains": { - "192.168.20.2": { - "NSIncludesSubdomains": true, - "NSExceptionAllowsInsecureHTTPLoads": true - } - } - }, "NSPhotoLibraryUsageDescription": "允许访问照片库,以便模型使用您照片库中的素材进行视频创作”(例如:上传您参加音乐节的现场图,生成一个音乐节体验Vlog", "NSPhotoLibraryAddUsageDescription": "App需要访问相册来保存图片", "NSLocationWhenInUseUsageDescription": "允许获取位置信息,以便模型使用您的位置信息进行个性化创作”(例如:上传您去欧洲旅游的位置信息,结合在当地拍摄的照片,生成一个欧洲旅行攻略Vlog)", @@ -44,8 +36,7 @@ "WAKE_LOCK" ], "edgeToEdgeEnabled": true, - "package": "com.memowake.app", - "networkSecurityConfig": "@xml/network_security_config" + "package": "com.memowake.app" }, "web": { "bundler": "metro", diff --git a/network_security_config.xml b/network_security_config.xml deleted file mode 100644 index 7545674..0000000 --- a/network_security_config.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - 192.168.31.16 - 192.168.20.2 - - diff --git a/package-lock.json b/package-lock.json index 44acd45..5d89026 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "@types/p-limit": "^2.2.0", "@types/react-redux": "^7.1.34", "expensify-common": "^2.0.154", - "expo": "53.0.19", + "expo": "53.0.20", "expo-audio": "~0.4.8", "expo-background-task": "^0.2.8", "expo-blur": "~14.1.5", @@ -40,7 +40,7 @@ "expo-location": "~18.1.5", "expo-media-library": "~17.1.7", "expo-notifications": "~0.31.4", - "expo-router": "~5.1.3", + "expo-router": "~5.1.4", "expo-secure-store": "~14.2.3", "expo-splash-screen": "~0.30.10", "expo-sqlite": "~15.2.14", @@ -8773,9 +8773,9 @@ } }, "node_modules/expo": { - "version": "53.0.19", - "resolved": "https://registry.npmjs.org/expo/-/expo-53.0.19.tgz", - "integrity": "sha512-hZWEKw6h5dlfKy6+c3f2exx5x3Loio8p0b2s/Pk1eQfTffqpkQRVVlOzcTWU1RSuMfc47ZMpr97pUJWQczOGsQ==", + "version": "53.0.20", + "resolved": "https://registry.npmjs.org/expo/-/expo-53.0.20.tgz", + "integrity": "sha512-Nh+HIywVy9KxT/LtH08QcXqrxtUOA9BZhsXn3KCsAYA+kNb80M8VKN8/jfQF+I6CgeKyFKJoPNsWgI0y0VBGrA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.0", @@ -8792,7 +8792,7 @@ "expo-font": "~13.3.2", "expo-keep-awake": "~14.1.4", "expo-modules-autolinking": "2.1.14", - "expo-modules-core": "2.4.2", + "expo-modules-core": "2.5.0", "react-native-edge-to-edge": "1.6.0", "whatwg-url-without-unicode": "8.0.0-3" }, @@ -9243,9 +9243,9 @@ } }, "node_modules/expo-modules-core": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-2.4.2.tgz", - "integrity": "sha512-RCb0wniYCJkxwpXrkiBA/WiNGxzYsEpL0sB50gTnS/zEfX3DImS2npc4lfZ3hPZo1UF9YC6OSI9Do+iacV0NUg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-2.5.0.tgz", + "integrity": "sha512-aIbQxZE2vdCKsolQUl6Q9Farlf8tjh/ROR4hfN1qT7QBGPl1XrJGnaOKkcgYaGrlzCPg/7IBe0Np67GzKMZKKQ==", "license": "MIT", "dependencies": { "invariant": "^2.2.4" @@ -9272,9 +9272,9 @@ } }, "node_modules/expo-router": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/expo-router/-/expo-router-5.1.3.tgz", - "integrity": "sha512-zoAU0clwEj569PpGOzc06wCcxOskHLEyonJhLNPsweJgu+vE010d6XW+yr5ODR6F3ViFJpfcjbe7u3SaTjl24Q==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/expo-router/-/expo-router-5.1.4.tgz", + "integrity": "sha512-8GulCelVN9x+VSOio74K1ZYTG6VyCdJw417gV+M/J8xJOZZTA7rFxAdzujBZZ7jd6aIAG7WEwOUU3oSvUO76Vw==", "license": "MIT", "dependencies": { "@expo/metro-runtime": "5.0.4", diff --git a/package.json b/package.json index 76e2331..59aa509 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "@types/p-limit": "^2.2.0", "@types/react-redux": "^7.1.34", "expensify-common": "^2.0.154", - "expo": "53.0.19", + "expo": "53.0.20", "expo-audio": "~0.4.8", "expo-background-task": "^0.2.8", "expo-blur": "~14.1.5", @@ -46,7 +46,7 @@ "expo-location": "~18.1.5", "expo-media-library": "~17.1.7", "expo-notifications": "~0.31.4", - "expo-router": "~5.1.3", + "expo-router": "~5.1.4", "expo-secure-store": "~14.2.3", "expo-splash-screen": "~0.30.10", "expo-sqlite": "~15.2.14", From aa03a6798ae1937e6a7e180324b45d87df3000c6 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 5 Aug 2025 13:52:49 +0800 Subject: [PATCH 58/68] =?UTF-8?q?feat:=20ts=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/ask.tsx | 7 +- app/(tabs)/rights.tsx | 2 +- components/ask/voice.tsx | 221 ------------------- components/file-upload/files-uploader.tsx | 11 +- components/file-upload/uploadQueueManager.ts | 6 +- components/firework.tsx | 4 +- components/login/login.tsx | 3 +- components/lottie/lottie.tsx | 4 +- components/owner/rights/payType.tsx | 5 - components/owner/setting.tsx | 2 +- components/owner/utils.ts | 4 +- components/utils/objectFlat.ts | 26 ++- types/works.ts | 109 --------- 13 files changed, 38 insertions(+), 366 deletions(-) delete mode 100644 components/ask/voice.tsx delete mode 100644 types/works.ts diff --git a/app/(tabs)/ask.tsx b/app/(tabs)/ask.tsx index 2a15ace..10c3a95 100644 --- a/app/(tabs)/ask.tsx +++ b/app/(tabs)/ask.tsx @@ -48,11 +48,6 @@ export default function AskScreen() { } }, []); - const updateState = (value: string) => { - console.log('Received in JS:', value); - // 更新 React 状态或路由 - router.replace(value); - }; // 右滑 const gesture = Gesture.Pan() .onEnd((event) => { @@ -61,7 +56,7 @@ export default function AskScreen() { if (translationX > threshold) { // 从左向右滑动,跳转页面 - runOnJS(router.replace)("memo-list"); + runOnJS(router.replace)("/memo-list"); } }) .minPointers(1) diff --git a/app/(tabs)/rights.tsx b/app/(tabs)/rights.tsx index e9e97c2..ed2c1d7 100644 --- a/app/(tabs)/rights.tsx +++ b/app/(tabs)/rights.tsx @@ -143,7 +143,7 @@ export default function Rights() { } setConfirmLoading(true); const history = await fetchPurchaseHistory() - const historyIds = history?.filter((item: any) => isOrderExpired(item?.expirationDateIos))?.map((i) => { return i?.id }) + const historyIds = history?.filter((item: any) => isOrderExpired(item?.expirationDateIos))?.map((i: any) => { return i?.id }) if (historyIds?.includes(payType)) { setConfirmLoading(false); setTimeout(() => { diff --git a/components/ask/voice.tsx b/components/ask/voice.tsx deleted file mode 100644 index c272dc9..0000000 --- a/components/ask/voice.tsx +++ /dev/null @@ -1,221 +0,0 @@ -'use client'; -import React, { Dispatch, SetStateAction, useCallback, useState } from 'react'; -import { - StyleSheet, - TextInput, - View -} from 'react-native'; - -import { fetchApi } from '@/lib/server-api-util'; -import { Message } from '@/types/ask'; -import { RecordingPresets, useAudioRecorder } from 'expo-audio'; -interface Props { - setIsHello: (isHello: boolean) => void, - conversationId: string | null, - setUserMessages: Dispatch>; - setConversationId: (conversationId: string) => void, -} -export default function AudioRecordPlay(props: Props) { - const { setIsHello, conversationId, setUserMessages, setConversationId } = props; - const audioRecorder = useAudioRecorder(RecordingPresets.HIGH_QUALITY); - const [isRecording, setIsRecording] = useState(false); - const [isVoiceStart, setIsVoiceStart] = useState(false); - const [elapsedTime, setElapsedTime] = useState(0); - - // 用户询问 - const [inputValue, setInputValue] = useState(''); - const [timerInterval, setTimerInterval] = useState(0); - - const formatTime = (ms: number): string => { - const totalSeconds = ms / 1000; - const minutes = Math.floor(totalSeconds / 60); - const seconds = Math.floor(totalSeconds % 60); - const milliseconds = Math.floor(ms % 1000); - - return `${String(minutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}.${String(milliseconds).padStart(3, '0')}`; - }; - // 开始录音 - const record = async () => { - await audioRecorder.prepareToRecordAsync(); - const startTime = Date.now(); - - // 每 10ms 更新一次时间 - const interval = setInterval(() => { - const elapsed = Date.now() - startTime; - setElapsedTime(elapsed); - }, 10); - - setTimerInterval(interval); - setIsVoiceStart(true) - audioRecorder.record(); - setIsRecording(true); - }; - - const stopRecording = async () => { - // The recording will be available on `audioRecorder.uri`. - - - if (timerInterval) clearInterval(timerInterval); - setTimerInterval(0); - await audioRecorder.stop(); - setIsRecording(false); - }; - - // useEffect(() => { - // (async () => { - // const status = await AudioModule.requestRecordingPermissionsAsync(); - // if (!status.granted) { - // Alert.alert('Permission to access microphone was denied'); - // } - // })(); - // }, []); - // 获取对话信息 - const createNewConversation = useCallback(async (user_text: string) => { - const data = await fetchApi("/chat/new", { - method: "POST", - }); - setConversationId(data); - await getConversation({ session_id: data, user_text }); - }, []); - - const getConversation = useCallback(async ({ session_id, user_text }: { session_id: string, user_text: string }) => { - if (!session_id) return; - const response = await fetchApi(`/chat`, { - method: "POST", - body: JSON.stringify({ - session_id, - user_text - }) - }); - setUserMessages((prev: Message[]) => [...prev, response]); - }, []); - - // 使用 useCallback 缓存 handleSubmit - const handleSubmit = () => { - const text = inputValue; - if (text) { - setUserMessages(pre => ([...pre, { - content: { - text: text - }, - role: 'User', - timestamp: new Date().toISOString() - } - ])); - if (!conversationId) { - createNewConversation(text); - setIsHello(false); - } else { - getConversation({ - session_id: conversationId, - user_text: text - }); - } - setInputValue(''); - } - } - - return ( - - - {/* console.log('Left icon pressed')} - className={`absolute left-2 top-1/2 -translate-y-1/2 p-2 bg-white rounded-full ${isVoiceStart ? "opacity-100" : "opacity-0"}`} // 使用绝对定位将按钮放在输入框内右侧 - > - - */} - { - setInputValue(text); - }} - onSubmitEditing={handleSubmit} - editable={!isVoiceStart} - // 调起的键盘类型 - returnKeyType="send" - /> - {/* - {isVoiceStart ? : } - */} - - - ); -} - -const styles = StyleSheet.create({ - container: { - justifyContent: 'center', - backgroundColor: '#fff', - }, - title: { - fontSize: 20, - fontWeight: 'bold', - marginBottom: 20, - textAlign: 'center', - }, - recordButton: { - padding: 15, - borderRadius: 8, - alignItems: 'center', - marginBottom: 20, - }, - startButton: { - backgroundColor: '#ff6b6b', - }, - stopButton: { - backgroundColor: '#4CAF50', - }, - buttonText: { - color: 'white', - fontSize: 16, - }, - listTitle: { - fontWeight: 'bold', - marginBottom: 10, - }, - emptyText: { - fontStyle: 'italic', - color: '#888', - marginBottom: 10, - }, - recordingItem: { - padding: 10, - borderBottomWidth: 1, - borderBottomColor: '#eee', - }, - uriText: { - fontSize: 12, - color: '#777', - }, - leftIcon: { - padding: 10, - paddingLeft: 15, - }, - input: { - borderColor: '#FF9500', - borderWidth: 1, - borderRadius: 25, - paddingHorizontal: 20, - paddingVertical: 12, - fontSize: 16, - width: '100%', // 确保输入框宽度撑满 - paddingRight: 50 - }, - voiceButton: { - width: 40, - height: 40, - borderRadius: 20, - backgroundColor: '#FF9500', - justifyContent: 'center', - alignItems: 'center', - marginRight: 8, // 添加一点右边距 - }, -}); \ No newline at end of file diff --git a/components/file-upload/files-uploader.tsx b/components/file-upload/files-uploader.tsx index 15794cd..7fb2375 100644 --- a/components/file-upload/files-uploader.tsx +++ b/components/file-upload/files-uploader.tsx @@ -1,14 +1,14 @@ +import { requestLocationPermission, requestMediaLibraryPermission } from '@/components/owner/utils'; import { addMaterial, confirmUpload, getUploadUrl } from '@/lib/background-uploader/api'; import { ConfirmUpload, ExifData, FileUploadItem, ImagesuploaderProps, UploadResult, UploadTask, defaultExifData } from '@/lib/background-uploader/types'; import { uploadFileWithProgress } from '@/lib/background-uploader/uploader'; import { compressImage } from '@/lib/image-process/imageCompress'; +import { PermissionService } from '@/lib/PermissionService'; import { createVideoThumbnailFile } from '@/lib/video-process/videoThumbnail'; import * as ImagePicker from 'expo-image-picker'; -import { requestLocationPermission, requestMediaLibraryPermission } from '@/components/owner/utils'; -import { PermissionService } from '@/lib/PermissionService'; import * as MediaLibrary from 'expo-media-library'; import React, { useEffect, useState } from 'react'; -import { Alert, Button, Platform, TouchableOpacity, View } from 'react-native'; +import { Button, Platform, TouchableOpacity, View } from 'react-native'; import UploadPreview from './preview'; export const ImagesUploader: React.FC = ({ @@ -48,6 +48,7 @@ export const ImagesUploader: React.FC = ({ id: fileId, uri: asset.uri, previewUrl: asset.uri, // 使用 asset.uri 作为初始预览 + preview: asset.uri, // 使用 asset.uri 作为初始预览 name: asset.fileName || 'file', progress: 0, status: 'uploading', @@ -221,7 +222,7 @@ export const ImagesUploader: React.FC = ({ const batchResults = await Promise.allSettled( batch.map(asset => processSingleAsset(asset)) ); - + // 收集成功的结果 for (const result of batchResults) { if (result.status === 'fulfilled' && result.value) { @@ -235,7 +236,7 @@ export const ImagesUploader: React.FC = ({ for (let i = 0; i < assets.length; i += CONCURRENCY_LIMIT) { batches.push(assets.slice(i, i + CONCURRENCY_LIMIT)); } - + // 并行处理所有批次,但限制并发数量 for (let i = 0; i < batches.length; i += CONCURRENCY_LIMIT) { const batchGroup = batches.slice(i, i + CONCURRENCY_LIMIT); diff --git a/components/file-upload/uploadQueueManager.ts b/components/file-upload/uploadQueueManager.ts index 38e722d..467b944 100644 --- a/components/file-upload/uploadQueueManager.ts +++ b/components/file-upload/uploadQueueManager.ts @@ -1,3 +1,5 @@ +import { fetchApi } from '@/lib/server-api-util'; +import { ConfirmUpload, UploadUrlResponse } from '@/types/upload'; import * as SecureStore from 'expo-secure-store'; const QUEUE_KEY = 'uploadQueue'; @@ -34,14 +36,14 @@ export const uploadMediaFile = async (asset: any) => { : `video/${filename.split('.').pop()}`; const formData = new FormData(); - formData.append('file', { uri, name: filename, type } as any); + formData.append('file', { uri, name: filename, type } as unknown as File); await getUploadUrl({ ...formData, name: filename, type, size: asset.fileSize - }, {}).then((res) => { + } as unknown as File, {}).then((res) => { confirmUpload(res.file_id).then((confirmRes) => { addMaterial(res.file_id, confirmRes.file_id) }).catch((error) => { diff --git a/components/firework.tsx b/components/firework.tsx index 8b4e1fb..6319b9d 100644 --- a/components/firework.tsx +++ b/components/firework.tsx @@ -47,7 +47,7 @@ export const Fireworks: React.FC = ({ const [particles, setParticles] = useState([]); const [isPlaying, setIsPlaying] = useState(autoPlay); const particleId = useRef(0); - const timerRef = useRef(null); + const timerRef = useRef | null>(null); // 生成随机位置 const getRandomPosition = () => { @@ -112,7 +112,7 @@ export const Fireworks: React.FC = ({ ]), // 旋转效果 Animated.timing(rotation, { - toValue: rotation._value + 360, + toValue: (rotation as Animated.Value & { _value: number })._value + 360, duration: 2000, easing: Easing.linear, useNativeDriver: true, diff --git a/components/login/login.tsx b/components/login/login.tsx index 84017c4..2e528be 100644 --- a/components/login/login.tsx +++ b/components/login/login.tsx @@ -52,7 +52,8 @@ const Login = ({ updateUrlParam, setError, setShowPassword, showPassword }: Logi router.replace('/user-message'); } } catch (error) { - setError(error.message || t('auth.login.loginError', { ns: 'login' })); + const errorMessage = error instanceof Error ? error.message : t('auth.login.loginError', { ns: 'login' }); + setError(errorMessage); } finally { setIsLoading(false); } diff --git a/components/lottie/lottie.tsx b/components/lottie/lottie.tsx index 3bb2eaa..ae45c7b 100644 --- a/components/lottie/lottie.tsx +++ b/components/lottie/lottie.tsx @@ -1,6 +1,8 @@ // welcome.tsx (Web 版本) // 在 Web 端不显示任何内容 +import { StyleProp, ViewStyle } from "react-native"; + // 占位符 移动端实际引入文件是 welcome.native.tsx 文件 -export default function WebLottie(props: { source: string }) { +export default function WebLottie(props: { source: string, style?: StyleProp, loop?: boolean }) { return null; } \ No newline at end of file diff --git a/components/owner/rights/payType.tsx b/components/owner/rights/payType.tsx index 3aa909f..3ac7567 100644 --- a/components/owner/rights/payType.tsx +++ b/components/owner/rights/payType.tsx @@ -142,11 +142,6 @@ const styles = StyleSheet.create({ alignItems: 'center', marginBottom: 20, }, - modalTitle: { - fontSize: 20, - fontWeight: 'bold', - color: '#4C320C', - }, closeButton: { fontSize: 28, color: '#4C320C', diff --git a/components/owner/setting.tsx b/components/owner/setting.tsx index 9f83dfb..88f5f5e 100644 --- a/components/owner/setting.tsx +++ b/components/owner/setting.tsx @@ -387,7 +387,7 @@ const SettingModal = (props: { modalVisible: boolean, setModalVisible: (visible: - + ); diff --git a/components/owner/utils.ts b/components/owner/utils.ts index 8794e2c..1df1a89 100644 --- a/components/owner/utils.ts +++ b/components/owner/utils.ts @@ -25,7 +25,7 @@ export const reverseGeocode = async (latitude: number, longitude: number): Promi try { const addressResults = await fetchApi(`/area/gecoding?latitude=${latitude}&longitude=${longitude}`); if (Object.keys(addressResults).length === 0) { - return null; + return undefined; } console.log('地址1:', addressResults); @@ -34,7 +34,7 @@ export const reverseGeocode = async (latitude: number, longitude: number): Promi } else { SecureStore.setItemAsync('location', JSON.stringify(addressResults)); } - return addressResults + return addressResults as unknown as Address; } catch (error) { console.log('逆地理编码失败:', error); return undefined; diff --git a/components/utils/objectFlat.ts b/components/utils/objectFlat.ts index 288925f..07f7e5f 100644 --- a/components/utils/objectFlat.ts +++ b/components/utils/objectFlat.ts @@ -4,29 +4,31 @@ interface RawData { location?: { latitude?: string | number; }; + [key: string]: any; // Allow any additional properties } -export function transformData(data: RawData): RawData { +export function transformData(data: RawData): Omit { const result = { ...data }; if (result.exif) { const newExif: Record = {}; for (const key in result.exif) { - const value = result.exif[key]; + const value: unknown = result.exif[key]; // 普通对象:{Exif}, {TIFF}, {XMP} 等 - if (typeof value === 'object' && !Array.isArray(value)) { + if (typeof value === 'object' && value !== null && !Array.isArray(value)) { + const obj = value as Record; if (key === '{GPS}') { // 处理 GPS 字段:所有子字段加前缀 "GPS" - for (const subKey in value) { + for (const subKey in obj) { const newKey = 'GPS' + subKey; // 所有字段都加前缀 - newExif[newKey] = value[subKey]; + newExif[newKey] = obj[subKey]; } } else { // 其它嵌套对象直接展开字段 - for (const subKey in value) { - newExif[subKey] = value[subKey]; + for (const subKey in obj) { + newExif[subKey] = obj[subKey]; } } } else { @@ -35,8 +37,12 @@ export function transformData(data: RawData): RawData { } } - result.exif = newExif; + // 合并展开的 exif 数据并移除 exif 属性 + const { exif, ...rest } = result; + return { ...rest, ...newExif }; } - // 最后将result的exif信息平铺 - return { ...result, ...result.exif, exif: undefined }; + + // 如果没有 exif 数据,直接返回原数据(排除 exif 属性) + const { exif, ...rest } = result; + return rest; } \ No newline at end of file diff --git a/types/works.ts b/types/works.ts deleted file mode 100644 index 1f0c293..0000000 --- a/types/works.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { MaterialItemWithMetadata } from "@/components/waterfall"; - -// 模板列表 list -export interface NodeTemplates { - id: string; - node_template_id: string - name: string; - description: string; - model: string; - prompt: string; - created_at: string; - updated_at: string; - current_version_id: number; - version: number; - is_current_version: boolean -} - -//模板详情 -export interface NodeTemplateDetail extends NodeTemplates { - material_infos: MaterialItemWithMetadata[] - example_material_ids: string[] - available_model_names: string[] -} - -// 更新模板 -export interface UpdateNodeTemplate { - example_material_ids: string[]; -} - -export interface Shot { - camera_direction: string; - camera_movement: string; - clip_id: number; - composition: string; - music_description: string; - perspective: string; - scene_name: string; - scene_sequence: number; - shot_description: string; - shot_duration: string; - shot_name: string; - shot_sequence: number; - shot_sizes: string; - sound_effect: string; - transition_in: string; - voice_over: string; -} -// 图片的debug -interface CaptionResult { - video_shots?: Shot[]; - caption_result: { - common: { - background: string; - }; - daily_life: { - activity: string; - atmosphere: string; - extra_elements: string; - people_presence: string; - scene: string; - }; - person: { - person_count: string; - person_details: Array<{ - action: string; - age: string; - expression: string; - gender: string; - mood: string; - }>; - person_identity: string; - scene: string; - }; - }; -} -export interface PhotosDebug { - id: string, - state: string, - name: string, - context: { - input: Object, - outputs: CaptionResult, - metadata: Object, - } - -} - -// prompt需要传参 -export interface PromptParams { - name: string, - value_type: string, - required: boolean, - description: string -} - -// input output -export interface InputOutput { - is_async: boolean, - name: string, - context: { - metadata: {}, - outputs: { raw_output?: JSON, metadata?: {} }, - inputs: { - material_id: string, - prompt: string - model_name: string - } - } -} From 40b6c89f27e25fc57df28a3889ead18e1782b8f9 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 5 Aug 2025 15:13:56 +0800 Subject: [PATCH 59/68] =?UTF-8?q?feat:=20wake=E9=A1=B5=E9=9D=A2=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/index.tsx | 58 ++++++++++++++++++++++++++++--- assets/images/png/icon/ip.png | Bin 0 -> 25124 bytes assets/images/png/icon/think.png | Bin 0 -> 17277 bytes 3 files changed, 53 insertions(+), 5 deletions(-) create mode 100644 assets/images/png/icon/ip.png create mode 100644 assets/images/png/icon/think.png diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx index c80353f..ac7cdaf 100644 --- a/app/(tabs)/index.tsx +++ b/app/(tabs)/index.tsx @@ -1,9 +1,8 @@ -import IP from '@/assets/icons/svg/ip.svg'; import { checkAuthStatus } from '@/lib/auth'; import { useRouter } from 'expo-router'; import React, { useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { Animated, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; +import { Animated, Dimensions, Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import { useSafeAreaInsets } from "react-native-safe-area-context"; export default function HomeScreen() { @@ -12,6 +11,9 @@ export default function HomeScreen() { const insets = useSafeAreaInsets(); const [isLoading, setIsLoading] = useState(false); + // 获取屏幕宽度 + const screenWidth = Dimensions.get('window').width; + // 动画值 const fadeAnim = useRef(new Animated.Value(0)).current; // IP图标的淡入动画 const shakeAnim = useRef(new Animated.Value(0)).current; // IP图标的摇晃动画 @@ -20,6 +22,7 @@ export default function HomeScreen() { const buttonAnim = useRef(new Animated.Value(0)).current; // 按钮的淡入动画 const buttonShakeAnim = useRef(new Animated.Value(0)).current; // 按钮的摇晃动画 const buttonLoopAnim = useRef(null); // 按钮循环动画引用 + const fadeInAnim = useRef(new Animated.Value(0)).current; // 文本行动画值 const [textAnimations] = useState(() => ({ @@ -121,6 +124,20 @@ export default function HomeScreen() { ]).start(() => resolve()); }); }; + // 启动欢迎语动画 + const startWelcomeAnimation = () => { + // IP图标显示后淡入描述文本 + return new Promise((resolve) => { + Animated.sequence([ + Animated.delay(200), // IP图标显示后延迟200ms + Animated.timing(fadeInAnim, { + toValue: 1, + duration: 800, + useNativeDriver: true, + }) + ]).start(() => resolve()); + }); + }; // 启动按钮动画 const startButtonAnimation = () => { @@ -224,6 +241,7 @@ export default function HomeScreen() { startShaking(); // IP显示后开始文本动画 startTextAnimations() + .then(() => startWelcomeAnimation()) .then(() => startDescriptionAnimation()) .then(() => startButtonAnimation()) .catch(console.error); @@ -240,6 +258,7 @@ export default function HomeScreen() { animationRef.current.stop(); } }; + }, []); // 动画样式 @@ -342,11 +361,40 @@ export default function HomeScreen() { {t('auth.welcomeAwaken.slogan', { ns: 'login' })} + {/* 欢迎语 */} + + + + + {/* Animated IP */} - + @@ -373,6 +421,7 @@ export default function HomeScreen() { {/* 唤醒按钮 */} qt?dE> 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 z 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 OH@s9-S3t^{ef}R-I=b=z literal 0 HcmV?d00001 diff --git a/assets/images/png/icon/think.png b/assets/images/png/icon/think.png new file mode 100644 index 0000000000000000000000000000000000000000..db3e6407cc5cc294099f6f4f074fd966acc8bd56 GIT binary patch literal 17277 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 T(F$l95F{h1C{ZD1^zr`ylh>&` literal 0 HcmV?d00001 From 81be115dadd5dc1bb75fffd56a3fa8c58a0aac7b Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 5 Aug 2025 15:40:25 +0800 Subject: [PATCH 60/68] =?UTF-8?q?feat:=20=E7=99=BB=E9=99=86=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/login.tsx | 9 ++++----- assets/images/png/icon/ipNoHands.png | Bin 0 -> 44818 bytes assets/images/png/icon/ipNoHandsEyes.png | Bin 0 -> 15534 bytes components/user-message.tsx/look.tsx | 10 ++++++++-- components/user-message.tsx/userName.tsx | 12 +++++++----- i18n/locales/en/login.json | 3 ++- i18n/locales/zh/login.json | 3 ++- 7 files changed, 23 insertions(+), 14 deletions(-) create mode 100644 assets/images/png/icon/ipNoHands.png create mode 100644 assets/images/png/icon/ipNoHandsEyes.png diff --git a/app/(tabs)/login.tsx b/app/(tabs)/login.tsx index 786a111..92733c7 100644 --- a/app/(tabs)/login.tsx +++ b/app/(tabs)/login.tsx @@ -1,6 +1,4 @@ import Handers from '@/assets/icons/svg/handers.svg'; -import LoginIP1 from '@/assets/icons/svg/loginIp1.svg'; -import LoginIP2 from '@/assets/icons/svg/loginIp2.svg'; import ForgetPwd from '@/components/login/forgetPwd'; import Login from '@/components/login/login'; import PhoneLogin from '@/components/login/phoneLogin'; @@ -10,7 +8,7 @@ import { ThemedView } from '@/components/ThemedView'; import { useLocalSearchParams, useRouter } from 'expo-router'; import React, { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { Keyboard, KeyboardAvoidingView, LayoutChangeEvent, Platform, ScrollView, StatusBar, TouchableOpacity, View, ViewStyle, useWindowDimensions } from 'react-native'; +import { Image, Keyboard, KeyboardAvoidingView, LayoutChangeEvent, Platform, ScrollView, StatusBar, TouchableOpacity, View, ViewStyle, useWindowDimensions } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; const LoginScreen = () => { @@ -55,6 +53,7 @@ const LoginScreen = () => { }; const updateUrlParam = (key: string, value: string) => { + setError(''); router.setParams({ [key]: value }); } @@ -83,9 +82,9 @@ const LoginScreen = () => { { (showPassword || showSecondPassword) ? - + : - + } 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 U`QG2>2=I@bl#*nnxN*?`0E>0lX#fBK literal 0 HcmV?d00001 diff --git a/assets/images/png/icon/ipNoHandsEyes.png b/assets/images/png/icon/ipNoHandsEyes.png new file mode 100644 index 0000000000000000000000000000000000000000..6c44a2c42c8717ff8a9ea5d591641ca2e87b24f9 GIT binary patch literal 15534 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 L%2Y{x`TG9=R_! { + if (fileData[0]?.preview || fileData[0]?.previewUrl || avatar) { + handleUser() + } else { + Alert.alert(t('auth.userMessage.avatarRequired', { ns: 'login' })) + } + }} disabled={isLoading} > {isLoading ? ( diff --git a/components/user-message.tsx/userName.tsx b/components/user-message.tsx/userName.tsx index c120de8..5db025b 100644 --- a/components/user-message.tsx/userName.tsx +++ b/components/user-message.tsx/userName.tsx @@ -34,13 +34,15 @@ export default function UserName(props: Props) { {/* Input container fixed at bottom */} - - + + {t('auth.userMessage.title', { ns: 'login' })} - {error} - - {t('auth.userMessage.username', { ns: 'login' })} + + + {t('auth.userMessage.username', { ns: 'login' })} + {error} + Date: Tue, 5 Aug 2025 15:53:32 +0800 Subject: [PATCH 61/68] feat: ask --- app/(tabs)/ask.tsx | 5 +++-- app/(tabs)/memo-list.tsx | 9 ++++++++- components/ask/hello.tsx | 4 ++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/(tabs)/ask.tsx b/app/(tabs)/ask.tsx index 10c3a95..68d42d9 100644 --- a/app/(tabs)/ask.tsx +++ b/app/(tabs)/ask.tsx @@ -253,7 +253,7 @@ export default function AskScreen() { return ( - + {/* 导航栏 */} { }; }, [fetchHistoryList]); + // 每次进入页面就刷新 + useFocusEffect( + useCallback(() => { + handleRefresh(); + }, []) + ); + // 渲染列表项 const renderItem = useCallback(({ item }: { item: Chat }) => ( - + {t('ask.hi', { ns: 'ask' })} {"\n"} {t('ask.iAmMemo', { ns: 'ask' })} From 3a96ba6d91f827625ad150edf5a7cc1d13d60f39 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 5 Aug 2025 18:09:23 +0800 Subject: [PATCH 62/68] feat: card --- assets/icons/svg/cardBg.svg | 25 ++++ assets/icons/svg/pro.svg | 84 +++++++++---- assets/icons/svg/proSecondText.svg | 10 ++ components/owner/rights/memberCard.tsx | 162 +++++++++++++++++-------- 4 files changed, 203 insertions(+), 78 deletions(-) create mode 100644 assets/icons/svg/cardBg.svg create mode 100644 assets/icons/svg/proSecondText.svg diff --git a/assets/icons/svg/cardBg.svg b/assets/icons/svg/cardBg.svg new file mode 100644 index 0000000..293927b --- /dev/null +++ b/assets/icons/svg/cardBg.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/svg/pro.svg b/assets/icons/svg/pro.svg index b0500e0..0380f08 100644 --- a/assets/icons/svg/pro.svg +++ b/assets/icons/svg/pro.svg @@ -1,25 +1,59 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/svg/proSecondText.svg b/assets/icons/svg/proSecondText.svg new file mode 100644 index 0000000..f6718ae --- /dev/null +++ b/assets/icons/svg/proSecondText.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/components/owner/rights/memberCard.tsx b/components/owner/rights/memberCard.tsx index 1aa9109..669101f 100644 --- a/components/owner/rights/memberCard.tsx +++ b/components/owner/rights/memberCard.tsx @@ -1,9 +1,12 @@ -import HandersSvg from '@/assets/icons/svg/handers.svg'; -import ProSvg from '@/assets/icons/svg/pro.svg'; +import CardBgSvg from '@/assets/icons/svg/cardBg.svg'; +import ProSecondTextSvg from '@/assets/icons/svg/proSecondText.svg'; +import ProTextSvg from '@/assets/icons/svg/proText.svg'; + import { ThemedText } from '@/components/ThemedText'; import { useRouter } from 'expo-router'; import { useTranslation } from "react-i18next"; -import { Dimensions, Image, StyleSheet, TouchableOpacity, View } from "react-native"; +import { Dimensions, StyleSheet, TouchableOpacity, View } from "react-native"; +import Svg, { Circle, Defs, Ellipse, FeBlend, FeColorMatrix, FeComposite, FeFlood, FeGaussianBlur, FeOffset, Filter, G, Path, Rect } from 'react-native-svg'; const MemberCard = ({ pro }: { pro: string }) => { const { t } = useTranslation(); @@ -12,65 +15,118 @@ const MemberCard = ({ pro }: { pro: string }) => { const router = useRouter(); return ( - - - - - - 2025-09-05截止 + router.push("/rights")}> + + + + {"2025-09-05截止"} + - - { - pro === "Pro" - ? - null : - { - router.push('/rights'); - }} - activeOpacity={0.7} - hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }} - style={styles.proText} - > - {t("personal:generalSetting.goPremium")} - - } - - - + + + + + + + {pro === "pro" && + + } + {pro === "pro" && } + {pro === "pro" && } + {pro === "pro" && } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {/* {"解锁更多魔法"} */} + + + ); }; const styles = StyleSheet.create({ - proText: { - fontSize: 10, - fontWeight: 'bold', - color: '#4C320C', - padding: 4, - paddingHorizontal: 8, - borderRadius: 16, - backgroundColor: '#fff', - position: 'absolute', + container: { + position: "relative" + }, + proTextContainer: { + position: "absolute", top: 30, - left: 90, - opacity: 0.7 + left: 30, + zIndex: 9, + }, + ipContainer: { + position: "absolute", + bottom: 0, + right: 0, + zIndex: 9 + }, + cardBg: { + marginTop: -50, + width: "100%", + alignSelf: "center", + position: "relative", + marginRight: 10, + zIndex: -1, }, dateContainer: { position: 'absolute', - top: 16, - right: -15, - zIndex: 1, - transform: [{ rotate: '40deg' }], - }, - date: { - fontSize: 11, - fontWeight: 'bold', - color: '#4C320C', - padding: 4, - }, - container: { - position: "relative", - height: 120 + zIndex: 10, + alignItems: 'flex-end', + transform: [ + { translateX: -45 }, + { rotate: '400deg' }, + { translateX: 45 } + ], }, }); From c85242f398f7936890c55349167a075dd28840d1 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 5 Aug 2025 19:39:54 +0800 Subject: [PATCH 63/68] =?UTF-8?q?feat:=20=E4=B8=AA=E4=BA=BA=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=E9=A1=B5=E9=9D=A2=E6=A0=B7=E5=BC=8F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/icons/svg/cardBg.svg | 51 +++++++------- assets/icons/svg/memberBg.svg | 9 +++ components/owner/createCount.tsx | 2 +- components/owner/rights/cardBg.tsx | 54 ++++++++++++++ components/owner/rights/ipSvg.tsx | 68 ++++++++++++++++++ components/owner/rights/memberCard.tsx | 98 ++++++-------------------- 6 files changed, 181 insertions(+), 101 deletions(-) create mode 100644 assets/icons/svg/memberBg.svg create mode 100644 components/owner/rights/cardBg.tsx create mode 100644 components/owner/rights/ipSvg.tsx diff --git a/assets/icons/svg/cardBg.svg b/assets/icons/svg/cardBg.svg index 293927b..c18f285 100644 --- a/assets/icons/svg/cardBg.svg +++ b/assets/icons/svg/cardBg.svg @@ -1,25 +1,26 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/svg/memberBg.svg b/assets/icons/svg/memberBg.svg new file mode 100644 index 0000000..0eb272e --- /dev/null +++ b/assets/icons/svg/memberBg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/components/owner/createCount.tsx b/components/owner/createCount.tsx index ab6fae7..ac507bb 100644 --- a/components/owner/createCount.tsx +++ b/components/owner/createCount.tsx @@ -19,13 +19,13 @@ const CreateCountComponent = React.memo((props: CreateCountProps) => { return ( - {props.number} {props.icon} {props.title} + {props.number} ); }); diff --git a/components/owner/rights/cardBg.tsx b/components/owner/rights/cardBg.tsx new file mode 100644 index 0000000..1ce73a7 --- /dev/null +++ b/components/owner/rights/cardBg.tsx @@ -0,0 +1,54 @@ +import Svg, { Defs, LinearGradient, Path, Rect, Stop, Text } from 'react-native-svg'; + +const CardBg = (prop: { pro: string, date: string }) => { + const { pro, date } = prop; + return ( + + {pro === "pro" && } + {pro === "pro" && } + + + + + + {/* 背景色块 */} + {pro === "pro" && } + + {/* 叠加文字 */} + { + pro === "pro" && + {date} + + } + + {/* 渐变定义(放在最后,避免覆盖) */} + + + + + + + + + + + + + + + + + ) +} + +export default CardBg \ No newline at end of file diff --git a/components/owner/rights/ipSvg.tsx b/components/owner/rights/ipSvg.tsx new file mode 100644 index 0000000..01014c5 --- /dev/null +++ b/components/owner/rights/ipSvg.tsx @@ -0,0 +1,68 @@ +import Svg, { Circle, Defs, Ellipse, FeBlend, FeColorMatrix, FeComposite, FeFlood, FeGaussianBlur, FeOffset, Filter, G, Path, Rect } from 'react-native-svg'; + +const IpSvg = (prop: { pro: string }) => { + const { pro } = prop; + return ( + + + {pro === "pro" && + + } + {pro === "pro" && } + {pro === "pro" && } + {pro === "pro" && } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} + +export default IpSvg \ No newline at end of file diff --git a/components/owner/rights/memberCard.tsx b/components/owner/rights/memberCard.tsx index 669101f..e579d1b 100644 --- a/components/owner/rights/memberCard.tsx +++ b/components/owner/rights/memberCard.tsx @@ -1,12 +1,12 @@ -import CardBgSvg from '@/assets/icons/svg/cardBg.svg'; +import MemberBgSvg from '@/assets/icons/svg/memberBg.svg'; import ProSecondTextSvg from '@/assets/icons/svg/proSecondText.svg'; import ProTextSvg from '@/assets/icons/svg/proText.svg'; - import { ThemedText } from '@/components/ThemedText'; import { useRouter } from 'expo-router'; import { useTranslation } from "react-i18next"; import { Dimensions, StyleSheet, TouchableOpacity, View } from "react-native"; -import Svg, { Circle, Defs, Ellipse, FeBlend, FeColorMatrix, FeComposite, FeFlood, FeGaussianBlur, FeOffset, Filter, G, Path, Rect } from 'react-native-svg'; +import CardBg from './cardBg'; +import IpSvg from './ipSvg'; const MemberCard = ({ pro }: { pro: string }) => { const { t } = useTranslation(); @@ -16,76 +16,24 @@ const MemberCard = ({ pro }: { pro: string }) => { return ( router.push("/rights")}> - - - - {"2025-09-05截止"} - + {/* 背景图 */} + + - + {/* pro标志 */} + - - - - {pro === "pro" && - - } - {pro === "pro" && } - {pro === "pro" && } - {pro === "pro" && } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + {/* 背景板ip */} + + + {/* 会员标识 */} + + + {"成为会员"} + + {/* 解锁更多魔法 */} {/* {"解锁更多魔法"} */} @@ -98,10 +46,13 @@ const styles = StyleSheet.create({ container: { position: "relative" }, + memberContainer: { + position: "absolute", + backgroundColor: "linear-gradient(97.5deg, #FFF3E8 7.16%, #FFFAB9 100.47%)", + borderRadius: 13.1348, + }, proTextContainer: { position: "absolute", - top: 30, - left: 30, zIndex: 9, }, ipContainer: { @@ -111,7 +62,6 @@ const styles = StyleSheet.create({ zIndex: 9 }, cardBg: { - marginTop: -50, width: "100%", alignSelf: "center", position: "relative", @@ -123,9 +73,7 @@ const styles = StyleSheet.create({ zIndex: 10, alignItems: 'flex-end', transform: [ - { translateX: -45 }, - { rotate: '400deg' }, - { translateX: 45 } + { rotate: '400deg' } ], }, }); From 1f35ce1c4a4e75a7f083f8c4c77dc01282cb372e Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Wed, 6 Aug 2025 11:17:52 +0800 Subject: [PATCH 64/68] =?UTF-8?q?feat:=20=E7=BA=BF=E6=80=A7=E6=B8=90?= =?UTF-8?q?=E5=8F=98=E5=AD=97=E4=BD=93+=E9=BB=98=E8=AE=A4=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E4=B8=BA=E4=B8=AD=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/owner/rights/memberCard.tsx | 18 ++++-- components/textLinear.tsx | 89 ++++++++++++++++++++++++++ i18n/index.ts | 2 +- i18n/locales/en/personal.json | 4 ++ i18n/locales/zh/personal.json | 4 ++ package-lock.json | 2 +- package.json | 2 +- 7 files changed, 113 insertions(+), 8 deletions(-) create mode 100644 components/textLinear.tsx diff --git a/components/owner/rights/memberCard.tsx b/components/owner/rights/memberCard.tsx index e579d1b..6323c90 100644 --- a/components/owner/rights/memberCard.tsx +++ b/components/owner/rights/memberCard.tsx @@ -1,6 +1,6 @@ import MemberBgSvg from '@/assets/icons/svg/memberBg.svg'; -import ProSecondTextSvg from '@/assets/icons/svg/proSecondText.svg'; import ProTextSvg from '@/assets/icons/svg/proText.svg'; +import GradientText from '@/components/textLinear'; import { ThemedText } from '@/components/ThemedText'; import { useRouter } from 'expo-router'; import { useTranslation } from "react-i18next"; @@ -31,12 +31,20 @@ const MemberCard = ({ pro }: { pro: string }) => { {/* 会员标识 */} - {"成为会员"} + {t("personal:member.goPremium")} {/* 解锁更多魔法 */} - - {/* {"解锁更多魔法"} */} - + + ); diff --git a/components/textLinear.tsx b/components/textLinear.tsx new file mode 100644 index 0000000..8ddc8a4 --- /dev/null +++ b/components/textLinear.tsx @@ -0,0 +1,89 @@ +import React from 'react'; +import { StyleSheet, View } from 'react-native'; +import Svg, { Defs, LinearGradient, Stop, Text as SvgText, TSpan } from 'react-native-svg'; + +interface GradientTextProps { + text: string; + color?: { offset: string, color: string }[]; + fontSize?: number; + fontWeight?: string; + width?: number; + lineHeight?: number; +} + +export default function GradientText(props: GradientTextProps) { + const { text, color, fontSize = 48, fontWeight = "700", width = 300, lineHeight = 1.2 } = props; + + // Split text into words and create lines that fit within the specified width + const createLines = (text: string, maxWidth: number) => { + const words = text.split(' '); + const lines: string[] = []; + let currentLine = ''; + + words.forEach(word => { + const testLine = currentLine ? `${currentLine} ${word}` : word; + // Approximate text width (this is a simple estimation) + const testWidth = testLine.length * (fontSize * 0.6); + + if (testWidth > maxWidth && currentLine) { + lines.push(currentLine); + currentLine = word; + } else { + currentLine = testLine; + } + }); + + if (currentLine) { + lines.push(currentLine); + } + + return lines; + }; + + const lines = createLines(text, width - 40); // 40px padding + const lineHeightPx = fontSize * lineHeight; + const totalHeight = lines.length * lineHeightPx; + + return ( + + + + + {color?.map((item, index) => ( + + ))} + + + + + {lines.map((line, index) => ( + + {line} + + ))} + + + + ); +} + +const styles = StyleSheet.create({ + container: { + justifyContent: 'center', + alignItems: 'center', + alignSelf: 'center', + }, +}); \ No newline at end of file diff --git a/i18n/index.ts b/i18n/index.ts index a66e823..6149129 100644 --- a/i18n/index.ts +++ b/i18n/index.ts @@ -36,7 +36,7 @@ i18n defaultNS: 'common', // 设置默认语言为中文 - lng: 'zh', + lng: 'en', fallbackLng: 'en', debug: process.env.NODE_ENV === 'development', diff --git a/i18n/locales/en/personal.json b/i18n/locales/en/personal.json index 547f175..db5751c 100644 --- a/i18n/locales/en/personal.json +++ b/i18n/locales/en/personal.json @@ -125,5 +125,9 @@ "agreement": "I have read and agree to", "membership": "《Membership Agreement》", "agreementError": "Please read and agree to the agreement" + }, + "member": { + "goPremium": "Go Premium", + "unlock": "Unlock more memory magic" } } \ No newline at end of file diff --git a/i18n/locales/zh/personal.json b/i18n/locales/zh/personal.json index 72a9341..c7888c6 100644 --- a/i18n/locales/zh/personal.json +++ b/i18n/locales/zh/personal.json @@ -125,5 +125,9 @@ "agreement": "我已阅读并同意", "membership": "《会员协议》", "agreementError": "请先阅读并同意协议" + }, + "member": { + "goPremium": "开通会员", + "unlock": "解锁更多记忆魔法" } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 5d89026..50da0cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -74,7 +74,7 @@ "react-native-render-html": "^6.3.4", "react-native-safe-area-context": "5.4.0", "react-native-screens": "~4.11.1", - "react-native-svg": "^15.11.2", + "react-native-svg": "15.11.2", "react-native-toast-message": "^2.3.0", "react-native-uuid": "^2.0.3", "react-native-view-shot": "4.0.3", diff --git a/package.json b/package.json index 59aa509..e9dd680 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "react-native-render-html": "^6.3.4", "react-native-safe-area-context": "5.4.0", "react-native-screens": "~4.11.1", - "react-native-svg": "^15.11.2", + "react-native-svg": "15.11.2", "react-native-toast-message": "^2.3.0", "react-native-uuid": "^2.0.3", "react-native-view-shot": "4.0.3", From 11ceca97534168764d128766acab24b1396d7ed8 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Wed, 6 Aug 2025 14:01:52 +0800 Subject: [PATCH 65/68] =?UTF-8?q?feat:=20=E9=82=AE=E7=AE=B1=E7=99=BB?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/login.tsx | 58 ++++++++++++++++++++++--------------- components/login/login.tsx | 45 +++++++++++++++++++++++----- components/login/signUp.tsx | 5 ++-- i18n/locales/en/login.json | 2 +- 4 files changed, 76 insertions(+), 34 deletions(-) diff --git a/app/(tabs)/login.tsx b/app/(tabs)/login.tsx index 92733c7..e332311 100644 --- a/app/(tabs)/login.tsx +++ b/app/(tabs)/login.tsx @@ -3,6 +3,7 @@ import ForgetPwd from '@/components/login/forgetPwd'; import Login from '@/components/login/login'; import PhoneLogin from '@/components/login/phoneLogin'; import SignUp from '@/components/login/signUp'; +import PrivacyModal from '@/components/owner/qualification/privacy'; import { ThemedText } from '@/components/ThemedText'; import { ThemedView } from '@/components/ThemedView'; import { useLocalSearchParams, useRouter } from 'expo-router'; @@ -27,6 +28,9 @@ const LoginScreen = () => { // 判断是否有白边 const statusBarHeight = StatusBar?.currentHeight ?? 0; + // 协议弹窗 + const [modalVisible, setModalVisible] = useState(false); + const [modalType, setModalType] = useState<'ai' | 'terms' | 'privacy' | 'user' | 'membership'>('privacy'); useEffect(() => { const keyboardWillShowListener = Keyboard.addListener( Platform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow', @@ -71,12 +75,15 @@ const LoginScreen = () => { bounces={false} > + + Awake your Memo + 0 ? windowHeight - containerHeight - 210 + statusBarHeight : 0, - transform: [{ translateX: -200 }, { translateY: keyboardOffset > 0 ? -keyboardOffset + statusBarHeight : -keyboardOffset }] + top: containerHeight > 0 ? windowHeight - containerHeight - 210 + statusBarHeight - insets.top - 28 : 0, + transform: [{ translateX: -200 }, { translateY: keyboardOffset > 0 ? -keyboardOffset + statusBarHeight - insets.top - 28 : -keyboardOffset }] }} > { @@ -90,8 +97,8 @@ const LoginScreen = () => { 0 ? windowHeight - containerHeight - 1 + statusBarHeight : 0, - transform: [{ translateX: -39.5 }, { translateY: keyboardOffset > 0 ? -4 - keyboardOffset + statusBarHeight : -4 - keyboardOffset }] + top: containerHeight > 0 ? windowHeight - containerHeight - 1 + statusBarHeight - insets.top - 30 : 0, + transform: [{ translateX: -39.5 }, { translateY: keyboardOffset > 0 ? -4 - keyboardOffset + statusBarHeight - insets.top - 30 : -4 - keyboardOffset }] }} > @@ -100,8 +107,8 @@ const LoginScreen = () => { { return components[status as keyof typeof components] || components.login; })()} - {status == 'login' || !status && - - - {status === 'login' || !status ? t('auth.agree.logintext', { ns: 'login' }) : t('auth.agree.singupText', { ns: 'login' })} - - { }}> - - {t('auth.agree.terms', { ns: 'login' })} + + {status == 'login' || !status && + + + {status === 'login' || !status ? t('auth.agree.logintext', { ns: 'login' }) : t('auth.agree.singupText', { ns: 'login' })} - - - {t('auth.agree.join', { ns: 'login' })} - - { }}> - - {t('auth.agree.privacyPolicy', { ns: 'login' })} + { setModalVisible(true); setModalType('terms') }}> + + {t('auth.agree.terms', { ns: 'login' })} + + + + {t('auth.agree.join', { ns: 'login' })} - - - } + { setModalVisible(true); setModalType('privacy') }}> + + {t('auth.agree.privacyPolicy', { ns: 'login' })} + + + + } + + diff --git a/components/login/login.tsx b/components/login/login.tsx index 2e528be..32c27cb 100644 --- a/components/login/login.tsx +++ b/components/login/login.tsx @@ -138,6 +138,19 @@ const Login = ({ updateUrlParam, setError, setShowPassword, showPassword }: Logi )} + + + + OR + + + + + + + + + {t('auth.login.signUpMessage', { ns: 'login' })} @@ -156,12 +169,28 @@ const styles = StyleSheet.create({ container: { flex: 1, }, + loginTypeContainer: { + display: "flex", + flexDirection: "column", + justifyContent: 'center', + alignItems: 'center', + gap: 16, + width: "70%" + }, + loginType: { + borderRadius: 12, + width: 54, + height: 54, + textAlign: 'center', + backgroundColor: '#FADBA1' + }, inputContainer: { marginBottom: 20, }, inputLabel: { fontSize: 16, - color: '#1F2937', + color: '#AC7E35', + fontWeight: '600', marginBottom: 8, marginLeft: 8, }, @@ -169,7 +198,7 @@ const styles = StyleSheet.create({ borderRadius: 12, paddingHorizontal: 16, paddingVertical: 12, - fontSize: 16, + fontSize: 14, textAlignVertical: 'center', backgroundColor: '#FFF8DE' }, @@ -186,8 +215,8 @@ const styles = StyleSheet.create({ marginBottom: 24, }, forgotPasswordText: { - color: '#1F2937', - fontSize: 14, + color: '#AC7E35', + fontSize: 11, }, loginButton: { width: '100%', @@ -200,6 +229,7 @@ const styles = StyleSheet.create({ loginButtonText: { color: '#FFFFFF', fontWeight: '600', + fontSize: 18, }, signupContainer: { flexDirection: 'row', @@ -207,14 +237,15 @@ const styles = StyleSheet.create({ marginTop: 8, }, signupText: { - color: '#1F2937', - fontSize: 14, + color: '#AC7E35', + fontSize: 17, }, signupLink: { color: '#E2793F', - fontSize: 14, + fontSize: 17, fontWeight: '600', marginLeft: 4, + textDecorationLine: 'underline', }, }); diff --git a/components/login/signUp.tsx b/components/login/signUp.tsx index 8d2790d..22f0ef3 100644 --- a/components/login/signUp.tsx +++ b/components/login/signUp.tsx @@ -353,8 +353,9 @@ const styles = StyleSheet.create({ overflow: 'hidden', }, inputLabel: { - fontSize: 16, - color: '#1F2937', + fontSize: 14, + color: '#AC7E35', + fontWeight: '600', marginBottom: 8, marginLeft: 8, }, diff --git a/i18n/locales/en/login.json b/i18n/locales/en/login.json index 297dd67..c4d15e4 100644 --- a/i18n/locales/en/login.json +++ b/i18n/locales/en/login.json @@ -73,7 +73,7 @@ "logintext": "By logging in, you agree to our", "singupText": "By signing up, you agree to our", "terms": " Terms", - "join": "&", + "join": " and have read our", "privacyPolicy": " Privacy Policy." }, "welcome": { From 7c4d1529d4527a5de27d6bc239f88dac001471ee Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Wed, 6 Aug 2025 15:45:54 +0800 Subject: [PATCH 66/68] =?UTF-8?q?feat:=20=E4=B8=AA=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/images/png/icon/doneIP.png | Bin 0 -> 28669 bytes components/ui/button/stepButton.tsx | 49 ++++ components/user-message.tsx/done.tsx | 279 +++++++++++++++++------ components/user-message.tsx/look.tsx | 120 ++++++---- components/user-message.tsx/userName.tsx | 114 ++++++--- 5 files changed, 419 insertions(+), 143 deletions(-) create mode 100644 assets/images/png/icon/doneIP.png create mode 100644 components/ui/button/stepButton.tsx diff --git a/assets/images/png/icon/doneIP.png b/assets/images/png/icon/doneIP.png new file mode 100644 index 0000000000000000000000000000000000000000..641fecd9dbe9b0fe7175ec9a25d5cab9479b1d7d GIT binary patch literal 28669 zcmeEt^;cWn^EDK=LITCzt$5J@End86a4#(sFGT|sch_RY-3b&3(Be*UhfprH|v{`Wyg`<6qAI*IO~qb!G3J3)JZ`hjWxM&k_{T0;WCy%iQ3noIIq zg*STM=*OLo)h`D<_pVPNCo$K_85u6o#Y07{WG3XVCKmIk!0lAMq9lZ@?60lGqcoo9 z5D#algn-yJ-@m3FjulQuAI>7awIt;93#P>Tle7b~qYSQv{xWzWg zH?dJA33mNiL-xzHIn=kN@({A__Z0Y3X3fk@-)wC!2XP8D@N@|xk;7#Q{omLB=HP!g z_+J?O|3d{A<*#v>l-0ejhRsZ6FMhp8JjA{5eXfsaI2?caH5rnl%E=m<$ijAi_H@H3 zck`jimu-0pAHR}=le3H%ACGB!2siMCAi?q-1f+W$b@)>DN|&(=`@cU__Ir%{?DN_m z534#RABOG!{T0g_G`j``MXX;wuafNFCVRug6iSP?nGmpPvryN4weRwH$G;g?7wE~` z?R{Yf+rxQsGIdCg4lDwsl)cde5s=6YF_Fq#Pu7XzA(Uk=#!eNOr_aw@yP`Jk5rJRf zb)A*j($C$wzbBH&#Rm_X{JL4Sm$f@Nx`MoKJayoBz1=7O-vhbT1b^I71YVU5`v!iB zQvb=q$dM<^7@FA28anu`o?K>wby2supeBQQl6534v_6J~*%W!OW}17rCVNXeg!!Lo zzxUretd-L{$r~Q?*3j-vl79koo+C&coFJI3ev$YV_2ovzK}8f{D#auMhw z???U-j`F=H$-7OYT_w;MCU|i0t~HsT^C&;0$hOm6ulCAsnHZhaKMnYc^@)=VC^xj} z2HA6v61xm@@qcB4_{73&&mpIy5$kd)anvmLPkAYU@dhuRl~u-?sq3Gpq}h!*3`9~ToHt_xQm=3g!wm+`c^||KYvkez672*L0Bk>yNceaOW+q`YEi4oh0c>M zP4SbCQ*_hz&j4GeFWH>yℜ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 K=og4> void; + text: string + bg?: string + color?: string +} +const StepButton = (props: Props) => { + const { isLoading, onPress, text, bg, color } = props + + return ( + + {isLoading ? ( + + ) : ( + + {text} + + )} + + ) +} + +const styles = StyleSheet.create({ + button: { + width: '100%', + backgroundColor: '#E2793F', + borderRadius: 32, + padding: 18, + alignItems: 'center' + }, + disabledButton: { + opacity: 0.7, + }, + buttonText: { + color: '#FFFFFF', + fontWeight: '600', + fontSize: 18, + }, +}); + +export default StepButton diff --git a/components/user-message.tsx/done.tsx b/components/user-message.tsx/done.tsx index 9eba9d7..3005afd 100644 --- a/components/user-message.tsx/done.tsx +++ b/components/user-message.tsx/done.tsx @@ -1,89 +1,216 @@ -import DoneSvg from '@/assets/icons/svg/done.svg'; import { router } from 'expo-router'; +import React, { useEffect } from 'react'; import { useTranslation } from 'react-i18next'; -import { Platform, TouchableOpacity, View } from 'react-native'; +import { Dimensions, Image, PixelRatio, Platform, StyleSheet, View } from 'react-native'; +import Animated, { + Easing, + useAnimatedStyle, + useSharedValue, + withTiming +} from 'react-native-reanimated'; import { ThemedText } from '../ThemedText'; import { Fireworks } from '../firework'; -import Lottie from '../lottie/lottie'; +import StepButton from '../ui/button/stepButton'; export default function Done() { const { t } = useTranslation(); + const height = Dimensions.get('window').height; + const fontSize = (size: number) => { + const scale = PixelRatio.getFontScale(); + return size / scale; + }; + // Animation values + const translateX = useSharedValue(300); + const translateY = useSharedValue(300); + const opacity = useSharedValue(0); + + // Animation style + const animatedStyle = useAnimatedStyle(() => ({ + transform: [ + { translateX: translateX.value }, + { translateY: translateY.value } + ], + opacity: opacity.value + })); + + // Start animation when component mounts + useEffect(() => { + translateX.value = withTiming(0, { + duration: 800, + easing: Easing.out(Easing.cubic) + }); + translateY.value = withTiming(0, { + duration: 800, + easing: Easing.out(Easing.cubic) + }); + opacity.value = withTiming(1, { + duration: 1000, + easing: Easing.out(Easing.cubic) + }); + }, []); + const handleContinue = () => { router.replace('/ask') }; - return ( - - { - Platform.OS === 'web' - ? - - - - {t('auth.userMessage.allDone', { ns: 'login' })} - - - - - - - {/* Next Button */} - - - - {t('auth.userMessage.next', { ns: 'login' })} - - - - - : - - {/* 文字 */} - - - - {t('auth.userMessage.allDone', { ns: 'login' })} - - - {/* Next Button */} - - - - {t('auth.userMessage.next', { ns: 'login' })} - - - - - {/* 背景动画 - 烟花 */} - - - - - {/* 前景动画 - Lottie */} - - - - - } + const renderWebView = () => ( + + + + {t('auth.userMessage.allDone', { ns: 'login' })} + + + + + + + + + + + - ) + ); + + const renderMobileView = () => ( + + + + + {t('auth.userMessage.allDone', { ns: 'login' })} + + + + + + + + + + + + + + + + ); + + return ( + + {Platform.OS === 'web' ? renderWebView() : renderMobileView()} + + ); } + +const styles = StyleSheet.create({ + container: { + flex: 1, + }, + flex1: { + flex: 1, + }, + webContainer: { + flex: 1, + backgroundColor: '#FFB645', + position: 'absolute', + top: 0, + left: 0, + right: 0, + bottom: 0, + height: '100%', + }, + webContent: { + position: 'absolute', + top: 32, + left: 0, + right: 0, + bottom: 160, + justifyContent: 'center', + alignItems: 'center', + }, + doneSvgContainer: { + flexDirection: 'row', + justifyContent: 'flex-end', + }, + webButtonContainer: { + position: 'absolute', + bottom: 16, + left: 0, + right: 0, + padding: 16, + zIndex: 99, + }, + mobileContainer: { + flex: 1, + backgroundColor: 'transparent', + }, + mobileContent: { + position: 'absolute', + top: 0, + left: 0, + right: 0, + bottom: 0, + zIndex: 30, + }, + mobileTextContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + mobileButtonContainer: { + position: 'absolute', + bottom: 16, + left: 0, + right: 0, + padding: 16, + zIndex: 99, + }, + title: { + fontSize: 36, + lineHeight: 40, + color: '#FFFFFF', + textAlign: 'center', + fontWeight: 'bold', + }, + nextButton: { + width: '100%', + backgroundColor: '#3B82F6', + borderRadius: 999, + padding: 16, + alignItems: 'center', + }, + buttonText: { + color: '#FFFFFF', + fontSize: 18, + fontWeight: '600', + }, + fireworksContainer: { + position: 'absolute', + top: 0, + left: 0, + right: 0, + bottom: 0, + zIndex: 10, + }, + lottieContainer: { + position: 'absolute', + right: 0, + bottom: 0, + zIndex: 20 + }, +}); diff --git a/components/user-message.tsx/look.tsx b/components/user-message.tsx/look.tsx index 90eb9fe..6084730 100644 --- a/components/user-message.tsx/look.tsx +++ b/components/user-message.tsx/look.tsx @@ -4,8 +4,10 @@ import LookSvg from '@/assets/icons/svg/look.svg'; import { ThemedText } from '@/components/ThemedText'; import { FileUploadItem } from '@/lib/background-uploader/types'; import { useTranslation } from 'react-i18next'; -import { ActivityIndicator, Alert, Image, TouchableOpacity, View } from 'react-native'; +import { Alert, Image, StyleSheet, View } from 'react-native'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; import FilesUploader from '../file-upload/files-uploader'; +import StepButton from '../ui/button/stepButton'; interface Props { setSteps?: (steps: Steps) => void; @@ -19,57 +21,51 @@ interface Props { export default function Look(props: Props) { const { fileData, setFileData, isLoading, handleUser, avatar } = props; const { t } = useTranslation(); - + const insets = useSafeAreaInsets(); return ( - - - + + + {t('auth.userMessage.look', { ns: 'login' })} - + {t('auth.userMessage.avatarText', { ns: 'login' })} {"\n"} {t('auth.userMessage.avatorText2', { ns: 'login' })} - { - fileData[0]?.preview || fileData[0]?.previewUrl - ? - - : - avatar - ? - - : - - } + {fileData[0]?.preview || fileData[0]?.previewUrl ? ( + + ) : avatar ? ( + + ) : ( + + )} { setFileData(fileData as FileUploadItem[]); }} showPreview={false} children={ - + - + {t('auth.userMessage.choosePhoto', { ns: 'login' })} } /> - {/* */} - {/* */} - - + { if (fileData[0]?.preview || fileData[0]?.previewUrl || avatar) { handleUser() @@ -77,17 +73,61 @@ export default function Look(props: Props) { Alert.alert(t('auth.userMessage.avatarRequired', { ns: 'login' })) } }} - disabled={isLoading} - > - {isLoading ? ( - - ) : ( - - {t('auth.userMessage.next', { ns: 'login' })} - - )} - + isLoading={isLoading} + bg="#FFFFFF" + color="#4C320C" + /> ); } + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#AC7E35', + paddingHorizontal: 24, + justifyContent: 'space-between', + }, + contentContainer: { + flex: 1, + alignItems: 'center', + gap: 28 + }, + title: { + fontSize: 32, + lineHeight: 36, + fontWeight: 'bold', + color: '#FFFFFF', + }, + subtitle: { + fontSize: 14, + color: "#fff", + textAlign: 'center', + marginBottom: 16, + }, + avatarImage: { + borderRadius: 150, + width: 215, + height: 215, + marginBottom: 16, + }, + uploadButton: { + width: '100%', + borderRadius: 999, + paddingHorizontal: 16, + paddingVertical: 13, + alignItems: 'center', + backgroundColor: '#FFF8DE', + flexDirection: 'row', + gap: 8, + }, + uploadButtonText: { + color: '#4C320C', + fontSize: 14, + fontWeight: '600', + }, + footer: { + width: '100%', + } +}); diff --git a/components/user-message.tsx/userName.tsx b/components/user-message.tsx/userName.tsx index 5db025b..9054563 100644 --- a/components/user-message.tsx/userName.tsx +++ b/components/user-message.tsx/userName.tsx @@ -2,7 +2,9 @@ import { Steps } from '@/app/(tabs)/user-message'; import { ThemedText } from '@/components/ThemedText'; import { useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { ActivityIndicator, KeyboardAvoidingView, Platform, TextInput, TouchableOpacity, View } from 'react-native'; +import { Dimensions, KeyboardAvoidingView, Platform, StyleSheet, TextInput, View } from 'react-native'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; +import StepButton from '../ui/button/stepButton'; interface Props { setSteps: (steps: Steps) => void; @@ -14,6 +16,8 @@ export default function UserName(props: Props) { const { setSteps, username, setUsername } = props const { t } = useTranslation(); const [isLoading, setIsLoading] = useState(false) + const height = Dimensions.get('window').height; + const insets = useSafeAreaInsets(); const [error, setError] = useState('') const handleUserName = () => { if (!username) { @@ -28,45 +32,101 @@ export default function UserName(props: Props) { return ( - - - {/* Input container fixed at bottom */} - - - - {t('auth.userMessage.title', { ns: 'login' })} + + + + + + {t('auth.userMessage.title', { ns: 'login' })} - - - {t('auth.userMessage.username', { ns: 'login' })} - {error} + + + {t('auth.userMessage.username', { ns: 'login' })} + {error} - - {isLoading ? ( - - ) : ( - - {t('auth.userMessage.next', { ns: 'login' })} - - )} - + ) } + +const styles = StyleSheet.create({ + keyboardAvoidingView: { + flex: 1, + }, + container: { + flex: 1, + backgroundColor: '#FFB645', + height: '100%', + }, + flex1: { + flex: 1, + }, + inputContainer: { + width: '100%', + backgroundColor: '#FFFFFF', + padding: 16, + borderTopWidth: 1, + borderTopColor: '#E5E7EB', + borderTopLeftRadius: 50, + borderTopRightRadius: 50, + }, + contentContainer: { + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + width: '100%', + gap: 16, + }, + titleContainer: { + width: '100%', + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + fontSize: 20, + }, + titleText: { + color: '#4C320C', + fontWeight: '600', + fontSize: 20, + marginBottom: 16, + }, + inputWrapper: { + width: '100%', + marginBottom: 16, + }, + labelContainer: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-between', + marginBottom: 10, + }, + labelText: { + color: '#AC7E35', + marginLeft: 8, + fontSize: 14, + fontWeight: '600', + }, + errorText: { + color: '#E2793F', + fontSize: 14, + }, + textInput: { + backgroundColor: '#FFF8DE', + borderRadius: 16, + padding: 20, + width: '100%', + } +}); From 142c8e44b6dc271874f1f1ce0aaec141381a9b6d Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Wed, 6 Aug 2025 16:33:34 +0800 Subject: [PATCH 67/68] =?UTF-8?q?feat:=20ask=20hello=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/ask.tsx | 14 +++++--------- assets/icons/svg/send.svg | 5 +++-- components/ask/hello.tsx | 23 +++++++++++++---------- components/ask/send.tsx | 18 +++++++++++------- i18n/locales/en/ask.json | 6 +++--- 5 files changed, 35 insertions(+), 31 deletions(-) diff --git a/app/(tabs)/ask.tsx b/app/(tabs)/ask.tsx index 68d42d9..3ac0086 100644 --- a/app/(tabs)/ask.tsx +++ b/app/(tabs)/ask.tsx @@ -255,7 +255,7 @@ export default function AskScreen() { {/* 导航栏 */} - + { @@ -273,11 +273,11 @@ export default function AskScreen() { > - { router.push('/owner') }}>MemoWake + { router.push('/owner') }}>MemoWake - + {/* 欢迎页面 */} - + + + diff --git a/components/ask/hello.tsx b/components/ask/hello.tsx index 47b8db9..8f7acba 100644 --- a/components/ask/hello.tsx +++ b/components/ask/hello.tsx @@ -1,10 +1,9 @@ -import IP from "@/assets/icons/svg/ip.svg"; import { ThemedText } from "@/components/ThemedText"; import { webSocketManager } from "@/lib/websocket-util"; import { Message } from "@/types/ask"; import { Dispatch, SetStateAction } from "react"; import { useTranslation } from "react-i18next"; -import { ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native'; +import { Dimensions, Image, ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native'; import { createNewConversation } from "./utils"; interface AskHelloProps { @@ -14,6 +13,8 @@ interface AskHelloProps { } export default function AskHello({ setUserMessages, setConversationId, setIsHello }: AskHelloProps) { const { t } = useTranslation(); + const width = Dimensions.get('window').width; + const height = Dimensions.get('window').height; const handleCase = async (text: string) => { setIsHello(false); @@ -50,7 +51,7 @@ export default function AskHello({ setUserMessages, setConversationId, setIsHell - - + + - + {t('ask.ready', { ns: 'ask' })} {"\n"} {t('ask.justAsk', { ns: 'ask' })} @@ -110,10 +111,12 @@ const styles = StyleSheet.create({ marginTop: 16 }, case: { - borderWidth: 2, - borderColor: "#FFB645", - borderRadius: 24, + borderWidth: 1, + borderColor: "#AC7E35", + borderRadius: 10, paddingHorizontal: 8, - width: 'auto' + width: 'auto', + fontSize: 14, + color: "#4C320C" } }) \ No newline at end of file diff --git a/components/ask/send.tsx b/components/ask/send.tsx index 08effe9..3125502 100644 --- a/components/ask/send.tsx +++ b/components/ask/send.tsx @@ -265,13 +265,14 @@ export default function SendMessage(props: Props) { returnKeyType="send" /> - - - + @@ -288,15 +289,18 @@ const styles = StyleSheet.create({ borderWidth: 2, display: 'flex', flexDirection: 'row', - gap: 5 + gap: 5, + // backgroundColor: '#F8F8F8' }, container: { justifyContent: 'center', backgroundColor: '#transparent', }, input: { - borderColor: '#FF9500', + // borderColor: '#d9d9d9', + borderColor: '#AC7E35', borderWidth: 1, + // borderRadius: 18, borderRadius: 25, paddingHorizontal: 20, paddingVertical: 13, diff --git a/i18n/locales/en/ask.json b/i18n/locales/en/ask.json index 8278354..eaf2f72 100644 --- a/i18n/locales/en/ask.json +++ b/i18n/locales/en/ask.json @@ -14,9 +14,9 @@ "refresh": "Refresh", "error": "have some error", "issue": "have some issue", - "case1": "Find last year's baby/pet material", - "case2": "Find last year's food", - "case3": "Find recent travel material", + "case1": "Find last year’s baby moments", + "case2": "Pet moments", + "case3": "Show me my food memories in France with family", "mediaAuth": "need album permission", "mediaAuthDesc": "allow app to access album to save media files", "saveSuccess": "save success", From 53efa37fb636dcec377d65637511a1785b220539 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Wed, 6 Aug 2025 18:57:18 +0800 Subject: [PATCH 68/68] =?UTF-8?q?feat:=20ask=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/memo-list.tsx | 9 +- assets/icons/svg/chat.svg | 34 ++++---- assets/icons/svg/navBg.svg | 19 +++++ assets/images/png/owner/ask.png | Bin 2735 -> 10376 bytes assets/images/png/owner/askIP.png | Bin 0 -> 15634 bytes components/ask/send.tsx | 1 + components/chat/message-item/MediaGrid.tsx | 95 ++++++++++++++++----- components/layout/ask.tsx | 14 +-- 8 files changed, 117 insertions(+), 55 deletions(-) create mode 100644 assets/icons/svg/navBg.svg create mode 100644 assets/images/png/owner/askIP.png diff --git a/app/(tabs)/memo-list.tsx b/app/(tabs)/memo-list.tsx index 0fa7f11..d2e26db 100644 --- a/app/(tabs)/memo-list.tsx +++ b/app/(tabs)/memo-list.tsx @@ -149,13 +149,7 @@ const MemoList = () => { onPress={() => handleMemoPress(item)} activeOpacity={0.7} > - - - + - + - + - - - - - + + + + + - - + + - - - - + + + + - + @@ -28,9 +28,9 @@ - + - + @@ -38,7 +38,7 @@ - + diff --git a/assets/icons/svg/navBg.svg b/assets/icons/svg/navBg.svg new file mode 100644 index 0000000..98e360b --- /dev/null +++ b/assets/icons/svg/navBg.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/png/owner/ask.png b/assets/images/png/owner/ask.png index 8c5f798897961c11059a28108c9668aa1c3ab559..0fe206a96709eed238ac236acfbcb25451ffffbb 100644 GIT binary patch literal 10376 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 E1*r0UCjbBd diff --git a/assets/images/png/owner/askIP.png b/assets/images/png/owner/askIP.png new file mode 100644 index 0000000000000000000000000000000000000000..4450a2db6230fa94926e9943ccf83190d7133212 GIT binary patch literal 15634 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 literal 0 HcmV?d00001 diff --git a/components/ask/send.tsx b/components/ask/send.tsx index 3125502..d46e355 100644 --- a/components/ask/send.tsx +++ b/components/ask/send.tsx @@ -304,6 +304,7 @@ const styles = StyleSheet.create({ borderRadius: 25, paddingHorizontal: 20, paddingVertical: 13, + lineHeight: 20, fontSize: 16, width: '100%', // 确保输入框宽度撑满 paddingRight: 50 diff --git a/components/chat/message-item/MediaGrid.tsx b/components/chat/message-item/MediaGrid.tsx index d9d28f9..40db826 100644 --- a/components/chat/message-item/MediaGrid.tsx +++ b/components/chat/message-item/MediaGrid.tsx @@ -1,11 +1,11 @@ -import React from 'react'; -import { View, Pressable, Image, StyleSheet } from 'react-native'; -import ContextMenu from "../../gusture/contextMenu"; -import DownloadSvg from "@/assets/icons/svg/download.svg"; import CancelSvg from "@/assets/icons/svg/cancel.svg"; +import DownloadSvg from "@/assets/icons/svg/download.svg"; import { ContentPart } from "@/types/ask"; import { TFunction } from 'i18next'; +import React from 'react'; +import { Image, Pressable, StyleSheet, Text as ThemedText, View } from 'react-native'; import { saveMediaToGallery } from "../../ask/utils"; +import ContextMenu from "../../gusture/contextMenu"; interface MediaGridProps { mediaItems: ContentPart[]; @@ -16,18 +16,32 @@ interface MediaGridProps { } const MediaGrid = ({ mediaItems, setModalVisible, setCancel, cancel, t }: MediaGridProps) => { - // 只取前6个元素(2行,每行3个) + // Only show up to 6 images (2 rows of 3) const displayItems = mediaItems.slice(0, 6); + const itemCount = displayItems.length; + + // Calculate item width based on number of items + const getItemWidth = () => { + if (itemCount === 1) return '100%'; + if (itemCount === 2) return '49%'; + return '32%'; // For 3+ items + }; + + // Calculate container style based on number of items + const getContainerStyle = () => { + if (itemCount === 1) return styles.singleItemContainer; + return styles.multiItemContainer; + }; return ( - - {displayItems.map((media) => ( + + {displayItems.map((media, index) => ( { setModalVisible({ visible: true, data: media }); }} - className="mb-2 w-[32%] aspect-square" + style={[styles.imageContainer, { width: getItemWidth() }]} > + {itemCount > 3 && index === 5 && mediaItems.length > 6 && ( + + +{mediaItems.length - 5} + + )} ))} @@ -76,6 +85,50 @@ const MediaGrid = ({ mediaItems, setModalVisible, setCancel, cancel, t }: MediaG ); }; - +const styles = StyleSheet.create({ + container: { + flexDirection: 'row', + flexWrap: 'wrap', + justifyContent: 'space-between', + }, + singleItemContainer: { + width: '100%', + }, + multiItemContainer: { + width: '100%', + }, + imageContainer: { + marginBottom: 8, + aspectRatio: 1, + }, + image: { + width: '100%', + height: '100%', + borderRadius: 8, + }, + contextMenu: { + backgroundColor: 'white', + borderRadius: 8, + padding: 8, + minWidth: 150, + shadowColor: '#000', + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.25, + shadowRadius: 4, + elevation: 5, + }, + overlay: { + ...StyleSheet.absoluteFillObject, + backgroundColor: 'rgba(0,0,0,0.5)', + borderRadius: 8, + justifyContent: 'center', + alignItems: 'center', + }, + overlayText: { + color: 'white', + fontSize: 24, + fontWeight: 'bold', + }, +}); export default MediaGrid; diff --git a/components/layout/ask.tsx b/components/layout/ask.tsx index 73a657d..ea0a890 100644 --- a/components/layout/ask.tsx +++ b/components/layout/ask.tsx @@ -98,13 +98,7 @@ const AskNavbar = ({ wsStatus }: AskNavbarProps) => { position: 'absolute', bottom: 0, left: 0, - right: 0, - backgroundColor: 'white', - shadowColor: '#000', - shadowOffset: { width: 0, height: -4 }, - shadowOpacity: 0.1, - shadowRadius: 8, - elevation: 10, + right: 0 }, backgroundImage: { width, @@ -132,7 +126,7 @@ const AskNavbar = ({ wsStatus }: AskNavbarProps) => { centerButton: { position: 'absolute', left: width / 2, - top: -42.5, // Adjust this value to move the button up or down + top: -30, // Adjust this value to move the button up or down marginLeft: -42.5, // Half of the button width (85/2) width: 85, height: 85, @@ -168,7 +162,7 @@ const AskNavbar = ({ wsStatus }: AskNavbarProps) => { return ( - + navigateTo('/memo-list')} @@ -186,7 +180,7 @@ const AskNavbar = ({ wsStatus }: AskNavbarProps) => { style={styles.centerButton} > - +

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%0D_c|{oc{x(RM1Y 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�utErb}$j{5bd(_W5zQd1b( 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 z%0A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ΠOe} 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%0Aiw;V`Q&7wSr^$oSjjxna%5fujz~{ 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