diff --git a/spug_api/apps/config/views.py b/spug_api/apps/config/views.py
index 2947a8e..9f39a55 100644
--- a/spug_api/apps/config/views.py
+++ b/spug_api/apps/config/views.py
@@ -135,6 +135,9 @@ class ConfigView(View):
form.updated_by = request.user
envs = form.pop('envs')
for env_id in envs:
+ cf = Config.objects.filter(o_id=form.o_id, type=form.type, env_id=env_id, key=form.key).first()
+ if cf:
+ raise Exception(f'{cf.env.name} 中已存在该Key')
Config.objects.create(env_id=env_id, **form)
ConfigHistory.objects.create(action='1', env_id=env_id, **form)
return json_response(error=error)
diff --git a/spug_web/src/libs/functools.js b/spug_web/src/libs/functools.js
index 51adf1b..191c710 100644
--- a/spug_web/src/libs/functools.js
+++ b/spug_web/src/libs/functools.js
@@ -15,7 +15,11 @@ export function updatePermissions() {
X_TOKEN = localStorage.getItem('token');
Permission.isReady = true;
Permission.isSuper = localStorage.getItem('is_supper') === 'true';
- Permission.permissions = JSON.parse(localStorage.getItem('permissions') || '[]');
+ try {
+ Permission.permissions = JSON.parse(localStorage.getItem('permissions') || '[]');
+ } catch (e) {
+
+ }
}
// 前端页面的权限判断(仅作为前端功能展示的控制,具体权限控制应在后端实现)
diff --git a/spug_web/src/pages/config/setting/Form.js b/spug_web/src/pages/config/setting/Form.js
index f7fce97..d262848 100644
--- a/spug_web/src/pages/config/setting/Form.js
+++ b/spug_web/src/pages/config/setting/Form.js
@@ -76,7 +76,8 @@ export default observer(function () {
label="类型"
name="is_public"
valuePropName="checked"
- initialValue={store.record.is_public === undefined || store.record.is_public}>
+ initialValue={store.record.is_public === undefined || store.record.is_public}
+ tooltip={什么是公共/私有配置?}>
)}