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 }