Rebrand the entire application from "胡萝卜社区" (Carrot BBS) to "威友" (WithYou), including:
Some checks failed
Frontend CI / build-and-push-web (push) Failing after 2m51s
Frontend CI / ota-android (push) Successful in 11m16s
Frontend CI / build-android-apk (push) Failing after 12m54s

- Update app name, package name (skin.carrot.bbs → cn.qczlit.withyou), and bundle identifier
- Update API endpoints (bbs.littlelan.cn → withyou.littlelan.cn)
- Update URL scheme (carrotbbs:// → withyou://)
- Rename database from carrot_bbs to with_you
- Update CI/CD pipeline image names and artifact naming
- Add Android signing configuration for release builds
- Update all UI text and comments throughout the codebase
- Refactor registerStore to use in-memory state instead of AsyncStorage persistence
- Improve WebRTC track handling and call stream management
- Add metro platform resolution for native platform support

BREAKING app package, database, and URLs are no longer valid
This commit is contained in:
lafay
2026-04-22 16:54:51 +08:00
parent 1c3797ea7d
commit 437dab3b6e
47 changed files with 221 additions and 235 deletions

View File

@@ -1,6 +1,6 @@
/**
/**
* 忘记密码页 ForgotPasswordScreen简洁表单样式
* 胡萝卜BBS - 找回密码
* 威友 - 找回密码
*
* 设计风格:
* - 纯白背景,扁平化设计

View File

@@ -1,6 +1,6 @@
/**
/**
* 登录页 LoginScreen简洁表单样式
* 胡萝卜BBS - 用户登录
* 威友 - 用户登录
*
* 设计风格:
* - 纯白背景,扁平化设计

View File

@@ -1,13 +1,13 @@
/**
/**
* 注册页面(分步向导版)
* 胡萝卜BBS - 用户注册流程
* 威友 - 用户注册流程
*
* 步骤:
* 1. 输入邮箱
* 2. 填写验证码
* 3. 设置用户信息
*
* 使用 registerStore 持久化存储步骤数据
* 使用 registerStore 纯内存状态管理
*/
import React, { useEffect, useMemo, useRef } from 'react';
@@ -42,7 +42,7 @@ import { RegisterStep1Email } from './RegisterStep1Email';
import { RegisterStep2Verification } from './RegisterStep2Verification';
import { RegisterStep3Profile } from './RegisterStep3Profile';
// 胡萝卜橙主题色
// 威友橙主题色
const THEME_COLORS = {
primary: '#FF6B35',
primaryLight: '#FF8C5A',
@@ -87,16 +87,9 @@ export const RegisterScreen: React.FC = () => {
const fadeAnim = useRef(new Animated.Value(0)).current;
const slideAnim = useRef(new Animated.Value(20)).current;
// 恢复持久化的数据
const [isHydrated, setIsHydrated] = React.useState(false);
// 页面挂载时重置倒计时,避免上次残留的倒计时导致无法重新获取验证码
useEffect(() => {
const hydrateData = async () => {
const { hydrate } = useRegisterStore.getState();
await hydrate();
setIsHydrated(true);
};
hydrateData();
setCountdown(0);
}, []);
// 检查是否已登录

View File

@@ -1,9 +1,9 @@
/**
/**
* 欢迎页 WelcomeScreen
* 胡萝卜BBS - 用户欢迎页
* 威友 - 用户欢迎页
*
* 亮色模式:白色主色调 + 胡萝卜橙辅色
* 暗色模式:深色背景 + 胡萝卜橙辅色
* 亮色模式:白色主色调 + 威友橙辅色
* 暗色模式:深色背景 + 威友橙辅色
*/
import React, { useEffect, useRef, useMemo } from 'react';
@@ -89,7 +89,7 @@ export const WelcomeScreen: React.FC = () => {
{/* 品牌区域 */}
<View style={styles.brandSection}>
<Text style={styles.welcomeEn}>Welcome To</Text>
<Text style={styles.brandName}></Text>
<Text style={styles.brandName}></Text>
<View style={styles.brandUnderline} />
<Text style={styles.subtitle}>
@@ -139,7 +139,7 @@ function createWelcomeStyles(colors: AppColors) {
paddingBottom: 40,
},
// 装饰性背景元素 - 使用胡萝卜橙的淡色
// 装饰性背景元素 - 使用威友橙的淡色
decorCircle1: {
position: 'absolute',
top: -100,
@@ -147,7 +147,7 @@ function createWelcomeStyles(colors: AppColors) {
width: 400,
height: 400,
borderRadius: 200,
backgroundColor: colors.primary.main + '08', // 非常淡的胡萝卜
backgroundColor: colors.primary.main + '08', // 非常淡的威友
},
decorCircle2: {
position: 'absolute',

View File

@@ -1,6 +1,6 @@
/**
/**
* 认证屏幕导出
* 胡萝卜BBS - 登录注册模块
* 威友 - 登录注册模块
*/
export { LoginScreen } from './LoginScreen';