userProfile.js 1.03 KB
/*
 * @Date: 2026-05-20 11:40:00
 * @LastEditors: hookehuyr hookehuyr@gmail.com
 * @LastEditTime: 2026-05-20 11:40:00
 * @FilePath: /lls_program/src/utils/userProfile.js
 * @Description: 用户资料相关工具函数
 */

/**
 * @description 构建更新个人资料请求参数
 * @param {Object} formData - 页面表单数据
 * @param {Object} extraParams - 额外补充参数
 * @returns {Object} 仅包含接口需要的字段
 */
export const buildUpdateUserProfilePayload = (formData, extraParams = {}) => {
  const payload = {
    nickname: (formData?.nickname || '').trim(),
    avatar_url: formData?.avatar_url || '',
    birth_date: formData?.birth_date || '',
    wheelchair_needed: Boolean(formData?.wheelchair_needed),
    gender: formData?.gender,
  }

  const optionalKeys = ['reg_source', 'reg_stage_id']
  optionalKeys.forEach(key => {
    const value = extraParams[key]
    if (value !== '' && value !== undefined && value !== null) {
      payload[key] = key === 'reg_stage_id' ? Number(value) : value
    }
  })

  return payload
}