新增了安全须知弹窗
This commit is contained in:
parent
3314fab761
commit
d65addd516
@ -684,3 +684,51 @@ select {
|
|||||||
background-color: #ffe99d;
|
background-color: #ffe99d;
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.settings-window {
|
||||||
|
position: fixed;
|
||||||
|
top: 10%;
|
||||||
|
bottom: 10%;
|
||||||
|
height: 500px;
|
||||||
|
left: 10%;
|
||||||
|
right: 10%;
|
||||||
|
background-color: #171717;
|
||||||
|
border-radius: 20px;
|
||||||
|
border: #ffe99d 2px solid;
|
||||||
|
z-index: 100;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tag {
|
||||||
|
background: #fce9a7;
|
||||||
|
color: #000;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.settings-window-bg {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background-color: rgba(0, 0, 0, 0.5);
|
||||||
|
z-index: 99;
|
||||||
|
}
|
||||||
|
|
||||||
|
.animated-notice {
|
||||||
|
opacity: 0;
|
||||||
|
animation: fadeIn 1s ease-in-out forwards;
|
||||||
|
animation-delay: 1.5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fadeIn {
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
b {
|
||||||
|
color: #fce9a7;
|
||||||
|
}
|
||||||
|
78
src/App.vue
78
src/App.vue
@ -52,6 +52,7 @@ if (window.localStorage.getItem("settings")) {
|
|||||||
};
|
};
|
||||||
window.localStorage.setItem('settings', JSON.stringify(settings.value));
|
window.localStorage.setItem('settings', JSON.stringify(settings.value));
|
||||||
}
|
}
|
||||||
|
let showSafetyNotice = ref(localStorage.getItem('showSafetyNotice') !== 'false')
|
||||||
|
|
||||||
const upgradeSettings = () => {
|
const upgradeSettings = () => {
|
||||||
// 目前结构没变化,所以补全不存在的项就行了
|
// 目前结构没变化,所以补全不存在的项就行了
|
||||||
@ -102,7 +103,27 @@ const selectedGift = ref('')
|
|||||||
const selectedWave = ref('')
|
const selectedWave = ref('')
|
||||||
const relations = ref(Object.entries(giftData).map(([key, value]) => ({ gift: key, wave: settings.value.waveData[key] })))
|
const relations = ref(Object.entries(giftData).map(([key, value]) => ({ gift: key, wave: settings.value.waveData[key] })))
|
||||||
|
|
||||||
// console.log(relations.value)
|
// 安全须知相关
|
||||||
|
let canAcknowledgeSafetyNotice = ref(false)
|
||||||
|
let canAcknowledgeSafetyNoticeCountdown = ref(15)
|
||||||
|
let canAcknowledgeSafetyNoticeTimer = setInterval(() => {
|
||||||
|
canAcknowledgeSafetyNoticeCountdown.value--
|
||||||
|
if (canAcknowledgeSafetyNoticeCountdown.value <= 0) {
|
||||||
|
canAcknowledgeSafetyNotice.value = true
|
||||||
|
clearInterval(canAcknowledgeSafetyNoticeTimer)
|
||||||
|
}
|
||||||
|
}, 1000)
|
||||||
|
|
||||||
|
let safetyNotices = ref([
|
||||||
|
"<b>请保证在安全、清醒、自愿的情况下使用</b>",
|
||||||
|
"严禁体内存在<b>电子/金属植入物者、心脑血管疾病患者、孕妇、儿童或无法及时操作主机</b>的人群使用",
|
||||||
|
"严禁将电极置于<b>心脏投影区</b>(或任何可能使电流经过心脏的位置),以及<b>头部、颈部、皮肤破损处</b>等位置",
|
||||||
|
"严禁在驾驶或操纵机器等危险情况下使用",
|
||||||
|
"请勿在同一部位连续使用<b>30分钟以上</b>,以免造成损伤",
|
||||||
|
"请勿在<b>输出状态下</b>移动电极,以免造成刺痛或灼伤",
|
||||||
|
"在直播过程中使用<b>可能会导致直播间被封禁</b>,风险自负",
|
||||||
|
"在使用前需要<b>完整阅读郊狼产品安全须知,并设置好强度上限保护</b>",
|
||||||
|
])
|
||||||
|
|
||||||
watch(selectedGift, (newGift) => {
|
watch(selectedGift, (newGift) => {
|
||||||
selectedWave.value = waveData[newGift]
|
selectedWave.value = waveData[newGift]
|
||||||
@ -294,6 +315,14 @@ const addRelationAndSave = () => {
|
|||||||
saveSettings();
|
saveSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 阅读安全须知
|
||||||
|
*/
|
||||||
|
const acknowledgeSafetyNotice = () => {
|
||||||
|
showSafetyNotice.value = false
|
||||||
|
localStorage.setItem('showSafetyNotice', 'false')
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将数字大航海等级转换为文字
|
* 将数字大航海等级转换为文字
|
||||||
*/
|
*/
|
||||||
@ -327,23 +356,40 @@ const guardLevelText = computed(() => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="settings-window-bg" v-show="showUpgrade || showSettings || showSafetyNotice"></div>
|
||||||
|
|
||||||
<div class="settings-window" v-show="showUpgrade">
|
<div class="settings-window" v-show="showUpgrade">
|
||||||
<h2>【重要】设置结构现已更新,请确认执行升级操作</h2>
|
<h2>⚠ 本地设置数据升级</h2>
|
||||||
<p>
|
<p>
|
||||||
目前设置数据储存结构版本为<input class="tag" v-model="settings_version" size="1" disabled>,你设备上储存的设置数据的结构版本为<input class="tag" v-model="settings.version" size="1" disabled>。
|
目前可读取的本地设置数据的储存结构版本为<input class="tag" v-model="settings_version" size="1" disabled>,你的设备上现有的设置数据的储存结构版本为<input class="tag" v-model="settings.version" size="1" disabled>。
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
为了可以安全使用 BLive Coyote 需将你设备上储存的设置数据进行升级,这通常可以自动进行,如果出现意外请联系开发者。
|
为了可以安全使用 BLive Coyote,现在需要将你设备上储存的设置数据进行升级,这个过程通常可以自动进行,如果出现意外请联系开发者。
|
||||||
</p>
|
</p>
|
||||||
<hr />
|
<hr />
|
||||||
<p>【注意】请先复制下面的全部内容,以确保在升级失败时可以恢复</p>
|
<p>【注意】下面是你的全部设置数据,请先复制下面的全部内容,以确保在升级失败时可以恢复!</p>
|
||||||
<textarea v-model="settings_text" style="width: 100%; height: 64px;"></textarea>
|
<textarea v-model="settings_text" style="width: 100%; height: 64px;"></textarea>
|
||||||
<div class="form">
|
<div class="form">
|
||||||
<button @click="upgradeSettings">尝试执行升级</button>
|
<button @click="upgradeSettings">尝试执行升级</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="settings-window" v-show="showSafetyNotice">
|
||||||
|
<h2>⚠ 安全须知</h2>
|
||||||
|
<p v-for="(notice, index) in safetyNotices"
|
||||||
|
:key="index" class="animated-notice"
|
||||||
|
:style="`animation-delay: ${index*2}s`"
|
||||||
|
v-html="notice">
|
||||||
|
</p>
|
||||||
|
<hr />
|
||||||
|
<p>【注意】请仔细阅读以上内容后,点击“<b>我已知晓</b>”</p>
|
||||||
|
<div class="form">
|
||||||
|
<button @click="acknowledgeSafetyNotice" :disabled="!canAcknowledgeSafetyNotice">
|
||||||
|
我已知晓{{canAcknowledgeSafetyNoticeCountdown != 0 ? "(" + canAcknowledgeSafetyNoticeCountdown + ")" : ""}}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="settings-window" v-show="showSettings">
|
<div class="settings-window" v-show="showSettings">
|
||||||
<button @click="showSettings = false" style="float: right">关</button>
|
<button @click="showSettings = false" style="float: right">关</button>
|
||||||
<button @click="saveSettings" style="float: right">存</button>
|
<button @click="saveSettings" style="float: right">存</button>
|
||||||
@ -479,8 +525,6 @@ const guardLevelText = computed(() => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<button @click="showSettings = true">修改玩法</button>
|
<button @click="showSettings = true">修改玩法</button>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@ -524,24 +568,4 @@ const guardLevelText = computed(() => {
|
|||||||
margin: 10px 0;
|
margin: 10px 0;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.settings-window {
|
|
||||||
position: fixed;
|
|
||||||
top: 10%;
|
|
||||||
bottom: 10%;
|
|
||||||
height: 500px;
|
|
||||||
left: 10%;
|
|
||||||
right: 10%;
|
|
||||||
background-color: #171717;
|
|
||||||
border-radius: 20px;
|
|
||||||
border: #ffe99d 2px solid;
|
|
||||||
z-index: 100;
|
|
||||||
padding: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tag {
|
|
||||||
background: #fce9a7;
|
|
||||||
color: #000;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user