|
|
@@ -1,5 +1,6 @@
|
|
|
import { moduleRequest } from '@/utils/request'
|
|
|
import Mock from 'mockjs'
|
|
|
+import ForEach from "lodash-es/forEach";
|
|
|
|
|
|
const request = moduleRequest(`/api/webapp/`)
|
|
|
|
|
|
@@ -116,6 +117,7 @@ const generateMockData = (filters = {}) => {
|
|
|
const formatCounts = generateFormatCounts()
|
|
|
|
|
|
return {
|
|
|
+ filterResponse : getFilterData(),
|
|
|
// 摘要数据
|
|
|
summaryData: {
|
|
|
code: 200,
|
|
|
@@ -233,44 +235,160 @@ const generateMockData = (filters = {}) => {
|
|
|
}
|
|
|
|
|
|
// API函数 - 每次调用都生成新的动态数据,传入筛选参数
|
|
|
-export const getSummaryData = (params = {}) => {
|
|
|
- return new Promise((resolve) => {
|
|
|
- setTimeout(() => {
|
|
|
- const mockData = generateMockData(params)
|
|
|
- resolve(mockData.summaryData)
|
|
|
- }, Mock.mock('@integer(200, 500)')) // 随机延迟
|
|
|
- })
|
|
|
+export const getSummaryData = async (params = {}) => {
|
|
|
+ // return new Promise((resolve) => {
|
|
|
+ // setTimeout(() => {
|
|
|
+ // const mockData = generateMockData(params)
|
|
|
+ // resolve(mockData.summaryData)
|
|
|
+ // }, Mock.mock('@integer(200, 500)')) // 随机延迟
|
|
|
+ // })
|
|
|
+
|
|
|
+ let res = await request('/resourceStatistic/totalStatistic', params, 'get')
|
|
|
+ console.log('什么呢1233',res)
|
|
|
+ let json = {
|
|
|
+ code : 200,
|
|
|
+ data : {
|
|
|
+ totalResources : res.RESOURCE_TOTAL,
|
|
|
+ totalStorage : `${kbToTb(res.storageSize)}TB`,
|
|
|
+ totalCapacity : `${kbToTb(res.totalStorageSize)}TB`,
|
|
|
+ usageRate : `${((parseFloat(res.storageSize) / res.totalStorageSize) * 100).toFixed(0)}%`,
|
|
|
+ totalViews : res.WATCH_TOTAL,
|
|
|
+ totalFavorites : res.COLLECT_TOTAL
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // {
|
|
|
+ // "RESOURCE_TOTAL": 34, 总资源数
|
|
|
+ // "TOTAL_STORAGE_SIZE": 20480, 总存储空间
|
|
|
+ // "COLLECT_TOTAL": 9, 总收藏数
|
|
|
+ // "WATCH_TOTAL": 471, 总观看数
|
|
|
+ // "storageSize": 1726487824,
|
|
|
+ // "totalStorageSize": 21474836480
|
|
|
+ // }
|
|
|
+ // totalResources: '0',
|
|
|
+ // totalStorage: '0 TB',
|
|
|
+ // totalCapacity: '10 TB',
|
|
|
+ // usageRate: '0%',
|
|
|
+ // totalViews: '0',
|
|
|
+ // totalFavorites: '0'
|
|
|
// 真实接口调用:
|
|
|
// return request('/resource-library/summary', params, 'get')
|
|
|
+ console.log('什么呢',json)
|
|
|
+ return json
|
|
|
+}
|
|
|
+function kbToTb(kb) {
|
|
|
+ const tb = kb / 1073741824;
|
|
|
+ return parseFloat(tb.toFixed(2));
|
|
|
}
|
|
|
|
|
|
-export const getResourceTypeData = (params = {}) => {
|
|
|
- return new Promise((resolve) => {
|
|
|
- setTimeout(() => {
|
|
|
- const mockData = generateMockData(params)
|
|
|
- resolve(mockData.resourceTypeData)
|
|
|
- }, Mock.mock('@integer(200, 500)'))
|
|
|
+export const getFilterData = async (params = {}) => {
|
|
|
+ let colleges = await request('resourceStatistic/selectOrgList', params, 'get')
|
|
|
+ colleges.unshift({
|
|
|
+ id : 'all',
|
|
|
+ name : '全部院系'
|
|
|
})
|
|
|
+ console.log("什么呢sss",colleges)
|
|
|
+ let json = {
|
|
|
+ code: 200,
|
|
|
+ data : colleges
|
|
|
+ }
|
|
|
+
|
|
|
+ return json
|
|
|
+}
|
|
|
+
|
|
|
+export const getResourceTypeData = async (params = {}) => {
|
|
|
+ let resourceTypeStatistic = await request('resourceStatistic/resourceTypeStatistic', params, 'get')
|
|
|
+ console.log('左面的',resourceTypeStatistic)
|
|
|
+ let types = []
|
|
|
+ let typeCounts = []
|
|
|
+ ForEach(resourceTypeStatistic, (item) => {
|
|
|
+ types.push(item.resourceTypeName)
|
|
|
+ typeCounts.push(item.num)
|
|
|
+ })
|
|
|
+
|
|
|
+ // types: types,
|
|
|
+ // typeCounts: typeCounts,
|
|
|
+ let json = {
|
|
|
+ code: 200,
|
|
|
+ data : {
|
|
|
+ types,
|
|
|
+ typeCounts,
|
|
|
+ typeStorage : []
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return json
|
|
|
+
|
|
|
+ // return new Promise((resolve) => {
|
|
|
+ // setTimeout(() => {
|
|
|
+ // const mockData = generateMockData(params)
|
|
|
+ // resolve(mockData.resourceTypeData)
|
|
|
+ // }, Mock.mock('@integer(200, 500)'))
|
|
|
+ // })
|
|
|
// return request('/resource-library/type-distribution', params, 'get')
|
|
|
+
|
|
|
}
|
|
|
|
|
|
-export const getDepartmentData = (params = {}) => {
|
|
|
- return new Promise((resolve) => {
|
|
|
- setTimeout(() => {
|
|
|
- const mockData = generateMockData(params)
|
|
|
- resolve(mockData.departmentData)
|
|
|
- }, Mock.mock('@integer(200, 500)'))
|
|
|
+export const getDepartmentData = async(params = {}) => {
|
|
|
+ let collegeStatistic = await request('resourceStatistic/collegeStatistic', params, 'get')
|
|
|
+ let departments = []
|
|
|
+ let departmentCounts = []
|
|
|
+ ForEach(collegeStatistic, (item) => {
|
|
|
+ departments.push(item.collegeName)
|
|
|
+ departmentCounts.push(item.num)
|
|
|
})
|
|
|
+ let json = {
|
|
|
+ code: 200,
|
|
|
+ data : {
|
|
|
+ departments,
|
|
|
+ departmentCounts,
|
|
|
+ departmentStorage : []
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return json
|
|
|
+
|
|
|
+ // return new Promise((resolve) => {
|
|
|
+ // setTimeout(() => {
|
|
|
+ // const mockData = generateMockData(params)
|
|
|
+ // resolve(mockData.departmentData)
|
|
|
+ // }, Mock.mock('@integer(200, 500)'))
|
|
|
+ // })
|
|
|
+ //
|
|
|
+ // departments: departments,
|
|
|
+ // departmentCounts: departmentCounts,
|
|
|
+ // departmentStorage: departmentCounts.map((count) =>
|
|
|
// return request('/resource-library/department-distribution', params, 'get')
|
|
|
}
|
|
|
|
|
|
-export const getVisibilityData = (params = {}) => {
|
|
|
- return new Promise((resolve) => {
|
|
|
- setTimeout(() => {
|
|
|
- const mockData = generateMockData(params)
|
|
|
- resolve(mockData.visibilityData)
|
|
|
- }, Mock.mock('@integer(200, 500)'))
|
|
|
- })
|
|
|
+export const getVisibilityData = async(params = {}) => {
|
|
|
+ // return new Promise((resolve) => {
|
|
|
+ // setTimeout(() => {
|
|
|
+ // const mockData = generateMockData(params)
|
|
|
+ // resolve(mockData.visibilityData)
|
|
|
+ // }, Mock.mock('@integer(200, 500)'))
|
|
|
+ // })
|
|
|
+ let collegeStatistic = await request('resourceStatistic/collegeStatistic', params, 'get')
|
|
|
+
|
|
|
+
|
|
|
+ // data: {
|
|
|
+ // visibility: ['公开', '非公开'],
|
|
|
+ // visibilityCounts: [
|
|
|
+ // Math.floor(adjustedTotalResources * 0.75), // 75%公开
|
|
|
+ // Math.floor(adjustedTotalResources * 0.25) // 25%非公开
|
|
|
+ // ],
|
|
|
+ // hotness: ['热门', '非热门'],
|
|
|
+ // hotnessCounts: [
|
|
|
+ // Math.floor(adjustedTotalResources * 0.2), // 20%热门
|
|
|
+ // Math.floor(adjustedTotalResources * 0.8) // 80%非热门
|
|
|
+ // ],
|
|
|
+ // recommended: ['已推荐', '未推荐'],
|
|
|
+ // recommendedCounts: [
|
|
|
+ // Math.floor(adjustedTotalResources * 0.15), // 15%已推荐
|
|
|
+ // Math.floor(adjustedTotalResources * 0.85) // 85%未推荐
|
|
|
+ // ]
|
|
|
+ // }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// return request('/resource-library/visibility-analysis', params, 'get')
|
|
|
}
|
|
|
|