123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- const moment = require("moment");
- // mock data
- const visitData = [];
- const beginDay = new Date().getTime();
- const fakeY = [7, 5, 4, 2, 4, 7, 5, 6, 5, 9, 6, 3, 1, 5, 3, 6, 5];
- for (let i = 0; i < fakeY.length; i += 1) {
- visitData.push({
- x: moment(new Date(beginDay + 1000 * 60 * 60 * 24 * i)).format(
- "YYYY-MM-DD"
- ),
- y: fakeY[i]
- });
- }
- const visitData2 = [];
- const fakeY2 = [1, 6, 4, 8, 3, 7, 2];
- for (let i = 0; i < fakeY2.length; i += 1) {
- visitData2.push({
- x: moment(new Date(beginDay + 1000 * 60 * 60 * 24 * i)).format(
- "YYYY-MM-DD"
- ),
- y: fakeY2[i]
- });
- }
- const salesData = [];
- for (let i = 0; i < 12; i += 1) {
- salesData.push({
- x: `${i + 1}月`,
- y: Math.floor(Math.random() * 1000) + 200
- });
- }
- const searchData = [];
- for (let i = 0; i < 50; i += 1) {
- searchData.push({
- index: i + 1,
- keyword: `搜索关键词-${i}`,
- count: Math.floor(Math.random() * 1000),
- range: Math.floor(Math.random() * 100),
- status: Math.floor((Math.random() * 10) % 2)
- });
- }
- const salesTypeData = [
- {
- x: "家用电器",
- y: 4544
- },
- {
- x: "食用酒水",
- y: 3321
- },
- {
- x: "个护健康",
- y: 3113
- },
- {
- x: "服饰箱包",
- y: 2341
- },
- {
- x: "母婴产品",
- y: 1231
- },
- {
- x: "其他",
- y: 1231
- }
- ];
- const salesTypeDataOnline = [
- {
- x: "家用电器",
- y: 244
- },
- {
- x: "食用酒水",
- y: 321
- },
- {
- x: "个护健康",
- y: 311
- },
- {
- x: "服饰箱包",
- y: 41
- },
- {
- x: "母婴产品",
- y: 121
- },
- {
- x: "其他",
- y: 111
- }
- ];
- const salesTypeDataOffline = [
- {
- x: "家用电器",
- y: 99
- },
- {
- x: "食用酒水",
- y: 188
- },
- {
- x: "个护健康",
- y: 344
- },
- {
- x: "服饰箱包",
- y: 255
- },
- {
- x: "其他",
- y: 65
- }
- ];
- const offlineData = [];
- for (let i = 0; i < 10; i += 1) {
- offlineData.push({
- name: `Stores ${i}`,
- cvr: Math.ceil(Math.random() * 9) / 10
- });
- }
- const offlineChartData = [];
- for (let i = 0; i < 20; i += 1) {
- offlineChartData.push({
- x: new Date().getTime() + 1000 * 60 * 30 * i,
- y1: Math.floor(Math.random() * 100) + 10,
- y2: Math.floor(Math.random() * 100) + 10
- });
- }
- const radarOriginData = [
- {
- name: "个人",
- ref: 10,
- koubei: 8,
- output: 4,
- contribute: 5,
- hot: 7
- },
- {
- name: "团队",
- ref: 3,
- koubei: 9,
- output: 6,
- contribute: 3,
- hot: 1
- },
- {
- name: "部门",
- ref: 4,
- koubei: 1,
- output: 6,
- contribute: 5,
- hot: 7
- }
- ];
- const radarData = [];
- const radarTitleMap = {
- ref: "引用",
- koubei: "口碑",
- output: "产量",
- contribute: "贡献",
- hot: "热度"
- };
- radarOriginData.forEach(item => {
- Object.keys(item).forEach(key => {
- if (key !== "name") {
- radarData.push({
- name: item.name,
- label: radarTitleMap[key],
- value: item[key]
- });
- }
- });
- });
- const getFakeChartData = {
- visitData,
- visitData2,
- salesData,
- searchData,
- offlineData,
- offlineChartData,
- salesTypeData,
- salesTypeDataOnline,
- salesTypeDataOffline,
- radarData
- };
- module.exports = {
- "GET /api/fake_chart_data": getFakeChartData,
- [`GET /api/dashboard/chart`](req, res) {
- let result = null;
- switch (req.method) {
- case "GET":
- result = [100, 40, 78, 10, 30, 48];
- break;
- default:
- result = null;
- }
- // 返回你的mock数据。比如:
- res.json(result);
- }
- };
|