123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284 |
- import httpRequestApi from '../../../utils/APIClient';
- import {
- formatDate
- } from '../../../utils/util';
- const app = getApp()
- Page({
- data: {
- fullScreenBtn: false,
- playBtn: true,
- gesture: true,
- centerBtn: true,
- controls: true,
- videoLoad: false,
- autoPlay: true,
- videoUrl: '',
- poster: '',
- works: [],
- total: '',
- title: '',
- id: '',
- iconImg: '',
- pageNo: 1,
- totalNo: 0,
- collectFlag: false,
- goBackHome: false,
- lazyVideoUrl: '',
- isIOS: app.globalData.isIOS,
- modalType: "text",
- modalText: [{
- text: '您还不是本课程的会员',
- type: 'bigOrange'
- },
- {
- text: '您可以开团,拼团成功获得使用权',
- type: 'normal'
- }
- ],
- modalBtnText: '去开团',
- isModalShow: false,
- productId: 0,
- videoPlayTime: 0
- },
- onLoad: function (option) {
- console.log(option);
- if (option.scene || option.shareCard) {
- this.setData({
- goBackHome: true
- })
- }
- this.setData({
- // title: option.title,
- id: option.id
- })
- this.uid = wx.getStorageSync('uid');;
- httpRequestApi.getClassDetail(this.uid, option.id).success(res => {
- console.log(res);
- const classId = this.data.id;
- httpRequestApi.userIntoPage('pages/main/class/class', '官方课程页面').success((res) => {
- })
- this.setData({
- title: res.data.data.lesson.title,
- videoUrl: res.data.data.lesson.playUrl,
- iconImg: res.data.data.lesson.iconImg,
- productId: res.data.data.product.id
- })
- wx.setNavigationBarTitle({
- title: res.data.data.lesson.title //页面标题为路由参数
- })
- this.getReadInfo(1, 10);
- this.checkLike();
- })
- },
- // video组件在获得url时迅速退出页面会导致小程序闪退,官方还没修复(11/28),处理办法:懒加载思路,在用户点击时再获取videoUrl
- // setVideoUrl: function(){
- // console.log('视频地址>>>>>>>>',this.data.lazyVideoUrl)
- // this.setData({
- // videoUrl: this.data.lazyVideoUrl,
- // })
- // },
- videoPlayHandler: function () {
- this.setData({
- videoLoad: true
- }, () => {
- this.videoCtx = wx.createVideoContext('classVideo', this);
- this.videoCtx.play();
- })
- },
- // 检查是否收藏
- checkLike: function () {
- httpRequestApi.classIsLike(this.uid, {
- targetCode: this.data.id
- }).success(res => {
- this.setData({
- collectFlag: res.data.data
- })
- })
- },
- goToReading: function () {
- let classId = this.data.id;
- // httpRequestApi.checkLesson(classId).success(res => {
- // const productId = res.data.data[0];
- // this.setData({
- // productId
- // })
- // });
- httpRequestApi.areYouSuper(this.data.productId).success(res => {
- if (res.data.success) {
- wx.navigateTo({
- url: `../../main/reading/reading?id=${this.data.id}`
- })
- } else {
- // ios用户 并且没有购买过此书
- // if (app.globalData.isIOS) {
- // wx.showModal({
- // title: '暂不支持',
- // content: '十分抱歉,由于相关规定,您暂时无法在这里朗读',
- // success(res) {
- // if (res.confirm) {
- // console.log('用户点击确定')
- // } else if (res.cancel) {
- // console.log('用户点击取消')
- // }
- // }
- // })
- // return;
- // }
- this.setData({
- isModalShow: true
- })
- // wx.showModal({
- // title: '您未购买过本书,不能朗读',
- // content: '超值团购进行中,快去看看',
- // success(res) {
- // if (res.confirm) {
- // console.log('用户点击确定')
- // wx.navigateTo({
- // url: `../../groupPage/grade-details/grade-details?productId=${productId}`
- // })
- // } else if (res.cancel) {
- // console.log('用户点击取消')
- // }
- // }
- // })
- }
- })
- },
- modalConfirmHandler: function () {
- this.setData({
- isModalShow: false
- })
- wx.navigateTo({
- url: `../../groupPage/grade-details/grade-details?productId=${this.data.productId}`
- })
- },
- modalCloseHandler: function () {
- this.setData({
- isModalShow: false
- })
- },
- openShare: function (e) {
- // this.setData({
- // shareFlag: !this.data.shareFlag
- // })
- this.shareDialog = this.selectComponent("#share-dialog");
- const data = {
- avatar: this.data.authorAvatar,
- author: this.data.author,
- iconImg: this.data.iconImg,
- title: this.data.title,
- path: `pages/social/works/works?id=${this.data.id}&title=${this.data.title}`
- // tip: this.data.tip,
- }
- this.shareDialog.share(data);
- },
- onShareAppMessage: function (res) {
- console.log(this.data.productId)
- if (res.from === 'button') {
- // 来自页面内转发按钮
- console.log(res.target)
- }
- return {
- title: '老师同学都在玩的配音show,你还在等什么?',
- path: `pages/main/class/class?id=${this.data.id}&title=${this.data.title}&shareCard=true`,
- imageUrl: `https://efunbox.lingjiao.cn/reader/resource/share/lesson_${this.data.productId}.jpg`
- }
- },
- goToWorks: function (e) {
- console.log(this.data.works)
- // this.videoCtx = wx.createVideoContext('myVideo', this);
- if (this.videoCtx) {
- this.videoCtx.stop();
- }
- console.log(e);
- let readId = e.currentTarget.dataset.id;
- let title = this.data.title;
- wx.navigateTo({
- url: `../../social/works/works?id=${readId}&title=${title}`
- })
- },
- collect: function (e) {
- // let uid = wx.getStorageSync('uid');
- let data = {
- targetCode: this.data.id,
- // title: this.data.title,
- // iconImg: this.data.iconImg
- }
- httpRequestApi.collectClass(this.uid, data).success(res => {
- this.setData({
- collectFlag: !this.data.collectFlag
- })
- })
- },
- getReadInfo: function (pageNo, pageSize) {
- // const uid = wx.getStorageSync('uid');
- const data = {
- lessonId: this.data.id,
- pageNo: this.data.pageNo,
- pageSize: 10
- };
- httpRequestApi.getClassRead(this.uid, data).success(res => {
- const readInfo = res.data.data.list;
- const readTemp = [];
- readInfo.forEach(item => {
- const temp = {};
- temp.nickName = item.user.wechatName;
- temp.time = formatDate(item.userRead.gmtModified, 3);
- temp.avatar = item.user.avatar;
- temp.likes = item.userRead.likeAmount ? item.userRead.likeAmount : 0;
- temp.uid = item.userRead.uid;
- temp.id = item.userRead.id;
- console.log(item.userRead)
- this.data.works.push(temp);
- });
- this.setData({
- totalNo: res.data.data.totalNo,
- total: res.data.data.totalSize,
- works: this.data.works
- })
- });
- },
- // 下拉加载
- onReachBottom: function (e) {
- console.log(this.data.totalNo);
- this.setData({
- pageNo: this.data.pageNo + 1
- })
- if (this.data.pageNo <= this.data.totalNo) {
- this.getReadInfo();
- }
- },
- // 视频时间变动
- videoTimeChange: function (e) {
- this.videoPlayTime = e.detail.currentTime;
- },
- onHide: function () {
- let videoCtx = wx.createVideoContext('classVideo', this);
- videoCtx.stop();
- },
- onUnload: function () {
- if (this.videoPlayTime) {
- const data = {
- "title": this.data.title,
- "lessonId": this.data.id,
- "productId": this.data.productId,
- "playStopTime": this.videoPlayTime || 0,
- "type": 'EXAMPLE',
- }
- httpRequestApi.playLogReport(data).success(res => {
- console.log(res)
- })
- }
- }
- })
|