// 通用文件上传接口 mock。与 customer.js 的区别:本文件**不挂载 requireAuth**——该接口同时被 // 管理后台"个人开户/企业开户"表单(已登录,携带 Authorization,身份证/营业执照图片上传)与 // fryl_h5 个人开户移动端H5"相关协议"步骤(匿名,不携带 Authorization,上传填好客户姓名/证件 // 号码后的《用户支付服务协议》PDF)调用,若挂在带 requireAuth 的 customer.js 里,H5 侧调用会被 // 鉴权中间件拦截返回401(与 face-recognize 之前遇到的同款问题,同样的修复方式)。详见: // - docs/superpowers/specs/2026-08-06-agreement-pdf-fill-and-upload-design.md // - 《缺失的后端接口.md》Part 16 import express from 'express' import { nextId } from '../utils/id.js' import { sendOk, sendFail } from '../utils/response.js' const router = express.Router() router.post('/customer-info/personal/upload-file', (req, res) => { const { channelNo, fileBase64 } = req.body || {} if (!channelNo || !fileBase64) return sendFail(res, 'channelNo/fileBase64不能为空', 400) const fileNo = `FILE${String(nextId('file')).padStart(8, '0')}` sendOk(res, { fileNo }, '上传成功') }) export default router