- 安装缺失的 sass 依赖解决预处理器报错问题 - 安装 element-plus 组件库依赖,修复相关页面构建失败 - 修正 customerLead 页面错误导入的 listUser 为 listUsers - 确认修复后 pnpm build 成功,产物正常生成 - 更新 package.json 和 pnpm-lock.yaml,引入新依赖并锁定版本
2.7 KiB
2.7 KiB
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 专属 API,mp-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 后端是否支持这些接口)。
已改动文件
src/views/passport/login/index.vue—— 直接覆盖为源版本。src/api/passport/login/index.ts—— 新增loginByUserId、loginBySuperAdminSms、loginByEmail三个函数。src/api/system/user/index.ts—— 新增listAdminsByEmailAll函数。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,逐步修复如下:
- 安装
sass作为 devDependency:pnpm add -D sass。 - 继续构建发现
element-plus未安装(src/views/cms/customerLead/index.vue与src/views/cms/recommendation/index.vue均导入)。执行pnpm add element-plus,安装到 dependencies(版本 2.14.3)。 - 继续构建发现
customerLead/index.vue中导入listUser(拼写错误),实际 API 导出为listUsers。修正导入和调用处。 - 最终
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)