|
@@ -14,6 +14,8 @@ import { storeData } from './state'
|
|
|
let startTime = Date.now()
|
|
|
let timer = null as any
|
|
|
const initBehaviorId = '' + Date.now()
|
|
|
+
|
|
|
+let expireTimeFlag = false
|
|
|
/** 学生端记录在云教练里面的时长 */
|
|
|
const recordTotalTime = () => {
|
|
|
const client = useClientType()
|
|
@@ -23,13 +25,30 @@ const recordTotalTime = () => {
|
|
|
const totalTime = (Date.now() - startTime) / 1000
|
|
|
startTime = Date.now()
|
|
|
// 如果累计时间是负数,就不记录
|
|
|
- if (totalTime < 0){
|
|
|
+ if (totalTime < 0) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
//课后训练
|
|
|
if (search.lessonTrainingId) {
|
|
|
const browserInfo = browser()
|
|
|
+
|
|
|
+ if (expireTimeFlag) {
|
|
|
+ request.post('/musicPracticeRecord/save', {
|
|
|
+ prefix: prefix,
|
|
|
+ requestType: 'json',
|
|
|
+ data: {
|
|
|
+ clientType: (client as string)?.toLocaleUpperCase(),
|
|
|
+ practiceSource: 'LESSON_TRAINING',
|
|
|
+ feature: 'PRACTICE',
|
|
|
+ deviceType: browserInfo.android ? 'ANDROID' : browserInfo.isApp ? 'IOS' : 'WEB',
|
|
|
+ behaviorId: initBehaviorId,
|
|
|
+ playTime: totalTime,
|
|
|
+ musicSheetId: search.id,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
request.post('/studentLessonTraining/lessonTrainingRecord', {
|
|
|
prefix: prefix,
|
|
|
requestType: 'json',
|
|
@@ -98,9 +117,21 @@ export default defineComponent({
|
|
|
try {
|
|
|
const res: any = await request.get(`/user/getUserInfo`)
|
|
|
Object.assign(userInfo, res?.data || {})
|
|
|
- if(res.data?.clientType){
|
|
|
+ if (res.data?.clientType) {
|
|
|
storeData.platformType = res.data.clientType
|
|
|
}
|
|
|
+
|
|
|
+ const search = useOriginSearch()
|
|
|
+ if (search.lessonTrainingId) {
|
|
|
+ try {
|
|
|
+ const { data } = await request.post(
|
|
|
+ `/studentLessonTraining/trainingRecord/${search.courseScheduleId}?userId=${userInfo.id}`
|
|
|
+ )
|
|
|
+ expireTimeFlag = data.expireTimeFlag || false
|
|
|
+ } catch (error) {
|
|
|
+ console.error(error)
|
|
|
+ }
|
|
|
+ }
|
|
|
} catch (error) {
|
|
|
console.log(error)
|
|
|
renderError.value = true
|
|
@@ -123,7 +154,7 @@ export default defineComponent({
|
|
|
content: {
|
|
|
isOpenLight: true,
|
|
|
},
|
|
|
- })
|
|
|
+ })
|
|
|
getUserInfo()
|
|
|
clearInterval(timer)
|
|
|
timer = setInterval(() => {
|