Fix: config read Inaccurate

This commit is contained in:
Dreamacro 2018-12-21 22:49:38 +08:00
parent 21fae29d84
commit dd3ce22bfd
3 changed files with 13 additions and 11 deletions

View File

@ -56,7 +56,7 @@ class Settings extends React.Component<I18nProps, {}> {
} }
handleSocksPortSave = async () => { handleSocksPortSave = async () => {
const [, err] = await to(updateConfig({ 'socket-port': this.state.socks5ProxyPort })) const [, err] = await to(updateConfig({ 'socks-port': this.state.socks5ProxyPort }))
if (err === null) {} if (err === null) {}
} }
@ -87,18 +87,19 @@ class Settings extends React.Component<I18nProps, {}> {
setAsSystemProxy, setAsSystemProxy,
isClashX: true isClashX: true
}) })
} else {
await rootStores.store.fetchConfig()
} }
const general = rootStores.store.config.general await rootStores.store.fetchData()
const config = rootStores.store.config.general
const general = rootStores.store.data.general
this.setState({ this.setState({
allowConnectFromLan: general.allowLan, allowConnectFromLan: general.allowLan,
proxyMode: general.mode, proxyMode: general.mode,
socks5ProxyPort: general.socksPort, socks5ProxyPort: general.socksPort,
httpProxyPort: general.port, httpProxyPort: general.port,
externalControllerHost: general.externalControllerAddr, externalControllerHost: config.externalControllerAddr,
externalControllerPort: general.externalControllerPort, externalControllerPort: config.externalControllerPort,
externalControllerSecret: general.secret externalControllerSecret: config.secret
}) })
} }

View File

@ -9,7 +9,7 @@ let logsStreamReader = null
export interface Config { export interface Config {
port: number port: number
'socket-port': number 'socks-port': number
'redir-port': number 'redir-port': number
'allow-lan': boolean 'allow-lan': boolean
mode: string mode: string

View File

@ -29,10 +29,11 @@ export class ConfigStore {
runInAction(() => { runInAction(() => {
this.data.general = { this.data.general = {
port: general.port, port: general.port,
socksPort: general['socket-port'], socksPort: general['socks-port'],
redirPort: general['redir-port'], redirPort: general['redir-port'],
mode: general.mode, mode: general.mode,
logLevel: general['log-level'] logLevel: general['log-level'],
allowLan: general['allow-lan']
} }
const policyGroup = new Set(['Selector', 'URLTest', 'Fallback']) const policyGroup = new Set(['Selector', 'URLTest', 'Fallback'])
@ -102,7 +103,7 @@ export class ConfigStore {
this.config = { this.config = {
general: { general: {
port: config.port, port: config.port,
socksPort: config['socket-port'], socksPort: config['socks-port'],
redirPort: config['redir-port'], redirPort: config['redir-port'],
allowLan: config['allow-lan'], allowLan: config['allow-lan'],
mode: config.mode, mode: config.mode,