About

关于这个小站

zhu99.cn 不是作品集,也不是博客。它就是一个很小、但确实有用的工具站: 帮你把「在一起多久了」算清楚,帮你把想说的祝福说出口。

Why zhu99

名字的来历

zhu 是「祝」,99 是「久久」。连起来就是那句最常说的祝福: 祝你们长长久久。

这五个字在聊天框里出现过无数次,在红包备注里出现过无数次, 在婚礼现场的背景板上也出现过无数次。它足够短,短到可以变成一个域名; 也足够暖,暖到可以撑起一个小站。

所以这里的每一件小事都围绕它来:算日子、写祝福、做卡片、找句子。 没有会员,没有付费墙,也没有「登录后查看」。

「有没有一个地方能直接算出多少天?」

网上很多计算器要么带一堆广告,要么要你注册,要么算得不准。

先做最需要的三件事

算日子、祝福墙、祝福卡。够用就停,不为了功能多而堆功能。

保持简单

纯静态页面,没有构建步骤,没有第三方脚本。打开就是全部功能。

四个小工具

  • 算日子 —— 实时天数 + 全部里程碑倒数
  • 祝福墙 —— 写一条,或者给别人点个心
  • 祝福卡 —— 生成图片,直接发出去
  • 祝福语库 —— 想不出词的时候来挑一句

数据与隐私

这一节写得直白一点,因为它比功能重要。

  • 纪念日、收藏的句子:只存在你自己的浏览器里,服务器完全不知道
  • 祝福墙的留言:存在 Cloudflare KV,公开可读,请勿写隐私信息
  • 没有统计脚本、没有 Cookie 追踪、没有第三方广告
  • 防刷只用到 IP 的加盐哈希,不保存明文 IP
  • 想删掉自己留的祝福,发邮件给我,我会删掉

给一对朋友做专属页

在链接里带上名字和日期,就得到一个只属于他们的页面:

https://zhu99.cn/?from=小明&to=小红&d=2021-05-20

参数说明:from / to 是名字,d 是开始的日期, msg 是寄语。都不填就是通用页面。


Tech

技术说明

写得简单,是因为想让它十年后还能打开。

纯静态前端

手写 HTML / CSS / JavaScript,没有框架、没有构建步骤、没有 npm 依赖。 关掉 JS 也能读完整页内容。

HTMLCSS 变量原生 JS

Cloudflare Pages

托管在 Cloudflare 的全球边缘网络上,自动 HTTPS,推送到仓库就自动部署。 安全响应头和缓存策略都写在配置文件里。

Pages_headersEdge

Pages Functions + KV

祝福墙的两个接口跑在边缘节点上:读取、提交、点赞。 没配置存储时会自动降级成「只存在本机」,功能不会崩。

FunctionsKVJSON API
想看接口返回什么?/api/wishes 是祝福墙数据, /api/site 会告诉你这次请求命中了哪个 Cloudflare 机房。

Say hi

有想法,或者发现哪里算错了

算错天数、句子不通顺、想加一个功能 —— 都欢迎写信告诉我。 邮件是唯一可靠的入口,我基本都会回。

[email protected] 赞助支持