Quellcode durchsuchen

chore: 将项目名称从"多平台媒体管理系统"统一变更为"智媒通"

更新所有相关文件中的项目名称、描述和标题,包括:
- Dockerfile、数据库schema、README等文档
- 前后端package.json中的项目描述
- 客户端界面显示的标题和产品名称
- 软著申请材料中的软件全称和简称
- 相关脚本和配置文件中的名称引用
Ethanfly vor 16 Stunden
Ursprung
Commit
d3e8d14b3d

+ 2 - 2
README.md

@@ -1,4 +1,4 @@
-# 多平台媒体管理系统
+# 智媒通
 
 <p align="center">
   <img src="./docs/logo.png" width="128" height="128" alt="Logo">
@@ -297,7 +297,7 @@ python app.py
 
 # 看到以下输出表示成功:
 # ============================================================
-# 多平台视频发布服务
+# 智媒通视频发布服务
 # ============================================================
 # 服务地址: http://0.0.0.0:5005
 # ============================================================

+ 12 - 6
client/electron-builder.json

@@ -1,7 +1,7 @@
 {
   "$schema": "https://raw.githubusercontent.com/electron-userland/electron-builder/master/packages/app-builder-lib/scheme.json",
   "appId": "com.mediamanager.app",
-  "productName": "多平台媒体管理系统",
+  "productName": "智媒通",
   "directories": {
     "output": "release"
   },
@@ -19,7 +19,9 @@
     "target": [
       {
         "target": "nsis",
-        "arch": ["x64"]
+        "arch": [
+          "x64"
+        ]
       }
     ],
     "icon": "build/icon.png",
@@ -30,16 +32,20 @@
     "allowToChangeInstallationDirectory": true,
     "createDesktopShortcut": true,
     "createStartMenuShortcut": true,
-    "shortcutName": "媒体管理系统"
+    "shortcutName": "智媒通"
   },
   "mac": {
-    "target": ["dmg"],
+    "target": [
+      "dmg"
+    ],
     "icon": "build/icon.png",
     "artifactName": "${productName}-${version}.${ext}"
   },
   "linux": {
-    "target": ["AppImage"],
+    "target": [
+      "AppImage"
+    ],
     "icon": "build/icon.png",
     "artifactName": "${productName}-${version}.${ext}"
   }
-}
+}

+ 17 - 17
client/electron/main.ts

@@ -60,7 +60,7 @@ function createTray() {
     }
   ]);
 
-  tray.setToolTip('多平台媒体管理系统');
+  tray.setToolTip('智媒通');
   tray.setContextMenu(contextMenu);
 
   // 点击托盘图标显示窗口
@@ -234,10 +234,10 @@ function setupWebviewSessions() {
 function isAllowedUrl(url: string): boolean {
   if (!url) return false;
   const lowerUrl = url.toLowerCase();
-  return lowerUrl.startsWith('http://') || 
-         lowerUrl.startsWith('https://') || 
-         lowerUrl.startsWith('about:') ||
-         lowerUrl.startsWith('data:');
+  return lowerUrl.startsWith('http://') ||
+    lowerUrl.startsWith('https://') ||
+    lowerUrl.startsWith('about:') ||
+    lowerUrl.startsWith('data:');
 }
 
 // 阻止默认的 window-all-closed 行为,保持托盘运行
@@ -411,7 +411,7 @@ ipcMain.handle('set-webview-cookies', async (_event: unknown, partition: string,
   try {
     console.log(`[Main] 设置 webview cookies, partition=${partition}, count=${cookies.length}`);
     const ses = session.fromPartition(partition);
-    
+
     // 逐个设置 cookie
     let successCount = 0;
     for (const cookie of cookies) {
@@ -424,7 +424,7 @@ ipcMain.handle('set-webview-cookies', async (_event: unknown, partition: string,
           domain: cookie.domain,
           path: cookie.path || '/',
         };
-        
+
         // 可选字段
         if (cookie.expirationDate) {
           cookieToSet.expirationDate = cookie.expirationDate;
@@ -438,10 +438,10 @@ ipcMain.handle('set-webview-cookies', async (_event: unknown, partition: string,
         if (cookie.sameSite) {
           cookieToSet.sameSite = cookie.sameSite as 'no_restriction' | 'lax' | 'strict';
         }
-        
+
         await ses.cookies.set(cookieToSet);
         successCount++;
-        
+
         // 记录关键 Cookie
         if (cookie.name === 'BDUSS' || cookie.name === 'STOKEN' || cookie.name === 'sessionid') {
           console.log(`[Main] 成功设置关键 Cookie: ${cookie.name}, domain: ${cookie.domain}`);
@@ -450,9 +450,9 @@ ipcMain.handle('set-webview-cookies', async (_event: unknown, partition: string,
         console.error(`[Main] 设置 cookie 失败 (${cookie.name}):`, error);
       }
     }
-    
+
     console.log(`[Main] 成功设置 ${successCount}/${cookies.length} 个 cookies`);
-    
+
     // 验证 Cookie 是否真的设置成功
     try {
       const setCookies = await ses.cookies.get({ domain: '.baidu.com' });
@@ -462,7 +462,7 @@ ipcMain.handle('set-webview-cookies', async (_event: unknown, partition: string,
     } catch (verifyError) {
       console.error('[Main] 验证 Cookie 失败:', verifyError);
     }
-    
+
     return true;
   } catch (error) {
     console.error('[Main] 设置 cookies 失败:', error);
@@ -661,12 +661,12 @@ ipcMain.handle('webview-click-by-text', async (_event: unknown, webContentsId: n
 // ========== CDP 网络拦截功能 ==========
 // 存储每个 webContents 的网络拦截配置
 const networkInterceptors: Map<number, {
-  patterns: Array<{match: string, key: string}>;
-  pendingRequests: Map<string, {url: string, timestamp: number}>;
+  patterns: Array<{ match: string, key: string }>;
+  pendingRequests: Map<string, { url: string, timestamp: number }>;
 }> = new Map();
 
 // 启用 CDP 网络拦截
-ipcMain.handle('enable-network-intercept', async (_event: unknown, webContentsId: number, patterns: Array<{match: string, key: string}>) => {
+ipcMain.handle('enable-network-intercept', async (_event: unknown, webContentsId: number, patterns: Array<{ match: string, key: string }>) => {
   try {
     const wc = webContents.fromId(webContentsId);
     if (!wc) {
@@ -749,7 +749,7 @@ ipcMain.handle('enable-network-intercept', async (_event: unknown, webContentsId
           // 获取响应体
           const result = await wc.debugger.sendCommand('Network.getResponseBody', { requestId }) as { body: string; base64Encoded: boolean };
           let body = result.body;
-          
+
           // 如果是 base64 编码,解码
           if (result.base64Encoded) {
             body = Buffer.from(body, 'base64').toString('utf8');
@@ -812,7 +812,7 @@ ipcMain.handle('disable-network-intercept', async (_event: unknown, webContentsI
 });
 
 // 更新网络拦截的 patterns
-ipcMain.handle('update-network-patterns', async (_event: unknown, webContentsId: number, patterns: Array<{match: string, key: string}>) => {
+ipcMain.handle('update-network-patterns', async (_event: unknown, webContentsId: number, patterns: Array<{ match: string, key: string }>) => {
   const config = networkInterceptors.get(webContentsId);
   if (config) {
     config.patterns = patterns;

+ 16 - 12
client/index.html

@@ -1,14 +1,18 @@
 <!DOCTYPE html>
 <html lang="zh-CN">
-  <head>
-    <meta charset="UTF-8" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; connect-src 'self' http://localhost:* ws://localhost:*" />
-    <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
-    <title>多平台媒体管理系统</title>
-  </head>
-  <body>
-    <div id="app"></div>
-    <script type="module" src="/src/main.ts"></script>
-  </body>
-</html>
+
+<head>
+  <meta charset="UTF-8" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <meta http-equiv="Content-Security-Policy"
+    content="default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; connect-src 'self' http://localhost:* ws://localhost:*" />
+  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
+  <title>智媒通</title>
+</head>
+
+<body>
+  <div id="app"></div>
+  <script type="module" src="/src/main.ts"></script>
+</body>
+
+</html>

+ 2 - 2
client/package.json

@@ -1,7 +1,7 @@
 {
   "name": "@media-manager/client",
   "version": "1.0.0",
-  "description": "多自媒体平台管理系统桌面客户端",
+  "description": "智媒通桌面客户端",
   "main": "dist-electron/main.js",
   "scripts": {
     "dev": "vite",
@@ -48,7 +48,7 @@
   },
   "build": {
     "appId": "com.media-manager.app",
-    "productName": "多平台媒体管理",
+    "productName": "智媒通",
     "directories": {
       "output": "release"
     },

+ 9 - 0
client/src/components.d.ts

@@ -15,11 +15,17 @@ declare module 'vue' {
     ElBadge: typeof import('element-plus/es')['ElBadge']
     ElButton: typeof import('element-plus/es')['ElButton']
     ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup']
+    ElCascader: typeof import('element-plus/es')['ElCascader']
     ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
+    ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup']
+    ElCol: typeof import('element-plus/es')['ElCol']
     ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
     ElContainer: typeof import('element-plus/es')['ElContainer']
     ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
+    ElDescriptions: typeof import('element-plus/es')['ElDescriptions']
+    ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem']
     ElDialog: typeof import('element-plus/es')['ElDialog']
+    ElDivider: typeof import('element-plus/es')['ElDivider']
     ElDrawer: typeof import('element-plus/es')['ElDrawer']
     ElDropdown: typeof import('element-plus/es')['ElDropdown']
     ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
@@ -37,6 +43,7 @@ declare module 'vue' {
     ElProgress: typeof import('element-plus/es')['ElProgress']
     ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
     ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
+    ElRow: typeof import('element-plus/es')['ElRow']
     ElSelect: typeof import('element-plus/es')['ElSelect']
     ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
     ElSwitch: typeof import('element-plus/es')['ElSwitch']
@@ -45,6 +52,8 @@ declare module 'vue' {
     ElTabPane: typeof import('element-plus/es')['ElTabPane']
     ElTabs: typeof import('element-plus/es')['ElTabs']
     ElTag: typeof import('element-plus/es')['ElTag']
+    ElText: typeof import('element-plus/es')['ElText']
+    ElUpload: typeof import('element-plus/es')['ElUpload']
     Icons: typeof import('./components/icons/index.vue')['default']
     RouterLink: typeof import('vue-router')['RouterLink']
     RouterView: typeof import('vue-router')['RouterView']

+ 2 - 2
client/src/layouts/MainLayout.vue

@@ -19,7 +19,7 @@
             <circle cx="136" cy="352" r="10" fill="#fff" opacity="0.7"/>
             <circle cx="376" cy="352" r="10" fill="#fff" opacity="0.7"/>
           </svg>
-          <span class="logo-text">多平台媒体管理系统</span>
+          <span class="logo-text">智媒通</span>
         </div>
       </div>
       <div class="window-controls">
@@ -72,7 +72,7 @@
             <circle cx="136" cy="352" r="10" fill="#fff" opacity="0.7"/>
             <circle cx="376" cy="352" r="10" fill="#fff" opacity="0.7"/>
           </svg>
-          <span class="sidebar-title">媒体管理</span>
+          <span class="sidebar-title">智媒通</span>
         </div>
       
       <el-menu

+ 1 - 1
client/src/views/Login/index.vue

@@ -35,7 +35,7 @@
         <div class="logo">
           <el-icon><VideoPlay /></el-icon>
         </div>
-        <h1>多平台媒体管理系统</h1>
+        <h1>智媒通</h1>
         <p>登录您的账号以继续</p>
       </div>
       

+ 1 - 1
database/schema.sql

@@ -1,4 +1,4 @@
--- 多自媒体平台账号管理系统数据库表结构
+-- 智媒通数据库表结构
 -- MySQL 8.0+
 
 CREATE DATABASE IF NOT EXISTS media_manager 

+ 8 - 8
docs/软著申请-源代码材料.txt

@@ -1,10 +1,10 @@
 ===============================================================================
-                    多平台媒体管理系统 - 计算机软件著作权申请
+                    智媒通 - 计算机软件著作权申请
                               源代码材料(前60页+后60页)
 ===============================================================================
 
-软件全称:多平台媒体管理系统 V1.0
-软件简称:多平台媒体管理
+软件全称:智媒通 V1.0
+软件简称:智媒通
 版本号:V1.0
 开发完成日期:2025年
 首次发表日期:2025年
@@ -1174,7 +1174,7 @@ class BasePublisher(ABC):
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 """
-多平台视频发布服务 - 统一入口
+智媒通视频发布服务 - 统一入口
 支持平台: 抖音、小红书、视频号、快手
 
 参考项目: matrix (https://github.com/kebenxiaoming/matrix)
@@ -2664,7 +2664,7 @@ def health_check():
 def index():
     """首页"""
     return jsonify({
-        "name": "多平台视频发布服务",
+        "name": "智媒通视频发布服务",
         "version": "1.2.0",
         "endpoints": {
             "GET /": "服务信息",
@@ -2686,7 +2686,7 @@ def index():
 # ==================== 命令行启动 ====================
 
 def main():
-    parser = argparse.ArgumentParser(description='多平台视频发布服务')
+    parser = argparse.ArgumentParser(description='智媒通视频发布服务')
     parser.add_argument('--port', type=int, default=5005, help='服务端口 (默认: 5005)')
     # 从环境变量读取 HOST,默认仅本地访问
     default_host = os.environ.get('PYTHON_HOST', os.environ.get('HOST', '127.0.0.1'))
@@ -2708,7 +2708,7 @@ def main():
         pass
     
     print("=" * 60)
-    print("多平台视频发布服务")
+    print("智媒通视频发布服务")
     print("=" * 60)
     print(f"XHS SDK: {xhs_status}")
     print(f"Headless 模式: {HEADLESS_MODE}")
@@ -9725,4 +9725,4 @@ class KuaishouPublisher(BasePublisher):
             traceback.print_exc()
             return CommentsResult(success=False, platform=self.platform_name, work_id=work_id, error=str(e))
         
-        return CommentsResult(success=True, platform=self.platform_name, work_id=work_id, comments=comments, total=total, has_more=has_more)
+        return CommentsResult(success=True, platform=self.platform_name, work_id=work_id, comments=comments, total=total, has_more=has_more)

+ 2 - 2
package.json

@@ -1,7 +1,7 @@
 {
   "name": "multi-platform-media-manage",
   "version": "1.0.0",
-  "description": "多自媒体平台账号管理系统 - 支持视频发布、评论管理、数据分析",
+  "description": "智媒通 - 支持视频发布、评论管理、数据分析",
   "private": true,
   "type": "module",
   "pnpm": {
@@ -32,4 +32,4 @@
     "node": ">=20.0.0",
     "pnpm": ">=8.0.0"
   }
-}
+}

+ 3 - 3
scripts/generate-copyright-source.py

@@ -14,12 +14,12 @@ OUTPUT = ROOT / "docs" / "软著申请-源代码材料.txt"
 
 # 软著申请文件头
 HEADER = """===============================================================================
-                    多平台媒体管理系统 - 计算机软件著作权申请
+                    智媒通 - 计算机软件著作权申请
                               源代码材料(前60页+后60页)
 ===============================================================================
 
-软件全称:多平台媒体管理系统 V1.0
-软件简称:多平台媒体管理
+软件全称:智媒通 V1.0
+软件简称:智媒通
 版本号:V1.0
 开发完成日期:2025年
 首次发表日期:2025年

+ 1 - 1
server/Dockerfile

@@ -1,4 +1,4 @@
-# 多自媒体平台管理系统 - 后端服务 Dockerfile
+# 智媒通 - 后端服务 Dockerfile
 FROM node:20-slim
 
 # 安装 Playwright 依赖

+ 1 - 1
server/env.example

@@ -1,5 +1,5 @@
 # ========================================
-# 多平台媒体管理系统 - 服务端配置
+# 智媒通 - 服务端配置
 # ========================================
 # 复制此文件为 .env 并填入实际配置值
 # cp env.example .env (或 copy env.example .env)

+ 2 - 2
server/package.json

@@ -1,7 +1,7 @@
 {
   "name": "@media-manager/server",
   "version": "1.0.0",
-  "description": "多自媒体平台管理系统后端服务",
+  "description": "智媒通后端服务",
   "type": "module",
   "main": "./dist/app.js",
   "scripts": {
@@ -65,4 +65,4 @@
     "tsx": "^4.7.0",
     "typescript": "^5.3.3"
   }
-}
+}

+ 1 - 1
server/python/README.md

@@ -1,4 +1,4 @@
-# 多平台视频发布服务
+# 智媒通视频发布服务
 
 基于 [matrix](https://github.com/kebenxiaoming/matrix) 项目,使用 Python + Playwright 实现多平台视频发布功能。
 

+ 4 - 4
server/python/app.py

@@ -1,7 +1,7 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 """
-多平台视频发布服务 - 统一入口
+智媒通视频发布服务 - 统一入口
 支持平台: 抖音、小红书、视频号、快手
 
 参考项目: matrix (https://github.com/kebenxiaoming/matrix)
@@ -1491,7 +1491,7 @@ def health_check():
 def index():
     """首页"""
     return jsonify({
-        "name": "多平台视频发布服务",
+        "name": "智媒通视频发布服务",
         "version": "1.2.0",
         "endpoints": {
             "GET /": "服务信息",
@@ -1513,7 +1513,7 @@ def index():
 # ==================== 命令行启动 ====================
 
 def main():
-    parser = argparse.ArgumentParser(description='多平台视频发布服务')
+    parser = argparse.ArgumentParser(description='智媒通视频发布服务')
     parser.add_argument('--port', type=int, default=5005, help='服务端口 (默认: 5005)')
     # 从环境变量读取 HOST,默认仅本地访问
     default_host = os.environ.get('PYTHON_HOST', os.environ.get('HOST', '127.0.0.1'))
@@ -1535,7 +1535,7 @@ def main():
         pass
     
     print("=" * 60)
-    print("多平台视频发布服务")
+    print("智媒通视频发布服务")
     print("=" * 60)
     print(f"XHS SDK: {xhs_status}")
     print(f"Headless 模式: {HEADLESS_MODE}")