123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- /**
- * 用户相关接口
- */
- 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 || '',
- _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/job/list', defaultParams);
- };
- /* 填写用户信息 */
- export const fillUserInfo = (params) => {
- return http.post('/api/system/wechat/save_user_info', params);
- };
- /* 获取面试列表 */
- export const getInterviewList = (params) => {
- return http.get('/system/job/questions', params);
- };
- /* 获取面试详情 */
- export const getInterviewDetail = (params) => {
- return http.get('/system/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/system/upload/', params);
- };
|