面向中国赴非旅行、务工和商务人员的“安全落地助手”,提供行前计划、签证、安全、健康、风俗、劳务、常用语和应急信息。
miniprogram/:微信小程序源码(用微信开发者工具打开此目录)。backend/:Express + MySQL API 服务。整合版.xlsx:11 个国家的初始内容数据源。backend/deploy/aliyun/:阿里云 ECS、Nginx、systemd 部署示例。
- 微信登录换取服务端会话,用户身份与角色只信任服务端数据。
- MySQL 内容、收藏、通知和帖子管理接口。
- 阿里云 OSS 私有图片上传与签名访问。
- 阿里云 ECS RAM Role / STS 自动刷新,生产启动配置校验与基础接口限流。
- ISO 3166-1 alpha-2 国家代码关联。
- 社区发布、持久化点赞与评论、微信分享、个人内容管理、收藏、消息。
- 语言、应用内提醒与隐私说明设置;支持删除账号及关联数据。
- 11 国资料的远程优先与离线回退;景点、推荐支持搜索、筛选和详情。
- 以肯尼亚完整页为基准统一景点、常用语、劳务与推荐的卡片式前端;其他国家无数据时显示真实空状态,不复用错误国别内容。
- 行前“安全落地计划”:出行目的、日期、签证进度、材料清单、预算、机酒和逐日行程,支持本机离线保存和登录后 MySQL 同步。
- 旅中工具箱:位置选择/地图打开、可替换地图 Provider 的路线代理(高德海外 / Mapbox / Google / 腾讯位置服务)、国家资料离线包、紧急拨号与阿里云机器翻译代理接口。
- AI 陪伴:DeepSeek 驱动的「小象」桌宠,常驻悬浮、可拖动,点一下就地弹出对话卡片;人设与密钥都在服务端,并会把当前国家的签证、安全与风险提醒注入提示词,未配置时不影响其余功能。
- 媒体存储可替换:阿里云 OSS 私有桶或服务器本地磁盘(
/media前缀),没有云凭据也能使用图片与头像。 - 个人资料:登录后可自助更换头像与昵称(微信原生
chooseAvatar+nickname输入)。 - 旅后复盘:实际费用与预算对比、五星评价、经验总结、社区游记发布和路线模板复用。
- 服务对接:经管理员审核的酒店、交通、导游和保险目录,以及登录用户的咨询意向与进度记录;不伪装成下单或支付。
- 内容可信机制:国家资料来源与更新时间、带来源和有效期的审核风险提醒、用户纠错及管理员审核记录。
- 9:16 移动首页:地图、翻译、离线包和紧急求助独立直达,按行前、旅中、旅后和服务层级组织,移除桌面式宽屏布局。
- 全局移动端视觉统一为简约、低饱和配色;内容卡片、返回控件和底部导航针对单手操作收紧层级与间距。
图标素材统一在 miniprogram/config/icons.js 配置:填写图片路径时优先显示自定义图片,留空时显示对应 emoji,不使用网络占位图;远程内容也可通过 iconImage 覆盖。
后续阶段和外部 API 接入位置见 SAFE_LANDING_ROADMAP.md。
- 复制
backend/.env.example为.env,填写本地 MySQL 和微信测试配置,不要提交该文件。 - 在
backend执行npm ci、npm run init-db、npm run import-excel、npm start。生产部署导入完成后应执行npm prune --omit=dev。 - 用微信开发者工具打开
miniprogram,开发环境默认请求http://127.0.0.1:3001。
部署到阿里云前,请阅读 backend/deploy/aliyun/README.md 和 SECURITY_REMOTE_SERVICE_BACKLOG.md。生产凭据必须通过服务器环境变量或 RAM 角色提供,不能写入仓库或小程序。