feat: C 端套餐沉默期展示与自助延期
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 23m46s

- 套餐历史展示沉默期状态、截止日期、累计延期与调整审批中,可延期时显示延期入口
- 新增延期页:资格、档位与自定义天数试算、支付方式、下单(request_id 幂等)
- 支付宝走现有支付页;微信为链接时在微信外直接跳转,否则展示二维码与复制链接
- 新增我的延期订单列表与详情、沉默期记录,沉默期错误码转客户提示
This commit is contained in:
邹进
2026-11-07 13:19:33 +09:00
parent b2f802e6f8
commit 31ff18d66a
15 changed files with 1500 additions and 22 deletions

View File

@@ -0,0 +1,61 @@
import request from '@/utils/request.js';
// 实名即生效套餐沉默期 H5 接口(后端 Iteration/8-11,/api/c/v1/package-silence)。
// 资格、试算、下单关闭默认错误提示,由页面按沉默期错误码给出客户能看懂的文案。
const BASE = '/api/c/v1/package-silence';
export const packageSilenceApi = {
getEligibility(package_usage_id) {
return request({
url: `${BASE}/eligibility`,
method: 'GET',
data: { package_usage_id },
showError: false
});
},
quote(package_usage_id, days) {
return request({
url: `${BASE}/quote`,
method: 'GET',
data: { package_usage_id, days },
showError: false
});
},
createOrder({ package_usage_id, days, payment_method, request_id }) {
return request({
url: `${BASE}/orders`,
method: 'POST',
data: { package_usage_id, days, payment_method, request_id },
showError: false
});
},
getOrders(params = {}) {
const data = {};
Object.entries(params).forEach(([key, value]) => {
if (value !== undefined && value !== null && value !== '') data[key] = value;
});
return request({
url: `${BASE}/orders`,
method: 'GET',
data
});
},
getOrder(id) {
return request({
url: `${BASE}/orders/${id}`,
method: 'GET'
});
},
getRecords(package_usage_id) {
return request({
url: `${BASE}/records`,
method: 'GET',
data: { package_usage_id }
});
}
};