From 031808099db3736456398aecce152793061be2b1 Mon Sep 17 00:00:00 2001 From: xudafeng Date: Sun, 14 Aug 2022 17:47:38 +0800 Subject: [PATCH] feat: support job count --- app/controller/home.js | 5 +++-- app/service/user.js | 17 +++++++++++++++++ config/config.default.js | 5 +++++ view/src/components/BuildsTabs.js | 2 +- 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 app/service/user.js diff --git a/app/controller/home.js b/app/controller/home.js index 92b8325..74cab35 100644 --- a/app/controller/home.js +++ b/app/controller/home.js @@ -3,7 +3,7 @@ const { Controller, } = require('egg'); -const safeGet = require('lodash/get'); +const _ = require('lodash'); class HomeController extends Controller { async index() { @@ -11,7 +11,7 @@ class HomeController extends Controller { const user = ctx.session.user; const { appid, callbackUrl } = ctx.app.config.authorize.dingtalkAuth; const siteConfig = await ctx.model.Config.findOne({ raw: true }); - const assetsUrl = safeGet(siteConfig, 'data.site.assetsUrl'); + const assetsUrl = _.get(siteConfig, 'data.site.assetsUrl'); ctx.body = await app.render({ dingtalkAuth: { appid, @@ -25,6 +25,7 @@ class HomeController extends Controller { assetsUrl: assetsUrl || app.config.reliableView.assetsUrl, version: app.config.pkg.version, siteConfig: app.config.site, + user: await ctx.service.user.buildUserInfo(), }); } } diff --git a/app/service/user.js b/app/service/user.js new file mode 100644 index 0000000..1e28e9d --- /dev/null +++ b/app/service/user.js @@ -0,0 +1,17 @@ +'use strict'; + +const _ = require('lodash'); +const Service = require('egg').Service; + +module.exports = class BuildService extends Service { + async buildUserInfo() { + const { ctx, app } = this; + const res = _.get(ctx, app.config.admin.userKey); + if (app.config.admin.list.includes(res)) { + return { + isAdmin: true, + }; + } + return {}; + } +}; diff --git a/config/config.default.js b/config/config.default.js index 0c5872c..9ff1933 100644 --- a/config/config.default.js +++ b/config/config.default.js @@ -109,4 +109,9 @@ config.site = { }, }; +config.admin = { + userKey: '', + list: [], +}; + module.exports = config; diff --git a/view/src/components/BuildsTabs.js b/view/src/components/BuildsTabs.js index d6cd338..671dba0 100644 --- a/view/src/components/BuildsTabs.js +++ b/view/src/components/BuildsTabs.js @@ -147,7 +147,7 @@ class BuildsTabs extends React.Component { onTabClick={this.handleTabClick} style={{ height: 'auto' }} > - } key=""> + ({allJobName.length})} key=""> { listItems }