Merge branch 'player-20251117-v1' into master-20251210

# Conflicts:
#	src/views/study/coursenew.vue
This commit is contained in:
joshen
2025-12-10 15:30:16 +08:00
4 changed files with 3161 additions and 20 deletions

View File

@@ -711,7 +711,7 @@ export default {
/** ai播放器相关 /** ai播放器相关
* 切换字幕语言 * 切换字幕语言
*/ */
changeLang(item) { changeLang(item = {}) {
this.SET_currentLang(item.srclang); this.SET_currentLang(item.srclang);
this.currentLangLabel = item.label; this.currentLangLabel = item.label;
console.log("changeLang",item); console.log("changeLang",item);
@@ -812,13 +812,13 @@ export default {
this.videoDom.load(); this.videoDom.load();
// 如果有默认语言且支持AI翻译重新设置字幕 // 如果有默认语言且支持AI翻译重新设置字幕
if (this.isAiTranslate && this.selectableLang && this.selectableLang.length > 0) { // if (this.isAiTranslate && this.selectableLang && this.selectableLang.length > 0) {
// 找到默认语言或第一个可用语言 // // 找到默认语言或第一个可用语言
const defaultLang = this.selectableLang.find(lang => lang.srclang === 'zh-CN') || this.selectableLang[0]; // const defaultLang = this.selectableLang.find(lang => lang.srclang === 'zh-CN') || this.selectableLang[0];
if (defaultLang) { // if (defaultLang) {
this.changeLang(defaultLang); // this.changeLang(defaultLang);
} // }
} // }
}, },
}, },
}; };
@@ -1072,4 +1072,25 @@ export default {
height: 100px; height: 100px;
} }
} }
video::cue {
color: #fff;
background-color: transparent;
font-size: 0.85em;
font-family: 'Arial', sans-serif;
/* 1. WebKit内核粗描边Chrome/Safari/Edge */
-webkit-text-stroke: 4px #000; /* 宽度调至4px可继续加大如6px/8px */
text-stroke: 4px #000; /* 标准属性兜底 */
/* 2. 多重阴影模拟粗描边(核心:增加偏移量+多层叠加) */
text-shadow:
2px 2px 0 #000,
-2px 2px 0 #000,
2px -2px 0 #000,
-2px -2px 0 #000,
/* 追加外层阴影,让描边更厚 */
0 2px 0 #000,
2px 0 0 #000,
0 -2px 0 #000,
-2px 0 0 #000;
}
</style> </style>

View File

@@ -306,7 +306,7 @@
<div style="margin-bottom: 20px;"> <div style="margin-bottom: 20px;">
<div style="margin-bottom: 15px;">请选择课程所支持语种</div> <div style="margin-bottom: 15px;">请选择课程所支持语种</div>
<el-select <el-select
v-model="languageSetting.selectedLanguages" v-model="languageSetting.languageCode"
multiple multiple
placeholder="请选择语种" placeholder="请选择语种"
style="width: 100%;" style="width: 100%;"
@@ -461,7 +461,7 @@
</span> </span>
<div class="action-buttons"> <div class="action-buttons">
<el-button type="text" @click="changeAIKey('aiAbstract')"> <el-button type="text" @click="changeAIKey('aiAbstract')">
{{ aiSetting.aiAbstract === 0 ? '' : '' }} {{ aiSetting.aiAbstract === 1 ? '' : '' }}
</el-button> </el-button>
<el-button v-show="false" type="text" >编辑</el-button> <el-button v-show="false" type="text" >编辑</el-button>
</div> </div>
@@ -475,7 +475,7 @@
</span> </span>
<div class="action-buttons"> <div class="action-buttons">
<el-button type="text" @click="changeAIKey('aiDraft')"> <el-button type="text" @click="changeAIKey('aiDraft')">
{{ aiSetting.aiDraft === 0 ? '' : '' }} {{ aiSetting.aiDraft === 1 ? '' : '' }}
</el-button> </el-button>
</div> </div>
</div> </div>
@@ -488,7 +488,7 @@
</span> </span>
<div class="action-buttons"> <div class="action-buttons">
<el-button type="text" @click="changeAIKey('aiTranslate')"> <el-button type="text" @click="changeAIKey('aiTranslate')">
{{ aiSetting.aiTranslate === 0 ? '' : '' }} {{ aiSetting.aiTranslate === 1 ? '' : '' }}
</el-button> </el-button>
<el-button v-show="false" type="text" >编辑</el-button> <el-button v-show="false" type="text" >编辑</el-button>
</div> </div>

View File

@@ -9,7 +9,7 @@
<div style="margin: 0px 80px"> <div style="margin: 0px 80px">
<div class="banner-crumbs"> <div class="banner-crumbs">
<router-link to="/course" <router-link to="/course"
><span class="crumbs-first">课程列表</span></router-link ><span class="crumbs-first">课程列表</span></router-link
> >
<span class="crumbs-line"> &gt; </span> <span class="crumbs-line"> &gt; </span>
<span class="crumbs-last">课程详情</span> <span class="crumbs-last">课程详情</span>
@@ -384,7 +384,7 @@
class="el-icon-document" class="el-icon-document"
style="margin-right: 9px; margin-left: 9px" style="margin-right: 9px; margin-left: 9px"
></i ></i
>ai文稿 >AI文稿
<img <img
src="@/assets/images/course/wengaoTip.png" src="@/assets/images/course/wengaoTip.png"
alt="" alt=""
@@ -749,12 +749,12 @@
</div> </div>
</div> </div>
<!-- ai播放器相关 --> <!-- ai播放器相关 -->
<div <div
v-show="courestab == 4" v-show="courestab == 4"
style="padding-left: 17px; padding-top: 20px;background-color: #fff;" style="padding-left: 17px; padding-top: 20px;background-color: #fff;"
> >
<div style="padding: 30px;line-height: 24px;letter-spacing: 0.3px;color: rgba(102, 102, 102, 1);"> <div style="padding: 30px;line-height: 24px;letter-spacing: 0.3px;color: rgba(102, 102, 102, 1);">
{{ courseInfo.summaryContent || '' }} {{ courseInfo.summaryContent || '' }}
</div> </div>
</div> </div>
</div> </div>
@@ -1185,6 +1185,8 @@ export default {
let ctime = parseInt(nowDate.getTime() / 1000); let ctime = parseInt(nowDate.getTime() / 1000);
let beforeUrl = parseInt(nowDate.getTime() / 1000) + "/" + fid; let beforeUrl = parseInt(nowDate.getTime() / 1000) + "/" + fid;
let urlSign = encodeURIComponent(encrypt(beforeUrl)); let urlSign = encodeURIComponent(encrypt(beforeUrl));
console.log(fid, 'fid');
console.log(u, 'u');
cookies.set("PLAYSIGN_TIME", ctime); //写客户端的cookie保存 cookies.set("PLAYSIGN_TIME", ctime); //写客户端的cookie保存
//以下判断是为了区分本地环境和服务器环境 //以下判断是为了区分本地环境和服务器环境
if (process.env.NODE_ENV == "development") { if (process.env.NODE_ENV == "development") {

File diff suppressed because it is too large Load Diff