ufutx_love_mp/README.md
2026-08-18 16:41:43 +08:00

152 lines
6.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 福恋小程序ufutx.love.mp.v2
> 基于 **WePY 2.x** 的微信小程序项目,对应线上小程序 **福恋love.ufutx.com**。
- 项目名:`ufutx_fulllink`
- 版本:`v5.6.5`(见 `src/app.wpy``globalData.versions`
- AppID`wxe486777f4379507e`
- 框架WePY 2.x类 Vue 语法,编译为微信小程序原生代码)
- 仓库目录:`/Users/d/fulllink-project/ufutx.love.mp.v2`
---
## 一、技术栈
| 分类 | 选型 |
| --- | --- |
| 小程序框架 | [WePY 2.x](https://wepyjs.github.io/wepy/)`@wepy/core` `^2.1.0` |
| 状态管理 | `@wepy/x`Vuex 风格,见 `src/store/index.js` |
| 异步化 | `@wepy/use-promisify`wx API Promise 化) |
| UI 样式 | ColorUI`src/colorui`wxss+ Less`@wepy/compiler-less` |
| 构建 | `@wepy/cli` / `wepy build` |
| 即时通讯 | 网易云信 `nim-web-sdk-ng`IM 聊天,见 `src/utils/im.js` |
| 电子卡 / 实人认证 | 内置 `src/mp_ecard_sdk`eID 相关协议页) |
| 国际化 | `src/i18n`(中文 `zh` / 英文 `en` |
| 工具库 | `dayjs`、`miniprogram-slide-view`、四电极报告库 `@yolanda-qn/four-electrodes-report-lib-pe` |
---
## 二、目录结构
```
ufutx.love.mp.v2/
├── src/ # 源码开发目录WePY 工程)
│ ├── app.wpy # 小程序入口(全局样式/生命周期/页面注册)
│ ├── config.js # 接口域名配置(线上/本地环境切换)
│ ├── colorui/ # ColorUI 样式库icon/main/animation.wxss
│ ├── common/ # 公共模块eventHub 事件总线)
│ ├── components/ # 公共组件27 个 .wpy
│ │ ├── chatEmojiFile/ # 聊天表情
│ │ ├── uploadPic(s)/uploadVideo(V2)/ # 图片/视频上传
│ │ ├── wepy-image-cropper.wpy # 图片裁剪
│ │ ├── loginDialog / recommendDialog / residenceDialog ...
│ │ └── ...
│ ├── i18n/ # 国际化zh.js / en.js
│ ├── images/ # 图片资源tabBar 图标、icon 等)
│ ├── mixins/ # 混入https 请求封装、base、阿里云上传 SDK
│ ├── mp_ecard_sdk/ # 电子卡 / eID 实人认证 SDK 及协议页
│ ├── pages/ # 业务页面tabBar + 分包)
│ ├── store/ # 全局状态Vuex 风格)
│ ├── styles/ # 全局 Less 样式
│ └── utils/ # 工具util / dateTimeFormat / comment / im
├── weapp/ # 编译产物(微信开发者工具直接导入此目录)
├── node_modules/ # 依赖(已安装)
├── package.json
├── project.config.json # 微信项目配置miniprogramRoot: weapp/
├── wepy.config.js
└── .eslintrc.js / .prettierrc
```
### 页面与分包(`src/app.wpy`
- **tabBar 主包**`welcome` / `home` / `dynamic` / `news` / `user`
- **分包 `pages/dynamic`**:动态详情、热门话题、发布、话题搜索、投票详情
- **分包 `pages/home`**:动态信息流、择偶要求、优质单身、报名、搜索条件/用户、单身广场
- **分包 `pages/news`**:私聊、群聊、好友请求、访客、系统消息、审核等
- **分包 `pages/users`**:实名/学历认证、未婚证明、VIP 升级、黑名单、设置、关于等
- **分包 `pages/books`**:书籍详情、学校认证
---
## 三、环境准备
> ⚠️ **Node 版本要求**`package.json` 中 `engines` 限定 `node >=14 <17`。
> 本机当前为 Node **v22**,与 WePY 2.x 工具链不兼容,**请先切到 Node 14~16**(推荐用 nvm
>
> ```bash
> nvm install 16
> nvm use 16
> ```
1. 安装依赖(如 `node_modules` 缺失或需重装):
```bash
npm install
```
2. 配置接口域名(编辑 `src/config.js`
```js
// 线上环境(默认)
host = 'https://love.ufutx.com/go/api'
// 本地联调时取消注释:
// host = 'http://love.ufutx.net/go/api'
```
---
## 四、本地开发 / 构建
```bash
# 开发模式:监听改动并实时编译到 weapp/
npm run dev
# 生产构建(关闭缓存)
npm run build
# 代码检查 / 自动修复
npm run lint
npm run lint:fix
# 清理编译产物
npm run clean
```
### 在微信开发者工具中运行
1. 打开**微信开发者工具** → 导入项目
2. 目录选择本项目的 **`weapp/`** 文件夹(`project.config.json` 已设 `miniprogramRoot: "weapp/"`
3. 填入 AppID`wxe486777f4379507e`
4. 确保已执行过 `npm run dev``npm run build``weapp/` 内有编译产物
> 上传 / 预览(需安装 `wx-tools`
> ```bash
> npm run preview # 预览
> npm run deploy # 上传,版本号取 package.json version
> ```
---
## 五、关键模块说明
- **登录态**`src/app.wpy` `onLaunch` 调用 `appLogin()`IM 实例在 `src/utils/im.js` 通过 `NIM.getInstance` 初始化(网易云信 appkey 已内置)。
- **网络请求**:封装于 `src/mixins/https.js`,统一走 `src/config.js``service` 接口地址。
- **电子卡 / 实人认证**`src/mp_ecard_sdk` 含 eID 相关协议页与逻辑,被主包以页面形式注册。
- **国际化**`src/i18n/modules/zh.js` 与 `en.js`,通过 `src/i18n/index.js` 注入。
- **Git 分支约定**:仓库内历史提交多为功能/审核修复(如 iOS 购买 VIP、扫码地址、强制登录限制等
---
## 六、常见问题
- **编译报 Node 版本错误** → 切到 Node 16`nvm use 16`)。
- **开发者工具提示找不到页面** → 确认先执行 `npm run dev/build`,且工具导入的是 `weapp/` 而非 `src/`
- **接口 404 / 无法登录** → 检查 `src/config.js` 中的 `host` 是否为当前环境域名。
- **IM 连不上** → 确认 `src/utils/im.js` 中 appkey / lbsUrls / linkUrl 与网易云信后台一致。
---
## 七、License
MIT — Author: mamba `<dengzhifeng_63@163.com>`