/** * 用户相关接口 */ import http from '../utils/request.js'; /** * 微信登录 * @param {Object} loginParams - 登录参数 * @returns {Promise} - 返回登录结果 */ export function wxLogin(loginParams) { // 获取 CSRF token const csrfToken = uni.getStorageSync('csrfToken'); // 确保参数格式正确,完全匹配后端期望的格式 const requestData = { code: loginParams.code, userInfo: { nickname: loginParams.userInfo?.nickName || '微信用户', avatarUrl: loginParams.userInfo?.avatarUrl || '', gender: loginParams.userInfo?.gender || 0, province: loginParams.userInfo?.province || '', city: loginParams.userInfo?.city || '', country: loginParams.userInfo?.country || '' }, signature: loginParams.signature || '', rawData: loginParams.rawData || '', encryptedData: loginParams.encryptedData || '', iv: loginParams.iv || '', tenant_id: 1, _csrf: csrfToken // 添加 CSRF token }; return http.post('/wechat/wechatLogin', requestData, { header: { 'X-CSRF-Token': csrfToken } }); } /** * 获取用户详细信息 * @param {String} userId - 用户ID,可选 * @returns {Promise} - 返回用户详细信息 */ export const getUserInfo = (userId) => { // 如果提供了userId,则获取指定用户信息,否则获取当前登录用户信息 const url = userId ? `/wechat/getUserDetail?id=${userId}` : '/wechat/getUserDetail'; return http.get(url); }; /** * 获取用户手机号 * @param {Object} params - 包含code、encryptedData和iv的对象 * @returns {Promise} - 返回用户手机号信息 */ export const getUserPhoneNumber = (params) => { return http.post('/wechat/getUserPhoneNumber', params); }; /** * 更新用户信息 * @param {Object} userData - 用户数据 * @returns {Promise} - 返回更新结果 */ export const updateUserInfo = (userData) => { return http.put('/api/user/update', userData); }; /** * 上传用户头像 * @param {String} filePath - 文件路径 * @returns {Promise} - 返回上传结果 */ export const uploadAvatar = (filePath) => { return http.upload('/api/upload/avatar', filePath, 'avatar'); }; /** * 退出登录 * @returns {Promise} - 返回退出结果 */ export const logout = () => { return http.post('/api/user/logout'); }; /** * 获取职位列表 * @param {Object} params - 查询参数 * @param {Number} params.page - 页码 * @param {Number} params.pageSize - 每页数量 * @param {String} params.searchTerms - 搜索关键词 * @param {String} params.status - 职位状态 * @param {Number} params.tenant_id - 租户ID * @returns {Promise} - 返回职位列表 */ export const getJobList = (params = {}) => { // 设置默认参数 const defaultParams = { page: 1, pageSize: 10, searchTerms: '', status: '', tenant_id: 1 }; // 合并默认参数和传入参数 const queryParams = { ...defaultParams, ...params }; return http.get('/api/system/job/list', defaultParams); }; /* 填写用户信息 */ export const fillUserInfo = (params) => { return http.post('/api/wechat/save_user_info', params); }; /* 获取面试列表 */ export const getInterviewList = (params) => { return http.get('/job/questions', params); }; /* 获取面试详情 */ export const getInterviewDetail = (params) => { return http.get('/interview_question/detail', params); }; /* 提交答案 */ export const submitAnswer = (params) => { return http.post('/api/job/submit_answer', params); }; /* 申请职位 */ export const applyJob = (params) => { return http.post('/api/job/apply', params); }; /* 获取职位申请详情 */ export const getApplicationDetail = (params) => { return http.get('/api/job/application_detail', params); }; /* 文件上传 */ export const uploadPhoto = (params) => { return http.post('/api/upload/', params); }; /* 用户协议 */ export const getUserAgreement = () => { return http.get('/api/public/agreements/terms_of_service/'); }; // 获取隐私政策 /* export function getPrivacyPolicy() { return http.get('/api/privacy-policy'); } */ /* 获取问题数据 */ export const getQuestions = (params) => { return http.get('/api/wechat/choice_questions/', params); };