文件
yjyf/utils/api.js
linda 4734724ed2 feat: 后端补齐前端所需模块 + 后台登录页品牌化重构
后端(补齐前端已入口但无接口的模块):
- Coupon 控制器:center 领券中心 / my 我的券(未使用·已使用·已过期+计数)/ receive 领取
  含库存与过期校验、重复领取拦截、领券后自动发消息
- Message 控制器:index 列表(分类筛选)/ read 单条已读 / readAll 全部已读 / unread 角标
  支持 user 与 master 两种归属

前端(对应页面,全部接真接口):
- pages/address/list  服务地址:列表 / 新增·编辑弹层 / 设为默认 / 删除
- pages/coupon/coupon 领券中心 + 我的券(双 Tab + 状态筛选 + 计数)
- pages/message/message 消息中心:分类 / 未读圆点 / 点开自动已读 / 全部已读 / 跳订单
- mine.vue 三个入口(地址·优惠券·消息)由「开发中」改为真实路由
- merchant/workbench 服务地址入口接真实路由
- 首页 TabBar「消息」接入消息中心
- api.js 新增 coupon/message 共 7 个接口

后台登录页(UI 与前端主色调统一):
- 左侧橙金渐变品牌区:logo 徽标 + 「优匠优服」立体字 + slogan + 460万+/99.9%/1762万 平台实力 + 保障条
- 右侧白色登录卡:橙色渐变按钮、圆角输入框、错误提示条
- 保留 FastAdmin 全部挂钩(token/验证码/keeplogin/@AdminLoginFormBegin 等 14 项)

验证:5 套用例 178 项断言全通过(47+65+27+24+15),配置自检 8/8
2026-10-28 16:51:45 +08:00

79 行
3.3 KiB
JavaScript

/**
* 接口清单(与后端 application/api/controller 一一对应)
*/
import { get, post } from './request';
export default {
/* ---------- 鉴权 ---------- */
login: (data) => post('/auth/login', data, { silent: true }),
wxLogin: (data) => post('/auth/wxlogin', data, { silent: true }),
switchRole: (data) => post('/auth/switchRole', data),
profile: () => get('/auth/profile'),
/* ---------- 首页 / 服务 ---------- */
home: () => get('/home/index', {}, { silent: true }),
cats: () => get('/home/cats'),
services: (data) => get('/home/services', data),
serviceDetail: (id) => get('/home/detail', { id: id }),
calc: (data) => get('/home/calc', data),
/* ---------- 地址 ---------- */
addressList: () => get('/address/index'),
addressDetail: (id) => get('/address/detail', { id: id }),
addressSave: (data) => post('/address/save', data),
addressDelete: (id) => post('/address/delete', { id: id }),
addressDefault: (id) => post('/address/setDefault', { id: id }),
/* ---------- 订单(用户端) ---------- */
orderCreate: (data) => post('/order/create', data),
orderPay: (data) => post('/order/pay', data),
orderCancel: (data) => post('/order/cancel', data),
orderVerify: (data) => post('/order/verify', data),
orderList: (data) => get('/order/index', data),
orderDetail: (id) => get('/order/detail', { id: id }),
/* ---------- 师傅端 ---------- */
masterApply: (data) => post('/master/apply', data),
masterInfo: () => get('/master/info'),
masterHall: (data) => get('/master/hall', data),
masterGrab: (data) => post('/master/grab', data),
masterOrders: (data) => get('/master/orders', data),
masterContact: (data) => post('/master/contact', data),
masterSchedule: (data) => post('/master/schedule', data),
masterArrive: (data) => post('/master/arrive', data),
masterStart: (data) => post('/master/startJob', data),
masterFinish: (data) => post('/master/finish', data),
masterIncome: () => get('/master/income'),
masterToggle: (data) => post('/master/toggleWork', data),
masterCredit: () => get('/master/credit'),
masterAppeals: () => get('/master/appeals'),
masterAppeal: (data) => post('/master/appeal', data),
masterQuotes: () => get('/master/quotes'),
masterQuote: (data) => post('/master/quote', data),
masterWithdraw: (data) => post('/master/withdraw', data),
/* ---------- 评价 ---------- */
reviewCreate: (data) => post('/review/create', data),
reviewList: (masterId) => get('/review/masterList', { master_id: masterId }),
/* ---------- 优惠券 ---------- */
couponCenter: () => get('/coupon/center'),
couponMy: (data) => get('/coupon/my', data),
couponReceive: (data) => post('/coupon/receive', data),
/* ---------- 消息中心 ---------- */
messageList: (data) => get('/message/index', data),
messageRead: (data) => post('/message/read', data),
messageReadAll: (data) => post('/message/readAll', data),
messageUnread: (data) => get('/message/unread', data),
/* ---------- 商家端 ---------- */
merchantApply: (data) => post('/merchant/apply', data),
merchantInfo: () => get('/merchant/info'),
merchantUpdate: (data) => post('/merchant/update', data),
merchantBills: () => get('/merchant/bills'),
merchantInvoices: () => get('/merchant/invoices'),
merchantInvoice: (data) => post('/merchant/invoice', data),
merchantBindBatch: (data) => post('/merchant/bindBatch', data)
};