Files
admin-web/README.md
T
2026-07-31 15:34:35 +08:00

3.9 KiB

虫虫出海管理后台

平台内部运营与管理应用,使用 Vue 3、TypeScript、Vite、Vue Router、Pinia 和 Element Plus。

本地运行

cd apps/admin-web
pnpm install
pnpm dev

生产构建:

pnpm typecheck
pnpm build

自动化测试:

pnpm test

依赖和 pnpm-lock.yaml 均保存在当前前端项目中,不需要在仓库根目录安装 Node 依赖。

工作台已从一期路由与菜单移除;登录后按当前角色进入第一个有权限的业务页面。一期 Admin 路由聚焦登录、客户及注册审核、平台收货仓、快递公司、往来单位、头程订单、内部用户、角色管理和菜单权限。

后台菜单按“业务管理”和“系统管理”分组。企业审核、仓库、头程订单、平台角色、菜单及按钮权限资源均接入真实接口;内部用户使用 IAM 的真实查询和新增接口。运行时不再提供本地演示业务数据或静态角色预览。

本地 Gateway 联调

开发环境统一通过 Vite 的 /api 代理访问 Gateway,不在浏览器代码中拼接 Nacos 服务名或服务直连端口。复制 .env.example 为 .env.local,并按联调机器修改:

VITE_API_BASE_URL=/api
API_PROXY_TARGET=http://8.163.30.128:9000

认证请求使用 /api/auth/**,平台 IAM 请求使用 /api/platform/v1/iam/**。登录后从 JWT 读取平台身份和授权快照,再与 IAM 返回的启用权限资源取交集。企业审核调用 /reviews,打开审核详情后按租户调用 /tenants/{tenantId}/qualifications;营业执照通过 /api/platform/v1/files/qualifications/{tenantId}/{fileName} 携带平台 Token 临时读取,关闭预览后释放本地对象地址。平台角色查询、新增、编辑、启停、删除和权限全量保存均已按 RbacController 接入真实 /roles 契约,角色返回的 permissionIds 用于授权回显;系统内置角色及仍被成员使用的角色继续由服务端保护。权限资源查询和新增调用 /permissions,尚未提供的权限编辑、删除和启停不会模拟成功。一期真实权限资源只创建 MENU 与 BUTTON,不创建 PAGE 或 API 类型。其余业务页面需在对应服务契约确认后逐项替换,生产逻辑不得静默回退到模拟数据。

仓库管理已接入真实平台 Warehouse API,支持按租户筛选、详情、新增、编辑和启停,并在更新时保留后端返回的地址、能力和截单时间等完整字段。停用仓库保留历史数据,但不再提供给客户新建头程订单选择;订单详情使用下单时保存的仓库编码、名称和地址快照,仓库主数据后续修改不改变历史展示。本阶段不包含 FBA/海外目的仓、库存、库位或出入库作业。

头程订单列表、详情、状态历史、内部备注和快递信息已经接入真实平台 Order API;订单不设“已驳回”,后台修改待审核订单后仍保持待审核并写入审计。客户档案、快递公司和平台往来单位尚无正式平台端接口,相应页面明确展示不可用状态,不展示静态数据,也不模拟新增、编辑或导入成功。内部用户后端当前只支持查询和新增,编辑、启停、重置密码及角色分配保持不可用。

真实接口错误会保留后端返回的业务错误码、requestId 和 traceId。登录、企业审核、平台角色及权限资源的主要失败态支持直接复制追踪标识,便于与后端日志关联。

登录表单在开发和生产环境均默认留空,不包含联调账号、密码或演示提示。菜单、路由和操作权限只使用真实登录会话返回的服务端权限快照;前端控制仅改善体验,服务端仍须独立校验身份、角色权限和数据范围。接口失败时页面展示真实错误及追踪标识,不回退到假数据或模拟成功。