mirror of https://github.com/openspug/spug
U web update
parent
e845691eda
commit
e90883c899
|
@ -25,7 +25,8 @@ class LoginIndex extends React.Component {
|
|||
title: '安全警告',
|
||||
className: styles.tips,
|
||||
content: <div>
|
||||
未能获取到客户端的真实IP,无法提供基于请求来源IP的合法性验证,详细信息请参考<a target="_blank" href="https://spug.dev">官方文档</a>。
|
||||
未能获取到客户端的真实IP,无法提供基于请求来源IP的合法性验证,详细信息请参考
|
||||
<a target="_blank" href="https://spug.dev" rel="noopener noreferrer">官方文档</a>。
|
||||
</div>,
|
||||
onOk: () => this.doLogin(data)
|
||||
})
|
||||
|
|
|
@ -5,6 +5,7 @@ import http from 'libs/http';
|
|||
import envStore from 'pages/config/environment/store';
|
||||
import appStore from 'pages/config/app/store';
|
||||
import store from './store';
|
||||
import lds from 'lodash';
|
||||
|
||||
@observer
|
||||
class DeployPerm extends React.Component {
|
||||
|
@ -43,11 +44,13 @@ class DeployPerm extends React.Component {
|
|||
|
||||
handleSubmit = () => {
|
||||
this.setState({loading: true});
|
||||
const {app, service} = store.confRel;
|
||||
http.patch('/api/app/', {id: store.record.id, rel_apps: app, rel_services: service})
|
||||
if (lds.get(store.deployRel, 'envs', []).length === 0) {
|
||||
message.error('请至少设置一个环境权限')
|
||||
}
|
||||
http.patch('/api/account/role/', {id: store.record.id, deploy_perms: store.deployRel})
|
||||
.then(res => {
|
||||
message.success('操作成功');
|
||||
store.relVisible = false;
|
||||
store.deployPermVisible = false;
|
||||
store.fetchRecords()
|
||||
}, () => this.setState({loading: false}))
|
||||
};
|
||||
|
@ -62,8 +65,14 @@ class DeployPerm extends React.Component {
|
|||
onCancel={() => store.deployPermVisible = false}
|
||||
confirmLoading={this.state.loading}
|
||||
onOk={this.handleSubmit}>
|
||||
<Alert closable style={{width: 600, margin: '0 auto 20px', color: '#31708f !important'}} type="info"
|
||||
message="小提示: 发布权限仅影响可发布的对象,页面公共权限请在功能权限中设置。"/>
|
||||
<Alert
|
||||
closable
|
||||
showIcon
|
||||
type="info"
|
||||
style={{width: 600, margin: '0 auto 20px', color: '#31708f !important'}}
|
||||
message="小提示"
|
||||
description={[<div key="1">发布权限仅影响发布功能的发布对象,页面功能权限请在功能权限中设置。</div>,
|
||||
<div key="2">如果需要发布权限,请至少设置一个有权限操作的环境,否则无法正常发布。</div>]}/>
|
||||
<Tabs tabPosition="left">
|
||||
<Tabs.TabPane tab="环境权限" key="env">
|
||||
<Form.Item label="设置可发布至哪个环境">
|
||||
|
@ -73,7 +82,7 @@ class DeployPerm extends React.Component {
|
|||
dataSource={this.state.envs}
|
||||
targetKeys={store.deployRel.envs}
|
||||
onChange={keys => store.deployRel.envs = keys}
|
||||
render={item => `${item.name}(${item._key})`}/>
|
||||
render={item => `${item.name} - ${item._key}`}/>
|
||||
</Form.Item>
|
||||
</Tabs.TabPane>
|
||||
<Tabs.TabPane tab="应用权限" key="app">
|
||||
|
@ -84,7 +93,7 @@ class DeployPerm extends React.Component {
|
|||
dataSource={this.state.apps}
|
||||
targetKeys={store.deployRel.apps}
|
||||
onChange={keys => store.deployRel.apps = keys}
|
||||
render={item => `${item.name}(${item._key})`}/>
|
||||
render={item => `${item.name} - ${item._key}`}/>
|
||||
</Form.Item>
|
||||
</Tabs.TabPane>
|
||||
</Tabs>
|
||||
|
|
|
@ -17,16 +17,13 @@ class PagePerm extends React.Component {
|
|||
}
|
||||
|
||||
handleSubmit = () => {
|
||||
console.log(JSON.stringify(store.permissions));
|
||||
// this.setState({loading: true});
|
||||
// const formData = this.props.form.getFieldsValue();
|
||||
// formData['id'] = store.record.id;
|
||||
// http.post('/api/account/role/', formData)
|
||||
// .then(res => {
|
||||
// message.success('操作成功');
|
||||
// store.formVisible = false;
|
||||
// store.fetchRecords()
|
||||
// }, () => this.setState({loading: false}))
|
||||
this.setState({loading: true});
|
||||
http.patch('/api/account/role/', {id: store.record.id, page_perms: store.permissions})
|
||||
.then(res => {
|
||||
message.success('操作成功');
|
||||
store.pagePermVisible = false;
|
||||
store.fetchRecords()
|
||||
}, () => this.setState({loading: false}))
|
||||
};
|
||||
|
||||
handleAllCheck = (e, mod, page) => {
|
||||
|
|
|
@ -5,14 +5,15 @@ import lds from 'lodash';
|
|||
|
||||
class Store {
|
||||
allPerms = {};
|
||||
initPerms = {};
|
||||
@observable records = [];
|
||||
@observable record = {};
|
||||
@observable permissions = lds.cloneDeep(codes);
|
||||
@observable deployRel = {}
|
||||
@observable deployRel = {};
|
||||
@observable isFetching = false;
|
||||
@observable formVisible = false;
|
||||
@observable pagePermVisible = false;
|
||||
@observable deployPermVisible = true;
|
||||
@observable deployPermVisible = false;
|
||||
|
||||
@observable f_name;
|
||||
|
||||
|
@ -28,15 +29,13 @@ class Store {
|
|||
};
|
||||
|
||||
initPermissions = () => {
|
||||
const tmp = {};
|
||||
for (let mod of codes) {
|
||||
tmp[mod.key] = {};
|
||||
this.initPerms[mod.key] = {};
|
||||
for (let page of mod.pages) {
|
||||
tmp[mod.key][page.key] = [];
|
||||
this.initPerms[mod.key][page.key] = [];
|
||||
this.allPerms[`${mod.key}.${page.key}`] = page.perms.map(x => x.key)
|
||||
}
|
||||
}
|
||||
this.permissions = tmp;
|
||||
};
|
||||
|
||||
showForm = (info = {}) => {
|
||||
|
@ -47,11 +46,13 @@ class Store {
|
|||
showPagePerm = (info) => {
|
||||
this.record = info;
|
||||
this.pagePermVisible = true;
|
||||
this.permissions = lds.merge(this.initPerms, info.page_perms)
|
||||
};
|
||||
|
||||
showDeployPerm = (info) => {
|
||||
this.record = info;
|
||||
this.deployPermVisible = true;
|
||||
this.deployRel = info.deploy_perms || {}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue