在日本生活时,提前登记好个人信息;遇到地震、台风等紧急情况时,连同当前位置一键发给家人朋友(短信 / 微信 / QQ / LINE / WhatsApp / 邮件 / 其他App)。
- 手机网页App(PWA):iPhone 和安卓都能用,可以“添加到主屏幕”像普通App一样打开
- 所有信息只保存在你自己的手机里,不上传任何服务器
- 打开过一次后,没网也能打开并用短信发送
在线地址:https://fumonull.github.io/sos-kit/(用手机打开后添加到主屏幕)
| 页面 | 说明 |
|---|---|
| 求助(首页) | 大红色 SOS 按钮、报平安 按钮、当前定位状态 |
| 发送面板 | 选择状况(受伤 / 被困 / 在避难所…)、补充一句话、中文 / 日本語 / 中日双语切换、预览消息、各渠道发送;发过的渠道会打 ✓ |
| 我的信息 | 姓名(汉字 / 片假名 / 罗马字)、生日、电话、住址、同住人、指定避难所、在留卡、在留资格、护照、保险、血型、持病、过敏、用药、医院、工作单位、紧急联系人、会说的语言等。每一项都可以单独设置是否“随求助发送” |
| 联系人 | 预先设置要通知的人和渠道 |
| 救援信息卡 | 全屏日文信息卡,可以直接给救援人员、医生看 |
| 紧急电话 | 119 / 110 / 171 / #7119 / JNTO 外国人热线 / 12308 / 你的辖区使领馆,点击直接拨打 |
| 备份 | 导出 / 导入 JSON 备份、清空数据 |
- 使用手机 GPS,消息里附带坐标、谷歌地图链接和高德地图链接(国内家人打不开谷歌地图时可以用高德)
- 获取不到当前位置时,会附带最后一次成功获取的位置并注明时间
- 短信 / WhatsApp / 邮件:可以预先存号码,点一下就自动填好收件人和内容,只需按“发送”
- 微信 / QQ:这两个App不允许其他程序直接指定好友(技术上做不到)。点按钮后会自动复制消息并打开微信/QQ,你选好友、粘贴、发送即可;App会提醒你要发给哪些人
- LINE:会打开LINE的好友选择界面
- 其他App:用系统分享菜单
定位功能要求网页必须通过 https 打开,所以需要把这个文件夹放到一个免费的静态网站托管上。 这个文件夹里没有任何个人信息(个人信息是你在手机上填写后保存在手机里的),所以放到网上是安全的。
任选一种:
- Netlify(最简单):注册免费账号 → 打开 https://app.netlify.com/drop → 把整个文件夹拖进去 → 得到一个
https://xxx.netlify.app网址 - GitHub Pages:建一个仓库上传这些文件 → Settings → Pages → 选择分支 → 得到
https://用户名.github.io/仓库名/ - Cloudflare Pages:Workers & Pages → 创建 → 上传文件夹
然后在手机上:
- iPhone:用 Safari 打开网址 → 底部「分享」→「添加到主屏幕」 安卓:用 Chrome 打开网址 → 右上角 ⋮ →「添加到主屏幕 / 安装应用」
- 从主屏幕图标打开,再填写信息、添加联系人 (iPhone 上 Safari 里填的数据和主屏幕App里的数据是分开保存的)
- 演练一次:点 SOS → 允许定位 → 发给自己,确认内容和位置正确
- 定期「更多 → 导出备份」,换手机时用「导入备份」恢复
python3 -m http.server 8765然后打开 http://localhost:8765(localhost 下定位和离线缓存也能用)。
index.html 页面结构
style.css 样式(支持深色模式)
app.js 全部逻辑:登记、联系人、消息生成、各渠道发送、备份
sw.js 离线缓存
manifest.webmanifest “添加到主屏幕”用的App信息(安卓长按图标有「SOS」「报平安」快捷方式)
icons/ App图标
修改代码后,如果手机上看不到更新,把 sw.js 里的 CACHE = 'sos-kit-v1' 改成 v2 再部署即可。
- iPhone:「设置 → SOS紧急联络」:拨打紧急电话后会自动给紧急联系人发短信和位置;「健康 → 医疗急救卡」:锁屏就能显示血型、过敏等
- 安卓:各品牌在「设置 → 安全与紧急情况」或类似位置有「紧急SOS」「紧急信息」