/** * 会员模块接口 * 包含: 会员状态查询、会员信息、续费等 */ import request from '../utils/request' import type { MemberType } from './types' /** 会员信息 */ export interface MemberInfo { /** 会员ID */ memberId: string /** 会员类型 */ memberType: MemberType /** 会员等级名称(如"普通会员"/"高级会员") */ memberLevel: string /** 用户/单位名称 */ name: string /** 手机号 */ phone: string /** 是否已支付 */ isPaid: boolean /** 是否已过期 */ isExpired: boolean /** 开通日期 */ startDate: string /** 到期日期 */ expireDate: string /** 有效期描述 (如 "1年") */ validPeriod: string /** 会员费金额 */ amount: number } /** 会员状态(用于登录后判断跳转) */ export interface MemberStatus { isPaid: boolean isExpired: boolean memberId: string memberType: MemberType memberLevel: string amount: number validPeriod: string expireDate: string } /** 续费参数 */ export interface RenewParams { memberId: string /** 续费时长(月) */ duration?: number } /** 发票抬头提交参数 (接口体) */ export interface InvoiceTitleDTO { /** 发票抬头 (个人姓名 或 单位全称) */ invoiceTitle?: string /** 纳税人识别号 (单位发票填写) */ invoiceTaxNo?: string } /** 获取当前登录会员的信息 */ export const getCurrentMember = () => request.get('/member/current') /** 查询会员状态 */ export const getMemberStatus = () => request.get('/member/status') /** 通过会员ID查询会员信息 */ export const getMemberById = (memberId: string) => request.get(`/member/${memberId}`) /** 申请续费,返回新订单ID */ export const renewMember = (data: RenewParams) => request.post<{ orderId: string; amount: number }>('/member/renew', data) /** * 提交会员发票抬头 * @url PUT /api/v1/wechat/official-account/members/{memberId}/invoice-title * @param memberId 路径参数(后端命名 memberId,实际传入登录接口返回的 userId) * @param data { invoiceTitle, invoiceTaxNo } * @returns boolean (data 字段,true 表示提交成功) */ export const submitInvoiceTitle = ( memberId: string, data: InvoiceTitleDTO, ) => request.put(`/members/${memberId}/invoice-title`, data)