plan.js 2 KB
/**
 * 计划书 API 接口
 *
 * @description 计划书相关的 API 接口定义
 * @module api/plan
 * @author Claude Code
 * @created 2026-02-06
 */

import { fn } from './fn'

const Api = {
  Submit: '/srv/?a=submit_plan&t=submit'
}

/**
 * 提交计划书
 *
 * @description 提交计划书表单数据到后端,生成计划书 PDF
 * @param {Object} params - 请求参数
 * @param {number} params.product_id - 产品 ID
 * @param {string} params.template - 模版标识(form_sn)
 * @param {Object} params.form_data - 表单数据
 * @param {string} params.form_data.gender - 性别("男" | "女")
 * @param {number} params.form_data.age - 年龄
 * @param {string} params.form_data.birthday - 出生日期(格式:YYYY-MM-DD)
 * @param {string} params.form_data.smoker - 是否吸烟("是" | "否")
 * @param {number} params.form_data.coverage - 保额(单位:分)
 * @param {string} params.form_data.payment_period - 缴费年期
 * @returns {Promise<{
 *   code: number; // 状态码
 *   msg: string; // 消息
 *   data: {
 *     plan_id: number; // 计划书 ID
 *     status: string; // 状态:processing | generated
 *     estimated_time: number; // 预计生成时间(秒)
 *   };
 * }>}
 *
 * @example
 * const res = await submitPlanAPI({
 *   product_id: 1,
 *   template: 'life-insurance-wiop3e',
 *   form_data: {
 *     gender: '男',
 *     age: 18,
 *     birthday: '1990-01-01',
 *     smoker: '否',
 *     coverage: 100000,  // 1000.00 元(单位:分)
 *     payment_period: '10 年(0-70 岁)'
 *   }
 * })
 *
 * if (res.code === 1) {
 *   console.log('计划书 ID:', res.data.plan_id)
 *   console.log('预计生成时间:', res.data.estimated_time, '秒')
 * }
 */
export const submitPlanAPI = (params) => fn({
  url: Api.Submit,
  method: 'POST',
  data: params
})

// 注意:查询计划书状态功能暂不需要
// 计划书生成是半自动流程(小程序 → 公司 → 手动上传 → 用户查看)
// 用户在"我的计划书"页面查看生成的计划书