Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
167 lines (141 loc) · 6.43 KB

File metadata and controls

167 lines (141 loc) · 6.43 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
document.addEventListener('DOMContentLoaded', () => {
// 轮播相关代码
const galleryImg = document.querySelector('.gallery-item img');
let currentImageIndex = 0;
const images = [
'imgs/4K黄昏.png',
'imgs/a lonely winte.png',
'imgs/Artic Sunset.png'
];
// 图片加载错误处理
galleryImg.onerror = function() {
console.error('图片加载失败:', this.src);
this.src = 'https://picsum.photos/1200/675';
};
// 切换图片函数
function changeImage() {
galleryImg.style.opacity = '0';
setTimeout(() => {
galleryImg.src = images[currentImageIndex];
galleryImg.style.opacity = '1';
currentImageIndex = (currentImageIndex + 1) % images.length;
}, 500);
}
// 设置自动轮播间隔(5秒)
setInterval(changeImage, 5000);
// 初始加载第一张图片
galleryImg.src = images[0];
// AI聊天相关代码
const chatMessages = document.querySelector('.chat-messages');
const userInput = document.getElementById('userInput');
const sendButton = document.querySelector('.send-btn');
const MOONSHOT_API_KEY = 'sk-SsnAJdkcdjfnDI40o4YfKfsY1jvNorGCmJTTM1Xx971j4wHd'; // 临时保留,但需要注意安全性
const API_URL = 'https://api.moonshot.cn/v1/chat/completions';
async function getAIResponse(userMessage) {
try {
const response = await fetch(API_URL, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${MOONSHOT_API_KEY}`
},
body: JSON.stringify({
model: "moonshot-v1-8k",
messages: [
{
role: "system",
content: `你是之岸渐的AI助手,主人是一位独特的跨界人才:金融从业者、玄学爱好者和双碳领域的探索者。请遵循以下规则:
1. 专业领域介绍:
- 金融领域:擅长分析经济趋势和市场脉动
- 玄学研究:对生命哲学和东方玄学有独特见解
- 双碳探索:致力于可持续发展和环境保护实践
2. 回答特点:
- 在金融话题上展现专业洞见
- 在玄学讨论中体现深度思考
- 在环保议题上分享实践经验
- 善于将这三个领域进行跨界连接
3. 回答风格:
- 用友好且专业的语气
- 回答简洁,通常不超过三句话
- 适当使用表情符号增加亲和力
- 在专业术语后适时添加通俗解释
4. 互动指南:
- 鼓励访客探索作品集中的创作
- 对不确定的问题建议直接咨询之岸渐
- 在合适时机推荐相关领域的探讨
- 对负面言论保持礼貌但坚定的回应
5. 核心价值观:
- 强调理性思维与玄学智慧的结合
- 突出金融与环保的可持续发展理念
- 展现对生命和自然的敬畏之心
- 传递积极向上的人生态度`
},
{
role: "user",
content: userMessage
}
],
temperature: 0.7,
max_tokens: 800,
stream: false
})
});
const data = await response.json();
return data.choices[0].message.content;
} catch (error) {
console.error('AI响应错误:', error);
return '抱歉,我现在遇到了一些问题,请稍后再试。';
}
}
function addMessage(text, isUser = false) {
const messageDiv = document.createElement('div');
messageDiv.className = `message ${isUser ? 'user' : 'assistant'}`;
messageDiv.innerHTML = `<p>${text}</p>`;
chatMessages.appendChild(messageDiv);
chatMessages.scrollTop = chatMessages.scrollHeight;
return messageDiv; // 返回消息元素以便后续可能的移除操作
}
async function handleSend() {
const text = userInput.value.trim();
if (text === '') return;
// 添加用户消息
addMessage(text, true);
// 显示加载状态
const loadingMessage = addMessage('思考中...', false);
try {
// 获取AI回复
const response = await getAIResponse(text);
// 移除加载消息
loadingMessage.remove();
// 添加AI回复
addMessage(response);
} catch (error) {
// 移除加载消息
loadingMessage.remove();
// 显示错误消息
addMessage('抱歉,我遇到了一些问题,请稍后再试。');
}
// 清空输入框
userInput.value = '';
}
// 点击发送按钮发送消息
sendButton.addEventListener('click', handleSend);
// 按回车键发送消息
userInput.addEventListener('keypress', (e) => {
if (e.key === 'Enter') {
handleSend();
}
});
// 在 DOMContentLoaded 事件处理函数中添加
const emailLink = document.querySelector('.social-link.email');
const emailAddress = '380022215@qq.com';
emailLink.addEventListener('click', (e) => {
e.preventDefault();
navigator.clipboard.writeText(emailAddress).then(() => {
emailLink.classList.add('copied');
setTimeout(() => {
emailLink.classList.remove('copied');
}, 5000);
});
});
});
Morty Proxy This is a proxified and sanitized view of the page, visit original site.