147 lines
3.3 KiB
TypeScript
147 lines
3.3 KiB
TypeScript
import request from '@/utils/axios'
|
||
|
||
// 接口类型定义
|
||
export interface ActivityInfo {
|
||
activityName: string
|
||
activityStartTime: string
|
||
activityEndTime: string
|
||
money: number
|
||
status: number
|
||
}
|
||
|
||
export interface OcrUploadResponse {
|
||
uploadId: string
|
||
}
|
||
|
||
export interface OcrParseResponse {
|
||
raw: string
|
||
words: string[]
|
||
parsed: {
|
||
marriageNo: string
|
||
husbandName: string
|
||
wifeName: string
|
||
registerDate: string
|
||
}
|
||
}
|
||
|
||
export interface MarriageCodeDTO {
|
||
marriageNo?: string
|
||
receiveName?: string
|
||
receiveMobile?: string
|
||
code?: string
|
||
smsCode?: string
|
||
signImage?: string
|
||
salesNo?: string
|
||
dataTime?: string
|
||
}
|
||
|
||
export interface MarriageCodeVO {
|
||
code: string
|
||
status: number
|
||
marriageNo: string | null
|
||
receiveName: string | null
|
||
receiveMobile: string | null
|
||
receiveTime: string | null
|
||
salesNo?: string
|
||
}
|
||
|
||
export interface MarriageCodeListVO {
|
||
codeList: MarriageCodeVO[]
|
||
receiveCount: string
|
||
receiveAmount: string
|
||
}
|
||
|
||
export interface CommSmsDTO {
|
||
mobile: string
|
||
smsCode?: string
|
||
type: 0 | 1 | 2 | 3; // 0=登录;1=兑换领取;2=OCR识别;3=本流程使用
|
||
}
|
||
|
||
// API服务实现
|
||
export const apiService = {
|
||
// 活动介绍页
|
||
// 获取当前活动信息
|
||
getCurrentActivity() {
|
||
return request.get<ActivityInfo>('/marriage/activity/current')
|
||
},
|
||
|
||
// OCR识别相关接口
|
||
// 上传OCR图片
|
||
uploadOcrImage(formData: FormData) {
|
||
return request.post<OcrUploadResponse>('/marriage/ocr/upload', formData, {
|
||
headers: {
|
||
'Content-Type': 'multipart/form-data',
|
||
},
|
||
})
|
||
},
|
||
|
||
// 发送短信验证码
|
||
sendSms(data: CommSmsDTO) {
|
||
return request.post('/marriage/common/sms', data)
|
||
},
|
||
|
||
// 校验短信验证码
|
||
verifySms(data: CommSmsDTO) {
|
||
return request.post('/marriage/common/checkCode', data)
|
||
},
|
||
|
||
// OCR识别并返回证件信息
|
||
parseOcrInfo(data: {
|
||
mobile: string
|
||
smsCode: string
|
||
uploadId: string
|
||
}) {
|
||
return request.post<OcrParseResponse>('/marriage/ocr/parse', data)
|
||
},
|
||
|
||
// 领取流程相关接口
|
||
// 领取前校验(生成二维码前的校验与预览)
|
||
receiveCheck(data: MarriageCodeDTO) {
|
||
return request.post<MarriageCodeVO>('/marriage/receiveCheck2', data)
|
||
},
|
||
|
||
// 确认领取(落库并置为已核销)
|
||
receiveCode(data: MarriageCodeDTO) {
|
||
return request.post('/marriage/receiveCode', data)
|
||
},
|
||
|
||
// 二维码状态相关接口
|
||
// 按站点号与月份分页统计列表
|
||
getCodeList(data: {
|
||
salesNo: string
|
||
page: number
|
||
size: number
|
||
dataTime?: string
|
||
}) {
|
||
return request.post<MarriageCodeListVO>('/marriage/codeList', data)
|
||
},
|
||
|
||
// 按核销码查询状态
|
||
getCodeStatus(data: { code: string }) {
|
||
return request.post<MarriageCodeVO>('/marriage/code/status', data)
|
||
},
|
||
|
||
// 兑奖页面相关接口
|
||
// 根据核销码获取领取信息(用于自动带出)
|
||
getCodeInfo(data: { code: string }) {
|
||
return request.post<MarriageCodeVO>('/marriage/code/info', data)
|
||
},
|
||
|
||
// 站点登录相关接口
|
||
// 登录
|
||
login(data: {
|
||
mobile: string
|
||
password?: string
|
||
smsCode?: string
|
||
}) {
|
||
return request.post('/marriage/common/login', data)
|
||
},
|
||
|
||
// 后台活动管理接口(可选,用于管理端)
|
||
// 获取活动列表
|
||
getActivityList() {
|
||
return request.post('/admin/activity/list')
|
||
},
|
||
}
|
||
|
||
export default apiService |