diff --git a/box/chavy.boxjs.html b/box/chavy.boxjs.html index a125876ba..6addb3e41 100644 --- a/box/chavy.boxjs.html +++ b/box/chavy.boxjs.html @@ -1847,6 +1847,12 @@

v{{ver.versio ) }, created() { + // 如果 url 参数中指定的 baseURL, 则后续的请求都请求到指定的域 + if (window.location.search) { + const [, baseURL] = /baseURL=(.*?)(&|$)/.exec(window.location.search) + axios.defaults.baseURL = baseURL || '' + this.ui.isCors = true + } // 根据路径跳转视图 const defview = '/' if (!this.isCors) { @@ -1860,21 +1866,13 @@

v{{ver.versio // 如果后端没有渲染数据, 则发出请求获取数据 if (this.boxServerData) { this.box = this.boxServerData + this.setHttpBackend() } else { - axios.get('/query/boxdata').then((resp) => (this.box = resp.data)) - } - // 如果是Quantumult X环境并且配置了HTTP Backend,将axios请求指向到HTTP Backend - if (this.box.syscfgs.env === 'QuanX' && this.box.usercfgs.http_backend) { - axios.defaults.baseURL = this.box.usercfgs.http_backend - this.ui.isCors = true - } - // 如果 url 参数中指定的 baseURL, 则后续的请求都请求到指定的域 - if (window.location.search) { - const [, baseURL] = /baseURL=(.*?)(&|$)/.exec(window.location.search) - axios.defaults.baseURL = baseURL || '' - this.ui.isCors = true + axios.get('/query/boxdata').then((resp) => { + this.box = resp.data + this.setHttpBackend() + }) } - // 获取全局备份 if (this.view === 'bak') { this.loadGlobalBak() @@ -2151,10 +2149,7 @@

v{{ver.versio Object.assign(this.box, resp.data) if (this.curapp.id === 'BoxSetting') { - if (this.box.syscfgs.env === 'QuanX') { - axios.defaults.baseURL = this.box.usercfgs.http_backend || '' - this.ui.isCors = true - } + this.setHttpBackend() } }) }, @@ -2395,6 +2390,24 @@

v{{ver.versio _v2 = v2.split('.'), _r = _v1[0] - _v2[0] return _r == 0 && v1 != v2 ? this.compareVersion(_v1.splice(1).join('.'), _v2.splice(1).join('.')) : _r + }, + // 设置HTTP Backend + setHttpBackend() { + // 目前HTTP Backend不能修改端口号 + var regex = /^http:\/\/(.*):9999$/ + if (this.box.syscfgs.env === 'QuanX') { + if (regex.test(window.location.origin)) { + axios.defaults.baseURL = '' + return + } + // 如果是Quantumult X环境并且配置了正确格式的HTTP Backend,将axios请求指向到HTTP Backend + if (this.box.usercfgs.http_backend && regex.test(this.box.usercfgs.http_backend)) { + axios.defaults.baseURL = this.box.usercfgs.http_backend + this.ui.isCors = true + } else { + axios.defaults.baseURL = '' + } + } } } }) diff --git a/box/chavy.boxjs.js b/box/chavy.boxjs.js index 45a397176..7aed06ef8 100644 --- a/box/chavy.boxjs.js +++ b/box/chavy.boxjs.js @@ -3,7 +3,7 @@ const $ = new Env('BoxJs') // 为 eval 准备的上下文环境 const $eval_env = {} -$.version = '0.7.81' +$.version = '0.7.82' $.versionType = 'beta' // 发出的请求需要需要 Surge、QuanX 的 rewrite diff --git a/box/release/box.release.json b/box/release/box.release.json index 3e03ed983..cbe0a5563 100644 --- a/box/release/box.release.json +++ b/box/release/box.release.json @@ -1,5 +1,17 @@ { "releases": [ + { + "version": "0.7.82", + "tags": ["beta"], + "author": "@chouchoui", + "msg": "更新[BoxJs]: 格式不正确的HTTP Backend不会生效", + "notes": [ + { + "name": "优化", + "descs": ["格式不正确的HTTP Backend不会生效"] + } + ] + }, { "version": "0.7.81", "tags": ["beta"], diff --git a/box/release/box.release.tf.json b/box/release/box.release.tf.json index 06b57db31..84d4629f1 100644 --- a/box/release/box.release.tf.json +++ b/box/release/box.release.tf.json @@ -1,5 +1,17 @@ { "releases": [ + { + "version": "0.7.82", + "tags": ["beta"], + "author": "@chouchoui", + "msg": "更新[BoxJs]: 格式不正确的HTTP Backend不会生效", + "notes": [ + { + "name": "优化", + "descs": ["格式不正确的HTTP Backend不会生效"] + } + ] + }, { "version": "0.7.81", "tags": ["beta"], diff --git a/chavy.box.js b/chavy.box.js index 45a397176..7aed06ef8 100644 --- a/chavy.box.js +++ b/chavy.box.js @@ -3,7 +3,7 @@ const $ = new Env('BoxJs') // 为 eval 准备的上下文环境 const $eval_env = {} -$.version = '0.7.81' +$.version = '0.7.82' $.versionType = 'beta' // 发出的请求需要需要 Surge、QuanX 的 rewrite