添加音频测试页面

This commit is contained in:
kron
2025-11-06 10:52:08 +08:00
parent 6b30eedcc2
commit ae9ec4a7f7
4 changed files with 70 additions and 2 deletions

51
src/pages/audio-test.vue Normal file
View File

@@ -0,0 +1,51 @@
<script setup>
import { ref, onMounted, onBeforeUnmount } from "vue";
import Container from "@/components/Container.vue";
import audioManager, { audioFils } from "@/audioManager";
const loaded = ref({});
const playAudio = (key) => {
audioManager.play(key);
};
onMounted(() => {
const loadedAudioKeys = uni.getStorageSync("loadedAudioKeys") || {};
loaded.value = loadedAudioKeys;
uni.$on("audioLoaded", (key) => {
loaded.value[key] = true;
});
});
onBeforeUnmount(() => {
uni.$off("audioLoaded");
});
</script>
<template>
<Container title="应聘测试">
<view class="container">
<view v-for="key in Object.keys(audioFils)" :key="key">
<text>{{ key }}</text>
<text v-if="!loaded[key]">未加载</text>
<button v-else hover-class="none" @click="playAudio(key)">播放</button>
</view>
</view>
</Container>
</template>
<style scoped>
.container {
display: flex;
flex-direction: column;
width: 100%;
}
.container > view {
width: calc(100% - 50rpx);
display: flex;
align-items: center;
justify-content: space-between;
padding: 25rpx;
}
</style>

View File

@@ -52,6 +52,11 @@ const toAboutUsPage = () => {
url: "/pages/about-us",
});
};
const toAudioTestPage = () => {
uni.navigateTo({
url: "/pages/audio-test",
});
};
const showLogout = ref(false);
const logout = () => {
@@ -126,6 +131,11 @@ onMounted(() => {
<image src="../static/my-grow.png" mode="widthFix" />
</view>
<UserItem title="关于我们" :onClick="toAboutUsPage" />
<UserItem
title="音频测试"
:onClick="toAudioTestPage"
v-if="showLogout"
/>
<UserItem
title="退出登录(仅用于测试)"
:onClick="logout"