|
65 | 65 | <el-table-column
|
66 | 66 | :label="$t('browser.ip_port')"
|
67 | 67 | width="200px"
|
68 |
| - > |
| 68 | + > |
69 | 69 | <template slot-scope="{ row }">
|
70 | 70 | <span>
|
71 | 71 | {{ row.proxy.protocol }}
|
|
236 | 236 | v-model="form.proxy.pass"
|
237 | 237 | style="max-width: 250px"
|
238 | 238 | />
|
| 239 | + |
| 240 | + <el-button |
| 241 | + type="primary" |
| 242 | + style="margin-left: 7px" |
| 243 | + :disabled2="checkProxyState.checking" |
| 244 | + :loading="checkProxyState.checking" |
| 245 | + @click="checkProxy" |
| 246 | + >检测{{ checkProxyState.checking ? '中':'' }}</el-button> |
239 | 247 | </el-form-item>
|
240 | 248 | <!-- <el-form-item
|
241 | 249 | :label="$t('browser.proxy.value')"
|
@@ -724,7 +732,7 @@ import {
|
724 | 732 | updateBrowser,
|
725 | 733 | deleteBrowser,
|
726 | 734 | chromeSend,
|
727 |
| - getBrowserVersion, |
| 735 | + chromeSendTimeout, |
728 | 736 | updateRuningState,
|
729 | 737 | } from '@/api/native'
|
730 | 738 | import { saveAs } from 'file-saver'
|
@@ -770,7 +778,7 @@ export default {
|
770 | 778 | data() {
|
771 | 779 | const validateCookie = (rule, value, callback) => {
|
772 | 780 | if (this.form.cookie.mode === 0) {
|
773 |
| - // this.form.cookie.mode = 0 |
| 781 | + this.form.cookie.value = '' |
774 | 782 | callback()
|
775 | 783 | return
|
776 | 784 | }
|
@@ -857,7 +865,7 @@ export default {
|
857 | 865 | 'audio-context': {},
|
858 | 866 | media: {},
|
859 | 867 | 'client-rects': {},
|
860 |
| - 'speech_voices': {}, |
| 868 | + speech_voices: {}, |
861 | 869 | ssl: {},
|
862 | 870 | cpu: {},
|
863 | 871 | memory: {},
|
@@ -943,6 +951,9 @@ export default {
|
943 | 951 | "sameSite": "None"
|
944 | 952 | }]`,
|
945 | 953 | copied: false,
|
| 954 | + checkProxyState: { |
| 955 | + checking: false |
| 956 | + }, |
946 | 957 | }
|
947 | 958 | },
|
948 | 959 | computed: {
|
@@ -1028,7 +1039,7 @@ export default {
|
1028 | 1039 | this.$watch(
|
1029 | 1040 | () => this.form['ua-language'].language,
|
1030 | 1041 | (val) => {
|
1031 |
| - this.form['ua-language'].value = [val, val.split('-')[0]] |
| 1042 | + this.form['ua-language'].value = [val, val.split('-')[0]].join(',') |
1032 | 1043 | this.form['time-zone'].locale = val
|
1033 | 1044 | }
|
1034 | 1045 | )
|
@@ -1196,9 +1207,9 @@ export default {
|
1196 | 1207 | width: random.float(-1, 1),
|
1197 | 1208 | height: random.float(-1, 1),
|
1198 | 1209 | },
|
1199 |
| - 'speech_voices': { |
| 1210 | + speech_voices: { |
1200 | 1211 | mode: 1,
|
1201 |
| - value: genRandomSpeechVoices() |
| 1212 | + value: genRandomSpeechVoices(), |
1202 | 1213 | },
|
1203 | 1214 | ssl: {
|
1204 | 1215 | mode: 0,
|
@@ -1434,6 +1445,22 @@ export default {
|
1434 | 1445 | })
|
1435 | 1446 | saveAs(blob, 'Virtual-Browser.json')
|
1436 | 1447 | },
|
| 1448 | + async checkProxy() { |
| 1449 | + this.checkProxyState.checking = true |
| 1450 | + this.preProcessData(this.form) |
| 1451 | + let timeout = false |
| 1452 | + const ret = await chromeSendTimeout('checkProxy', 10 * 1000, this.form.proxy.url).catch(err => { timeout = (err === 'timeout') }) |
| 1453 | + this.$alert( |
| 1454 | + `<p>代理:${this.form.proxy.url}</p> |
| 1455 | + <p style="color:${ret ? '#67C23A' : '#F56C6C'}">检测${ret ? '成功' : (timeout ? '超时' : '失败')}</p>`, |
| 1456 | + '代理检测', |
| 1457 | + { |
| 1458 | + type: ret ? 'success' : 'error', |
| 1459 | + dangerouslyUseHTMLString: true, |
| 1460 | + } |
| 1461 | + ) |
| 1462 | + this.checkProxyState.checking = false |
| 1463 | + }, |
1437 | 1464 | },
|
1438 | 1465 | }
|
1439 | 1466 | </script>
|
|
0 commit comments