Files
ZhiQiXiaoYuan/直接初始化持久化数据.js
ChuXun eaab9a762a 1
2025-10-19 20:28:31 +08:00

187 lines
7.9 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 🔥 直接初始化数据到微信小程序本地存储
*
* 使用方法:
* 1. 打开微信开发者工具
* 2. 打开控制台Console
* 3. 复制粘贴这整个文件的代码
* 4. 按回车执行
*
* ⚠️ 这会直接写入数据到 wx.storage持久化存储
*/
console.log('');
console.log('╔════════════════════════════════════════════════╗');
console.log('║ 🔥 开始初始化持久化存储数据 ║');
console.log('╚════════════════════════════════════════════════╝');
console.log('');
// ========================================
// 1. GPA课程数据16门课程4个学期
// ========================================
const gpaCourses = [
// 2023-1学期
{ id: 1, name: '高等数学A(上)', score: 92, credit: 5, semester: '2023-1' },
{ id: 2, name: '大学英语(一)', score: 88, credit: 3, semester: '2023-1' },
{ id: 3, name: '程序设计基础', score: 95, credit: 4, semester: '2023-1' },
{ id: 4, name: '思想道德与法治', score: 85, credit: 3, semester: '2023-1' },
// 2023-2学期
{ id: 5, name: '高等数学A(下)', score: 90, credit: 5, semester: '2023-2' },
{ id: 6, name: '大学英语(二)', score: 87, credit: 3, semester: '2023-2' },
{ id: 7, name: '数据结构', score: 93, credit: 4, semester: '2023-2' },
{ id: 8, name: '线性代数', score: 89, credit: 3, semester: '2023-2' },
// 2024-1学期
{ id: 9, name: '概率论与数理统计', score: 91, credit: 4, semester: '2024-1' },
{ id: 10, name: '计算机组成原理', score: 88, credit: 4, semester: '2024-1' },
{ id: 11, name: '操作系统', score: 94, credit: 4, semester: '2024-1' },
{ id: 12, name: '大学物理', score: 86, credit: 3, semester: '2024-1' },
// 2024-2学期
{ id: 13, name: '数据库系统', score: 95, credit: 4, semester: '2024-2' },
{ id: 14, name: '计算机网络', score: 92, credit: 4, semester: '2024-2' },
{ id: 15, name: '软件工程', score: 90, credit: 3, semester: '2024-2' },
{ id: 16, name: '人工智能导论', score: 96, credit: 3, semester: '2024-2' }
];
wx.setStorageSync('gpaCourses', gpaCourses);
console.log('✅ 已写入 gpaCourses: 16门课程');
// ========================================
// 2. 学习时长数据最近30天
// ========================================
const today = new Date();
const learningData = {
totalDays: 30,
totalHours: 85.5,
dailyRecords: []
};
const dailyActivity = {};
const moduleUsage = {
course: 28.5, // 课程中心
forum: 22.3, // 论坛
tools: 25.7, // 工具
ai: 9.0 // AI助手
};
// 生成最近30天的数据
for (let i = 29; i >= 0; i--) {
const date = new Date(today);
date.setDate(date.getDate() - i);
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
const dateStr = `${year}-${month}-${day}`;
// 每天2-4小时学习时长
const duration = 2 + Math.random() * 2;
learningData.dailyRecords.push({
date: dateStr,
duration: parseFloat(duration.toFixed(1))
});
// 每日活跃度90-180分钟
const activity = Math.floor(90 + Math.random() * 90);
dailyActivity[dateStr] = activity;
}
wx.setStorageSync('learning_data', learningData);
console.log('✅ 已写入 learning_data: 30天学习记录');
wx.setStorageSync('daily_activity', dailyActivity);
console.log('✅ 已写入 daily_activity: 30天活跃度数据');
console.log(' 示例数据:', Object.keys(dailyActivity).slice(0, 3).map(k => `${k}: ${dailyActivity[k]}分钟`));
wx.setStorageSync('module_usage', moduleUsage);
console.log('✅ 已写入 module_usage: 4个模块使用时长');
// ========================================
// 3. 学习画像6个维度
// ========================================
const learningProfile = {
focus: 85, // 专注度
activity: 90, // 活跃度
duration: 75, // 学习时长
breadth: 88, // 知识广度
interaction: 72, // 互动性
persistence: 95 // 坚持度
};
wx.setStorageSync('learning_profile', learningProfile);
console.log('✅ 已写入 learning_profile: 6维度学习画像');
// ========================================
// 4. 课表数据
// ========================================
const scheduleData = {
1: {
'周一-1-2节': { name: '高等数学', location: '教学楼A101', teacher: '张教授', weeks: '1-16周' },
'周一-3-4节': { name: '大学英语', location: '教学楼B203', teacher: '李老师', weeks: '1-16周' },
'周二-1-2节': { name: '数据结构', location: '实验楼C301', teacher: '王教授', weeks: '1-16周' },
'周二-5-6节': { name: '计算机网络', location: '实验楼C302', teacher: '赵老师', weeks: '1-16周' },
'周三-3-4节': { name: '数据库系统', location: '教学楼A205', teacher: '刘教授', weeks: '1-16周' },
'周四-1-2节': { name: '操作系统', location: '实验楼C303', teacher: '陈老师', weeks: '1-16周' },
'周四-5-6节': { name: '软件工程', location: '教学楼B301', teacher: '杨教授', weeks: '1-16周' },
'周五-3-4节': { name: '人工智能导论', location: '教学楼A301', teacher: '周教授', weeks: '1-16周' }
}
};
wx.setStorageSync('schedule', scheduleData);
console.log('✅ 已写入 schedule: 8门课程安排');
// ========================================
// 5. 倒计时数据
// ========================================
const countdowns = [
{ id: 1, name: '期末考试', date: '2025-01-15', color: '#FF6B6B' },
{ id: 2, name: '英语四级', date: '2024-12-14', color: '#4ECDC4' },
{ id: 3, name: '数学竞赛', date: '2024-11-20', color: '#95E1D3' },
{ id: 4, name: '编程大赛', date: '2024-11-30', color: '#F38181' }
];
wx.setStorageSync('countdowns', countdowns);
console.log('✅ 已写入 countdowns: 4个重要事件');
// ========================================
// 6. 清除GPA历史记录让系统重新生成
// ========================================
wx.removeStorageSync('gpa_history');
console.log('✅ 已清除 gpa_history将从课程数据自动生成');
// ========================================
// 7. 标记数据已初始化
// ========================================
wx.setStorageSync('demo_data_initialized', true);
wx.setStorageSync('data_version', '2.0');
console.log('✅ 已设置数据版本标记');
console.log('');
console.log('╔════════════════════════════════════════════════╗');
console.log('║ 🎉 所有数据已写入持久化存储! ║');
console.log('╚════════════════════════════════════════════════╝');
console.log('');
console.log('📌 数据存储位置: wx.storage (本地持久化)');
console.log('📌 数据将在卸载小程序后清除');
console.log('');
console.log('🔍 验证数据:');
console.log(' wx.getStorageSync("gpaCourses") // 查看GPA课程');
console.log(' wx.getStorageSync("daily_activity") // 查看每日活跃度');
console.log(' wx.getStorageSync("learning_data") // 查看学习数据');
console.log('');
console.log('📊 现在进入"学习数据"页面即可看到完整图表!');
console.log('');
// ========================================
// 8. 显示数据摘要
// ========================================
console.group('📦 数据摘要');
console.log('GPA课程数:', gpaCourses.length);
console.log('学习记录天数:', learningData.dailyRecords.length);
console.log('活跃度记录天数:', Object.keys(dailyActivity).length);
console.log('课表课程数:', Object.keys(scheduleData[1]).length);
console.log('倒计时事件数:', countdowns.length);
console.groupEnd();