39 lines
1.8 KiB
Markdown
39 lines
1.8 KiB
Markdown
# 万趣微信小程序
|
||
|
||
这是唯一的用户端前台,基于 Taro + React + TypeScript,覆盖探索、搜索、线路详情、收藏、最近浏览、微信手机号一键登录、H5 登录态同步、我的需求、退出登录和原生企微“联系我”页。
|
||
|
||
小程序已声明企微官方插件 `wx104a1a20c3f81ec2`(版本 `1.4.3`)。`pages/contact/index` 内置企业微信后台创建的联系我 `config_id`,直接渲染 `plugin://contactPlugin/cell`;H5 中的“企微联系”入口只负责跳转到该原生页。后端不参与联系我插件的配置、同步或回调。
|
||
|
||
## 本地开发
|
||
|
||
```bash
|
||
npm run dev:miniapp
|
||
```
|
||
|
||
用微信开发者工具打开 `apps/miniprogram`,并将 `project.config.json` 中的 `appid` 替换为真实小程序 AppID。API 本地内存模式可用:
|
||
|
||
```bash
|
||
MINIAPP_MEMORY_DB=1 npm run dev:api:memory
|
||
```
|
||
|
||
## 生产构建
|
||
|
||
在根目录环境中设置:
|
||
|
||
```bash
|
||
TARO_APP_API_BASE_URL="https://bizwanderq.nianxx.com/api"
|
||
TARO_APP_H5_URL="https://wanderq.nianxx.com"
|
||
```
|
||
|
||
然后执行:
|
||
|
||
```bash
|
||
npm run build:miniapp
|
||
```
|
||
|
||
小程序内的 H5 登录通过 `pages/login/index` 原生手机号授权页完成;授权后由首页生成一次性 H5 票据,H5 兑换为 HttpOnly Cookie。直接打开 H5 且未携带票据时保持游客浏览。
|
||
|
||
生产 API 需要配置 `WECHAT_APP_ID`、`WECHAT_APP_SECRET`、`DATABASE_URL`、`JWT_SECRET` 和允许携带 H5 登录 Cookie 的 `CORS_ORIGINS`(例如 `https://wanderq.nianxx.com`),并将 API 域名与 OSS/CDN 域名加入微信小程序的 `request`、`downloadFile` 合法域名。联系我插件的 `config_id` 已随小程序代码发布,不需要后端企微密钥。图片统一使用 API 返回的 OSS WebP 公共 URL,不打包本地图片素材。
|
||
|
||
数据库首次部署执行 `npm run db:migrate`,初始化内容执行 `npm run db:seed`。
|