Files
mp-vue/.workbuddy/memory/2026-07-20.md
赵忠林 324244fa11 fix(build): 修复打包过程中的依赖和导入错误
- 安装缺失的 sass 依赖解决预处理器报错问题
- 安装 element-plus 组件库依赖,修复相关页面构建失败
- 修正 customerLead 页面错误导入的 listUser 为 listUsers
- 确认修复后 pnpm build 成功,产物正常生成
- 更新 package.json 和 pnpm-lock.yaml,引入新依赖并锁定版本
2026-07-20 12:07:09 +08:00

39 lines
2.7 KiB
Markdown
Raw 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.

# 2026-07-20 工作记录
## 复制 site-vue 登录页到 mp-vue
`/Users/gxwebsoft/VUE/site-vue/src/views/passport/login` 的登录页复制到当前项目 `mp-vue/src/views/passport/login`
### 关键发现
- 两边 `components/` 子目录完全一致,无需复制;仅 `index.vue` 有差异源为重构后的新版本22387 字节)。
- 源登录页重构后依赖 site-vue 专属 APImp-vue 原本缺失:
- `loginByUserId` / `loginByEmail`:写死了外部地址 `https://server.websoft.top/api/...`(非 mp-vue 后端)
- `loginBySuperAdminSms`:走 `SERVER_API_URL + '/loginBySuperAdminSms'`
- `listAdminsByEmailAll`(来自 `@/api/system/user`):同样指向 `server.websoft.top`
- 用户确认采用「完整移植含 API」方案保留上述 websoft.top 硬编码地址(已知风险:登录会打到 site-vue 后端,需确认 mp-vue 后端是否支持这些接口)。
### 已改动文件
1. `src/views/passport/login/index.vue` —— 直接覆盖为源版本。
2. `src/api/passport/login/index.ts` —— 新增 `loginByUserId``loginBySuperAdminSms``loginByEmail` 三个函数。
3. `src/api/system/user/index.ts` —— 新增 `listAdminsByEmailAll` 函数。
4. `src/api/passport/login/model/index.ts` —— LoginParam 增加 `userId``email` 字段。
### 验证
- 所有 import 符号在 mp-vue 中均存在(`@/router``QrCodeStatusResponse``QrLogin` 组件、`configWebsiteField` 等)。
- 两边 `User` 模型字段一致(含 `isSuperAdmin``templateId`),表单初值与 `LoginForm` 类型匹配。
- 全量类型检查(`vue-tsc --noEmit`)报 1178 个错误,但均出现在我未改动的文件(如 system/cache、house、shop/shopGoods 等),我改动的 4 个文件均未出现在错误列表中。
- 实际构建 `pnpm build` 已通过。
## 修复打包报错sass / element-plus / listUser
用户反馈打包报错 `Preprocessor dependency "sass" not found`,逐步修复如下:
1. 安装 `sass` 作为 devDependency`pnpm add -D sass`
2. 继续构建发现 `element-plus` 未安装(`src/views/cms/customerLead/index.vue``src/views/cms/recommendation/index.vue` 均导入)。执行 `pnpm add element-plus`,安装到 dependencies版本 2.14.3)。
3. 继续构建发现 `customerLead/index.vue` 中导入 `listUser`(拼写错误),实际 API 导出为 `listUsers`。修正导入和调用处。
4. 最终 `pnpm build` 成功完成(`✓ 9738 modules transformed``dist` 产物正常生成)。
### 本次修复涉及文件
- `package.json` / `pnpm-lock.yaml` / `node_modules`(新增 `sass``element-plus``@typescript-eslint/eslint-plugin` 等依赖)
- `src/views/cms/customerLead/index.vue``listUser``listUsers`