zlwu hai 10 meses
pai
achega
039b851cde

+ 3 - 3
backend/.env.lyrria

@@ -157,10 +157,10 @@ WECHAT_APP_SECRET=b719c27b07b5db0abd2b83cc8dc22c7b
 WECHAT_REDIRECT_URI=https://www.lyrria.com/api/auth/wechat/callback
 
 # QQ开放平台配置
-QQ_APP_ID=102820972
-QQ_APP_KEY=gCpENJ1WlkU8cyEG
+QQ_APP_ID=102822638
+QQ_APP_KEY=Mgt17CObjo2FPXt7
 QQ_REDIRECT_URI=https://www.lyrria.com/api/qq/mp/verify
-QQ_APP_NAME=Lyrria英语教学助手
+QQ_APP_NAME=灵语网
 
 # 前端URL配置(用于OAuth回调后的前端跳转)
 FRONTEND_URL=https://www.lyrria.com

+ 10 - 10
backend/main.py

@@ -292,8 +292,8 @@ class ShareImageItem(BaseModel):
 
 
 SHARE_IMAGES: List[ShareImageItem] = [
-    ShareImageItem(id="share-1", url="https://assets.lyrria.com/share-1.png"),
-    ShareImageItem(id="share-2", url="https://assets.lyrria.com/share-2.png"),
+    ShareImageItem(id="share-1", url="https://www.lyrria.com/img/share-1.png"),
+    ShareImageItem(id="share-2", url="https://www.lyrria.com/img/share-2.png"),
 ]
 
 
@@ -306,16 +306,16 @@ class AvatarGifSet(BaseModel):
 
 AVATAR_GIF_CONFIG = {
     "avatar_default": AvatarGifSet(
-        default="https://assets.lyrria.com/01-Default.gif",
-        positive="https://assets.lyrria.com/04-Positive-emotion.gif",
-        negative="https://assets.lyrria.com/05-Negative-emotion.gif",
-        talking="https://assets.lyrria.com/06-talking.gif",
+        default="https://www.lyrria.com/img/01-Default.gif",
+        positive="https://www.lyrria.com/img/04-Positive-emotion.gif",
+        negative="https://www.lyrria.com/img/05-Negative-emotion.gif",
+        talking="https://www.lyrria.com/img/06-talking.gif",
     ),
     "avatar_registered_cap": AvatarGifSet(
-        default="https://assets.lyrria.com/01-Default-Registered.gif",
-        positive="https://assets.lyrria.com/04-Positive-emotion-Registered.gif",
-        negative="https://assets.lyrria.com/05-Negative-emotion-Registered.gif",
-        talking="https://assets.lyrria.com/06-talking-Registered.gif",
+        default="https://www.lyrria.com/img/01-Default-Registered.gif",
+        positive="https://www.lyrria.com/img/04-Positive-emotion-Registered.gif",
+        negative="https://www.lyrria.com/img/05-Negative-emotion-Registered.gif",
+        talking="https://www.lyrria.com/img/06-talking-Registered.gif",
     ),
 }
 

+ 8 - 8
backend/migrations/migrate_add_avatars.py

@@ -16,10 +16,10 @@ REGISTERED_AVATAR_ID = "avatar_registered_cap"
 
 # 默认形象 GIF 资源
 DEFAULT_AVATAR_ASSETS = [
-    (DEFAULT_AVATAR_ID, "default", "https://assets.lyrria.com/01-Default.gif"),
-    (DEFAULT_AVATAR_ID, "positive", "https://assets.lyrria.com/04-Positive-emotion.gif"),
-    (DEFAULT_AVATAR_ID, "negative", "https://assets.lyrria.com/05-Negative-emotion.gif"),
-    (DEFAULT_AVATAR_ID, "talking", "https://assets.lyrria.com/06-talking.gif"),
+    (DEFAULT_AVATAR_ID, "default", "https://www.lyrria.com/img/01-Default.gif"),
+    (DEFAULT_AVATAR_ID, "positive", "https://www.lyrria.com/img/04-Positive-emotion.gif"),
+    (DEFAULT_AVATAR_ID, "negative", "https://www.lyrria.com/img/05-Negative-emotion.gif"),
+    (DEFAULT_AVATAR_ID, "talking", "https://www.lyrria.com/img/06-talking.gif"),
 ]
 
 # 注册赠送形象 GIF 资源
@@ -27,22 +27,22 @@ REGISTERED_AVATAR_ASSETS = [
     (
         REGISTERED_AVATAR_ID,
         "default",
-        "https://assets.lyrria.com/01-Default-Registered.gif",
+        "https://www.lyrria.com/img/01-Default-Registered.gif",
     ),
     (
         REGISTERED_AVATAR_ID,
         "positive",
-        "https://assets.lyrria.com/04-Positive-emotion-Registered.gif",
+        "https://www.lyrria.com/img/04-Positive-emotion-Registered.gif",
     ),
     (
         REGISTERED_AVATAR_ID,
         "negative",
-        "https://assets.lyrria.com/05-Negative-emotion-Registered.gif",
+        "https://www.lyrria.com/img/05-Negative-emotion-Registered.gif",
     ),
     (
         REGISTERED_AVATAR_ID,
         "talking",
-        "https://assets.lyrria.com/06-talking-Registered.gif",
+        "https://www.lyrria.com/img/06-talking-Registered.gif",
     ),
 ]
 

+ 2 - 2
backend/migrations/migrate_add_background_images.py

@@ -142,7 +142,7 @@ async def migrate_create_background_images_tables() -> bool:
                     INSERT INTO background_images 
                     (image_id, image_name, image_url, unlock_type, display_order, description)
                     VALUES 
-                    ('default', '默认背景', 'https://assets.lyrria.com/init.jpg', 'default', 1, '默认背景图片')
+                    ('default', '默认背景', 'https://www.lyrria.com/img/init.jpg', 'default', 1, '默认背景图片')
                     """
                 )
                 print("✅ 默认背景图片已添加")
@@ -161,7 +161,7 @@ async def migrate_create_background_images_tables() -> bool:
                     INSERT INTO background_images 
                     (image_id, image_name, image_url, unlock_type, display_order, description)
                     VALUES 
-                    ('happynewyear', '新年背景', 'https://assets.lyrria.com/bg-happynewyear.png', 'default', 2, '新年背景图片')
+                    ('happynewyear', '新年背景', 'https://www.lyrria.com/img/bg-happynewyear.png', 'default', 2, '新年背景图片')
                     """
                 )
                 print("✅ 新年背景图片已添加")

+ 2 - 2
frontend/.env.production

@@ -13,8 +13,8 @@ VITE_SSL_KEYFILE=/etc/nginx/cert/lyrria.com.key
 VITE_SSL_CERTFILE=/etc/nginx/cert/lyrria.com.pem
 
 VITE_ENABLE_HTTPS=true
-VITE_WELCOME_VIDEO_URL=https://assets.lyrria.com/Lyrria-video.mp4
-VITE_OSS_BASE_URL=https://assets.lyrria.com
+VITE_WELCOME_VIDEO_URL=https://www.lyrria.com/img/Lyrria-video.mp4
+VITE_OSS_BASE_URL=https://www.lyrria.com/img
 
 # SSL证书路径(可选,打包时不需要)
 # VITE_SSL_KEYFILE=/path/to/production/key.pem

+ 2 - 2
frontend/.env.production-cy

@@ -10,7 +10,7 @@ VITE_ENABLE_HTTPS=true
 VITE_SSL_KEYFILE=/root/.acme.sh/chengyantek.cn_ecc/chengyantek.cn.key
 VITE_SSL_CERTFILE=/root/.acme.sh/chengyantek.cn_ecc/fullchain.cer
 
-VITE_WELCOME_VIDEO_URL=http://assets.lyrria.com/Lyrria-video.mp4
-VITE_OSS_BASE_URL=http://assets.lyrria.com
+VITE_WELCOME_VIDEO_URL=http://www.lyrria.com/img/Lyrria-video.mp4
+VITE_OSS_BASE_URL=http://www.lyrria.com/img
 
 VITE_API_CLIENT_KEY=jdafdsfasfaakkkzxmfdxdd

+ 2 - 2
frontend/ENV_CONFIG.md

@@ -24,8 +24,8 @@ cp .env.example .env
 | `VITE_API_BASE_URL` | API 基础 URL | - | 否 |
 | `VITE_API_CLIENT_KEY` | API Key,用于验证请求来源(必须与后端 `API_CLIENT_KEY` 一致) | - | 是 |
 | `VITE_APP_BASE_PATH` | 前端部署子路径(以 `/` 开头和结尾) | `/` | 否 |
-| `VITE_WELCOME_VIDEO_URL` | Welcome 页面视频 URL | `https://assets.lyrria.com/Lyrria-video.mp4` | 否 |
-| `VITE_OSS_BASE_URL` | OSS 资源基础 URL(用于图片、GIF 等静态资源) | `https://assets.lyrria.com` | 否 |
+| `VITE_WELCOME_VIDEO_URL` | Welcome 页面视频 URL | `https://www.lyrria.com/img/Lyrria-video.mp4` | 否 |
+| `VITE_OSS_BASE_URL` | OSS 资源基础 URL(用于图片、GIF 等静态资源) | `https://www.lyrria.com/img` | 否 |
 
 ## 使用场景
 

+ 2 - 2
frontend/index.html

@@ -19,10 +19,10 @@
     <meta property="og:description" content="Your adventure begins now." />
     <meta property="og:type" content="website" />
     <meta property="og:site_name" content="Lumi" />
-    <meta property="og:image" content="https://assets.lyrria.com/Lumi-cap.png" />
+    <meta property="og:image" content="https://www.lyrria.com/img/Lumi-cap.png" />
     <meta itemprop="name" content="Lumi (by Lyrria, Early Access)" />
     <meta itemprop="description" content="Your adventure begins now." />
-    <meta itemprop="image" content="https://assets.lyrria.com/Lumi-cap.png" />
+    <meta itemprop="image" content="https://www.lyrria.com/img/Lumi-cap.png" />
     <meta name="description" content="Your adventure begins now." />
     
     <title>Lumi</title>

+ 1 - 1
frontend/src/index.css

@@ -50,7 +50,7 @@ body {
   padding: 0;
   /* 全局背景:在宽度超过 600px 时,左右区域仍然使用应用背景而不是纯白色 */
   background-color: #E8E8E8;
-  background-image: var(--oss-chatbot-bg-url, url("https://assets.lyrria.com/chatbot-bg.svg"));
+  background-image: var(--oss-chatbot-bg-url, url("https://www.lyrria.com/img/chatbot-bg.svg"));
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;

+ 1 - 1
frontend/src/utils/oss.ts

@@ -4,7 +4,7 @@
  */
 
 // 从环境变量读取 OSS 基础 URL,如果没有配置则使用默认值
-let OSS_BASE_URL = import.meta.env.VITE_OSS_BASE_URL || 'https://assets.lyrria.com';
+let OSS_BASE_URL = import.meta.env.VITE_OSS_BASE_URL || 'https://www.lyrria.com/img';
 
 // 如果配置的是协议相对 URL(以 // 开头),根据当前页面协议自动选择
 if (OSS_BASE_URL.startsWith('//')) {

+ 1 - 1
sendmsg/send_email.py

@@ -92,7 +92,7 @@ EMAIL_BODY_TEMPLATE = """
           <div class="container">
             <div class="logo">Lumi</div>
             <div class="hero">
-              <img src="https://assets.lyrria.com/Lumi-cap.png" alt="Lumi" />
+              <img src="https://www.lyrria.com/img/Lumi-cap.png" alt="Lumi" />
             </div>
             <div class="title">您的登录验证码</div>
             <div class="subtitle">请在 5 分钟内完成校验,保护您的账号安全。</div>

+ 1 - 0
项目文档/小进度值异常阴影修复方案.md

@@ -151,3 +151,4 @@ if (progress > 0) {
 
 
 
+