diff --git a/src/controllers/common/loc.js b/src/controllers/common/loc.js index bb4b368..1ffc987 100644 --- a/src/controllers/common/loc.js +++ b/src/controllers/common/loc.js @@ -1,116 +1,117 @@ -import { Router } from 'express'; -import data from '../../../config/china_area'; -import ChinaRegion from '../../models/snoopy/ChinaRegion'; -import ChinaArea from '../../models/snoopy/ChinaArea'; -import GameShareImage from '../../models/snoopy/GameShareImage'; +import {Router} from 'express' +import data from '../../../config/china_area' +import ChinaRegion from '../../models/snoopy/ChinaRegion' +import ChinaArea from '../../models/snoopy/ChinaArea' +import getGameShareImage from '../../models/snoopy/GameShareImage' import logger from '../../utils/logger' -const router = new Router(); +const GameShareImage = getGameShareImage() +const router = new Router() /* 获取省市列表, id为地区英文名*/ router.get('/china_region', async (req, res, next) => { try { - const provinces = await ChinaRegion.find({ level: 1 }); - const citys = await ChinaRegion.find({ level: 2, pinyin: { $ne: null } }); - const result = []; - const map = new Map(); - const pIdx = {}; + const provinces = await ChinaRegion.find({level: 1}) + const citys = await ChinaRegion.find({level: 2, pinyin: {$ne: null}}) + const result = [] + const map = new Map() + const pIdx = {} for (let i = 0; i < provinces.length; i++) { result.push({ id: provinces[i].pinyin, parent: '#', text: provinces[i].name, - children: [] - }); - map.set(provinces[i]._id, provinces[i]); + children: [], + }) + map.set(provinces[i]._id, provinces[i]) if (!pIdx[provinces[i]._id]) { - pIdx[provinces[i]._id] = i; + pIdx[provinces[i]._id] = i } } for (const c of citys) { if (map.has(c.parent_id)) { - const pIndex = pIdx[c.parent_id]; + const pIndex = pIdx[c.parent_id] result[pIndex].children.push({ id: `${map.get(c.parent_id).pinyin}_${c.pinyin}`, parent: map.get(c.parent_id).pinyin, - text: c.name - }); + text: c.name, + }) } } res.json({ errcode: 0, - records: result - }); + records: result, + }) } catch (err) { - next(err); + next(err) } -}); +}) /* 获取所有定义好的地域列表*/ router.get('/china_area', async (req, res, next) => { try { - const records = await ChinaArea.find({ deleted: false }); - res.json({ errcode: 0, records: records }); + const records = await ChinaArea.find({deleted: false}) + res.json({errcode: 0, records: records}) } catch (err) { - next(err); + next(err) } -}); +}) /* 更新*/ router.post('/china_area', async (req, res, next) => { - logger.db(req, '公共', '地域', '保存地域'); - const body = req.body; - const id = body.id; - const name = body.name; - const locations = body.locations; - let record; + logger.db(req, '公共', '地域', '保存地域') + const body = req.body + const id = body.id + const name = body.name + const locations = body.locations + let record try { if (id) { - record = await ChinaArea.findById(id); + record = await ChinaArea.findById(id) } else { - record = new ChinaArea({}); + record = new ChinaArea({}) } - record.name = name; - record.locations = locations; - await record.save(); - res.json({ errcode: 0, record: record }); + record.name = name + record.locations = locations + await record.save() + res.json({errcode: 0, record: record}) } catch (err) { - next(err); + next(err) } -}); +}) /* 删除*/ router.delete('/china_area', async (req, res, next) => { - logger.db(req, '公共', '地域', '删除地域'); - const body = req.body; - const id = body.id; + logger.db(req, '公共', '地域', '删除地域') + const body = req.body + const id = body.id try { if (!id) { - return res.json({ errcode: 101, errmsg: '未定义要删除的地域id' }); + return res.json({errcode: 101, errmsg: '未定义要删除的地域id'}) } - const record = await ChinaArea.findById(id); + const record = await ChinaArea.findById(id) if (!record) { - return res.json({ errcode: 102, errmsg: '未找到要删除的地域' }); + return res.json({errcode: 102, errmsg: '未找到要删除的地域'}) } const usedRecord = await GameShareImage.findOne({ area: id, - deleted: false - }); + deleted: false, + }) if (usedRecord) { return res.json({ errcode: 103, - errmsg: '要删除的记录已被使用,不能删除!' - }); + errmsg: '要删除的记录已被使用,不能删除!', + }) } - record.deleted = true; - record.delete_time = new Date(); - await record.save(); - res.json({ errcode: 0, record: record }); + record.deleted = true + record.delete_time = new Date() + await record.save() + res.json({errcode: 0, record: record}) } catch (err) { - next(err); + next(err) } -}); +}) -export default router; +export default router diff --git a/src/controllers/games/data copy.js b/src/controllers/games/data copy.js deleted file mode 100644 index 8348e33..0000000 --- a/src/controllers/games/data copy.js +++ /dev/null @@ -1,231 +0,0 @@ -// 获取单个游戏广告位 -import {Router} from 'express' -import axios from 'axios' -import config from '../../../config/config' - -const router = new Router() - -const gameReportApiUrl = config.game_report - -// 获取游戏日报 -router.get('/report', async (req, res, next) => { - // 权限判断 - const hasPerm = - req.user.permissions.includes(`${req.query.uid}-readable`) || - req.user.permissions.includes(`${req.query.uid}-edit`) || - req.user.permissions.includes(`${req.query.uid}-publish`) || - req.user.permissions.includes(`games-writeable`) - if (!hasPerm) { - res.status(403).send({ - errcode: 1, - errmsg: '用户无此游戏数据查看权限!', - }) - return - } - - const query = req.query - const game_id = parseInt(query.game_id) - const platform_id = parseInt(query.platform_id) - const date = query.date - const isNew = parseInt(query.isNew) - - try { - const categoryRes = await axios({ - url: gameReportApiUrl, - method: 'get', - params: { - c: 'Ops', - a: 'descField', - body: JSON.stringify({ - gameid: game_id, - channel: platform_id, - }), - }, - }) - - if (categoryRes.data.errcode === 0) { - const categoryInfo = categoryRes.data.result - const category = [] - for (const key in categoryInfo) { - if (categoryInfo.hasOwnProperty(key)) { - category.push(key) - } - } - - if (category.length === 0) { - res.send({ - errcode: 404, - errmsg: '暂无数据!', - }) - return - } - - const getDataArr = [] - - category.map(item => { - getDataArr.push( - getCategoryData(item, date, isNew, game_id, platform_id) - ) - }) - - const dataArr = await Promise.all(getDataArr) - const allData = Object.assign(...dataArr) - - const result = {} - - for (const key in categoryInfo) { - if (categoryInfo.hasOwnProperty(key)) { - const cate = categoryInfo[key] - result[key] = [] - - for (let i = 0; i < cate.length; i++) { - const field = cate[i] - const fieldName = field.name - if (fieldName.endsWith('_%')) { - let idx = 1 - let tempName = fieldName.replace(/%/, idx) - while (allData[tempName]) { - const obj = JSON.parse(JSON.stringify(field)) - obj.name = tempName - obj.explan += `_${idx}` - obj.value = allData[tempName] - result[key].push(obj) - idx++ - tempName = fieldName.replace(/%/, idx) - } - } else { - field.value = allData[fieldName] - result[key].push(field) - } - } - } - } - - res.send({ - errcode: 0, - result: result, - }) - } else { - res.send({ - errcode: categoryRes.errcode, - errmsg: categoryRes.errmsg, - }) - return - } - } catch (err) { - next(err) - } -}) - -function getCategoryData(cateName, date, is_new, game_id, platform_id) { - return new Promise(async (resolve, reject) => { - const dataRes = await axios({ - url: gameReportApiUrl, - method: 'get', - params: { - c: 'Ops', - a: 'gameReport', - body: JSON.stringify({ - gameid: game_id, - channel: platform_id, - times: date, - is_new: is_new, - category: cateName, - }), - }, - }) - - if (dataRes.data.errcode === 0) { - const data = dataRes.data.result - resolve(data) - } else { - reject({ - errcode: 404, - errmsg: '数据获取失败,暂无数据!', - }) - } - }) -} - -// 获取游戏数据(画图表用) -router.get('/game-data', async (req, res, next) => { - // 权限判断 - const hasPerm = - req.user.permissions.includes(`${req.query.uid}-readable`) || - req.user.permissions.includes(`${req.query.uid}-edit`) || - req.user.permissions.includes(`${req.query.uid}-publish`) || - req.user.permissions.includes(`games-writeable`) - if (!hasPerm) { - res.status(403).send({ - errcode: 1, - errmsg: '用户无此游戏数据查看权限!', - }) - return - } - const query = req.query - console.log(query) - const gameid = parseInt(query.gameid) - const channelid = parseInt(query.channelid) - const ad_channelid = query.ad_channelid - const method = query.method - const time_partice = parseInt(query.time_partice) - const time_begin = query.isNew - const time_end = query.isNew - - try { - // TODO: 接口对接 - // const searchRes = await axios({ - // url: gameReportApiUrl, - // method: 'get', - // params: { - // c: 'Ops', - // a: 'descField', - // body: JSON.stringify({ - // gameid: game_id, - // channel: platform_id, - // }), - // }, - // }) - - // if (searchRes.data.errcode === 0) { - // res.send({ - // errcode: 0, - // errmsg: '', - // message: { - // totoal: 2, - // result: [ - // { - // '2019-08-01 01:00:00': 100, - // '2019-08-01 02:00:00': 120, - // }, - // ], - // }, - // }) - // } else { - // res.send({ - // errcode: searchRes.errcode, - // errmsg: searchRes.errmsg, - // }) - // } - - - // TODO: 数据示例 - res.send({ - errcode: 0, - errmsg: '', - message: { - totoal: 2, - result: [ - { - '2019-08-01 01:00:00': 100, - '2019-08-01 02:00:00': 120, - }, - ], - }, - }) - } catch (err) { - next(err) - } -}) - -export default router diff --git a/src/controllers/games/data.js b/src/controllers/games/data.js index fa1ca04..39f2287 100644 --- a/src/controllers/games/data.js +++ b/src/controllers/games/data.js @@ -1,10 +1,9 @@ // 获取单个游戏广告位 import {Router} from 'express' import axios from 'axios' - import GameItem from '../../models/admin/GameItem' - import config from '../../../config/config' +import validPerm from '../../utils/valid-perm' const router = new Router() diff --git a/src/controllers/games/game.js b/src/controllers/games/game.js index 2d423d5..9445d9c 100644 --- a/src/controllers/games/game.js +++ b/src/controllers/games/game.js @@ -4,6 +4,7 @@ import axios from 'axios' import config from '../../../config/config' import logger from '../../utils/logger' import getOpsToken from '../../utils/get-ops-token' +import validPerm from '../../utils/valid-perm' const router = new Router() diff --git a/src/controllers/games/games.js b/src/controllers/games/games.js index 23f4092..57bedfc 100644 --- a/src/controllers/games/games.js +++ b/src/controllers/games/games.js @@ -14,7 +14,6 @@ const GameInfo = getGameInfoModel() const GameInfoTest = getGameInfoModel('test') // 获取游戏列表 -// TODO: 整理接口返回数据 router.get('/list', async (req, res, next) => { const query = req.query || {} const userPerms = req.user.permissions diff --git a/src/controllers/games/item.js b/src/controllers/games/item.js index 3e78929..e93954a 100644 --- a/src/controllers/games/item.js +++ b/src/controllers/games/item.js @@ -2,6 +2,7 @@ import {Router} from 'express' import axios from 'axios' import logger from '../../utils/logger' import GameItem from '../../models/admin/GameItem' +import validPerm from '../../utils/valid-perm' const router = new Router() diff --git a/src/controllers/games/lib.js b/src/controllers/games/lib.js index 4436269..67715d4 100644 --- a/src/controllers/games/lib.js +++ b/src/controllers/games/lib.js @@ -1,6 +1,7 @@ import {Router} from 'express' import logger from '../../utils/logger' import GameLib from '../../models/admin/GameLib' +import validPerm from '../../utils/valid-perm' const router = new Router() diff --git a/src/controllers/games/mp_share.js b/src/controllers/games/mp_share.js index d237c43..0d43d69 100644 --- a/src/controllers/games/mp_share.js +++ b/src/controllers/games/mp_share.js @@ -5,6 +5,7 @@ import path from 'path' import painter from '../../utils/painter' import config from '../../../config/config' import Template from '../../models/mp_share/Template' +import validPerm from '../../utils/valid-perm' const router = new Router() diff --git a/src/controllers/games/platforms.js b/src/controllers/games/platforms.js index 13f8c2f..a161a7d 100644 --- a/src/controllers/games/platforms.js +++ b/src/controllers/games/platforms.js @@ -1,6 +1,7 @@ import Platform from '../../models/admin/Platform' import {Router} from 'express' import logger from '../../utils/logger' +import validPerm from '../../utils/valid-perm' const router = new Router() // 获取平台列表 diff --git a/src/controllers/games/reward.js b/src/controllers/games/reward.js index cdb43c8..600c804 100644 --- a/src/controllers/games/reward.js +++ b/src/controllers/games/reward.js @@ -5,6 +5,7 @@ import RedisDao from '../../redis/redis.dao' import getOpsToken from '../../utils/get-ops-token' import config from '../../../config/config' import axios from 'axios' +import validPerm from '../../utils/valid-perm' const router = new Router() const redisDao = new RedisDao() diff --git a/src/controllers/games/settings.js b/src/controllers/games/settings.js index 5a37ed8..777ca09 100644 --- a/src/controllers/games/settings.js +++ b/src/controllers/games/settings.js @@ -6,6 +6,7 @@ import {Router} from 'express' import redis from 'redis' import config from '../../../config/config' import logger from '../../utils/logger' +import validPerm from '../../utils/valid-perm' const router = new Router() const redisDao = new RedisDao() diff --git a/src/controllers/games/share.js b/src/controllers/games/share.js index 5ccddb0..1e3fac4 100644 --- a/src/controllers/games/share.js +++ b/src/controllers/games/share.js @@ -4,6 +4,7 @@ import SystemDic from '../../models/admin/SystemDic' import ChinaArea from '../../models/snoopy/ChinaArea' import {Router} from 'express' import logger from '../../utils/logger' +import validPerm from '../../utils/valid-perm' const router = new Router() const GameInfo = getGameInfoModel() const GameInfoTest = getGameInfoModel('test') diff --git a/src/controllers/mp_share/get_font.js b/src/controllers/mp_share/get_font.js index 17c6cb1..70ee53b 100644 --- a/src/controllers/mp_share/get_font.js +++ b/src/controllers/mp_share/get_font.js @@ -2,7 +2,7 @@ import {Router} from 'express' import path from 'path' import cors from 'cors' import Fontmin from 'fontmin' - +import validPerm from '../../utils/valid-perm' const router = new Router() const whitelist = ['https://servicewechat.com'] diff --git a/src/controllers/open/games.js b/src/controllers/open/games.js index e7dce9e..db2bdaf 100644 --- a/src/controllers/open/games.js +++ b/src/controllers/open/games.js @@ -2,8 +2,10 @@ import {Router} from 'express' import getGameInfoModel from '../../models/admin/GameInfo' +import validPerm from '../../utils/valid-perm' const GameInfo = getGameInfoModel() + import cors from 'cors' import {platform} from 'os' diff --git a/src/controllers/open/promotion.js b/src/controllers/open/promotion.js index 030770b..3605a75 100644 --- a/src/controllers/open/promotion.js +++ b/src/controllers/open/promotion.js @@ -3,6 +3,7 @@ import {Router} from 'express' import AdArea from '../../models/admin/AdArea' import AdUid from '../../models/admin/AdUid' +import validPerm from '../../utils/valid-perm' import cors from 'cors' const router = new Router() diff --git a/src/controllers/sys/logs.js b/src/controllers/sys/logs.js index 3408ef0..8bd78cb 100644 --- a/src/controllers/sys/logs.js +++ b/src/controllers/sys/logs.js @@ -1,6 +1,7 @@ import OpLog from '../../models/admin/OpLog'; import { Router } from 'express'; import logger from '../../utils/logger'; +import validPerm from '../../utils/valid-perm' const router = new Router(); router.get('/', async function permissionListCtrl(req, res, next) { diff --git a/src/controllers/sys/permission.js b/src/controllers/sys/permission.js index 343aa22..3e78fbf 100644 --- a/src/controllers/sys/permission.js +++ b/src/controllers/sys/permission.js @@ -1,6 +1,7 @@ import {Role} from '../../models/admin/User' import {Router} from 'express' import logger from '../../utils/logger' +import validPerm from '../../utils/valid-perm' const router = new Router() router.get('/', async function permissionListCtrl(req, res, next) { diff --git a/src/controllers/sys/users.js b/src/controllers/sys/users.js index eb6f0bb..dc02210 100644 --- a/src/controllers/sys/users.js +++ b/src/controllers/sys/users.js @@ -4,6 +4,7 @@ import {User, LdapUser} from '../../models/admin/User' import {combPer, combRole} from '../../utils/comb-permissions' import {Router} from 'express' import logger from '../../utils/logger' +import validPerm from '../../utils/valid-perm' import getOpsToken from '../../utils/get-ops-token' const router = new Router() diff --git a/src/controllers/user/edit.js b/src/controllers/user/edit.js index 68f5e7e..55b6fbe 100644 --- a/src/controllers/user/edit.js +++ b/src/controllers/user/edit.js @@ -3,6 +3,7 @@ import {Router} from 'express' import axios from 'axios' import config from '../../../config/config' import logger from '../../utils/logger' +import validPerm from '../../utils/valid-perm' import getOpsToken from '../../utils/get-ops-token' const router = new Router() diff --git a/src/controllers/user/info.js b/src/controllers/user/info.js index 4b1d20b..d9cfbd6 100644 --- a/src/controllers/user/info.js +++ b/src/controllers/user/info.js @@ -4,6 +4,7 @@ import { LdapUser, User } from '../../models/admin/User'; import { combPer, combRole } from '../../utils/comb-permissions'; import { Router } from 'express'; import logger from '../../utils/logger'; +import validPerm from '../../utils/valid-perm' const router = new Router(); router.get('/info', function(req, res, next) {