From 574d1477f00cc60ba2a8da0b5d0e7c7ad1021fec Mon Sep 17 00:00:00 2001 From: ltx <1006158920@qq.com> Date: Mon, 9 Jun 2025 17:19:11 +0800 Subject: [PATCH] =?UTF-8?q?update:=E6=95=99=E7=BB=83&=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/login/login.js | 1 + pages/parent/train/train.wxss | 2 +- pages/student/my/my.js | 33 ++--- pages/teacher/resource/resource.js | 4 +- pages/teacher/resource/resource.wxml | 4 +- pages/teacher/vedio/vedio.js | 28 +++- pages/teacher/vedio/vedio.wxml | 57 ++++++-- pages/teacher/vedio/vedio.wxss | 114 ++++++++++++++++ project.private.config.json | 126 +----------------- subpackage/bluebooth/search.wxss | 2 +- subpackage/train/check-type/check-page.js | 19 ++- subpackage/train/check-type/check-page.json | 4 +- subpackage/train/check-type/check-page.wxml | 11 ++ subpackage/train/check-type/check-page.wxss | 29 ++++ subpackage/train/goal/goal.wxss | 2 +- subpackage/train/music/music.wxss | 2 +- subpackage/train/result/result.js | 3 +- subpackage/train/setting/setting.wxss | 2 +- subpackage/train/train/train.wxss | 2 +- subpackage/train/user-report/user-report.wxss | 2 +- utils/tab-serve.js | 2 +- utils/utils.js | 1 + 22 files changed, 275 insertions(+), 175 deletions(-) diff --git a/pages/login/login.js b/pages/login/login.js index 571f7d6..07aeed2 100644 --- a/pages/login/login.js +++ b/pages/login/login.js @@ -192,6 +192,7 @@ Page({ }).then(res => { wx.hideLoading(); if (res.success) { + wx.setStorageSync('roleId', res.data.role_Id) that.handleLoginSuccess(res.data.token); // } else { diff --git a/pages/parent/train/train.wxss b/pages/parent/train/train.wxss index e01e702..63f5312 100644 --- a/pages/parent/train/train.wxss +++ b/pages/parent/train/train.wxss @@ -4,7 +4,7 @@ page{ .page-content{ background-color: rgb(247, 247, 247); - background: linear-gradient(190deg, #6bb6fc 0%, #f7f7f7 45%, #f7f7f7 100%); + background: linear-gradient(190deg, #49a5fc 0%, #f7f7f7 800rpx, #f7f7f7 100%); padding: 0 30rpx; box-sizing: border-box; padding-bottom: 300rpx; diff --git a/pages/student/my/my.js b/pages/student/my/my.js index a479b33..47e0bdf 100644 --- a/pages/student/my/my.js +++ b/pages/student/my/my.js @@ -111,22 +111,23 @@ Page({ const account = await getUserAccount() console.log(account) - account.data.forEach(item => { - if (item.roleId == 2) { - wx.login({ - success: async (loginData) => { - const opid = await getOpenId(loginData.code) - const canLogin = await postOpenId(opid.data, item.userId) - if (canLogin.data) { //当前登录教师,需要退出 - const logout = await deleteOpenId(item.userId) - that.sure() - } else { - that.sure() - } - }, - }) - } - }) + let da = account.data.find(item => item.roleId == 2) + if(da){ + wx.login({ + success: async (loginData) => { + const opid = await getOpenId(loginData.code) + const canLogin = await postOpenId(opid.data, da.userId) + if (canLogin.data) { //当前登录教师,需要退出 + const logout = await deleteOpenId(da.userId) + that.sure() + } else { + that.sure() + } + }, + }) + }else{ + that.sure() + } } } diff --git a/pages/teacher/resource/resource.js b/pages/teacher/resource/resource.js index ec2416a..a79979b 100644 --- a/pages/teacher/resource/resource.js +++ b/pages/teacher/resource/resource.js @@ -8,7 +8,7 @@ Page({ * 页面的初始数据 */ data: { - length:2 + isTrainer:false, }, /** @@ -17,7 +17,7 @@ Page({ async onLoad(options) { const res = await getResourceType() this.setData({ - length:res.data.length + isTrainer: wx.getStorageSync('roleId') && wx.getStorageSync('roleId') == 4 }) }, diff --git a/pages/teacher/resource/resource.wxml b/pages/teacher/resource/resource.wxml index b3e2da6..8870347 100644 --- a/pages/teacher/resource/resource.wxml +++ b/pages/teacher/resource/resource.wxml @@ -4,6 +4,6 @@ - - + + \ No newline at end of file diff --git a/pages/teacher/vedio/vedio.js b/pages/teacher/vedio/vedio.js index 86855fd..f4eb14d 100644 --- a/pages/teacher/vedio/vedio.js +++ b/pages/teacher/vedio/vedio.js @@ -1,7 +1,7 @@ // pages/teacher/vedio/vedio.js -const { getSpecialLevelList } = require("../../../utils/serve/teacher"); +const { getSpecialLevelList, getResourceDetail } = require("../../../utils/serve/teacher"); const tabService = require("../../../utils/tab-serve"); - +const app = getApp() Page({ /** @@ -14,19 +14,31 @@ Page({ showSelectId:0, forList:[], showVideo:{}, - showSelectTabId:0 + showSelectTabId:0, + topTab:1, + venueList:[],//场馆类别列表 + venueIndex:0, + venueDetailIndex:0, + isTrainer:false // 是否教练 }, /** * 生命周期函数--监听页面加载 */ async onLoad(options) { + wx.showLoading({ + title: '', + }) const res = await getSpecialLevelList() + const venue = await getResourceDetail({id:4}) this.setData({ list:res.data, detail:res.data[0], - showVideo:res.data[0].levelList[0]['基本技能'][0]['actionList'][0] || {} + showVideo:res.data[0].levelList[0]['基本技能'][0]['actionList'][0] || {}, + venueList:venue.data, + isTrainer: wx.getStorageSync('roleId') && wx.getStorageSync('roleId') == 4 }) + wx.hideLoading() }, showSelect(e){ @@ -46,6 +58,14 @@ Page({ }) }, + changeTopTab(e){ + if(e.currentTarget.dataset.id == this.data[e.currentTarget.dataset.key]) return + this.setData({ + [e.currentTarget.dataset.key]:e.currentTarget.dataset.id, + }) + }, + + changeVideo(e){ console.log(e.currentTarget.dataset.video) this.setData({ diff --git a/pages/teacher/vedio/vedio.wxml b/pages/teacher/vedio/vedio.wxml index d0030ff..c2d6512 100644 --- a/pages/teacher/vedio/vedio.wxml +++ b/pages/teacher/vedio/vedio.wxml @@ -1,8 +1,12 @@ - + - + + 学校课程 + 场馆课程 + + @@ -14,17 +18,18 @@ - 基本技能 + 基本技能 + 专项技能 - + - + - {{item.name}} + {{item.name}} @@ -38,22 +43,54 @@ 动作示范 - + + + + + {{item.typeName}} + + + + + + + + + {{item.typeName}} + + + + + + 暂无数据~ + + + + + + {{item.resourceName}} + + + + + \ No newline at end of file diff --git a/pages/teacher/vedio/vedio.wxss b/pages/teacher/vedio/vedio.wxss index fc39cfb..3f42bf4 100644 --- a/pages/teacher/vedio/vedio.wxss +++ b/pages/teacher/vedio/vedio.wxss @@ -1,5 +1,32 @@ /* pages/teacher/vedio/vedio.wxss */ +.card-top{ + margin-left: 30rpx; + background-color: #fff; + display: flex; + box-sizing: border-box; + width: 390rpx; + height: 74rpx; + border-radius: 20rpx 20rpx 0 0 ; + background-color: rgba(255, 255, 255, 0.2); + color: #fff; + font-size: 30rpx; + overflow: hidden; + margin-top: 44rpx; +} + +.card-top-item{ + width: 50%; + display: flex; + align-items: center; + justify-content: center; +} + +.card-top-click{ + background-color: #FFC20E; + font-weight: bold; +} + .card{ margin: 44rpx 30rpx; background-color: #fff; @@ -10,6 +37,13 @@ min-height: 70vh; } +.have-top{ + margin-top: 0rpx; + border-radius: 0 20rpx 20rpx; + /* box-shadow: 0 0 0rpx rgb(223, 222, 222); */ + box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.04); +} + .title{ /* font-weight: bold; */ font-size: 26rpx; @@ -155,4 +189,84 @@ margin-top: 20rpx; height: 356rpx; border-radius: 20rpx; +} + +.bb{ + padding: 10rpx; + background-color: #F4F6F8; + border-radius: 20rpx; + /* margin-top: 20rpx; */ + font-size: 24rpx; + color: #777777; + margin-top: 30rpx; +} + +.tab-item{ + padding: 14rpx 30rpx; + box-sizing: border-box; + border-radius: 20rpx; + white-space: nowrap; + /* min-width: 300rpx; */ +} + +.active{ + font-weight: bold; + color: #fff; + background-color: #28A6F6; +} + +.tab{ + display: flex; + align-items: center; + /* justify-content: center; */ + /* padding: 10rpx; + background-color: #F4F6F8; + border-radius: 20rpx; + margin-top: 20rpx; + font-size: 24rpx; + color: #777777; */ +} + + +.card1{ + border-radius: 20rpx; + height: 280rpx; + width: 310rpx; + background-size: cover; + margin-top: 20rpx; + padding: 20rpx 20rpx; + box-sizing: border-box; + background-color: #fff; + box-shadow: 0 0 10rpx rgb(223, 222, 222) +} + +.type1{ + display: flex; + flex-wrap: wrap; + justify-content: space-between; + padding: 0 30rpx; + box-sizing: border-box; + /* margin-top: 40rpx; */ +} + +.vid{ + height: 170rpx; + width: 270rpx; + margin-top: 18rpx; + border-radius: 20rpx; +} + +.nothing{ + margin-top: 30rpx; + text-align: center; +} + +.type{ + display: flex; + flex-wrap: wrap; + justify-content: space-between; + /* padding: 0 30rpx; */ + box-sizing: border-box; + margin-top: 30rpx; + /* margin-top: 40rpx; */ } \ No newline at end of file diff --git a/project.private.config.json b/project.private.config.json index b7e1b97..5018e3d 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -21,129 +21,5 @@ "useIsolateContext": true }, "libVersion": "3.7.12", - "condition": { - "miniprogram": { - "list": [ - { - "name": "subpackage/train/result/result", - "pathName": "subpackage/train/result/result", - "query": "type=time&count=100&time=180&theme=homeWork&homeWorkId=13&isAi=true&sportType=跳绳", - "scene": null, - "launchMode": "default" - }, - { - "name": "subpackage/train/result/result", - "pathName": "subpackage/train/result/result", - "query": "sportKey=Jumping-Jack&time=10&count=500&type=num&theme=fit&timeout=5&music=https%3A%2F%2Fyuedong-wechatapplet.oss-cn-shanghai.aliyuncs.com%2FUpload%2FBackgroundMusic%2FCarly%2520Rae%2520Jepsen-Turn%2520Me%2520Up.mp3", - "launchMode": "default", - "scene": null - }, - { - "name": "pages/parent/train/train", - "pathName": "pages/parent/train/train", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "pages/login/login", - "pathName": "pages/login/login", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "pages/login/login", - "pathName": "pages/login/login", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "module-sport/pages/sport-full-screen", - "pathName": "module-sport/pages/sport-full-screen", - "query": "sportKey=Jumping-Jack&time=0&number=5&type=num&theme=small&groupNumber=3&timeout=5&music=https://yuedong-wechatapplet.oss-cn-shanghai.aliyuncs.com/Upload/BackgroundMusic/Carly%20Rae%20Jepsen-Turn%20Me%20Up.mp3", - "launchMode": "default", - "scene": null - }, - { - "name": "subpackage/train/bluetooth/train", - "pathName": "subpackage/train/bluetooth/train", - "query": "sportKey=Jumping-Jack&time=0&number=5&type=num&theme=homeWork&groupNumber=3&timeout=5&music=https://yuedong-wechatapplet.oss-cn-shanghai.aliyuncs.com/Upload/BackgroundMusic/Carly%20Rae%20Jepsen-Turn%20Me%20Up.mp3", - "launchMode": "default", - "scene": null - }, - { - "name": "subpackage/train/result/result", - "pathName": "subpackage/train/result/result", - "query": "type=time&count=10&time=120&theme=homeWork&isAi=true&sportType=高抬腿&homeWorkId=44", - "launchMode": "default", - "scene": null - }, - { - "name": "module-sport/pages/sport-full-screen", - "pathName": "module-sport/pages/sport-full-screen", - "query": "sportKey=High-Knee&time=10&number=40&type=time&theme=homeWork&homeWorkId=44&groupNumber=2&timeout=3&music=https://yuedong-wechatapplet.oss-cn-shanghai.aliyuncs.com/Upload/BackgroundMusic/Carly%20Rae%20Jepsen-Turn%20Me%20Up.mp3", - "launchMode": "default", - "scene": null - }, - { - "name": "subpackage/team/rank-team/rank-team", - "pathName": "subpackage/team/rank-team/rank-team", - "query": "taskId=98", - "launchMode": "default", - "scene": null - }, - { - "name": "subpackage/teacher/check-student/check-student", - "pathName": "subpackage/teacher/check-student/check-student", - "query": "class={\"classId\":6,\"gradeId\":1,\"name\":\"一年级-一班\"}", - "launchMode": "default", - "scene": null - }, - { - "name": "subpackage/teacher/new-work/new-work", - "pathName": "subpackage/teacher/new-work/new-work", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "subpackage/teacher/resource/resource", - "pathName": "subpackage/teacher/resource/resource", - "query": "id=2", - "launchMode": "default", - "scene": null - }, - { - "name": "subpackage/train/bluetooth/train", - "pathName": "subpackage/train/bluetooth/train", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "subpackage/train/train/train", - "pathName": "subpackage/train/train/train", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "subpackage/teacher/prepare-success/prepare-success", - "pathName": "subpackage/teacher/prepare-success/prepare-success", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "pages/teacher/resource/resource", - "pathName": "pages/teacher/resource/resource", - "query": "", - "launchMode": "default", - "scene": null - } - ] - } - } + "condition": {} } \ No newline at end of file diff --git a/subpackage/bluebooth/search.wxss b/subpackage/bluebooth/search.wxss index 2fd6ad6..47ef671 100644 --- a/subpackage/bluebooth/search.wxss +++ b/subpackage/bluebooth/search.wxss @@ -9,7 +9,7 @@ page{ .page-content{ background-color: rgb(247, 247, 247); - background: linear-gradient(190deg, #6bb6fc 0%, #f7f7f7 65%, #f7f7f7 100%); + /* background: linear-gradient(190deg, #6bb6fc 0%, #f7f7f7 800rpx, #f7f7f7 100%); */ padding: 0 30rpx; box-sizing: border-box; padding-bottom: 300rpx; diff --git a/subpackage/train/check-type/check-page.js b/subpackage/train/check-type/check-page.js index 614130f..0c7f846 100644 --- a/subpackage/train/check-type/check-page.js +++ b/subpackage/train/check-type/check-page.js @@ -17,7 +17,9 @@ Page({ parmas: '', islink: false, name: '', - sportKey: 'Rope-Skipping' + sportKey: 'Rope-Skipping', + isShowExampleVideo:true, + showDialog:false }, /** @@ -54,7 +56,8 @@ Page({ addP += '&music='+set.data.resourceUrl } this.setData({ - parmas : this.data.parmas + addP + parmas : this.data.parmas + addP, + isShowExampleVideo:set.data.isShowExampleVideo }) }, @@ -71,9 +74,15 @@ Page({ }, goai() { - wx.navigateTo({ - url: '/module-sport/pages/sport-full-screen?' + this.data.parmas, - }) + if((this.data.isShowExampleVideo && this.data.sportKey != 'High-Knee' && this.data.sportKey != 'Rope-Skipping' && this.data.sportKey != "Squat") && !this.data.showDialog){ + this.setData({ + showDialog:true + }) + }else{ + wx.navigateTo({ + url: '/module-sport/pages/sport-full-screen?' + this.data.parmas, + }) + } }, //初始蓝牙模块 startBluetooth() { diff --git a/subpackage/train/check-type/check-page.json b/subpackage/train/check-type/check-page.json index b982130..d2b04fd 100644 --- a/subpackage/train/check-type/check-page.json +++ b/subpackage/train/check-type/check-page.json @@ -1,7 +1,7 @@ { "usingComponents": { - "mp-icon": "weui-miniprogram/icon/icon" - + "mp-icon": "weui-miniprogram/icon/icon", + "mp-dialog": "weui-miniprogram/dialog/dialog" }, "navigationBarTitleText": "选择模式", "backgroundColor": "#f7f7f7", diff --git a/subpackage/train/check-type/check-page.wxml b/subpackage/train/check-type/check-page.wxml index 69f661e..e0bf807 100644 --- a/subpackage/train/check-type/check-page.wxml +++ b/subpackage/train/check-type/check-page.wxml @@ -38,4 +38,15 @@ + + + + + \ No newline at end of file diff --git a/subpackage/train/check-type/check-page.wxss b/subpackage/train/check-type/check-page.wxss index 7fb5430..1706cea 100644 --- a/subpackage/train/check-type/check-page.wxss +++ b/subpackage/train/check-type/check-page.wxss @@ -59,4 +59,33 @@ page{ border-radius: 50%; background-color: #EDF1FF; text-align: center; +} + +.shili{ + width: 427rpx; + height: 241rpx; +} + +.heightt{ + width: 244rpx; + height: 427rpx; +} + +.toast{ + font-size: 20rpx; + margin-top: 40rpx; +} + +.goBtn{ + width: 80%; + background-color: #0082FF; + height: 80rpx; + border-radius: 20rpx; + margin: auto; + margin-top: 40rpx; + display: flex; + align-items: center; + justify-content: center; + color: #fff; + font-weight: bold; } \ No newline at end of file diff --git a/subpackage/train/goal/goal.wxss b/subpackage/train/goal/goal.wxss index 852a3cd..7f92cde 100644 --- a/subpackage/train/goal/goal.wxss +++ b/subpackage/train/goal/goal.wxss @@ -4,7 +4,7 @@ page{ } .page-content{ background-color: rgb(247, 247, 247); - background: linear-gradient(190deg, #359cfd 0%, #f7f7f7 800rpx, #f7f7f7 100%); + /* background: linear-gradient(190deg, #359cfd 0%, #f7f7f7 800rpx, #f7f7f7 100%); */ padding: 0 30rpx; box-sizing: border-box; padding-bottom: 300rpx; diff --git a/subpackage/train/music/music.wxss b/subpackage/train/music/music.wxss index 685a861..bdc3b21 100644 --- a/subpackage/train/music/music.wxss +++ b/subpackage/train/music/music.wxss @@ -4,7 +4,7 @@ page{ .page-content{ background-color: rgb(247, 247, 247); - background: linear-gradient(190deg, #6bb6fc 0%, #f7f7f7 45%, #f7f7f7 100%); + background: linear-gradient(190deg, #49a5fc 0%, #f7f7f7 800rpx, #f7f7f7 100%); padding: 0 30rpx; box-sizing: border-box; min-height: 100vh; diff --git a/subpackage/train/result/result.js b/subpackage/train/result/result.js index f5703da..0e1c6ab 100644 --- a/subpackage/train/result/result.js +++ b/subpackage/train/result/result.js @@ -127,7 +127,7 @@ Page({ "amount": count, "homeWorkId":0, "dataSourceType": isAi == 'true' ? 2 : 1, - "calorie":count*0.1, + "calorie":(count*0.1).toFixed(1), "startTime":this.getCurrentDateTime(), "endTime":this.getCurrentDateTime(), "groupNumber":1 @@ -144,6 +144,7 @@ Page({ console.log(sportObj) let isTime = options.type == 'time' let calorie = isTime ? options.count * sportObj[0].kcalIndex : amount * sportObj[0].kcalIndex * groupNumber + calorie = calorie.toFixed(1) this.setData({ calorie, group:groupNumber, diff --git a/subpackage/train/setting/setting.wxss b/subpackage/train/setting/setting.wxss index a02b93d..28fdd4f 100644 --- a/subpackage/train/setting/setting.wxss +++ b/subpackage/train/setting/setting.wxss @@ -4,7 +4,7 @@ page{ .page-content{ background-color: rgb(247, 247, 247); - background: linear-gradient(190deg, #6bb6fc 0%, #f7f7f7 45%, #f7f7f7 100%); + background: linear-gradient(190deg, #49a5fc 0%, #f7f7f7 800rpx, #f7f7f7 100%); padding: 0 30rpx; box-sizing: border-box; min-height: 100vh; diff --git a/subpackage/train/train/train.wxss b/subpackage/train/train/train.wxss index 6a7f1c0..8d227e2 100644 --- a/subpackage/train/train/train.wxss +++ b/subpackage/train/train/train.wxss @@ -4,7 +4,7 @@ page{ .page-content{ background-color: rgb(247, 247, 247); - background: linear-gradient(190deg, #6bb6fc 0%, #f7f7f7 45%, #f7f7f7 100%); + background: linear-gradient(190deg, #49a5fc 0%, #f7f7f7 800rpx, #f7f7f7 100%); padding: 0 30rpx; box-sizing: border-box; padding-bottom: 300rpx; diff --git a/subpackage/train/user-report/user-report.wxss b/subpackage/train/user-report/user-report.wxss index 9f3e020..ed00577 100644 --- a/subpackage/train/user-report/user-report.wxss +++ b/subpackage/train/user-report/user-report.wxss @@ -1,7 +1,7 @@ /* subpackage/train/user-report/user-report.wxss */ .page-content{ background-color: rgb(247, 247, 247); - background: linear-gradient(190deg, #6bb6fc 0%, #f7f7f7 800rpx, #f7f7f7 100%); + background: linear-gradient(190deg, #49a5fc 0%, #f7f7f7 800rpx, #f7f7f7 100%); padding: 0 30rpx; box-sizing: border-box; padding-bottom: 300rpx; diff --git a/utils/tab-serve.js b/utils/tab-serve.js index a0ee5ae..39c654d 100644 --- a/utils/tab-serve.js +++ b/utils/tab-serve.js @@ -107,7 +107,7 @@ const updateRole = (that, type) => { "pagePath": "pages/teacher/vedio/vedio", "iconPath": "/static/teacher/vedio.png", "selectedIconPath": "/static/teacher/vedio-s.png", - "text": "视频库", + "text": "课程库", }, { "pagePath": "pages/student/my/my", diff --git a/utils/utils.js b/utils/utils.js index 7a575ec..14bf6c8 100644 --- a/utils/utils.js +++ b/utils/utils.js @@ -31,6 +31,7 @@ async function refreshToken() { const res = await refreshMyToken(token) if(res.data.token){ wx.setStorageSync('token', res.data.token) + wx.setStorageSync('roleId', res.data.role_Id) } }