一个严肃、克制的个人重要历史时刻微信小程序。用户通过微信登录后,只能管理自己的生命事件,数据保存在微信云开发数据库。
- 多用户微信登录
- 云数据库保存用户资料和历史时刻
- 时间轴展示个人重要时刻
- 新增、编辑、删除时刻
- 5 档重要程度
- 不支持图片和视频
- 默认不公开分享
- 生日可跳过;填写后,每个事件会统计发生时年龄
- 支持事件序列,自动统计“第几次获得成就 / 第几次发生某个事件”
- 人生概览
- 周、月、年方格进度
- 人生刻度视图:统计已度过的年、月、周、天,并展示关键节点在生命刻度上的位置
- 同月同日历史事件回望:查看过去年份在相同月日记录的事件
- 多类型导出:完整 JSON 备份、历史时刻 CSV、Markdown 档案、年度 Markdown,均不包含微信 openid
- 人生地图文字版
- 年度回顾
app.js/app.json/app.wxss:小程序入口、页面注册、全局样式。pages/timeline:时间轴首页,支持标题和正文搜索。pages/overview:总数、关键节点、年份、标签和事件序列统计。pages/progress:周、月、年进度、人生刻度视图,以及同月同日的历史事件回望。pages/map:按地点聚合的文字版人生地图。pages/profile:昵称、生日、签名管理;生日可跳过;支持导出 JSON 备份。pages/detail/pages/editor/pages/yearly:详情、编辑和年度回顾。services/db.js:所有云数据库读写入口。utils/date.js/utils/progress.js/utils/life-scale.js/utils/backup.js:日期、年龄、事件序列、进度、人生刻度和备份计算。cloudfunctions/login:返回当前微信用户 openid 的云函数。preview/:不依赖微信开发者工具的静态交互预览。
- 在微信开发者工具中打开本项目。
- 开通云开发,并创建云环境。
- 修改
app.js里的env为你的云环境 ID。 - 在
cloudfunctions/login目录安装依赖并部署云函数。 - 创建数据库集合:
usersmoments
建议数据库权限先设置为“仅创建者可读写”,保证每个用户只能访问自己的数据。
可以直接用浏览器打开 preview/index.html 查看核心交互和视觉风格。静态预览使用浏览器 localStorage 保存演示数据,不连接微信云开发,也不会覆盖小程序云数据库。
users
{
_openid: "微信用户 openid",
nickName: "用户昵称",
birthday: "1995-01-01",
signature: "人生由一个个刻度组成",
createdAt: Date,
updatedAt: Date
}moments
{
_openid: "微信用户 openid",
title: "第一次来到北京",
date: "2018-09-01",
location: "北京",
description: "那一天是人生阶段变化的开始。",
tags: ["转折", "城市", "成长"],
occurrenceName: "来到新城市",
importance: 5,
isMilestone: true,
createdAt: Date,
updatedAt: Date
}