xiangyixiangqin/miniapp/api/user.js
2026-01-02 18:00:49 +08:00

65 lines
1.9 KiB
JavaScript

/**
* 用户接口模块
* Requirements: 2.3, 5.1, 11.2
*/
import { get, post } from './request'
/**
* 获取每日推荐列表
* WHEN a user visits the home page, THE XiangYi_MiniApp SHALL display recommended user list
* Requirements: 2.3
*
* @returns {Promise<Object>} 推荐用户列表
*/
export async function getRecommend() {
const response = await get('/users/recommend')
return response
}
/**
* 获取用户详情
* WHEN a user views a profile detail page, THE XiangYi_MiniApp SHALL call endpoint and display full profile information
* Requirements: 5.1
*
* @param {number} userId - 用户ID
* @returns {Promise<Object>} 用户详情
*/
export async function getUserDetail(userId) {
const response = await post('/users/detail', { userId })
return response
}
/**
* 搜索用户
* WHEN a user submits search, THE XiangYi_MiniApp SHALL call endpoint with filter parameters
* Requirements: 11.2
*
* @param {Object} params - 搜索参数
* @param {number} [params.ageMin] - 最小年龄
* @param {number} [params.ageMax] - 最大年龄
* @param {number} [params.heightMin] - 最小身高
* @param {number} [params.heightMax] - 最大身高
* @param {number[]} [params.education] - 学历列表
* @param {string} [params.province] - 省份
* @param {string} [params.city] - 城市
* @param {number} [params.monthlyIncomeMin] - 最低月收入
* @param {number} [params.monthlyIncomeMax] - 最高月收入
* @param {number[]} [params.houseStatus] - 房产状态列表
* @param {number[]} [params.carStatus] - 车辆状态列表
* @param {number[]} [params.marriageStatus] - 婚姻状态列表
* @param {number} [params.pageIndex] - 页码
* @param {number} [params.pageSize] - 每页数量
* @returns {Promise<Object>} 搜索结果
*/
export async function search(params = {}) {
const response = await post('/users/search', params)
return response
}
export default {
getRecommend,
getUserDetail,
search
}