import axios from '@/utils/request'; import { domains } from '@/utils'; const BASE_URL = '/activity-manage-system/api/v1'; export class DaoService { /** * 获取地区列表信息 * * @return {*} * @memberof DaoService */ public getAreaList() { return axios.get(`${domains.apiDomain}/${BASE_URL}/area/list`); } /** * 查询学校列表数据 * * @param {SchoolListQueryCondition} params * @return {*} * @memberof DaoService */ public getSchoolList(params: any) { return axios.get(`${BASE_URL}/school/list`, { params }); } /** * 获取当前用户信息 * * @return {*} * @memberof DaoService */ public getCurrentUserInfo() { return axios.get(`${BASE_URL}/user/get`); } /** * 获取当前用户信息,并且忽略报错 * * @return {*} * @memberof DaoService */ public getCurrentUserInfoIgnoreError() { return axios.get(`${BASE_URL}/user/get`, { X_DISABLE_ERROR: true, }); } /** * 报名活动接口 * * @param {UserRegisterDto} data * @return {*} * @memberof DaoService */ public registerActivity(data: any) { return axios.post(`${BASE_URL}/user/reg`, data); } /** * 领取奖品接口 * * @param {SafeAny} data * @return {*} * @memberof DaoService */ public receiveAward(data: SafeAny) { return axios.post(`${BASE_URL}/user/reward`, data); } /** * 获取作品列表接口 * * @param {UserCreationListQueryCondition} params * @return {*} * @memberof DaoService */ public getCreationList(params: any) { return axios.get(`${BASE_URL}/creation/list`, { params, X_DISABLE_ERROR: true, }); } /** * 根据id获取作品信息接口 * * @param {string} id * @return {*} * @memberof DaoService */ public getCreationById(id: string) { return axios.get(`${BASE_URL}/creation/getOne?id=${id}`); } /** * 获取当前用户的作品信息 * * @return {*} * @memberof DaoService */ public getCreationByCurrentUser() { return axios.get(`${BASE_URL}/creation/get`, { X_DISABLE_ERROR: true, }); } /** * 取消点赞 * * @param {*} params * @return {*} * @memberof DaoService */ public thumbDown(params: { provinceId: number; userCreationId: number }) { return axios.post(`${BASE_URL}/creation/thumbDown`, null, { params, X_DISABLE_ERROR: true, }); } /** * 点赞接口 * * @param {*} params * @return {*} * @memberof DaoService */ public thumbUp(params: { provinceId: number; userCreationId: number }) { return axios.post(`${BASE_URL}/creation/thumbUp`, null, { params, X_DISABLE_ERROR: true, }); } /** * 获取微信二维码登录的链接 * 主要是前端不用维护appid * * @param {string} returnUrl * @return {*} * @memberof DaoService */ public getQrUrl(returnUrl: string) { return axios.get(`${BASE_URL}/weChat/getQrUrl`, { params: { returnUrl, }, }); } /** * 使用code和state登录,并获取用户信息 * * @param {string} code * @param {string} state * @return {*} * @memberof DaoService */ public loginWithWeiXinCode(code: string, state: string) { return axios.get(`${BASE_URL}/weChat/callBack`, { params: { code, state, }, }); } /** * 移动端获取登录页面网址 * * @param {string} returnUrl * @return {*} * @memberof DaoService */ public getMobileAuthUrl(returnUrl: string) { return axios.get(`${BASE_URL}/weChat/auth`, { params: { returnUrl, }, }); } /** * 移动端使用code+state获取用户信息 * * @param {string} code * @param {string} state * @return {*} * @memberof DaoService */ public getMobileUserInfo(code: string, state: string) { return axios.get(`${BASE_URL}/weChat/auth/user/info`, { params: { code, state, }, }); } /** * 获取微信签名等信息 * * @param {string} url * @return {*} * @memberof DaoService */ public getMobileJSConfig(url: string) { return axios.get(`${BASE_URL}/weChat/getJSConfig`, { X_DISABLE_ERROR: true, params: { url, }, }); } /** * 获取课程列表 * 这个接口是别的团队提供的,导致token的header name不一致 * 所以需要手动传递token * * @param {number} userId * @param {number} [subjectId=1] * @return {*} * @memberof DaoService */ public getCourseList(token: string, userId: number, subjectId = 1) { return axios.get(`/einstein-logic/v2/extendedLessonCategories`, { headers: { Authorization: token, }, params: { userId, subjectId }, }); } /** * 领奖登录页面-绑定手机号-获取验证码 * * @param {string} telPhone * @return {*} * @memberof DaoService */ public sendVerifiedCode(telPhone: string) { return axios.get(`${BASE_URL}/user/getCode`, { params: { telPhone }, }); } /** * 领奖登录页面-绑定手机号 * * @param {string} telPhone * @param {string} code * @return {*} * @memberof DaoService */ public updateMobile(telPhone: string, code: string) { return axios.post(`${BASE_URL}/user/updateMobile`, null, { params: { telPhone, code, }, }); } /** * 获取优秀作品列表 * * @return {*} * @memberof DaoService */ public getSampleList() { return axios.get>(`${BASE_URL}/creation/sample/list`); } /** * 获取优秀作品详情 * * @param {number} id * @return {*} * @memberof DaoService */ public getSampleDetail(id: number) { return axios.get(`${BASE_URL}/creation/sample/getOne`, { params: { id }, }); } }