fix TypeError: this.shortIds.split is not a function

This commit is contained in:
Dmitry Zhavoronkov 2024-09-01 00:40:51 +07:00
parent f0165c1ad8
commit 0af630a481
No known key found for this signature in database
GPG key ID: C7C33D0E4EBEAB1D
3 changed files with 8 additions and 4 deletions

View file

@ -914,18 +914,20 @@ class RealityStreamSettings extends XrayCommonClass {
minClient = '',
maxClient = '',
maxTimediff = 0,
shortIds = RandomUtil.randomShortId(),
shortIds = RandomUtil.randomShortIds(),
settings = new RealityStreamSettings.Settings()
) {
super();
this.show = show;
this.xver = xver;
this.dest = dest;
/** @type {string} */
this.serverNames = Array.isArray(serverNames) ? serverNames.join(",") : serverNames;
this.privateKey = privateKey;
this.minClient = minClient;
this.maxClient = maxClient;
this.maxTimediff = maxTimediff;
/** @type {string} */
this.shortIds = Array.isArray(shortIds) ? shortIds.join(",") : shortIds;
this.settings = settings;
}

View file

@ -99,13 +99,15 @@ class RandomUtil {
return str;
}
static randomShortId() {
/** @return {string} */
static randomShortIds() {
const lengths = [2, 4, 6, 8, 10, 12, 14, 16];
for (let i = lengths.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[lengths[i], lengths[j]] = [lengths[j], lengths[i]];
}
/** @type {string[]} */
let shortIds = [];
for (let length of lengths) {
let shortId = '';
@ -114,7 +116,7 @@ class RandomUtil {
}
shortIds.push(shortId);
}
return shortIds;
return shortIds.join(',');
}
static randomLowerAndNum(len) {

View file

@ -189,7 +189,7 @@
<a-tooltip>
<template slot="title">
<span>{{ i18n "reset" }}</span>
</template> Short ID <a-icon @click="inbound.stream.reality.shortIds = RandomUtil.randomShortId()" type="sync"></a-icon>
</template> Short IDs <a-icon @click="inbound.stream.reality.shortIds = RandomUtil.randomShortIds()" type="sync"></a-icon>
</a-tooltip>
</template>
<a-input v-model.trim="inbound.stream.reality.shortIds"></a-input>