Commit d1aca56b authored by sujie@126.com's avatar sujie@126.com

dd

parent 4a808588
......@@ -368,7 +368,9 @@
"root": "business/pages/websiteindex",
"name": "businesswebsiteindex",
"pages": [
"index"
"index",
"highlightsedit",
"newsedit"
]
},
{
......@@ -667,7 +669,9 @@
"commentindex",
"clocklist",
"businessinfolist",
"infovideo"
"infovideo",
"onlineclassroomindex",
"onlineclassroomplay"
]
},
{
......
......@@ -165,7 +165,6 @@ Page({
data.works = data.works ? JSON.parse(data.works) :'';
} catch (error) {
}
console.log(data.content, 'data.content')
this.setData({
params: data.content,
audioInfo: data.content.audio[0] ? data.content.audio[0] : {
......
This diff is collapsed.
{
"navigationBarTitleText": "课堂瞬间",
"usingComponents": {
"expiredTip": "../../components/expiredTip",
"w-switch": "/dist/w-switch/index"
}
}
\ No newline at end of file
<wxs src="../../../filter/index.wxs" module="filter" />
<view class="container">
<view class="tip-box">图片视频必传,暂只支持图片视频中一种类型哦~</view>
<view class="textarea-box">
<textarea placeholder="输入标题..." bindinput="getContent" value="{{params.content}}" maxlength="{{900}}"/>
<view class="length-box">{{params.content.length || 0}}/900</view>
</view>
<view class="medie-content" >
<view class="content-box">
<view class="imgandvideobox-wrapper">
<view class="imgandvideobox" wx:for="{{imageBox}}" wx:key="{{index}}" wx:if="{{imageBox.length > 0}}">
<view class="clock-video-box" wx:if="{{item.type == 'video'}}">
<image class="media-box-video-item" src="{{imageRoot}}2c/common/videodefault.png" wx:if="{{item.status == 'success'}}" data-video="{{item}}" bindtap="playvideo"></image>
<image class="media-box-video-item" wx:if="{{item.status != 'success'}}" src="{{imageRoot}}2c/common/videodefault.png" ></image>
<view class="videostatus fail" wx:if="{{item.status == 'fail'}}">视频上传失败,请删除重新上传</view>
<view class="videostatus resolving" wx:if="{{item.status != 'fail'}}">
<view class="progress" >
<view class="{{item.videoprogress == 100 ? 'progress-bar' : 'progress-bar active'}}" style="width: {{item.videoprogress + '%'}}">
{{item.videoprogress == 100 ? '上传成功' : ''}}
</view>
<view class="progress-rate" wx:if="{{item.status == 'resolving'}}">
正在上传...({{item.videoprogress}}%)
</view>
</view>
</view>
<image class="delicon" src="{{imageRoot}}2c/common/reddelicon.png?{{imageVersion}}" data-index="{{index}}" bindtap="delimg"></image>
</view>
<view class="clock-img-item" wx:if="{{item.type == 'image'}}">
<image class="delicon" wx:if="{{imageUploaded}}" src="{{imageRoot}}2c/common/reddelicon.png?{{imageVersion}}" data-index="{{index}}" bindtap="delimg"></image>
<image class="clock-img" wx:if="{{item.status == 'fullfilled'}}" src="{{filter.imagify(item.src, 'image/resize,w_320/format,jpg/quality,q_50')}}" mode="aspectFill" lazy-load="false" binderror="" bindload="" data-index="{{index}}" bindtap="prevImg"></image>
<image class="clock-img" wx:if="{{item.status != 'fullfilled'}}" src="{{imageRoot}}2c/common/imagedefault.png" mode="aspectFill" lazy-load="false" binderror="" bindload="" data-index="{{index}}" bindtap="prevImg"></image>
<view class="img-status pending" wx:if="{{item.status == 'pending'}}">等待上传</view>
<view class="img-status resolving" wx:if="{{item.status == 'resolving'}}">上传中...</view>
<view class="img-status fullfilled" wx:if="{{item.status == 'fullfilled'}}">上传完成</view>
<view class="img-status oversize" wx:if="{{item.status == 'oversize'}}">文件太大</view>
<view class="img-status fail" wx:if="{{item.status == 'fail'}}">上传失败</view>
</view>
</view>
</view>
<view class="radio-box" wx:if="{{audioInfo.src}}">
<image class="del-icon" data-type="{{item.type}}" data-value="{{audioInfo.value}}" data-index="{{index}}" src="{{imageRoot}}2b/common/reddelicon.png?{{imageVersion}}" lazy-load="false" binderror="" bindload="" bindtap="delAudio"></image>
<view class="sjd-small-radio-box mb24" >
<view class="action-mask" wx:if="{{!audioStorage[audioInfo.src] || !audioStorage[audioInfo.src].play}}" data-value="{{audioInfo.src}}" data-duration="{{audioInfo.duration}}" bindtap="playvoice"></view>
<view class="action-mask" wx:if="{{audioStorage[audioInfo.src] && audioStorage[audioInfo.src].play}}" data-value="{{audioInfo.src}}" data-duration="{{audioInfo.duration}}" bindtap="pausevoice"></view>
<view class="sjd-small-icon-box" wx:if="{{!audioStorage[audioInfo.src] || !audioStorage[audioInfo.src].play}}">
</view>
<view class="sjd-small-icon-box play" wx:if="{{audioStorage[audioInfo.src] && audioStorage[audioInfo.src].play}}">
</view>
<text class="sjd-small-radio-time" selectable="false" space="false" decode="false" wx:if="{{audioStorage[audioInfo.src] && audioStorage[audioInfo.src].play}}">{{audioStorage[audioInfo.src] && filter.voiceTimeFormat(audioStorage[audioInfo.src].currentTime) || filter.voiceTimeFormat(0)}}</text>
<text class="sjd-small-radio-time" selectable="false" space="false" decode="false" wx:if="{{!audioStorage[audioInfo.src] || !audioStorage[audioInfo.src].play}}">{{filter.voiceTimeFormat(audioInfo.duration)}}</text>
</view>
</view>
</view>
<view class="operate-box">
<view class="operate-btn" bindtap="addImg" wx:if="{{imageBox.length < maxImgCount}}">
<view class="icon">
<image class="img-icon" src="{{imageRoot}}2b/common/imageicongreen.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="text">添加图片</view>
</view>
<view class="operate-btn" bindtap="addVideo" wx:if="{{imageBox.length < maxImgCount}}">
<view class="icon">
<image class="video-icon" src="{{imageRoot}}2b/common/videoicongreen.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="text">添加视频</view>
</view>
</view>
</view>
<view class="footer">
<view class="go-back">取消</view>
<view class="submit-btn" bindtap="submit">发布</view>
</view>
</view>
<view class="common-dialog" wx:if="{{iosPhoneWarn}}">
<view class="dialog-box">
<view class="warn-text-a" >由于iOS系统限制,您只能录制1分钟</view>
<view class="no-warn-select" >
<view class="no-warn-select-radio {{needIosWarnSelect ? 'active' : ''}}" bindtap="noIosWarn">
<image class="radioactive" src="{{imageRoot}}2c/common/radioactive.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" wx:if="{{needIosWarnSelect}}" binderror="" bindload=""></image>
</view>
<view class="no-warn-select-text" bindtap="noIosWarn">下次不再提示</view>
</view>
<view class="button-box" >
<button type="default" class="btn cancel" bindtap="closeIosWarnDia" bindtap="goback">取消</button>
<button type="default" class="btn sure" bindtap="sureAddVideo">确认</button>
</view>
</view>
</view>
<view class="success-dailog" >
<view class="content-box">
<view class="top-wrap">
<image class="" src="{{localImageRoot}}2b/websiteindex/dailog-bj.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
<view class="white-box"></view>
</view>
<view class="center">发布成功</view>
<view class="dailog-footer">
<view class="cancle" bindtap="hideDailogShow">知道了</view>
<view class="sure">去查看</view>
</view>
</view>
</view>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
{
"navigationBarTitleText": "机构新鲜事",
"usingComponents": {
"expiredTip": "../../components/expiredTip",
"w-switch": "/dist/w-switch/index"
}
}
\ No newline at end of file
<wxs src="../../../filter/index.wxs" module="filter" />
<view class="container">
<view class="tip-box">图片视频必传,暂只支持图片视频中一种类型哦~</view>
<view class="textarea-box">
<textarea placeholder="输入标题..." bindinput="getContent" value="{{params.content}}" maxlength="{{900}}"/>
<view class="length-box">{{params.content.length || 0}}/900</view>
</view>
<view class="medie-content" >
<view class="content-box">
<view class="imgandvideobox-wrapper">
<view class="imgandvideobox" wx:for="{{imageBox}}" wx:key="{{index}}" wx:if="{{imageBox.length > 0}}">
<view class="clock-video-box" wx:if="{{item.type == 'video'}}">
<image class="media-box-video-item" src="{{imageRoot}}2c/common/videodefault.png" wx:if="{{item.status == 'success'}}" data-video="{{item}}" bindtap="playvideo"></image>
<image class="media-box-video-item" wx:if="{{item.status != 'success'}}" src="{{imageRoot}}2c/common/videodefault.png" ></image>
<view class="videostatus fail" wx:if="{{item.status == 'fail'}}">视频上传失败,请删除重新上传</view>
<view class="videostatus resolving" wx:if="{{item.status != 'fail'}}">
<view class="progress" >
<view class="{{item.videoprogress == 100 ? 'progress-bar' : 'progress-bar active'}}" style="width: {{item.videoprogress + '%'}}">
{{item.videoprogress == 100 ? '上传成功' : ''}}
</view>
<view class="progress-rate" wx:if="{{item.status == 'resolving'}}">
正在上传...({{item.videoprogress}}%)
</view>
</view>
</view>
<image class="delicon" src="{{imageRoot}}2c/common/reddelicon.png?{{imageVersion}}" data-index="{{index}}" bindtap="delimg"></image>
</view>
<view class="clock-img-item" wx:if="{{item.type == 'image'}}">
<image class="delicon" wx:if="{{imageUploaded}}" src="{{imageRoot}}2c/common/reddelicon.png?{{imageVersion}}" data-index="{{index}}" bindtap="delimg"></image>
<image class="clock-img" wx:if="{{item.status == 'fullfilled'}}" src="{{filter.imagify(item.src, 'image/resize,w_320/format,jpg/quality,q_50')}}" mode="aspectFill" lazy-load="false" binderror="" bindload="" data-index="{{index}}" bindtap="prevImg"></image>
<image class="clock-img" wx:if="{{item.status != 'fullfilled'}}" src="{{imageRoot}}2c/common/imagedefault.png" mode="aspectFill" lazy-load="false" binderror="" bindload="" data-index="{{index}}" bindtap="prevImg"></image>
<view class="img-status pending" wx:if="{{item.status == 'pending'}}">等待上传</view>
<view class="img-status resolving" wx:if="{{item.status == 'resolving'}}">上传中...</view>
<view class="img-status fullfilled" wx:if="{{item.status == 'fullfilled'}}">上传完成</view>
<view class="img-status oversize" wx:if="{{item.status == 'oversize'}}">文件太大</view>
<view class="img-status fail" wx:if="{{item.status == 'fail'}}">上传失败</view>
</view>
<view class="link-student">
<view class="student-list" bindtap="goSelectstudentlist" data-item="{{item}}" data-index="{{index}}">@{{item.students.length>0 ? (item.students.length>2 ? item.students[0].name+' '+ ' 等' +item.students.length+'名学员': item.students[0].name+(item.students[1] ? ','+item.students[1].name : '') ) : '关联学员'}} <image class="" src="{{imageRoot}}2b/common/close_icon.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" data-flag="{{1}}" data-item="{{item}}" data-index="{{index}}" wx:if="{{item.students.length>0}}" bindtap="closeLinkStudent" /></view>
<textarea wx:if="{{item.students.length>0}}" name="" id="" class="link-text" cols="30" rows="4" value="{{item.text}}" data-index="{{index}}" placeholder="说点什么吧..." bindinput="getLinkText"></textarea>
</view>
</view>
</view>
<view class="radio-box" wx:if="{{audioInfo.src}}">
<image class="del-icon" data-type="{{item.type}}" data-value="{{audioInfo.value}}" data-index="{{index}}" src="{{imageRoot}}2b/common/reddelicon.png?{{imageVersion}}" lazy-load="false" binderror="" bindload="" bindtap="delAudio"></image>
<view class="sjd-small-radio-box mb24" >
<view class="action-mask" wx:if="{{!audioStorage[audioInfo.src] || !audioStorage[audioInfo.src].play}}" data-value="{{audioInfo.src}}" data-duration="{{audioInfo.duration}}" bindtap="playvoice"></view>
<view class="action-mask" wx:if="{{audioStorage[audioInfo.src] && audioStorage[audioInfo.src].play}}" data-value="{{audioInfo.src}}" data-duration="{{audioInfo.duration}}" bindtap="pausevoice"></view>
<view class="sjd-small-icon-box" wx:if="{{!audioStorage[audioInfo.src] || !audioStorage[audioInfo.src].play}}">
</view>
<view class="sjd-small-icon-box play" wx:if="{{audioStorage[audioInfo.src] && audioStorage[audioInfo.src].play}}">
</view>
<text class="sjd-small-radio-time" selectable="false" space="false" decode="false" wx:if="{{audioStorage[audioInfo.src] && audioStorage[audioInfo.src].play}}">{{audioStorage[audioInfo.src] && filter.voiceTimeFormat(audioStorage[audioInfo.src].currentTime) || filter.voiceTimeFormat(0)}}</text>
<text class="sjd-small-radio-time" selectable="false" space="false" decode="false" wx:if="{{!audioStorage[audioInfo.src] || !audioStorage[audioInfo.src].play}}">{{filter.voiceTimeFormat(audioInfo.duration)}}</text>
</view>
</view>
</view>
<view class="operate-box">
<view class="operate-btn" bindtap="addImg" wx:if="{{imageBox.length < maxImgCount}}">
<view class="icon">
<image class="img-icon" src="{{imageRoot}}2b/common/imageicongreen.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="text">添加图片</view>
</view>
<view class="operate-btn" bindtap="addVideo" wx:if="{{imageBox.length < maxImgCount}}">
<view class="icon">
<image class="video-icon" src="{{imageRoot}}2b/common/videoicongreen.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="text">添加视频</view>
</view>
</view>
</view>
<view class="footer">
<view class="go-back" bindtap="goback">取消</view>
<view class="submit-btn" bindtap="submit">发布</view>
</view>
</view>
<view class="common-dialog" wx:if="{{iosPhoneWarn}}">
<view class="dialog-box">
<view class="warn-text-a" >由于iOS系统限制,您只能录制1分钟</view>
<view class="no-warn-select" >
<view class="no-warn-select-radio {{needIosWarnSelect ? 'active' : ''}}" bindtap="noIosWarn">
<image class="radioactive" src="{{imageRoot}}2c/common/radioactive.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" wx:if="{{needIosWarnSelect}}" binderror="" bindload=""></image>
</view>
<view class="no-warn-select-text" bindtap="noIosWarn">下次不再提示</view>
</view>
<view class="button-box" >
<button type="default" class="btn cancel" bindtap="closeIosWarnDia">取消</button>
<button type="default" class="btn sure" bindtap="sureAddVideo">确认</button>
</view>
</view>
</view>
<view class="success-dailog" wx:if="{{successDailogShow}}">
<view class="content-box">
<view class="top-wrap">
<image class="" src="{{localImageRoot}}2b/websiteindex/dailog-bj.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
<view class="white-box"></view>
</view>
<view class="center">发布成功</view>
<view class="dailog-footer">
<view class="cancle" bindtap="hideDailogShow">知道了</view>
<view class="sure">去查看</view>
</view>
</view>
</view>
\ No newline at end of file
This diff is collapsed.
......@@ -197,6 +197,10 @@ const apis = {
websitehome: `${api}student/website/home`, //获取微官网基本数据
commonclock: `${api}common/clock`, //获取打卡记录
websitecourseshow: `${api}student/website/course/show`, //体验课详情
momentlist: `${api}student/moment`, //C端-课堂瞬间列表
momentdetail: `${api}student/moment/detail`, //C端-课堂瞬间详情
newslist: `${api}student/news`, //C端-机构新鲜事列表创
newsdetail: `${api}student/news/detail`, //C端-机构新鲜详情
},
papersquare: {
lastwall: `${api}common/clock/last_wall`, //最新一次精选作品
......@@ -234,6 +238,10 @@ const apis = {
},
},
business: {
websiteindex:{
classmoment: `${api}member/moment`,//课堂瞬间-新增
classnews: `${api}member/news`,//课堂瞬间-新增
},
integral: {
integralRulesAdd: `${api}member/integral_rules/store`,
integralRulesShow: `${api}member/integral_rules/show`,
......
export default {
imageRoot: 'https://cdn.img.shangjiadao.cn/qingxiao/daka/images/',
host: 'https://qxapi.qingxiao.online/daka',
host2: 'https://wx.m.shangjiadao.cn',
// host: 'https://qxapi.qingxiao.online/daka',
// host2: 'https://wx.m.shangjiadao.cn',
storageVersion: '4.0',
imageVersion: '20191104',
// host: 'https://clock.wp53.cn',
// host2: 'https://test.wp53.cn',
host: 'https://clock.wp53.cn',
host2: 'https://test.wp53.cn',
appId: 'wxc1246ea029394785',
miniProgram: {
clock: 'wxdeee20e52a1fd7ee'
......
import {
wxRequest
} from '../../utilities/request.js';
import apis from '../../constants/api.js';
function classmomentPost (data) {
return wxRequest({
role: '2b',
url: apis.business.websiteindex.classmoment,
data,
method: 'POST',
errorresolve: 1,
})
}
function classnewsPost (data) {
return wxRequest({
role: '2b',
url: apis.business.websiteindex.classnews,
data,
method: 'POST',
errorresolve: 1,
})
}
export {
classmomentPost,
classnewsPost
}
\ No newline at end of file
......@@ -70,7 +70,6 @@ Page({
adGetShow: false,
currentVoice: '', // 当前播放的录音
voiceInterval: null,
audioStorage: {},
currentVoice: '', // 当前播放的录音
voiceInterval: null,
attentionAnim: {}, // 创建动画,
......
......@@ -939,7 +939,7 @@ Page({
goInfovideo(e) {
const visitor = LocalStorage.getItem('visitor');
wx.navigateTo({
url: `/src/pages/websiteindex/infovideo?sid=${this.data.sid}&id=${e.currentTarget.dataset.item.id}`,
url: `/src/pages/websiteindex/infovideo?sid=${this.data.sid}&id=${e.currentTarget.dataset.item.id}&sourceType=1`,
})
dataconsumer({
type: 3,
......
......@@ -174,9 +174,43 @@
<button form-type="submit" class="createidbutton">生成form</button>
</form>
</view>
</view>
</view>
</view>
<view class="module-box online-classroom">
<view class="online-classroom-title">
<view class="text">在线学堂</view>
<view class="subtitle">线上课堂好课不错过</view>
</view>
<view class="content-box">
<view class="detail-box">
<view class="cover-box">
<image class="" src="" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
<view class="count-man"><image class="" src="{{localImageRoot}}2c/websiteindex/hot-icon.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />2.4万人学习</view>
</view>
<view class="detail-title">【成人钢琴】零基础,速成班</view>
<view class="introduction">
<view class="text">兴趣培养,相信你会爱上这个课程的老师,并且一起进步成长</view>
<view class="cost">免费</view>
</view>
</view>
<view class="content-item">
<view class="cover-box">
<image class="cover-img" src="" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
<view class="man-count">
<image class="" src="{{localImageRoot}}2c/websiteindex/hot-icon.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />2.4万人学习
</view>
</view>
<view class="info-box">
<view class="title">【成人钢琴】零基础,速成班</view>
<view class="subtitle">兴趣培养,相信你会爱上这个教课老师...</view>
<view class="class-count">
<view class="left"><view class="hot-dot"></view>32节课</view>
<view class="free">免费</view>
</view>
</view>
</view>
</view>
</view>
<view class="videodialog" wx:if="{{videostatus.videoShow}}">
<view class="videodialogmask" bindtap="closeVideo"></view>
<video class="" src="{{filter.transformOssVideofy(videostatus.src,videostatus.mode)}}" id="{{videostatus.videoId}}"
......@@ -184,8 +218,6 @@
bindtimeupdate="" bindwaiting="" binderror="" bindfullscreenchange="screenchange">
</video>
</view>
<sjdbottombar
showcontact="{{true}}"
keyword="website"
......
......@@ -837,6 +837,205 @@ page{
/* .clock-list .clock-item:last-of-type{
border-bottom: 0;
} */
/* 在线学堂 */
.online-classroom{
padding: 0;
}
.online-classroom .online-classroom-title{
padding: 36rpx 24rpx;
}
.online-classroom .online-classroom-title .text{
font-size:32rpx;
font-family:PingFang SC;
font-weight:bold;
color:rgba(47,47,47,1);
padding-bottom: 18rpx;
line-height: 1;
}
.online-classroom .online-classroom-title .subtitle{
font-size:24rpx;
font-family:PingFang SC;
font-weight:400;
color:rgba(118,118,118,1);
}
.online-classroom .content-box{
}
.online-classroom .content-box .detail-box{
padding: 0 24rpx 20rpx 24rpx;
border-radius:16rpx 16rpx 0px 0px;
border-bottom: 2rpx solid rgba(245,246,248,1);
}
.online-classroom .content-box .detail-box .cover-box{
width:100%;
height:212rpx;
background:rgba(255,184,121,1);
border-radius:16rpx 16rpx 0px 0px;
position: relative;
}
.online-classroom .content-box .detail-box .cover-box image{
width:100%;
height:212rpx;
border-radius:16rpx 16rpx 0px 0px;
}
.online-classroom .content-box .detail-box .cover-box .count-man{
width:100%;
padding: 22rpx;
display: flex;
align-items: center;
height:45rpx;
background:rgba(0,0,0,1);
opacity:0.4;
position: absolute;
left: 0;
bottom: 0;
font-size:24rpx;
font-family:PingFang;
font-weight:400;
color:rgba(255,255,255,1);
}
.online-classroom .content-box .detail-box .cover-box .count-man image{
width: 22rpx;
height: 30rpx;
margin-right: 14rpx;
}
.online-classroom .content-box .detail-box .detail-title{
font-size:28rpx;
font-family:PingFang;
font-weight:bold;
color:rgba(70,70,70,1);
padding: 20rpx 0;
line-height: 1;
}
.online-classroom .content-box .detail-box .introduction{
display: flex;
align-items: center;
justify-content: space-between;
}
.online-classroom .content-box .detail-box .introduction .text{
width: 420rpx;
font-size:22rpx;
font-family:PingFang SC;
font-weight:300;
color:rgba(96,96,96,1);
line-height:1;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}
.online-classroom .content-box .detail-box .introduction .cost{
font-size:26rpx;
font-family:PingFang;
font-weight:bold;
color:rgba(255,102,50,1);
line-height:1;
}
.online-classroom .content-box .content-item{
display: flex;
justify-content: space-between;
margin-bottom: 30rpx;
padding: 0 24rpx;
}
.online-classroom .content-box .content-item .cover-box{
width:260rpx;
height:180rpx;
border-radius:10rpx;
position: relative;
margin-right: 32rpx;
}
.online-classroom .content-box .content-item .cover-box .cover-img{
width:280rpx;
height:180rpx;
border-radius:10rpx;
}
.online-classroom .content-box .content-item .cover-box .man-count{
width:100%;
height:44rpx;
background:rgba(245,246,248,1);
border-radius:10rpx;
position: absolute;
left: 0;
bottom: 0;
font-size:24rpx;
font-family:PingFang;
font-weight:400;
color:rgba(151,151,151,1);
display: flex;
align-items: center;
justify-content: center;
}
.online-classroom .content-box .content-item .cover-box .man-count image{
width: 24rpx;
height: 30rpx;
margin-right: 12rpx;
}
.online-classroom .content-box .content-item .info-box{
position: relative;
}
.online-classroom .content-box .content-item .info-box .title{
font-size:28rpx;
font-family:PingFang SC;
font-weight:bold;
color:rgba(70,70,70,1);
line-height:32rpx;
padding: 6rpx 0 18rpx 0;
}
.online-classroom .content-box .content-item .info-box .subtitle{
font-size:22rpx;
font-family:PingFang SC;
font-weight:400;
color:rgba(96,96,96,1);
line-height:1;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
margin-bottom: 32rpx;
}
.online-classroom .content-box .content-item .info-box .man-count {
font-size:24rpx;
font-family:PingFang SC;
font-weight:400;
color:rgba(151,151,151,1);
line-height:1;
}
.online-classroom .content-box .content-item .info-box .man-count image{
width:22rpx;
height:25rpx;
margin-right: 13rpx;
}
.online-classroom .content-box .content-item .info-box .class-count{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
position: absolute;
left: 0;
bottom: 10rpx;
}
.online-classroom .content-box .content-item .info-box .class-count .left{
display: flex;
align-items: center;
font-size:24rpx;
font-family:PingFang SC;
font-weight:400;
color:rgba(151,151,151,1);
line-height: 1;
}
.online-classroom .content-box .content-item .info-box .class-count .left .hot-dot{
width:11rpx;
height:11rpx;
background:rgba(255,192,0,1);
border-radius:6rpx;
margin-right: 20rpx;
}
.online-classroom .content-box .content-item .info-box .class-count .free{
font-size:26rpx;
font-family:PingFang SC;
font-weight:bold;
color:rgba(255,102,50,1);
line-height:1;
}
@keyframes light {
0% {
left: -74rpx;
......@@ -847,4 +1046,4 @@ page{
100% {
left: calc(100% + 74rpx);
}
}
}
\ No newline at end of file
......@@ -104,21 +104,21 @@ Page({
sid,
id,
crt,
type
type,
sourceType
} = options;
this.setData({
sid,
id,
crt:crt||0,
type:type||0
type:type||0,
sourceType: sourceType || 1
})
app.getCurrentSchoolStudentId({
source_id: this.data.sid,
source_type: 10,
}).then(() => {
this.websiteintrosGet();
this.getBarrageList();
this.websitehomeGet();
this.init();
})
wx.setNavigationBarColor({
frontColor: '#ffffff',
......@@ -191,6 +191,19 @@ Page({
},
onPageScroll: function () { // Do something when page scroll
},
init(){
switch (this.data.sourceType) {
case 1:
this.websiteintrosGet();
break;
default:
this.websiteintrosGet();
break;
}
this.getBarrageList();
this.websitehomeGet();
},
onTabItemTap(item) {},
nameInput(e) {
......@@ -721,6 +734,7 @@ Page({
}
})
},
joinAdPost(){
if(this.data.params.mobile==""){
wx.showModal({
......
// src/pages/websiteindex/onlineclassroomindex.js
import {
audioorigin,
scenQueryGet,
LocalStorage,
imagify
} from '../../../utilities/index.js';
var app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
video:'mp4/clock/member/185931/2019-07-10/9c34d432b474d1947469a053a979f88b',
localImageRoot: '../../../images/',
imageRoot: app.globalData.imageRoot,
imageVersion: app.globalData.imageVersion,
quickenOptions: ['0.7倍速','正常倍速','1.25倍速','1.5倍速','2.0倍速'],
curTabIndex:1,
curQuickenOptiont:1,
quickenDailogShow:false,
shareDailogShow:false,
videoStatus:{
isPlay: false
},
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let that = this;
const {
sid,
} = options;
this.setData({
sid,
})
app.getCurrentSchoolStudentId({
source_id: this.data.sid,
source_type: 10,
}).then(() => {
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
this.videoContext = wx.createVideoContext('video');
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
if (this.videoContext) {
this.videoContext.stop();
}
this.innerAudioContext.pause();
this.resetAudiosPlayStatus()
clearInterval(this.data.voiceInterval);
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
if (this.videoContext) {
this.videoContext.stop();
}
this.innerAudioContext.pause();
this.setData({
audioStorage: {
}
})
clearInterval(this.data.voiceInterval);
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
clickVideo(){
if(this.data.videoStatus.isPlay){
this.videoContext.pause();
}else{
this.videoContext.play()
}
},
bindplay(){
this.setData({
"videoStatus.isPlay": true
})
},
bindpause(){
this.setData({
"videoStatus.isPlay": false
})
},
// 倍数
quickenOptionHandle(e){
const { index } = e.currentTarget.dataset;
console.log(index);
switch (index) {
case 0:
this.videoContext.playbackRate(0.8)
break;
case 1:
this.videoContext.playbackRate(1)
break;
case 2:
this.videoContext.playbackRate(1.25)
break;
case 3:
this.videoContext.playbackRate(1.5)
break;
case 4:
this.videoContext.playbackRate(2)
break;
default:
break;
}
this.setData({
curQuickenOptiont: index,
quickenDailogShow: false
})
},
tabChange(e){
const { index } = e.target.dataset;
this.setData({
curTabIndex: index
})
},
ShowQuickenDailog(){
this.setData({
quickenDailogShow: true
})
},
hideQuickenDailog(){
this.setData({
quickenDailogShow: false
})
},
ShowShareDailog(){
this.setData({
shareDailogShow: true
})
},
hideShareDailog(){
this.setData({
shareDailogShow: false
})
},
// 格式是以录音名字为key value为{play: true || false, currentTime: 0}的一个对象
voiceIntervalPlay(value) { // 初始化录音的状态
let voiceInterval = setInterval(() => {
let audioStorage = this.data.audioStorage;
let currentTime = ++audioStorage[value].currentTime;
this.setData({
audioStorage
})
if (currentTime >= this.data.audioStorage[value].duration) {
audioStorage[value].play = false;
audioStorage[value].currentTime = 0;
this.setData({
audioStorage
})
clearInterval(this.data.voiceInterval);
}
}, 1000);
this.setData({
voiceInterval
})
},
playvoice(e) {
const {
value,
duration
} = e.currentTarget.dataset;
this.innerAudioContext.src = audioorigin(value);
this.innerAudioContext.obeyMuteSwitch = false;
this.resetAudiosPlayStatus();
clearInterval(this.data.voiceInterval);
let audioStorage = this.data.audioStorage;
if (!audioStorage[value]) {
audioStorage[value] = {
play: true,
currentTime: 0,
duration
}
} else {
if (audioStorage[value].currentTime == audioStorage[value].duration) {
audioStorage[value].currentTime = 0;
audioStorage[value].play = true;
} else {
audioStorage[value].play = true;
}
}
this.innerAudioContext.seek(audioStorage[value].currentTime)
this.innerAudioContext.play();
this.voiceIntervalPlay(value);
this.setData({
audioStorage,
})
this.innerAudioContext.onCanplay(function (e) {
})
},
pausevoice(e) {
const {
value
} = e.currentTarget.dataset;
let audioStorage = this.data.audioStorage;
audioStorage[value].play = false;
this.setData({
audioStorage,
})
this.innerAudioContext.pause();
clearInterval(this.data.voiceInterval);
},
voiceslide(e) {
const {
value,
slide,
duration
} = e.currentTarget.dataset;
let audioStorage = this.data.audioStorage;
if (!audioStorage[value]) {
audioStorage[value] = {
play: false,
currentTime: slide,
duration
}
} else {
audioStorage[value].currentTime = slide;
}
this.innerAudioContext.seek(slide);
this.setData({
audioStorage,
})
},
slidestart(e) {
const {
value,
slide
} = e.currentTarget.dataset;
let audioStorage = this.data.audioStorage;
if (audioStorage[value] && audioStorage[value].play) { // 如果当前是播放状态 则先暂停音乐盒计时器 播放按钮状态不需要改
this.innerAudioContext.pause();
clearInterval(this.data.voiceInterval);
} else { // 如果当前不是播放状态 则该干嘛干嘛
}
},
slideend(e) {
const {
value,
slide
} = e.currentTarget.dataset;
let audioStorage = this.data.audioStorage;
if (audioStorage[value] && audioStorage[value].play) { // 如果当前是播放状态 则启用定时器 播放按钮状态不需要改
// clearInterval(this.data.voiceInterval);
this.innerAudioContext.play();
this.voiceIntervalPlay(value);
} else { // 如果当前不是播放状态 则该干嘛干嘛
}
},
resetAudiosPlayStatus() { // 点击一个录音的时候把其他的录音状态改成暂停状态
let audioStorage = this.data.audioStorage;
Object.keys(audioStorage).forEach((key) => {
audioStorage[key].play = false
});
this.setData({
audioStorage,
})
},
})
\ No newline at end of file
{
"navigationBarTitleText": "在线课堂",
"usingComponents": {
"list-loading": "../../../components/listloading",
"empty-content": "../../../components/emptycontent",
"clock-item": "../../components/newclockitem"
}
}
\ No newline at end of file
<!--src/pages/websiteindex/onlineclassroomindex.wxml-->
<wxs src="../../../filter/index.wxs" module="filter" />
<view class="container">
<view class="top-box">
<view class="media-box">
<image class="poster" src="" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
<view class="bottom-line">
<view class="left">295万次播放</view>
<view class="right">永久回听</view>
</view>
</view>
<view class="title-box">
<view class="title">24节视频课,让你零基础也能速变唱歌达人!</view>
<view class="subtitle">我们这个课程厉害的很,快来学习吧,适合0-4岁的小朋友</view>
</view>
<view class="phase-count">共24期/已更新24期</view>
</view>
<view class="line-16"></view>
<view class="content-box">
<view class="tab-box" bindtap="tabChange">
<view class="tab-item {{curTabIndex == 1 ? 'act-tab' : ''}}" data-index="{{1}}">简介</view>
<view class="tab-item {{curTabIndex == 2 ? 'act-tab' : ''}}" data-index="{{2}}">目录 <image class="" src="{{localImageRoot}}/2c/websiteindex/{{curTabIndex == 2 ? 'light-catalog' : 'dark-catalog'}}.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
</view>
<view class="introduction" wx:if="{{curTabIndex==1}}">
<view class="audio-box">
<view class="icon">
<image class="" src="{{localImageRoot}}/2c/websiteindex/yellow-play.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="title-box">
<view class="title">武大郎基金创始人:喝药大讲</view>
<view class="tip">点击收听</view>
</view>
<view class="time">08:23</view>
</view>
<view class="video-box">
<image class="video-poster" src="" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
<image class="play-icon" wx:if="{{!videoStatus.isPlay}}" bindtap="clickVideo" src="{{localImageRoot}}/2c/websiteindex/play-video.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
<!-- <image class="play-icon" src="{{localImageRoot}}/2c/websiteindex/pause-video.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" /> -->
</view>
<view class="business-box">
<view class="business-info">
<view class="logo-box">
<image class="logo" src="" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="business-name">
<view class="title">武大郎煎饼摊</view>
<view class="man-count">3.33万人<text class="" selectable="false" space="false" decode="false">推荐</text></view>
</view>
</view>
<view class="in-btn">进店</view>
</view>
</view>
<view class="catalog" wx:if="{{curTabIndex==2}}">
<view class="search-box">
<view class="input-box">
<image class="seach-icon" src="{{imageRoot}}2b/themeindex/w-icon.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
<input type="text" placeholder="输入学员昵称"/>
</view>
<view class="btn-box">搜索</view>
</view>
<view class="catalog-list">
<view class="catalog-item">
<view class="type-box">
<image class="" src="{{localImageRoot}}/2c/websiteindex/dark-paly.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="info-box">
<view class="title-box">
<view class="type-tag">音频</view>
我们这个课程很厉害的我们这个课程,我们个课程很厉害的我们这个课程…
</view>
<view class="count-box">
<view class="count-time"><image class="" src="{{localImageRoot}}/2c/websiteindex/alarm-clock.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />35分钟</view>
<view class="count-study">8321次学习</view>
</view>
</view>
</view>
</view>
<view class="booking-box">
<view class="text">立即学习</view>
<image class="icon-clock2" src="{{imageRoot}}2c/websiteindex/icon_clock2.png?{{imageVersion}}"></image>
<!-- <image class="icon-animate" src="{{imageRoot}}2c/clockitem/light.png?{{imageVersion}}" ></image> -->
<button class="btn-get" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
</view>
</view>
</view>
</view>
<view class="quicken-dailog" wx:if="{{quickenDailogShow}}">
<view class="wrap" bindtap="hideQuickenDailog"></view>
<view class="content">
<view class="title">倍速播放</view>
<view class="option {{index == curQuickenOptiont ? 'curoption' : ''}}" bindtap="quickenOptionHandle" data-index="{{index}}" wx:for="{{quickenOptions}}" wx:key="{{index}}">{{item}}</view>
<view class="footer">关闭</view>
</view>
</view>
<view class="share-dailog" wx:if="{{shareDailogShow}}">
<view class="wrap" bindtap="hideShareDailog"></view>
<view class="content">
<view class="share-box">
<view class="img">
<image class="" src="{{localImageRoot}}/2c/websiteindex/share-poster.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="text">生成海报</view>
</view>
<view class="share-box">
<view class="img">
<image class="" src="{{localImageRoot}}/2c/websiteindex/share-weixin.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="text">转发给好友</view>
</view>
</view>
</view>
\ No newline at end of file
This diff is collapsed.
import {
audioorigin,
scenQueryGet,
LocalStorage,
imagify
} from '../../../utilities/index.js';
var app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
video:'mp4/clock/member/185931/2019-07-10/9c34d432b474d1947469a053a979f88b',
localImageRoot: '../../../images/',
imageRoot: app.globalData.imageRoot,
imageVersion: app.globalData.imageVersion,
quickenOptions: ['0.7倍速','正常倍速','1.25倍速','1.5倍速','2.0倍速'],
curTabIndex:1,
curQuickenOptiont:1,
quickenDailogShow:false,
shareDailogShow:false,
videoStatus:{
isPlay: false
},
showCommentbox: 0,
commenteditor: false, // 评论input框
commentclock: '', //回复的clock
catlogDailogShow: false
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let that = this;
const {
sid,
} = options;
this.setData({
sid,
})
app.getCurrentSchoolStudentId({
source_id: this.data.sid,
source_type: 10,
}).then(() => {
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
this.videoContext = wx.createVideoContext('video');
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
if (this.videoContext) {
this.videoContext.stop();
}
this.innerAudioContext.pause();
this.resetAudiosPlayStatus()
clearInterval(this.data.voiceInterval);
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
if (this.videoContext) {
this.videoContext.stop();
}
this.innerAudioContext.pause();
this.setData({
audioStorage: {
}
})
clearInterval(this.data.voiceInterval);
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
clickVideo(){
if(this.data.videoStatus.isPlay){
this.videoContext.pause();
}else{
this.videoContext.play()
}
},
bindplay(){
this.setData({
"videoStatus.isPlay": true
})
},
bindpause(){
this.setData({
"videoStatus.isPlay": false
})
},
// 倍数
quickenOptionHandle(e){
const { index } = e.currentTarget.dataset;
console.log(index);
switch (index) {
case 0:
this.videoContext.playbackRate(0.8)
break;
case 1:
this.videoContext.playbackRate(1)
break;
case 2:
this.videoContext.playbackRate(1.25)
break;
case 3:
this.videoContext.playbackRate(1.5)
break;
case 4:
this.videoContext.playbackRate(2)
break;
default:
break;
}
this.setData({
curQuickenOptiont: index,
quickenDailogShow: false
})
},
tabChange(e){
const { index } = e.target.dataset;
this.setData({
curTabIndex: index
})
},
ShowQuickenDailog(){
this.setData({
quickenDailogShow: true
})
},
hideQuickenDailog(){
this.setData({
quickenDailogShow: false
})
},
ShowShareDailog(){
this.setData({
shareDailogShow: true
})
},
hideShareDailog(){
this.setData({
shareDailogShow: false
})
},
// 格式是以录音名字为key value为{play: true || false, currentTime: 0}的一个对象
voiceIntervalPlay(value) { // 初始化录音的状态
let voiceInterval = setInterval(() => {
let audioStorage = this.data.audioStorage;
let currentTime = ++audioStorage[value].currentTime;
this.setData({
audioStorage
})
if (currentTime >= this.data.audioStorage[value].duration) {
audioStorage[value].play = false;
audioStorage[value].currentTime = 0;
this.setData({
audioStorage
})
clearInterval(this.data.voiceInterval);
}
}, 1000);
this.setData({
voiceInterval
})
},
playvoice(e) {
const {
value,
duration
} = e.currentTarget.dataset;
this.innerAudioContext.src = audioorigin(value);
this.innerAudioContext.obeyMuteSwitch = false;
this.resetAudiosPlayStatus();
clearInterval(this.data.voiceInterval);
let audioStorage = this.data.audioStorage;
if (!audioStorage[value]) {
audioStorage[value] = {
play: true,
currentTime: 0,
duration
}
} else {
if (audioStorage[value].currentTime == audioStorage[value].duration) {
audioStorage[value].currentTime = 0;
audioStorage[value].play = true;
} else {
audioStorage[value].play = true;
}
}
this.innerAudioContext.seek(audioStorage[value].currentTime)
this.innerAudioContext.play();
this.voiceIntervalPlay(value);
this.setData({
audioStorage,
})
this.innerAudioContext.onCanplay(function (e) {
})
},
pausevoice(e) {
const {
value
} = e.currentTarget.dataset;
let audioStorage = this.data.audioStorage;
audioStorage[value].play = false;
this.setData({
audioStorage,
})
this.innerAudioContext.pause();
clearInterval(this.data.voiceInterval);
},
voiceslide(e) {
const {
value,
slide,
duration
} = e.currentTarget.dataset;
let audioStorage = this.data.audioStorage;
if (!audioStorage[value]) {
audioStorage[value] = {
play: false,
currentTime: slide,
duration
}
} else {
audioStorage[value].currentTime = slide;
}
this.innerAudioContext.seek(slide);
this.setData({
audioStorage,
})
},
slidestart(e) {
const {
value,
slide
} = e.currentTarget.dataset;
let audioStorage = this.data.audioStorage;
if (audioStorage[value] && audioStorage[value].play) { // 如果当前是播放状态 则先暂停音乐盒计时器 播放按钮状态不需要改
this.innerAudioContext.pause();
clearInterval(this.data.voiceInterval);
} else { // 如果当前不是播放状态 则该干嘛干嘛
}
},
slideend(e) {
const {
value,
slide
} = e.currentTarget.dataset;
let audioStorage = this.data.audioStorage;
if (audioStorage[value] && audioStorage[value].play) { // 如果当前是播放状态 则启用定时器 播放按钮状态不需要改
// clearInterval(this.data.voiceInterval);
this.innerAudioContext.play();
this.voiceIntervalPlay(value);
} else { // 如果当前不是播放状态 则该干嘛干嘛
}
},
resetAudiosPlayStatus() { // 点击一个录音的时候把其他的录音状态改成暂停状态
let audioStorage = this.data.audioStorage;
Object.keys(audioStorage).forEach((key) => {
audioStorage[key].play = false
});
this.setData({
audioStorage,
})
},
hidecommentBox(e) {
this.setData({
showCommentbox: 2,
// hasmore: true,
// listLoading: false,
// page: 1
})
},
commentBoxShow() {
this.setData({
showCommentbox: 1
})
},
showcommenteditor(e) {
this.setData({
commentclock: '',
commenteditor: true
})
},
hidecommenteditor(e) {
this.setData({
commenteditor: false,
})
},
showCatlogDailog(){
this.setData({
catlogDailogShow: true
})
},
hideCatlogDailog(){
this.setData({
catlogDailogShow: false
})
},
goback(){
wx.navigateBack({
delta:1
})
}
})
\ No newline at end of file
{
"navigationBarTitleText": "在线课堂",
"usingComponents": {
"list-loading": "../../../components/listloading",
"empty-content": "../../../components/emptycontent",
"clock-item": "../../components/newclockitem",
"comment-editor": "../../../components/commenteditor"
}
}
\ No newline at end of file
<!--src/pages/websiteindex/onlineclassroomindex.wxml-->
<wxs src="../../../filter/index.wxs" module="filter" />
<view class="container">
<view class="top-box">
<view class="media-box">
<view class="video-box">
<video
src="{{filter.transformOssVideofyM3u8(video)}}"
id="video"
bindplay="bindplay"
bindpause="bindpause"
loop="{{true}}"
bindtap="clickVideo"
poster="{{filter.videoPoster(video)}}"
show-center-play-btn="{{false}}"
autoplay="{{false}}">
</video>
<image class="play-icon" wx:if="{{!videoStatus.isPlay}}" bindtap="clickVideo" src="{{localImageRoot}}/2c/websiteindex/play-video.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
<!-- <image class="play-icon" src="{{localImageRoot}}/2c/websiteindex/pause-video.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" /> -->
<image class="quickenplay-icon" bindtap="ShowQuickenDailog" src="{{localImageRoot}}/2c/websiteindex/quickenplay-icon.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
</view>
<view class="cover-info">
<view class="img-box">
<image class="cover" src="" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="title-cover">
<view class="title">武大郎 | 每天早上卖煎饼</view>
<view class="count">已更新24期</view>
</view>
</view>
<view class="line-16"></view>
<view class="title-box">
<view class="title">24节视频课,让你零基础也能速变唱歌达人!</view>
<view class="subtitle">我们这个课程厉害的很,快来学习吧,适合0-4岁的小朋友</view>
</view>
</view>
<view class="line-16"></view>
<view class="content-box">
<view class="tab-box">
<view class="tab-item" data-index="{{1}}">课程介绍</view>
</view>
<view class="introduction" wx:if="{{curTabIndex==1}}">
<view class="audio-box">
<view class="icon">
<image class="" src="{{localImageRoot}}/2c/websiteindex/yellow-play.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="title-box">
<view class="title">武大郎基金创始人:喝药大讲</view>
<view class="tip">点击收听</view>
</view>
<view class="time">08:23</view>
</view>
<view class="video-box">
<image class="video-poster" src="" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
<image class="play-icon" wx:if="{{!videoStatus.isPlay}}" bindtap="clickVideo" src="{{localImageRoot}}/2c/websiteindex/play-video.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
<!-- <image class="play-icon" src="{{localImageRoot}}/2c/websiteindex/pause-video.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" /> -->
</view>
<view class="business-box">
<view class="business-info">
<view class="logo-box">
<image class="logo" src="" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="business-name">
<view class="title">武大郎煎饼摊</view>
<view class="man-count">3.33万人<text class="" selectable="false" space="false" decode="false">推荐</text></view>
</view>
</view>
<view class="in-btn">进店</view>
</view>
</view>
</view>
<view class="footer-box">
<view class="footer-innerbox">
<view class="btn-item" bindtap="goback">
<image class="btn-icon" src="{{imageRoot}}2b/common/detailbackicon.png?{{imageVersion}}"></image>
<view class="btn-title">返回</view>
</view>
<view class="impressions" bindtap="showcommenteditor">
<view class="icon"></view>
<view class="text">写点感想…</view>
</view>
<view class="btn-item" bindtap="commentBoxShow" style="margin-right: 40rpx;" bindtap="commentBoxShow">
<image class="icon" src="{{imageRoot}}2c/clockitem/messge.png?{{imageVersion}}"></image>
<view class="btn-title">评论</view>
</view>
<view class="btn-item" bindtap="ShowShareDailog" style="margin-right: 40rpx;">
<image class="icon" src="{{imageRoot}}2c/clockitem/sharewx.png?{{imageVersion}}"></image>
<view class="btn-title">分享</view>
</view>
<view class="btn-item" bindtap="showCatlogDailog">
<image class="icon catlog-icon" src="{{localImageRoot}}2c/websiteindex/catlog-icon.png?{{imageVersion}}"></image>
<view class="btn-title">课程列表</view>
</view>
</view>
</view>
</view>
<view class="quicken-dailog" wx:if="{{quickenDailogShow}}">
<view class="wrap" bindtap="hideQuickenDailog"></view>
<view class="content {{quickenDailogShow?'comment-show':'comment-hide'}}">
<view class="title">倍速播放</view>
<view class="option {{index == curQuickenOptiont ? 'curoption' : ''}}" bindtap="quickenOptionHandle" data-index="{{index}}" wx:for="{{quickenOptions}}" wx:key="{{index}}">{{item}}</view>
<view class="footer">关闭</view>
</view>
</view>
<view class="share-dailog" wx:if="{{shareDailogShow}}">
<view class="wrap" bindtap="hideShareDailog"></view>
<view class="content {{shareDailogShow?'comment-show':'comment-hide'}}" >
<view class="share-box">
<view class="img">
<image class="" src="{{localImageRoot}}/2c/websiteindex/share-poster.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="text">生成海报</view>
</view>
<view class="share-box">
<view class="img">
<image class="" src="{{localImageRoot}}/2c/websiteindex/share-weixin.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="text">转发给好友</view>
</view>
</view>
</view>
<view class="catlog-dailog" wx:if="{{catlogDailogShow}}">
<view class="wrap" bindtap="" bindtap="hideCatlogDailog"></view>
<view class="content {{catlogDailogShow?'comment-show':'comment-hide'}}">
<view class="title-box">
<view class="title"><image class="" src="{{localImageRoot}}2c/websiteindex/yellow-line.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />课程(11)</view>
<view class="btn-box">查看专栏<image class="" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" /></view>
</view>
<scroll-view class="catlog-list" scroll-y="true">
<view class="catlog-item">
武大郎卖煎饼好吃
</view>
<view class="catlog-item action-item">
<image class="" src="{{localImageRoot}}2c/websiteindex/action-play.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
武大郎卖煎饼好吃
</view>
</scroll-view>
<view class="footer" bindtap="hideCatlogDailog">关闭</view>
</view>
</view>
<view class="comment-dailog {{showCommentbox==1?'comment-show':''}} {{showCommentbox==2?'comment-hide':''}}" >
<view class="title-box">
<view class="text">评论</view>
<view class="btn-box">
<view class="time-btn"><image class="" src="{{localImageRoot}}/2c/websiteindex/small-clock.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />按时间</view>
<view class="close-btn" bindtap="hidecommentBox">
<image class="" src="{{localImageRoot}}/2c/websiteindex/small-close.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
</view>
</view>
<view class="line-4"></view>
<view class="subtitle">全部评论</view>
<scroll-view class="comment-list" scroll-y="true">
<view class="comment-item">
<view class="avatar-box">
<image class="" src="{{localImageRoot}}/2c/websiteindex/share-poster.png" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
<view class="info-box">
<view class="name">武大郎</view>
<view class="time">21小时前</view>
<view class="content-box">其实我最想知道的是实现这种理念的方法论!</view>
</view>
</view>
</scroll-view>
</view>
<view class="" data-editor="commenteditor">
<comment-editor wx:if="{{commenteditor}}" prams="{{commentclock}}" bind:hidecommenteditor="hidecommenteditor"
type="2c"></comment-editor>
</view>
\ No newline at end of file
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment