Skip to content

Commit

Permalink
feat: 弹幕菜单图标 & 弹弹play第三方的弹幕
Browse files Browse the repository at this point in the history
  • Loading branch information
msojocs committed Jun 3, 2022
1 parent 19a1c76 commit dcefeed
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 8 deletions.
4 changes: 3 additions & 1 deletion CHANGELOG.MD
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# v1.1.3-3 / 2022-05-
# v1.1.3-3 / 2022-06-03

- feat: 增加1.75倍速
- fix: 中文域名报错的问题
- feat: 弹幕菜单图标
- feat: 获取弹弹play弹幕可选是否获取关联的第三方

# v1.1.3-2 / 2022-05-30

Expand Down
8 changes: 8 additions & 0 deletions extensions/area_unlimit/hook/PlayerEnhance.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,14 @@
<el-cascader-panel v-model="selectOptions" :options="searchResult" ></el-cascader-panel>
</el-col>
</el-row>
<span style="display:block;height: 10px;"></span>
<el-row>
<el-col :span="4" class="flex_center">第三方弹幕:</el-col>
<el-col :span="19">
<el-switch v-model="dandanplayWithRelated" :disabled="activeName === 'bilibili'" />
</el-col>
</el-row>
<span style="display:block;height: 10px;"></span>
<el-row>
<el-col :span="4" class="flex_center">模式:</el-col>
<el-col :span="19">
Expand Down
40 changes: 33 additions & 7 deletions extensions/area_unlimit/hook/player.js
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,11 @@ console.log("====HOOK===PLAYER====");
danmakuManage.danmaku.danmakuArray = []
danmakuManage.danmaku.clear()
danmakuManage.danmakuStore.loadDmPbAll(true)
return Promise.resolve("操作成功")
},
dandanplay: async (options, actionMode)=>{
dandanplay: async (options, data)=>{
console.log('dandanplay options: ', options)
const comments = await DandanAPI.getComment(options[1], true)
const comments = await DandanAPI.getComment(options[1], data.dandanplayWithRelated || true)
console.log('getComment: ', comments)
const result = []
const nowTime = new Date().getTime()/1000
Expand Down Expand Up @@ -151,11 +152,13 @@ console.log("====HOOK===PLAYER====");
*/
// 弹幕池操作
danmakuManage.danmaku.reset()
if(actionMode === "1")
if(data.actionMode === "1")
danmakuManage.danmaku.danmakuArray = []
danmakuManage.danmaku.addAll(result)
danmakuManage.danmaku.clear()
// danmakuManage.danmakuStore.loadDmPbAll(true)

return Promise.resolve(`成功加载${comments.length}条弹幕`)
}
}
const UI = (()=>{
Expand Down Expand Up @@ -265,6 +268,7 @@ console.log("====HOOK===PLAYER====");
damakuMode: "1",
dmTimelineDrawer: false,
moveFactor: 0,
dandanplayWithRelated: true,
};
},
created() {
Expand All @@ -287,7 +291,29 @@ console.log("====HOOK===PLAYER====");
},
doConfirm: function(){
console.log('selectOptions', this.selectOptions)
HandleResult[this.activeName](this.selectOptions, this.damakuMode)
let data = {}
switch (this.activeName) {
case "dandanplay":
data.damakuMode = this.damakuMode
data.dandanplayWithRelated = this.dandanplayWithRelated
break;

default:
break;
}
HandleResult[this.activeName](this.selectOptions, data)
.then(res=>{
this.$message({
message: res,
type: 'success'
})
}).catch(err=>{

this.$message({
message: "出现错误",
type: 'error'
})
})
this.settingsVisible = !this.settingsVisible
},
dmTimelineMove: function(time){
Expand All @@ -314,17 +340,17 @@ console.log("====HOOK===PLAYER====");

// 创建菜单元素
const playerExtPage = document.createElement('span')
playerExtPage.textContent = "弹幕Ext"
playerExtPage.innerHTML = `<svg width="26" height="26" style="margin-right:5px" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1305" width="200" height="200"><path d="M1023.8 604.7c0 160.9-129 291.3-287.9 291.3H256.1C113.3 888.5 0.2 781.3 0.2 650.7c0-99.4 65.6-185 159.9-223.5 19.7-8 33.8-25.5 38.2-46.3C224.9 254.9 340.8 160 480 160c102.6 0 192.4 51.5 243.4 129 10 15.3 26.1 25.5 44.2 28.2 145.2 22 256.2 142.1 256.2 287.5z" p-id="1306" fill="#ffffff"></path></svg>弹幕Ext`
playerExtPage.id = "player-ext-settings"
playerExtPage.className = "app_player--header-home no_drag"
playerExtPage.onclick = ()=>{
UI.changeShow()
}
headerLeft.appendChild(playerExtPage)
const dmTimeline = document.createElement('span')
dmTimeline.textContent = "弹幕时间轴"
dmTimeline.innerHTML = `<svg width="26" height="26" style="margin-right:5px"fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M15.25 13c.966 0 1.75.783 1.75 1.75v4.503a1.75 1.75 0 0 1-1.75 1.75H3.75A1.75 1.75 0 0 1 2 19.253V14.75c0-.967.783-1.75 1.75-1.75h11.5ZM21 14.895v5.355a.75.75 0 0 1-1.494.102l-.006-.102v-5.344a3.003 3.003 0 0 0 1.5-.01Zm-.75-4.803a1.908 1.908 0 1 1 0 3.816 1.908 1.908 0 0 1 0-3.816Zm-5.005-7.095c.967 0 1.75.783 1.75 1.75V9.25a1.75 1.75 0 0 1-1.75 1.75h-11.5a1.75 1.75 0 0 1-1.75-1.75V4.747a1.75 1.75 0 0 1 1.607-1.745l.143-.005h11.5ZM20.25 3a.75.75 0 0 1 .743.648L21 3.75v5.345a3.004 3.004 0 0 0-1.5-.01V3.75a.75.75 0 0 1 .75-.75Z" fill="#ffffff" class="fill-212121"></path></svg>弹幕时间轴`
dmTimeline.style.marginLeft = "5px"
dmTimeline.id = "player-ext-settings"
// dmTimeline.id = "player-timeline-settings"
dmTimeline.className = "app_player--header-home no_drag"
dmTimeline.onclick = ()=>{
UI.dmTimeline && UI.dmTimeline()
Expand Down

1 comment on commit dcefeed

@msojocs
Copy link
Owner Author

@msojocs msojocs commented on dcefeed Jun 3, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.