Skip to content

NF404301/life-scale

Repository files navigation

人生刻度

一个严肃、克制的个人重要历史时刻微信小程序。用户通过微信登录后,只能管理自己的生命事件,数据保存在微信云开发数据库。

功能范围

  • 多用户微信登录
  • 云数据库保存用户资料和历史时刻
  • 时间轴展示个人重要时刻
  • 新增、编辑、删除时刻
  • 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/:不依赖微信开发者工具的静态交互预览。

云开发准备

  1. 在微信开发者工具中打开本项目。
  2. 开通云开发,并创建云环境。
  3. 修改 app.js 里的 env 为你的云环境 ID。
  4. cloudfunctions/login 目录安装依赖并部署云函数。
  5. 创建数据库集合:
    • users
    • moments

建议数据库权限先设置为“仅创建者可读写”,保证每个用户只能访问自己的数据。

本地静态预览

可以直接用浏览器打开 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
}

About

人生刻度

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors