添加加载器URL配置

This commit is contained in:
John Smith 2020-08-30 17:46:04 +08:00
parent 28b04f27ee
commit 4d58245ad9
4 changed files with 17 additions and 6 deletions

View File

@ -26,6 +26,7 @@ class ServerInfoHandler(api.base.ApiHandler):
self.write({ self.write({
'version': update.VERSION, 'version': update.VERSION,
'config': { 'config': {
'enableTranslate': cfg.enable_translate 'enableTranslate': cfg.enable_translate,
'loaderUrl': cfg.loader_url
} }
}) })

View File

@ -39,6 +39,7 @@ class AppConfig:
self.enable_translate = True self.enable_translate = True
self.allow_translate_rooms = {} self.allow_translate_rooms = {}
self.tornado_xheaders = False self.tornado_xheaders = False
self.loader_url = ''
def load(self, path): def load(self, path):
try: try:
@ -49,7 +50,7 @@ class AppConfig:
self.database_url = app_section['database_url'] self.database_url = app_section['database_url']
self.enable_translate = app_section.getboolean('enable_translate') self.enable_translate = app_section.getboolean('enable_translate')
allow_translate_rooms = app_section['allow_translate_rooms'].strip() allow_translate_rooms = app_section['allow_translate_rooms']
if allow_translate_rooms == '': if allow_translate_rooms == '':
self.allow_translate_rooms = {} self.allow_translate_rooms = {}
else: else:
@ -57,6 +58,7 @@ class AppConfig:
self.allow_translate_rooms = set(map(lambda id_: int(id_.strip()), allow_translate_rooms)) self.allow_translate_rooms = set(map(lambda id_: int(id_.strip()), allow_translate_rooms))
self.tornado_xheaders = app_section.getboolean('tornado_xheaders') self.tornado_xheaders = app_section.getboolean('tornado_xheaders')
self.loader_url = app_section['loader_url']
except (KeyError, ValueError): except (KeyError, ValueError):
logger.exception('Failed to load config:') logger.exception('Failed to load config:')

View File

@ -12,6 +12,9 @@ allow_translate_rooms =
# Set to true if you are using a reverse proxy server such as nginx # Set to true if you are using a reverse proxy server such as nginx
tornado_xheaders = false tornado_xheaders = false
# Use a loader so that you can run OBS before blivechat. If empty, no loader is used
loader_url = https://xfgryujk.sinacloud.net/blivechat/loader.html
# DON'T modify this section # DON'T modify this section
[DEFAULT] [DEFAULT]
@ -19,3 +22,4 @@ database_url = sqlite:///data/database.db
enable_translate = true enable_translate = true
allow_translate_rooms = allow_translate_rooms =
tornado_xheaders = false tornado_xheaders = false
loader_url =

View File

@ -66,7 +66,7 @@
<el-divider></el-divider> <el-divider></el-divider>
<el-form-item :label="$t('home.roomUrl')"> <el-form-item :label="$t('home.roomUrl')">
<el-input ref="roomUrlInput" readonly :value="loaderUrl" style="width: calc(100% - 8em); margin-right: 1em;"></el-input> <el-input ref="roomUrlInput" readonly :value="obsRoomUrl" style="width: calc(100% - 8em); margin-right: 1em;"></el-input>
<el-button type="primary" @click="copyUrl">{{$t('home.copy')}}</el-button> <el-button type="primary" @click="copyUrl">{{$t('home.copy')}}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -90,7 +90,8 @@ export default {
data() { data() {
return { return {
serverConfig: { serverConfig: {
enableTranslate: true enableTranslate: true,
loaderUrl: ''
}, },
form: { form: {
roomId: parseInt(window.localStorage.roomId || '1'), roomId: parseInt(window.localStorage.roomId || '1'),
@ -108,11 +109,14 @@ export default {
let resolved = this.$router.resolve({name: 'room', params: {roomId: this.form.roomId}, query}) let resolved = this.$router.resolve({name: 'room', params: {roomId: this.form.roomId}, query})
return `${window.location.protocol}//${window.location.host}${resolved.href}` return `${window.location.protocol}//${window.location.host}${resolved.href}`
}, },
loaderUrl() { obsRoomUrl() {
if (this.roomUrl === '') { if (this.roomUrl === '') {
return '' return ''
} }
let url = new URL('https://xfgryujk.sinacloud.net/blivechat/loader.html') if (this.serverConfig.loaderUrl === '') {
return this.roomUrl
}
let url = new URL(this.serverConfig.loaderUrl)
url.searchParams.append('url', this.roomUrl) url.searchParams.append('url', this.roomUrl)
return url.href return url.href
} }