import request from '@/utils/request' // 服务商挂在 /account 前缀下:网关 StripPrefix=1 剥掉 /account 后 // 落到 ruoyi-user 服务的 /user/provider/**,故本文件除上传外所有 url 都必须带 /account 前缀。 // // 服务商只有「增/查/改」:原型操作列只给了 查看 与 禁用,故没有删除接口。 // 查询服务商列表 export function listProvider(query) { return request({ url: '/account/user/provider/list', method: 'get', params: query }) } // 查询服务商详情(表单的新增/查看共用同一个页面,查看时用它回填;不含密码) export function getProvider(id) { return request({ url: '/account/user/provider/' + id, method: 'get' }) } // 新增服务商(后端同时建登录账号并打上服务商标识) export function addProvider(data) { return request({ url: '/account/user/provider', method: 'post', data: data }) } // 修改服务商(登录账号/手机号同步到账号表,密码留空即不改) export function updateProvider(data) { return request({ url: '/account/user/provider', method: 'put', data: data }) } // 修改服务商状态(0正常 1禁用)。 // 禁的只是服务商资格,不动会员账号状态。 export function changeProviderStatus(id, status) { return request({ url: '/account/user/provider/changeStatus', method: 'put', data: { id, status } }) } // 上传营业执照。 // // 这个 url 刻意不带 /account 前缀:ruoyi-file 是网关上与 ruoyi-user 并列的独立路由 // (Path=/file/** → 9300),不属于本业务模块。表单字段名必须是 file。 // // Content-Type 必须显式写成非 json,不能省:utils/request.js 把 axios 全局默认头设成了 // application/json;charset=utf-8,而 axios 1.x 在 transformRequest 里只要看到 // 「json 头 + FormData」就会走 JSON.stringify(formDataToJSON(data)),文件被序列化成 // 一个 JSON 对象发出去——后端收到的是空的 MultipartFile,表现为「上传成功但没图」。 // 写成 multipart/form-data(不带 boundary)后,浏览器适配器会把这个头清掉, // 改由浏览器自己补上带 boundary 的 Content-Type(与 userAvatar.vue 的既有做法同理)。 export function uploadLicense(data) { return request({ url: '/file/upload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: data }) }