diff --git a/class/core/site_api.py b/class/core/site_api.py index 7dd4dd1c1..4f059dbb3 100755 --- a/class/core/site_api.py +++ b/class/core/site_api.py @@ -1201,6 +1201,39 @@ class site_api: return mw.returnJson(True, "ok", {"result": data, "count": len(data)}) + def getRedirectConfApi(self): + _siteName = request.form.get("siteName",'') + _id = request.form.get("id",'') + if _id == '' or _siteName == '': + return mw.returnJson(False, "必填项不能为空!") + + data = mw.readFile("{}/{}/{}.conf".format(self.redirectPath, _siteName, _id)) + if data == False: + return mw.returnJson(False, "获取失败!") + return mw.returnJson(True, "ok", {"result": data}) + + + def saveRedirectConfApi(self): + _siteName = request.form.get("siteName",'') + _id = request.form.get("id",'') + _config = request.form.get("config", "") + if _id == '' or _siteName == '': + return mw.returnJson(False, "必填项不能为空!") + + _old_config = mw.readFile("{}/{}/{}.conf".format(self.redirectPath, _siteName, _id)) + if _old_config == False: + return mw.returnJson(False, "非法操作") + + mw.writeFile("{}/{}/{}.conf".format(self.redirectPath, _siteName, _id), _config) + rule_test = mw.checkWebConfig() + if rule_test != True: + mw.writeFile("{}/{}/{}.conf".format(self.redirectPath, _siteName, _id), _old_config) + return mw.returnJson(False, "Nginx 配置测试不通过, 请重试: {}".format(rule_test)) + + mw.restartWeb() + return mw.returnJson(True, "ok") + + # get redirect status def setRedirectApi(self): _siteName = request.form.get("siteName",'') diff --git a/route/static/app/site.js b/route/static/app/site.js index 8d8739201..6694c71cc 100755 --- a/route/static/app/site.js +++ b/route/static/app/site.js @@ -1424,14 +1424,13 @@ function openCache(siteName){ function to301(siteName, type, obj){ // 设置 页面展示 - // 设置 更新展示 - if(type == 1 || type == 2){ + if(type == 1) { obj = { to: 'http://', from: '', r_type: '', type: 1, - type: 'domain', + type: 'path', keep_path: 1 } var redirect_form = layer.open({ @@ -1492,14 +1491,16 @@ function to301(siteName, type, obj){ layer.close(redirect_form); to301(siteName) } else { - layer.msg(res.msg); + layer.msg(res.msg, { + icon: 2 + }); } }); }); }, 100); } - if (type == 3) { + if (type == 2) { $.post('/site/del_redirect', { siteName: siteName, id: obj, @@ -1521,9 +1522,70 @@ function to301(siteName, type, obj){ return } - // 设置 提交 - - // 设置 更新 提交 + if (type == 3) { + var laoding = layer.load(); + $.post('/site/get_redirect_conf', { + siteName: siteName, + id: obj, + }, function(res) { + layer.close(laoding); + res = JSON.parse(res); + if (res.status == true) { + var mBody = "