88 lines
2.7 KiB
JavaScript
88 lines
2.7 KiB
JavaScript
|
|
/**
|
|||
|
|
* 每日建议生成器
|
|||
|
|
* 基于日期生成随机建议,确保同一天返回相同内容
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
const adviceList = [
|
|||
|
|
// 情感类
|
|||
|
|
"今天适合倾听内心的声音,答案就在你心中",
|
|||
|
|
"保持开放的心态,接纳新的可能性",
|
|||
|
|
"关注当下的感受,而不是未来的焦虑",
|
|||
|
|
"真诚地面对自己,才能看清真相",
|
|||
|
|
"给自己一些温柔,你已经做得很好了",
|
|||
|
|
|
|||
|
|
// 行动类
|
|||
|
|
"今天是行动的好时机,迈出第一步",
|
|||
|
|
"相信直觉,它会为你指引方向",
|
|||
|
|
"放下犹豫,勇敢地做出选择",
|
|||
|
|
"专注于你能控制的事情",
|
|||
|
|
"小步前进,也是一种进步",
|
|||
|
|
|
|||
|
|
// 成长类
|
|||
|
|
"每个挑战都是成长的机会",
|
|||
|
|
"接纳不完美,这是成长的一部分",
|
|||
|
|
"从过去的经验中学习,但不要被困住",
|
|||
|
|
"保持好奇心,探索未知的领域",
|
|||
|
|
"给自己时间,改变需要过程",
|
|||
|
|
|
|||
|
|
// 关系类
|
|||
|
|
"真诚的沟通能化解许多误会",
|
|||
|
|
"尊重他人的选择,也尊重自己的边界",
|
|||
|
|
"倾听比说服更重要",
|
|||
|
|
"关系需要双方的努力和理解",
|
|||
|
|
"给彼此一些空间,距离产生美",
|
|||
|
|
|
|||
|
|
// 平静类
|
|||
|
|
"深呼吸,让内心平静下来",
|
|||
|
|
"放下执念,顺其自然",
|
|||
|
|
"不必急于寻找答案,时机到了自然会明白",
|
|||
|
|
"享受当下的宁静时刻",
|
|||
|
|
"有些事情需要时间,耐心等待",
|
|||
|
|
|
|||
|
|
// 力量类
|
|||
|
|
"你比自己想象的更强大",
|
|||
|
|
"相信自己的判断力",
|
|||
|
|
"困难只是暂时的,你能度过",
|
|||
|
|
"你拥有改变现状的力量",
|
|||
|
|
"勇敢地表达自己的需求"
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取今日建议
|
|||
|
|
* @returns {string} 今日建议文本
|
|||
|
|
*/
|
|||
|
|
function getDailyAdvice() {
|
|||
|
|
try {
|
|||
|
|
// 获取今天的日期字符串(格式:YYYY-MM-DD)
|
|||
|
|
const today = new Date();
|
|||
|
|
const dateStr = `${today.getFullYear()}-${(today.getMonth() + 1).toString().padStart(2, '0')}-${today.getDate().toString().padStart(2, '0')}`;
|
|||
|
|
|
|||
|
|
// 使用日期字符串生成一个简单的哈希值作为随机种子
|
|||
|
|
let hash = 0;
|
|||
|
|
for (let i = 0; i < dateStr.length; i++) {
|
|||
|
|
hash = ((hash << 5) - hash) + dateStr.charCodeAt(i);
|
|||
|
|
hash = hash & hash; // Convert to 32bit integer
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 使用哈希值选择建议
|
|||
|
|
const index = Math.abs(hash) % adviceList.length;
|
|||
|
|
return adviceList[index];
|
|||
|
|
} catch (error) {
|
|||
|
|
console.error('[每日建议] 生成失败:', error);
|
|||
|
|
return adviceList[0]; // 返回默认建议
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取所有建议列表(用于测试或展示)
|
|||
|
|
* @returns {Array<string>} 建议列表
|
|||
|
|
*/
|
|||
|
|
function getAllAdvice() {
|
|||
|
|
return adviceList;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
module.exports = {
|
|||
|
|
getDailyAdvice,
|
|||
|
|
getAllAdvice
|
|||
|
|
};
|