Compare commits
2 Commits
b119839c34
...
1d6e3f82ba
| Author | SHA1 | Date | |
|---|---|---|---|
| 1d6e3f82ba | |||
| 895435ce67 |
@ -1,17 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- <el-dropdown trigger="click" class="international" @command="handleSetLanguage">-->
|
<el-dropdown trigger="click" class="international" @command="handleSetLanguage">
|
||||||
<!-- <div>-->
|
<div>
|
||||||
<!-- <svg-icon class-name="international-icon" icon-class="language" />-->
|
<svg-icon class-name="international-icon" icon-class="language" />
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- <el-dropdown-menu slot="dropdown">-->
|
<el-dropdown-menu slot="dropdown">
|
||||||
<!-- <el-dropdown-item :disabled="language==='zh'" command="zh">-->
|
<el-dropdown-item :disabled="language==='zh'" command="zh">
|
||||||
<!-- 中文-->
|
中文
|
||||||
<!-- </el-dropdown-item>-->
|
</el-dropdown-item>
|
||||||
<!-- <el-dropdown-item :disabled="language==='en'" command="en">-->
|
<el-dropdown-item :disabled="language==='en'" command="en">
|
||||||
<!-- English-->
|
English
|
||||||
<!-- </el-dropdown-item>-->
|
</el-dropdown-item>
|
||||||
<!-- </el-dropdown-menu>-->
|
</el-dropdown-menu>
|
||||||
<!-- </el-dropdown>-->
|
</el-dropdown>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -25,10 +25,11 @@ export default {
|
|||||||
handleSetLanguage(lang) {
|
handleSetLanguage(lang) {
|
||||||
this.$i18n.locale = lang
|
this.$i18n.locale = lang
|
||||||
this.$store.dispatch('app/setLanguage', lang)
|
this.$store.dispatch('app/setLanguage', lang)
|
||||||
this.$message({
|
// this.$message({
|
||||||
message: 'Switch Language Success',
|
// message: 'Switch Language Success',
|
||||||
type: 'success'
|
// type: 'success'
|
||||||
})
|
// })
|
||||||
|
window.location.reload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -52,6 +52,9 @@ export default {
|
|||||||
deviceID: 'Terminal ID',
|
deviceID: 'Terminal ID',
|
||||||
deviceIP: 'Terminal IP',
|
deviceIP: 'Terminal IP',
|
||||||
WAN_IP_AddressIP: 'WAN DomainName',
|
WAN_IP_AddressIP: 'WAN DomainName',
|
||||||
|
WAN_IP_Address: 'WAN IP address',
|
||||||
|
WAN_IP_DomainName: 'WAN domain name',
|
||||||
|
WAN_IP_Type: 'WAN Type',
|
||||||
WAN_Port: 'WAN Port',
|
WAN_Port: 'WAN Port',
|
||||||
WAN_RTSP_Port: 'WAN RTSP Port',
|
WAN_RTSP_Port: 'WAN RTSP Port',
|
||||||
gatewal: 'Gateway',
|
gatewal: 'Gateway',
|
||||||
@ -199,7 +202,10 @@ export default {
|
|||||||
lssyCode: 'The firmware is being updated, please wait.', // 641code
|
lssyCode: 'The firmware is being updated, please wait.', // 641code
|
||||||
lsseCode: 'The firmware update completed, the device will reboot soon.', // 642code
|
lsseCode: 'The firmware update completed, the device will reboot soon.', // 642code
|
||||||
lssCode: 'Failed to update the firmware, because the file cannot be parsed.', // 643code
|
lssCode: 'Failed to update the firmware, because the file cannot be parsed.', // 643code
|
||||||
lsssCode: 'Failed to update the firmware, because the file version is too low.' // 644code
|
lsssCode: 'Failed to update the firmware, because the file version is too low.', // 644code
|
||||||
|
EnableCalling: 'Whether or not to enable calling',
|
||||||
|
CallButton0: 'SIP Username (Button 1)',
|
||||||
|
CallButton1: 'SIP Username (Button 2)',
|
||||||
},
|
},
|
||||||
theme: {
|
theme: {
|
||||||
change: 'Change Theme',
|
change: 'Change Theme',
|
||||||
|
|||||||
@ -47,7 +47,10 @@ export default {
|
|||||||
firmwareVercion: '固件版本',
|
firmwareVercion: '固件版本',
|
||||||
deviceID: '终端 ID',
|
deviceID: '终端 ID',
|
||||||
deviceIP: '终端 IP',
|
deviceIP: '终端 IP',
|
||||||
WAN_IP_AddressIP: '公网域名',
|
WAN_IP_AddressIP: '广域网域名',
|
||||||
|
WAN_IP_Address: '广域网IP地址',
|
||||||
|
WAN_IP_DomainName: '广域网域名',
|
||||||
|
WAN_IP_Type: '广域网格式',
|
||||||
WAN_Port: '公网端口号',
|
WAN_Port: '公网端口号',
|
||||||
WAN_RTSP_Port: '公网RTSP端口号',
|
WAN_RTSP_Port: '公网RTSP端口号',
|
||||||
gatewal: '网关',
|
gatewal: '网关',
|
||||||
@ -191,7 +194,10 @@ export default {
|
|||||||
lssyCode: '固件升级中,请稍候。', // 641code
|
lssyCode: '固件升级中,请稍候。', // 641code
|
||||||
lsseCode: '固件升级成功,设备即将自动重启。', // 642code
|
lsseCode: '固件升级成功,设备即将自动重启。', // 642code
|
||||||
lssCode: '固件升级失败,此文件不是正确可用的固件升级文件。', // 643code
|
lssCode: '固件升级失败,此文件不是正确可用的固件升级文件。', // 643code
|
||||||
lsssCode: '固件升级失败,此固件升级文件的版本号低于当前版本。' // 644code
|
lsssCode: '固件升级失败,此固件升级文件的版本号低于当前版本。', // 644code
|
||||||
|
EnableCalling: '是否启用呼叫',
|
||||||
|
CallButton0: 'SIP用户名称 (按键1)',
|
||||||
|
CallButton1: 'SIP用户名称 (按键2)',
|
||||||
},
|
},
|
||||||
theme: {
|
theme: {
|
||||||
change: '换肤',
|
change: '换肤',
|
||||||
|
|||||||
@ -73,11 +73,13 @@
|
|||||||
>
|
>
|
||||||
<el-form-item label=" ">
|
<el-form-item label=" ">
|
||||||
<el-radio v-model="formSIPData.sip" label="on">{{
|
<el-radio v-model="formSIPData.sip" label="on">{{
|
||||||
$t("table.open")
|
$t("table.open")
|
||||||
}}</el-radio>
|
}}
|
||||||
|
</el-radio>
|
||||||
<el-radio v-model="formSIPData.sip" label="off">{{
|
<el-radio v-model="formSIPData.sip" label="off">{{
|
||||||
$t("table.close")
|
$t("table.close")
|
||||||
}}</el-radio>
|
}}
|
||||||
|
</el-radio>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('table.deviceID')">
|
<el-form-item :label="$t('table.deviceID')">
|
||||||
<el-input v-model="formSIPData.id" disabled />
|
<el-input v-model="formSIPData.id" disabled />
|
||||||
@ -103,6 +105,12 @@
|
|||||||
<svg-icon :icon-class="sip2PasswordType === 'password' ? 'eye' : 'eye-open'" />
|
<svg-icon :icon-class="sip2PasswordType === 'password' ? 'eye' : 'eye-open'" />
|
||||||
</span>
|
</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('table.CallButton0')" v-if="formSIPData.sipCallFunc === 'on'">
|
||||||
|
<el-input v-model="formSIPData.sipCallUsername0" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('table.CallButton1')" v-if="formSIPData.sipCallFunc === 'on'">
|
||||||
|
<el-input v-model="formSIPData.sipCallUsername1" />
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-form
|
<el-form
|
||||||
v-show="selectIndex === '0'"
|
v-show="selectIndex === '0'"
|
||||||
@ -166,9 +174,26 @@
|
|||||||
$t("table.close")
|
$t("table.close")
|
||||||
}}</el-radio>
|
}}</el-radio>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('table.WAN_IP_AddressIP')">
|
<el-form-item :label="$t('table.WAN_IP_Type')">
|
||||||
|
<el-select
|
||||||
|
v-model="formONVIFData.wanType"
|
||||||
|
style="width:350px;"
|
||||||
|
@change="selectChangeNet"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in NetType"
|
||||||
|
:key="item.key"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.key"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('table.WAN_IP_DomainName')" v-if="formONVIFData.wanType === '1'">
|
||||||
<el-input v-model="formONVIFData.wanDomainName" />
|
<el-input v-model="formONVIFData.wanDomainName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('table.WAN_IP_Address')" v-if="formONVIFData.wanType === '0'">
|
||||||
|
<el-input v-model="formONVIFData.wanIP" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item :label="$t('table.WAN_Port')">
|
<el-form-item :label="$t('table.WAN_Port')">
|
||||||
<el-input v-model="formONVIFData.wanOnvifPort" type="number" :min="0" :max="65535"/>
|
<el-input v-model="formONVIFData.wanOnvifPort" type="number" :min="0" :max="65535"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -191,6 +216,7 @@
|
|||||||
import { deviceInfo, deviceEdit } from '@/api/index.js'
|
import { deviceInfo, deviceEdit } from '@/api/index.js'
|
||||||
import { encryptData, decryptData } from '@/utils/encryption/entrypt'
|
import { encryptData, decryptData } from '@/utils/encryption/entrypt'
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Agreement',
|
name: 'Agreement',
|
||||||
data() {
|
data() {
|
||||||
@ -210,6 +236,16 @@ export default {
|
|||||||
key: '0'
|
key: '0'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
NetType: [
|
||||||
|
{
|
||||||
|
label: this.$t('table.WAN_IP_Address'),
|
||||||
|
key:"0",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('table.WAN_IP_DomainName'),
|
||||||
|
key:"1",
|
||||||
|
}
|
||||||
|
],
|
||||||
selectIndex: '0',
|
selectIndex: '0',
|
||||||
formUDPData: {
|
formUDPData: {
|
||||||
udp: '',
|
udp: '',
|
||||||
@ -229,7 +265,10 @@ export default {
|
|||||||
sipAddress: '',
|
sipAddress: '',
|
||||||
sipUsername: '',
|
sipUsername: '',
|
||||||
sipPassword: '',
|
sipPassword: '',
|
||||||
sipPassword2: ''
|
sipPassword2: '',
|
||||||
|
sipCallFunc:'off',
|
||||||
|
sipCallUsername0:'',
|
||||||
|
sipCallUsername1:'',
|
||||||
},
|
},
|
||||||
formONVIFData: {
|
formONVIFData: {
|
||||||
onvif: '',
|
onvif: '',
|
||||||
@ -246,6 +285,7 @@ export default {
|
|||||||
wanOnvifPort: '',
|
wanOnvifPort: '',
|
||||||
wanRTSPPort: '',
|
wanRTSPPort: '',
|
||||||
wanDomainName: '',
|
wanDomainName: '',
|
||||||
|
wanType:"0",
|
||||||
},
|
},
|
||||||
|
|
||||||
sipPasswordType: 'password',
|
sipPasswordType: 'password',
|
||||||
@ -262,6 +302,9 @@ export default {
|
|||||||
selectChange(e) {
|
selectChange(e) {
|
||||||
this.rtspAudioType = e
|
this.rtspAudioType = e
|
||||||
},
|
},
|
||||||
|
selectChangeNet(e) {
|
||||||
|
this.formONVIFData.wanType = e
|
||||||
|
},
|
||||||
showPwd(type) {
|
showPwd(type) {
|
||||||
if (type === 'sip') {
|
if (type === 'sip') {
|
||||||
if (this.sipPasswordType === 'password') {
|
if (this.sipPasswordType === 'password') {
|
||||||
@ -318,6 +361,10 @@ export default {
|
|||||||
res.data.sipPassword = decryptData(res.data.sipPassword)
|
res.data.sipPassword = decryptData(res.data.sipPassword)
|
||||||
this.formSIPData.sipPassword = res.data.sipPassword
|
this.formSIPData.sipPassword = res.data.sipPassword
|
||||||
this.formSIPData.sipPassword2 = res.data.sipPassword
|
this.formSIPData.sipPassword2 = res.data.sipPassword
|
||||||
|
this.formSIPData.sipCallFunc = res.data.sipCallFunc
|
||||||
|
// this.formSIPData.sipCallFunc = 'on'
|
||||||
|
this.formSIPData.sipCallUsername0 = res.data.sipCallUsername0
|
||||||
|
this.formSIPData.sipCallUsername1 = res.data.sipCallUsername1
|
||||||
|
|
||||||
this.formONVIFData.onvif = res.data.onvif
|
this.formONVIFData.onvif = res.data.onvif
|
||||||
this.formONVIFData.id = res.data.id
|
this.formONVIFData.id = res.data.id
|
||||||
@ -335,6 +382,7 @@ export default {
|
|||||||
this.formONVIFData.wanOnvifPort = res.data.wanOnvifPort
|
this.formONVIFData.wanOnvifPort = res.data.wanOnvifPort
|
||||||
this.formONVIFData.wanRTSPPort = res.data.wanRTSPPort
|
this.formONVIFData.wanRTSPPort = res.data.wanRTSPPort
|
||||||
this.formONVIFData.wanDomainName = res.data.wanDomainName
|
this.formONVIFData.wanDomainName = res.data.wanDomainName
|
||||||
|
this.formONVIFData.wanType = res.data.wanType
|
||||||
|
|
||||||
this.$forceUpdate()
|
this.$forceUpdate()
|
||||||
} else {
|
} else {
|
||||||
@ -347,8 +395,8 @@ export default {
|
|||||||
const portRegex = /^(1\d{4}|[2-4]\d{4}|49999)$/
|
const portRegex = /^(1\d{4}|[2-4]\d{4}|49999)$/
|
||||||
const portRegex2 = /^(?:[2-9]\d{0,3}|1\d{0,3}|9999)$/
|
const portRegex2 = /^(?:[2-9]\d{0,3}|1\d{0,3}|9999)$/
|
||||||
const ipv4Regex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
|
const ipv4Regex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
|
||||||
// const wanDName = /^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\*\+,;=.]+$/
|
const wanDName = /^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\*\+,;=.]+$/
|
||||||
const wanDName = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
|
// const wanDIP = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
|
||||||
if (this.selectIndex === '2') {
|
if (this.selectIndex === '2') {
|
||||||
param = {
|
param = {
|
||||||
...this.formUDPData
|
...this.formUDPData
|
||||||
@ -453,6 +501,15 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(this.formONVIFData.wanIP !== ''){
|
||||||
|
if(!ipv4Regex.test(param.wanIP)){
|
||||||
|
this.$message({
|
||||||
|
type: 'warning',
|
||||||
|
message: this.$i18n.t('table.isRight4')
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
if(this.formONVIFData.wanOnvifPort !== ''){
|
if(this.formONVIFData.wanOnvifPort !== ''){
|
||||||
const l = Number(this.formONVIFData.wanOnvifPort);
|
const l = Number(this.formONVIFData.wanOnvifPort);
|
||||||
if(l > 0 && l < 65536){
|
if(l > 0 && l < 65536){
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
<h3 class="title">
|
<h3 class="title">
|
||||||
IP Speaker
|
IP Speaker
|
||||||
</h3>
|
</h3>
|
||||||
<!-- <img src="@/assets/login/logo_white.svg" alt=""> -->
|
<!-- <img src="@/assets/login/logo_white.svg" alt="">-->
|
||||||
<h3 class="title">
|
<h3 class="title">
|
||||||
{{ $t('login.title') }}
|
{{ $t('login.title') }}
|
||||||
</h3>
|
</h3>
|
||||||
@ -66,9 +66,10 @@
|
|||||||
<el-button type="default" style="width:20%;margin-bottom:30px;" @click.native.prevent="cancelLogin">
|
<el-button type="default" style="width:20%;margin-bottom:30px;" @click.native.prevent="cancelLogin">
|
||||||
{{ $t('login.logCancel') }}
|
{{ $t('login.logCancel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- <lang-select class="set-language" />-->
|
<lang-select class="set-language" />
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-dialog :visible.sync="dialogVisible" :title="$t('login.changePassword')" width="600px">
|
<el-dialog :visible.sync="dialogVisible" :title="$t('login.changePassword')" width="600px">
|
||||||
<el-form>
|
<el-form>
|
||||||
<div class="tips">{{ $t('table.tips') }}: {{ $t('login.changePasswordTip') }}</div>
|
<div class="tips">{{ $t('table.tips') }}: {{ $t('login.changePasswordTip') }}</div>
|
||||||
@ -82,9 +83,9 @@
|
|||||||
<el-input v-model.trim="formData.new2" type="password" maxlength="16" />
|
<el-input v-model.trim="formData.new2" type="password" maxlength="16" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<div style="display: flex;justify-content: center;">
|
<div style="display: flex;justify-content: center;">
|
||||||
<el-button type="primary" style="width: 120px;" @click="submit">{{
|
<el-button type="primary" style="width: 120px;" @click="submit">
|
||||||
$t("profile.update")
|
{{ $t("profile.update") }}
|
||||||
}}</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user