123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416 |
- import { httpGet, httpPost, httpPut } from '../../utils/http'
- import { Schedule } from '../models/schedule'
- import {
- Category,
- Content,
- DictType,
- MaterialDealer,
- MaterialDealerDetail,
- MaterialDealerHomePage,
- MaterialDealerRes,
- Moment,
- Comment,
- Activity,
- BannerMode,
- Banner,
- } from '../models/moment'
- import dayjs from 'dayjs'
- export const getUserInfo = () =>
- httpGetMock<any>({
- avatar: 'https://via.placeholder.com/21x21',
- nickname: '苏小萌',
- })
- export const getSchedule = () =>
- httpGetMock<Schedule>({
- name: '东京艺术设计研习营',
- cover: 'https://via.placeholder.com/375x297',
- items: [
- {
- title: '早稻田大学课程',
- time: '9:00',
- content:
- '是位于日本东京都新宿区的一所著名的私立大学。它由早稻田大学的创始人大隈重信于1882年创立,是日本超级国际化大学计划(Top Global University Project)选定的大学之一,也是日本顶尖的高等教育机构之一。',
- momentExample: 'https://via.placeholder.com/285x157',
- monentHint: '*说明:打卡地XX,收集上课素材',
- },
- {
- title: '早稻田大学博物馆参观',
- time: '11:00',
- content:
- '早稻田大学拥有多座博物馆,其中最著名的是早稻田大学历史馆。早稻田大学历史馆收藏、展示着著名校友在运动方面的杰出表现和成就,馆内的解说牌以日语和英语标示,展现了传统样式风格的建筑。',
- momentExample: 'https://via.placeholder.com/285x157',
- monentHint: '*说明:打卡地XX,收集上课素材',
- },
- ],
- })
- export const getMoment = () =>
- httpGetMock<Moment>({
- author: {
- avatar: 'https://via.placeholder.com/35x35',
- nickname: '苏小萌',
- level: '0',
- },
- content: '用心做好设计,为客户创造美好家居环境',
- images: [
- 'https://via.placeholder.com/165x220',
- 'https://via.placeholder.com/220x220',
- 'https://via.placeholder.com/165x220',
- ],
- tags: ['意大利游学设计班'],
- shares: 0,
- comments: 0,
- likes: 0,
- createdAt: dayjs('2024-07-15').toDate(),
- commentList: [],
- })
- export const getClassmates = () =>
- httpGetMock<any[]>([
- {
- avatar: 'https://via.placeholder.com/35x35',
- nickname: '苏小萌',
- level: '0',
- },
- {
- avatar: 'https://via.placeholder.com/35x35',
- nickname: '苏小萌',
- level: '0',
- },
- {
- avatar: 'https://via.placeholder.com/35x35',
- },
- ])
- export const getClassmate = () =>
- httpGetMock<any>({
- title: '2023同学荟|清华空间环境艺术设计研修班 阔步向未来',
- author: {
- avatar: 'https://via.placeholder.com/35x35',
- nickname: '苏小萌',
- level: '0',
- },
- viewNum: 125,
- createdAt: dayjs('2024-07-15').toDate(),
- content: '<div>111111</div>',
- })
- export const getStudyTours = () =>
- httpGetMock<any[]>([
- {
- title: '东京艺术大学设计游学',
- createdAt: dayjs('2024-07-15').toDate(),
- startedAt: dayjs('2024-07-15').toDate(),
- endedAt: dayjs('2024-08-15').toDate(),
- amount: 16000,
- },
- ])
- export const getMaterialDealers = () =>
- httpGetMock<any[]>([
- {
- name: 'IMOLA瓷砖',
- icon: 'https://via.placeholder.com/78x78',
- brandType: '进口品牌',
- type: '瓷砖',
- views: 1000,
- createdAt: dayjs('2024-07-15').toDate(),
- },
- {
- name: 'IMOLA瓷砖',
- icon: 'https://via.placeholder.com/78x78',
- brandType: '进口品牌',
- type: '瓷砖',
- views: 1000,
- createdAt: dayjs('2024-07-15').toDate(),
- },
- ])
- export const weixinMiniAppLogin = (phoneCode: string, loginCode: string, state: string) =>
- httpPost<any>('/app-api/member/auth/weixin-mini-app-login', {
- phoneCode,
- loginCode,
- state,
- })
- export const getMemberUserInfo = () => httpGet<any>('/app-api/member/user/get')
- export const updateMemberUserInfo = (data = {}) => httpPut<any>('/app-api/member/user/update', data)
- export const getByDictType = (
- type: string | 'member_channel_source' | 'member_spatial_expertise_type' | DictType,
- ) =>
- httpGet<
- {
- label: string
- value: string
- dictType: string
- status: number
- }[]
- >('/app-api/system/dict-data/type', { type })
- export const validateReferrerCode = (data: { code: string }) =>
- httpPost('/app-api/member/user-auth-info/referrer-validate-code', {}, data)
- export const createUserAuthInfo = (
- data: Partial<{
- id: number
- userId: number
- designerName: string
- gender: number
- mobile: string
- channelSource: number
- referrer: string
- employer: string
- spatialExpertiseType: number
- attachment: string
- auditStatus: number
- remark: string
- }>,
- ) => httpPost<any>('/app-api/member/user-auth-info/create', data)
- export const getCircles = (query: { tagName?: string; circleType?: string; stylistId?: string }) =>
- httpGet<{
- list: {
- id: number
- headUrl?: string
- stylistId?: number
- stylistName?: string
- marketing?: string
- circleDesc?: string
- tagName?: string
- detailsType?: string
- detailsUrl?: string
- detailsDesc?: string
- circleType?: string
- spaceType?: string
- designStyle?: string
- spaceAddr?: string
- customerDemand?: string
- createTime: number
- bannerUrls: string[]
- shareCount?: number
- upvoteCount?: number
- ownUpvote: boolean
- reviewCount: number
- }[]
- }>('/app-api/member/circle/page', query)
- export const createCircle = (data: Partial<Circle>) =>
- httpPost<any>('/app-api/member/circle/create', data)
- export const getCircle = (id: string) =>
- httpGet<Partial<CircleRes>>('/app-api/member/circle/get', { id })
- export const shareCircle = (id: string) => httpGet('/app-api/member/circle/share', { id })
- export const getCircleUpvotes = (id) =>
- httpGet<{
- total: number
- list: {
- id: number
- circleId: number
- userId: number
- upvpteTime: number
- createTime: number
- userName: string
- }[]
- }>('/app-api/member/circle-upvote/page', { circleId: id })
- export const createCircleUpvote = (data: { circleId: number; userId: number; userName: string }) =>
- httpPost('/app-api/member/circle-upvote/create', data)
- /**
- * 取消圈子点赞
- */
- export const cancelCircleUpvote = (query: { id: string }) =>
- httpGet('/app-api/member/circle-upvote/delete', query)
- export const createCircleReview = (
- data: Partial<{
- circleId: string
- userId: string | number
- userName: string
- reviewContent: string
- replayReviewId: string
- }>,
- ) => httpPost<any>('/app-api/member/circle-review/create', data)
- export const deleteCircleReview = (id) => httpGet('/app-api/member/circle-review/delete', { id })
- export const getCircleReviews = (query: { circleId: string }) =>
- httpGet<{
- list: Comment[]
- }>('/app-api/member/circle-review/getCircleReviewByCircleId', query)
- export const createCircleReviewUpvote = (data: {
- circleId: number
- userId: number
- userName: string
- reviewId: number
- }) => httpPost('/app-api/member/circle-review-upvote/create', data)
- export const cancelCircleReviewUpvote = (query: {
- circleId: string
- userId: string
- reviewId: string
- }) => httpGet('/app-api/member/circle-review-upvote/cancel', query)
- export const getCircleReviewUpvotes = (query: { circleId: string; reviewId?: string }) =>
- httpGet('/app-api/member/circle-review-upvote/page', query)
- export const getReviewReplay = (query: { id: string }) =>
- httpGet('/app-api/member/circle-review/getReviewReplay', query)
- export const getTasks = (query) =>
- httpGet<{
- list: {
- id: number
- taskKey: string
- taskValue: string
- createTime: string
- sort: number
- status: number
- }[]
- }>('/app-api/basicsetting/set-task-center/page', query)
- export const getCircleTags = (query) =>
- httpGet<{
- list: {
- id: number
- labelName: string
- labelType: number
- usageCount: number
- creator: string
- createTime: number
- }[]
- }>('/app-api/basicsetting/set-label/page', query)
- export const getSetIndexConfigs = (query = {}) =>
- httpGet<{
- list: {
- id: number
- name: string
- indexPromotionalVideoImage: string
- coverVideoImage: string
- sort: number
- playCount: number
- status: number
- createTime: string
- }[]
- }>('/app-api/basicsetting/set-index-config/page', query)
- /**
- * 获取材料商列表
- * @param query {{brandLevel: '1'|'2'}}
- * @returns {Promise<*>}
- */
- export const getMaterials = (query = {}) =>
- httpGet<{
- list: MaterialDealer[]
- }>('/app-api/member/materials/page', query)
- export const getAppMaterials = () =>
- httpGet<MaterialDealerRes[]>('/app-api/member/materials/appMaterialsList')
- export const getAppMaterial = (id: number) =>
- httpGet<MaterialDealerDetail>('/app-api/member/materials/queryHomePage', { materialsId: id })
- export const getMaterialHomePage = (id: number) =>
- httpGet<Partial<MaterialDealerHomePage>>('/app-api/member/materials/queryHomePage', {
- materialsId: id,
- })
- export const getMaterialDetail = (query: { id: string }) =>
- httpGet<MaterialDealerDetail>('/app-api/member/materials/getDetail', query)
- export const createMaterialsReferrer = (data) =>
- httpPost('/app-api/member/materials-referrer/create', data)
- export const getContents = (query: {
- contentType?: '1' | '2' | '3'
- contentCategory?: string
- pageSize?: string
- }) => httpGet<{ list: Content[] }>('/app-api/member/content-manger/page', query)
- export const getAllCategories = () =>
- httpGet<Category[]>('/app-api/member/categories/getAllCategories')
- export const getContent = (query: { id: string }) =>
- httpGet<Content>('/app-api/member/content-manger/get', query)
- export const getProductCategories = () =>
- httpGet<Category[]>('/app-api/member/product-type/getAllProductCategories', {})
- export const getProducts = (query: { oneCategory?: string; secondCategory?: string }) =>
- httpPost<{
- list: {
- prodcutName: string
- productId: string
- needPoints: number
- points: number
- productPrice: string
- productCoverImgUrl: string
- productDetailsImgUrl: string
- contentDesc: string
- productType: string
- oneCategory: any
- secondCategory: string
- }[]
- }>('/app-api/member/product/page', {}, query)
- export const getProduct = (id: string) =>
- httpGet<{
- id: number
- prodcutName: string
- productId: string
- oneCategory: any
- oneCategoryName: any
- secondCategory: string
- secondCategoryName: any
- isRestrict: number
- productRepertory: any
- productPrice: string
- productType: number
- vendorId: any
- vendorName: string
- needPoints: number
- points: number
- gainType: number
- exchangeDesc: string
- productCoverImgUrl: string
- productDetailsImgUrl: string
- contentDesc: string
- status: number
- exchangeCount: any
- memberLevelId: any
- memberLevelName: any
- favourablePoints: any
- favourableEndDate: any
- createTime: number
- updateTime: number
- }>('/app-api/member/product/detail', { productId: id })
- export const getActivities = (query) =>
- httpGet<{
- list: Activity[]
- }>('/app-api/member/activity/page', query)
- export const getActivity = (id: string) => httpGet<Activity>('/app-api/member/activity/get', { id })
- export const activitySignup = (data: { id: number }) =>
- httpPost('/app-api/member/activity/signup', data)
- export const getActivitySignups = (query: { activityId: string }) =>
- httpGet('/app-api/member/activity/signup/page', query)
- /**
- * 获取Banner列表
- */
- export const getBanners = (query: { mode: BannerMode }) =>
- httpGet<Banner[]>('/app-api/member/banner/get-by-mode', query)
- /**
- * 获取Banner
- */
- export const getBanner = (id) => httpGet<Banner>('/app-api/member/banner/get-by-id', { id })
- export const refreshToken = (refreshToken: string) =>
- httpPost<any>('/app-api/member/auth/refresh-token', {}, { refreshToken })
- export const httpGetMock = <T>(data: T) =>
- new Promise<IResData<T>>((resolve) => resolve({ code: 1, msg: '', data } as IResData<T>))
- export interface Circle {
- headUrl: string
- stylistId: string | number
- stylistName: string
- marketing: string
- circleDesc: string
- tagName: string
- detailsType: string
- detailsUrl: string
- detailsDesc: string
- circleType: string
- spaceType: string
- designStyle: string
- spaceAddr: string
- customerDemand: string
- bannerUrls: string[]
- }
- export interface CircleRes {
- id: number
- headUrl?: string
- stylistId?: number
- stylistName?: string
- marketing?: string
- circleDesc?: string
- tagName?: string
- detailsType?: string
- detailsUrl?: string
- detailsDesc?: string
- circleType?: string
- spaceType?: string
- designStyle?: string
- spaceAddr?: string
- customerDemand?: string
- createTime: number
- bannerUrls: string[]
- shareCount?: number
- upvoteCount?: number
- ownUpvote: boolean
- reviewCount: number
- }
|