Address code review: fix duplicate README row, improve session ID entropy, accessibility, constants

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-03-11 10:02:30 +00:00
parent 52113dd59b
commit 7189a7af88
3 changed files with 7 additions and 12 deletions

View File

@ -62,10 +62,9 @@
| 人格体 | 角色 | 职责 | | 人格体 | 角色 | 职责 |
|--------|------|------| |--------|------|------|
| **铸渊 Zhùyuān** | 代码守护者 | 代码审查、CI 巡检、模块协议执行、Issue 回复 | | **铸渊 Zhùyuān** | 代码守护者 | 代码审查、CI 巡检、模块协议执行、Issue 回复、对话协助、代码生成、开发体验([Persona Studio](https://qinfendebingshuo.github.io/guanghulab/persona-studio/) |
| **冰朔 Bīng Shuò** | 系统创建者 | 系统架构设计、核心决策、广播发布 | | **冰朔 Bīng Shuò** | 系统创建者 | 系统架构设计、核心决策、广播发布 |
| **霜砚 Shuāng Yàn** | 人格导师 | 人格调校、风格管理、联觉语言系统 | | **霜砚 Shuāng Yàn** | 人格导师 | 人格调校、风格管理、联觉语言系统 |
| **铸渊 Zhùyuān** | 代码守护者 | 代码审查、CI 巡检、模块协议执行、Issue 回复、对话协助、代码生成、开发体验([Persona Studio](https://qinfendebingshuo.github.io/guanghulab/persona-studio/) |
--- ---

View File

@ -82,11 +82,11 @@
<div class="input-toolbar"> <div class="input-toolbar">
<label class="toolbar-btn" title="上传图片" for="imageUpload"> <label class="toolbar-btn" title="上传图片" for="imageUpload">
🖼️ 🖼️
<input type="file" id="imageUpload" accept="image/*" style="display:none" onchange="handleFileSelect(event, 'image')"> <input type="file" id="imageUpload" accept="image/*" style="display:none" onchange="handleFileSelect(event, 'image')" aria-label="上传图片">
</label> </label>
<label class="toolbar-btn" title="上传文件" for="fileUpload"> <label class="toolbar-btn" title="上传文件" for="fileUpload">
📎 📎
<input type="file" id="fileUpload" style="display:none" onchange="handleFileSelect(event, 'file')"> <input type="file" id="fileUpload" style="display:none" onchange="handleFileSelect(event, 'file')" aria-label="上传文件">
</label> </label>
<div id="uploadPreview" class="upload-preview" style="display:none;"></div> <div id="uploadPreview" class="upload-preview" style="display:none;"></div>
</div> </div>

View File

@ -22,6 +22,7 @@ const API_BASE = (function () {
let conversationHistory = []; let conversationHistory = [];
let buildReady = false; let buildReady = false;
let pendingFile = null; // { name, type, dataUrl } let pendingFile = null; // { name, type, dataUrl }
const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB
const isGuest = (DEV_ID === 'GUEST'); const isGuest = (DEV_ID === 'GUEST');
const isDeveloper = (DEV_ID && DEV_ID !== 'GUEST' && /^EXP-\d{3,}$/.test(DEV_ID)); const isDeveloper = (DEV_ID && DEV_ID !== 'GUEST' && /^EXP-\d{3,}$/.test(DEV_ID));
@ -48,7 +49,7 @@ function setActiveSessionId(id) {
} }
function createNewSession() { function createNewSession() {
var id = Date.now().toString(36) + Math.random().toString(36).slice(2, 6); var id = Date.now().toString(36) + Math.random().toString(36).slice(2, 10);
var session = { var session = {
id: id, id: id,
title: '新对话', title: '新对话',
@ -299,8 +300,7 @@ function handleFileSelect(event, type) {
var file = event.target.files[0]; var file = event.target.files[0];
if (!file) return; if (!file) return;
var maxSize = 5 * 1024 * 1024; // 5MB if (file.size > MAX_FILE_SIZE) {
if (file.size > maxSize) {
appendMessage('system', '⚠️ 文件过大,最大支持 5MB'); appendMessage('system', '⚠️ 文件过大,最大支持 5MB');
event.target.value = ''; event.target.value = '';
return; return;
@ -318,11 +318,7 @@ function handleFileSelect(event, type) {
showUploadPreview(); showUploadPreview();
}; };
if (type === 'image') { reader.readAsDataURL(file);
reader.readAsDataURL(file);
} else {
reader.readAsDataURL(file);
}
event.target.value = ''; event.target.value = '';
} }