diff --git a/web/html/xui/xray.html b/web/html/xui/xray.html index 0e9f15e4..c1e38fdf 100644 --- a/web/html/xui/xray.html +++ b/web/html/xui/xray.html @@ -180,7 +180,7 @@ @@ -193,7 +193,7 @@ @@ -765,8 +765,8 @@ }, routingDomainStrategies: ["AsIs", "IPIfNonMatch", "IPOnDemand"], logLevel: ["none" , "debug" , "info" , "warning", "error"], - access: ["none" , "./access.log" ], - error: ["none" , "./error.log" ], + access: [], + error: [], settingsData: { protocols: { bittorrent: ["bittorrent"], @@ -869,10 +869,10 @@ }, async getXrayResult() { const msg = await HttpUtil.get("/panel/xray/getXrayResult"); - if(msg.success){ - this.restartResult=msg.obj; - if(msg.obj.length > 1) Vue.prototype.$message.error(msg.obj); - } + if (msg.success) { + this.restartResult=msg.obj; + if(msg.obj.length > 1) Vue.prototype.$message.error(msg.obj); + } }, async fetchUserSecret() { this.loading(true); @@ -910,9 +910,9 @@ }, async toggleToken(value) { if (value) { - await this.getNewSecret(); + await this.getNewSecret(); } else { - this.user.loginSecret = ""; + this.user.loginSecret = ""; } }, async resetXrayConfigToDefault() { @@ -1001,7 +1001,7 @@ this.cm = CodeMirror.fromTextArea(textAreaObj, this.cmOptions); this.cm.on('change',editor => { value = editor.getValue(); - if(this.isJsonString(value)){ + if (this.isJsonString(value)) { this[this.advSettings] = value; } }); @@ -1403,8 +1403,22 @@ }, computed: { templateSettings: { - get: function () { return this.xraySetting ? JSON.parse(this.xraySetting) : null; }, - set: function (newValue) { this.xraySetting = JSON.stringify(newValue, null, 2); }, + get: function () { + const parsedSettings = this.xraySetting ? JSON.parse(this.xraySetting) : null; + if (parsedSettings) { + this.access = ["none", parsedSettings.log.access]; + this.error = ["none", parsedSettings.log.error]; + } else { + this.access = ["none", "./access.log"]; + this.error = ["none", "./error.log"]; + } + return parsedSettings; + }, + set: function (newValue) { + this.xraySetting = JSON.stringify(newValue, null, 2); + this.access = ["none", newValue.log.access]; + this.error = ["none", newValue.log.error]; + }, }, inboundSettings: { get: function () { return this.templateSettings ? JSON.stringify(this.templateSettings.inbounds, null, 2) : null; },