huaanglimeng/utils/dailyAdvice.js

88 lines
2.7 KiB
JavaScript
Raw Permalink Normal View History

/**
* 每日建议生成器
* 基于日期生成随机建议确保同一天返回相同内容
*/
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
};