Merge pull request '点赞和疑问' (#114) from zxl into main

Reviewed-on: #114
This commit is contained in:
zhangxuelin 2024-12-12 10:29:16 +08:00
commit d9bdd5424f
3 changed files with 23 additions and 9 deletions

View File

@ -1,17 +1,26 @@
import { defineStore } from 'pinia'
export interface ScreenState {
screening: boolean
screening: boolean,
like: number,
doubt: number,
}
export const useScreenStore = defineStore('screen', {
state: (): ScreenState => ({
screening: false, // 是否进入放映状态
like:0, // 点赞数量
doubt:0, // 疑问数量
}),
actions: {
setScreening(screening: boolean) {
this.screening = screening
},
// 打开点赞或疑问
openUpvote(type: 'like' | 'doubt'){
if (type === 'like') this.like++
else this.doubt++
}
},
})

View File

@ -58,9 +58,9 @@
</template>
<script lang="ts" setup>
import { ref } from 'vue'
import { ref , watchEffect} from 'vue'
import { storeToRefs } from 'pinia'
import { useSlidesStore } from '../../store'
import { useSlidesStore ,useScreenStore} from '../../store'
import type { ContextmenuItem } from '../../components/Contextmenu/types'
import { enterFullscreen } from '../../utils/fullscreen'
import useScreening from '../../hooks/useScreening'
@ -108,7 +108,8 @@ const writingBoardToolVisible = ref(false)
const timerlVisible = ref(false)
const slideThumbnailModelVisible = ref(false)
const laserPen = ref(false)
const upvoteRef = ref(null)
const screenStore =useScreenStore()
const contextmenus = (): ContextmenuItem[] => {
return [
{
@ -190,6 +191,14 @@ const contextmenus = (): ContextmenuItem[] => {
},
]
}
watchEffect(() => {
const likeCont = screenStore.like //
const doubtCount = screenStore.doubt //
if (likeCont > 0) upvoteRef.value?.trigger?.(1)
if (doubtCount > 0) upvoteRef.value?.trigger?.(2)
})
</script>
<style lang="scss" scoped>

View File

@ -603,8 +603,6 @@ export default {
//
this.pgDialog.pg.percentage = Math.floor(completed / total * 100)
}
console.log('结束', slides)
return
this.pgDialog.pg.percentage = 0
this.pgDialog.visible = false
listEntpcourse({
@ -641,8 +639,6 @@ export default {
}).then(async (res) => {
const resSlides = slides.map(({id, ...slide}) => JSON.stringify(slide))
console.log(resSlides)
return
let params = {
parentid: slideid,
entpid: resCourse.entpid,