update: 2026-03-28 20:59

This commit is contained in:
2026-03-28 20:59:52 +08:00
parent e21d58e603
commit 1c81d4e6ea
611 changed files with 27847 additions and 65061 deletions

View File

@@ -46,7 +46,9 @@
</div>
</div>
<script src="/aimodelapp/shared/ai-prompts.js"></script>
<script src="env.js"></script>
<script src="/aimodelapp/shared/ai-chat.js"></script>
<script src="script.js"></script>
</body>
</html>

View File

@@ -31,46 +31,12 @@ const generateBtn = document.getElementById('generateBtn');
const loadingDiv = document.getElementById('loading');
const expressionsContainer = document.getElementById('expressions');
// 调用后端API
// 调用后端统一 chat提示词在前端
async function callBackendAPI(text, style) {
try {
// 获取JWT token
const token = localStorage.getItem('token');
if (!token) {
throw new Error('未登录请先登录后使用AI功能');
}
const response = await fetch(`${window.API_CONFIG.baseUrl}/api/aimodelapp/expression-maker`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({
text: text,
style: style
})
});
if (!response.ok) {
if (response.status === 402) {
throw new Error('您的萌芽币余额不足,无法使用此功能');
}
const errorData = await response.json();
throw new Error(errorData.error || `API请求失败: ${response.status} ${response.statusText}`);
}
const data = await response.json();
if (data.success) {
return data.expressions;
} else {
throw new Error(data.error || 'API响应格式异常');
}
} catch (error) {
console.error('API调用错误:', error);
throw error;
}
const content = await window.AiChat.complete([
{ role: 'user', content: window.AiPrompts.expressionMaker(text, style) },
]);
return parseAIResponse(content);
}
// 解析AI响应
@@ -232,12 +198,7 @@ async function generateExpressions() {
displayExpressions(expressions);
} catch (error) {
console.error('生成表情失败:', error);
// 检查是否是萌芽币不足导致的错误
if (error.message && error.message.includes('萌芽币余额不足')) {
showErrorMessage(`萌芽币不足: 每次使用AI功能需要消耗100萌芽币请通过每日签到获取更多萌芽币`);
} else {
showErrorMessage(`生成失败: ${error.message}`);
}
showErrorMessage(`生成失败: ${error.message}`);
} finally {
showLoading(false);
}