ai-clone/frontend-ai/pages/short-drama/short-drama.vue
2026-03-05 14:29:21 +08:00

74 lines
1.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="drama-container">
<!-- 嵌入网页 -->
<web-view :src="dramaUrl"></web-view>
</view>
</template>
<script>
import { API_BASE, API_ENDPOINTS } from '@/config/api.js';
export default {
data() {
return {
// 默认使用用户指定的短剧链接
dramaUrl: 'https://djcps.meinvclk.top/'
};
},
onLoad() {
// 暂时注释掉动态加载强制使用默认URL
// this.loadDramaUrl();
},
methods: {
async loadDramaUrl() {
try {
// 先从本地存储读取缓存
const cachedConfig = uni.getStorageSync('appConfig');
if (cachedConfig && cachedConfig.app && cachedConfig.app.dramaUrl) {
this.dramaUrl = cachedConfig.app.dramaUrl;
return;
}
// 从后端获取最新配置(公开接口,不需要认证)
const res = await uni.request({
url: `${API_BASE}${API_ENDPOINTS.config.getAppConfig}`,
method: 'GET',
header: {
'Content-Type': 'application/json'
// 不添加认证头,因为这是公开接口
}
});
// 兼容不同平台的返回格式:可能是 [error, res] 或直接是 res
const response = Array.isArray(res) ? res[1] : res;
if (response && response.data && response.data.success && response.data.data) {
const config = response.data.data;
uni.setStorageSync('appConfig', config);
if (config.app && config.app.dramaUrl) {
this.dramaUrl = config.app.dramaUrl;
}
}
} catch (error) {
console.error('加载短剧URL失败:', error);
}
}
}
};
</script>
<style lang="scss" scoped>
.drama-container {
width: 100%;
height: 100vh;
display: flex;
flex-direction: column;
}
web-view {
flex: 1;
width: 100%;
height: 100vh;
}
</style>