{"version":3,"file":"js/chunk.31e705a1c4defcbf.js","mappings":"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","sources":["webpack:///./src/components/NavBarActivity/index.tsx","webpack:///./src/api/homepage.ts"],"sourcesContent":["import * as api from '@/api/homepage';\nimport { useRequest } from 'ahooks';\nimport { useState } from 'react';\n\nconst NavBarActivity = () => {\n const [areaCode] = useState('navbar_up');\n // 获取年终活动navbar图片\n const { data } = useRequest(api.areaDetail, {\n defaultParams: [areaCode],\n refreshDeps: [],\n });\n\n return (\n <>\n {data?.groups && (\n <a\n href={data.groups[0].publicities[0].url}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n <img\n src={data.groups[0].publicities[0].cover_url}\n className=\"w-100px\"\n />\n </a>\n )}\n </>\n );\n};\n\nexport default NavBarActivity;\n","import request from './request';\n\n// 获取广告内容\nexport async function areaDetail(areaCode: string) {\n return request<API.Homepage.Area>(`/api/publicity/areas/${areaCode}`, {\n skipErrorHandler: true,\n });\n}\n\n// 获取广告弹窗内容\nexport async function getPopDetail() {\n return request<API.Homepage.Pop>(`/api/publicity/pop`, {\n skipErrorHandler: true,\n });\n}\n\n// 活动列表\nexport async function listActivities(\n params: API.Homepage.ActivityForListParams,\n) {\n return request<API.Homepage.ActivityForList[]>(`/api/activity/activities`, {\n params,\n });\n}\n\n// 获取社区表单\nexport async function listCommunityForms(\n params: API.Homepage.FormForListParams,\n) {\n return request<API.PageResponse<API.Homepage.FormForList>>(\n '/api/crf/community/forms',\n { params },\n );\n}\n\n/**\n * 贡献排行榜\n * @param statsType\n * portal_rank: 总榜\n * portal_rank_last30d: 月榜\n */\nexport async function rankForList(params: API.Homepage.RankForListParams) {\n return request<API.ToolPageResponse<API.Homepage.RankForList>>(\n '/api/stats/rank/ranks',\n { params },\n );\n}\n\n/**\n * 科研导航-首页展示\n * @returns\n */\nexport async function navigationForList() {\n return request<API.ToolPageResponse<API.Homepage.NavigationForList>>(\n '/api/tools/navigation/navigations/index',\n );\n}\n\n/**\n * 工具广场\n * @returns\n */\nexport async function toolsForList() {\n return request<API.ToolPageResponse<API.Homepage.ToolForList>>(\n '/api/tools/portal',\n );\n}\n\n/**\n * 收藏\n * @param navigationId\n * @returns\n */\nexport async function navigationBookmark(navigationId: number) {\n return request(`/api/tools/navigation/${navigationId}/like`, {\n method: 'POST',\n });\n}\n\n/**\n * 取消收藏\n * @param navigationId\n * @returns\n */\nexport async function navigationUnbookmark(navigationId: number) {\n return request(`/api/tools/navigation/${navigationId}/unlike`, {\n method: 'POST',\n });\n}\n\n/**\n *\n * @returns\n */\nexport async function getStats() {\n return request<API.Homepage.StatsDetail>('/api/stats/threads/count');\n}\n\n// 积分任务列表\nexport async function listTasks(params: { is_jifen_enabled?: number }) {\n return request<API.Homepage.TaskForList[]>('/api/task/tasks', {\n // 首页会自动调用该接口,用户未登录时屏蔽报错\n // FIXME 注意,原则上,这里不应该设置 skipErrorHandler,而应该在业务组件中判断,若用户未登录,则不调用该接口\n skipErrorHandler: true,\n params,\n });\n}\n\n// 触发任务事件通知\nexport async function taskSignals(data: API.Homepage.TaskCheckSignalsData) {\n return request<API.Homepage.TaskForList[]>('/api/task/signals', {\n method: 'POST',\n data,\n });\n}\n// 签到\nexport async function taskCheck(data: API.Homepage.TaskCheckData) {\n return request<API.Homepage.TaskForList[]>('/api/task/check', {\n method: 'POST',\n data,\n });\n}\n// 用户签到详情\nexport async function getUsercheck(params: { device_t: number }) {\n return request<API.Homepage.TaskUsercheckDetail>('/api/task/usercheck', {\n params,\n // 首页会自动调用该接口,用户未登录时屏蔽报错\n // FIXME 注意,原则上,这里不应该设置 skipErrorHandler,而应该在业务组件中判断,若用户未登录,则不调用该接口\n skipErrorHandler: true,\n });\n}\n\n// 共建积分概要\nexport async function getBuildingOverview() {\n return request<API.Homepage.BuildingOverviewDetail>(\n '/api/task/building-overview',\n );\n}\n\n// 共建榜前10\nexport async function getBuildingRank(params: { kind: 'all' | 'week' }) {\n return request<API.Homepage.BuildingRankForGet>(\n '/api/task/stat/building-rank',\n { params },\n );\n}\n\n// 用户勋章列表\nexport async function getUserMedal(uid: string | null) {\n return request<API.Homepage.UserMedalForList[]>(\n `/api/task/users/${uid}/user-medal`,\n );\n}\n\n// 获取用户完成任务的提示\nexport async function getUnreadUserTask() {\n return request<API.Homepage.UnreadUserTaskForGet>(\n '/api/task/get-unread-user-task',\n );\n}\n\n// 获取用户勋章提示\nexport async function getUnreadUserMedal() {\n return request<API.Homepage.UnreadUserMedalForGet>(\n '/api/task/get-unread-user-medal',\n );\n}\n\n// 最新动态\nexport async function listEvents(params: API.PageParams) {\n return request<API.ToolPageResponse<API.Homepage.EventForList>>(\n '/api/event/events',\n {\n params,\n },\n );\n}\n\n// 获取用户是否有机构工作台\nexport async function getHasDashboard() {\n return request<API.Homepage.HasJoinedDashboard>(\n '/api/system/userinfo/dashboard',\n );\n}\n"],"names":["useState","areaCode","data","useRequest","api","defaultParams","refreshDeps","groups","href","publicities","url","target","rel","src","cover_url","className","areaDetail","request","skipErrorHandler","getPopDetail","listActivities","params","listCommunityForms","navigationForList","toolsForList","navigationBookmark","navigationId","method","navigationUnbookmark","getStats","listTasks","taskCheck","getUsercheck","getBuildingOverview","getBuildingRank","getUserMedal","uid","getUnreadUserTask","getUnreadUserMedal","listEvents"],"sourceRoot":""}