diff --git a/package.json b/package.json
index 4e541df..0fb8e3f 100644
--- a/package.json
+++ b/package.json
@@ -33,6 +33,7 @@
"vue-router": "4",
"vue-turnstile": "^1.0.0",
"vue3-aplayer": "^1.7.3",
+ "vue3-marquee": "^4.1.0",
"vuex": "^4.0.0"
},
"devDependencies": {
diff --git a/src/App.vue b/src/App.vue
index 517c4e9..277cee5 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -2,18 +2,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -38,6 +41,9 @@ const layout = computed(() => {
} else if (route.path.startsWith('/manage')) {
document.title = route.meta.title + ' · 管理 · VTsuru'
return 'manage'
+ } else if (route.path.startsWith('/obs')) {
+ document.title = route.meta.title + ' · OBS · VTsuru'
+ return 'obs'
} else {
document.title = route.meta.title + ' · VTsuru'
return ''
diff --git a/src/api/api-models.ts b/src/api/api-models.ts
index f7bbd20..75e0fdb 100644
--- a/src/api/api-models.ts
+++ b/src/api/api-models.ts
@@ -36,6 +36,7 @@ export interface AccountInfo extends UserInfo {
settings: UserSetting
token: string
+ biliAuthCode?: string
biliAuthCodeStatus: BiliAuthCodeStatusType
eventFetcherOnline: boolean
@@ -236,3 +237,22 @@ export interface OpenLiveInfo {
websocket_info: WebsocketInfo
anchor_info: AnchorInfo
}
+export interface OpenLiveLotteryUserInfo {
+ name: string
+ uId: number
+ level?: number
+ avatar: string
+ fans_medal_level: number
+ fans_medal_name: string //粉丝勋章名
+ fans_medal_wearing_status: boolean //该房间粉丝勋章佩戴情况
+ guard_level: number
+}
+export enum OpenLiveLotteryType{
+ Waiting,
+ Result
+}
+export interface UpdateLiveLotteryUsersModel {
+ users: OpenLiveLotteryUserInfo[]
+ resultUsers: OpenLiveLotteryUserInfo[]
+ type: OpenLiveLotteryType
+}
\ No newline at end of file
diff --git a/src/router/index.ts b/src/router/index.ts
index a673146..b9cc824 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -205,6 +205,20 @@ const routes: Array = [
},
],
},
+ {
+ path: '/obs',
+ name: 'obs',
+ children: [
+ {
+ path: 'live-lottery',
+ name: 'obs-live-lottery',
+ component: () => import('@/views/obs/LiveLotteryOBS.vue'),
+ meta: {
+ title: '直播抽奖',
+ },
+ },
+ ],
+ },
{
path: '/:pathMatch(.*)*',
name: 'notfound',
diff --git a/src/views/manage/MusicRequestManage.vue b/src/views/manage/MusicRequestManage.vue
new file mode 100644
index 0000000..da2214c
--- /dev/null
+++ b/src/views/manage/MusicRequestManage.vue
@@ -0,0 +1,7 @@
+
+
+
+ 1
+
\ No newline at end of file
diff --git a/src/views/obs/LiveLotteryOBS.vue b/src/views/obs/LiveLotteryOBS.vue
new file mode 100644
index 0000000..7830223
--- /dev/null
+++ b/src/views/obs/LiveLotteryOBS.vue
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 结果
+
+
+
+
+
+ {{ user.name }}
+
+
+
+
+
+
+
![]()
+
+ {{ user.name }}
+
+
+
+
+
+
+
+
+
diff --git a/src/views/open_live/OpenLottery.vue b/src/views/open_live/OpenLottery.vue
index 191b06b..e3525b9 100644
--- a/src/views/open_live/OpenLottery.vue
+++ b/src/views/open_live/OpenLottery.vue
@@ -1,15 +1,17 @@
-
+
-
+
直播抽奖
@@ -349,6 +412,7 @@ onMounted(() => {
连接直播间
抽奖历史
+ OBS组件
@@ -503,5 +567,27 @@ onMounted(() => {
+
+ 将等待队列以及结果显示在OBS中
+ 浏览
+
+
+
+
+
+
+
+
+
+ 在 OBS 来源中添加源, 选择 浏览器
+ 在 URL 栏填入上方链接
+ 根据自己的需要调整宽度和高度
+ 完事
+
+
+
+
+
+
diff --git a/src/views/view/songListTemplate/SimpleSongListTemplate.vue b/src/views/view/songListTemplate/SimpleSongListTemplate.vue
new file mode 100644
index 0000000..38b781e
--- /dev/null
+++ b/src/views/view/songListTemplate/SimpleSongListTemplate.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 16163ff..d102937 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3362,6 +3362,11 @@ vue3-aplayer@^1.7.3:
dependencies:
vue-loader "^16.1.2"
+vue3-marquee@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/vue3-marquee/-/vue3-marquee-4.1.0.tgz#145baa65dd40059358e4079d51ab596c2ccf1299"
+ integrity sha512-AkvpNC6+7CwvIBgiAr8qMs1XvhGhfSS2ahlMEp80YXAmDOP8nDdn/smQ6eWtusf+hLX21yTaSOoKGcill4bCRg==
+
vue@^3.2.13, vue@^3.2.45:
version "3.3.7"
resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.7.tgz#972a218682443a3819d121261b2bff914417f4f0"