Skip to content

Repository files navigation

非行智航:非洲旅游微信小程序

面向中国赴非旅行、务工和商务人员的“安全落地助手”,提供行前计划、签证、安全、健康、风俗、劳务、常用语和应急信息。

项目结构

  • 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

本地运行

  1. 复制 backend/.env.example.env,填写本地 MySQL 和微信测试配置,不要提交该文件。
  2. backend 执行 npm cinpm run init-dbnpm run import-excelnpm start。生产部署导入完成后应执行 npm prune --omit=dev
  3. 用微信开发者工具打开 miniprogram,开发环境默认请求 http://127.0.0.1:3001

部署到阿里云前,请阅读 backend/deploy/aliyun/README.mdSECURITY_REMOTE_SERVICE_BACKLOG.md。生产凭据必须通过服务器环境变量或 RAM 角色提供,不能写入仓库或小程序。

About

面向中国赴非旅行、务工和商务人员的“安全落地助手”,提供行前计划、签证、安全、健康、风俗、劳务、常用语和应急信息。

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages