123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- 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
- },
- 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);
- this.setData({
- title: res.data.data.title,
- videoUrl: res.data.data.playUrl,
- iconImg: res.data.data.iconImg
- })
- wx.setNavigationBarTitle({
- title: res.data.data.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];
- // wx.navigateTo({
- // url: `../../main/reading/reading?id=${classId}`
- // })
- // return;
- httpRequestApi.areYouSuper(res.data.data).success(res => {
- if (res.data.success) {
- wx.navigateTo({
- url: `../../main/reading/reading?id=${classId}`
- })
- } else {
- // ios用户 并且没有购买过此书
- // if (app.globalData.isIOS) {
- // wx.showModal({
- // title: '暂不支持',
- // content: '十分抱歉,由于相关规定,您暂时无法在这里朗读',
- // success(res) {
- // if (res.confirm) {
- // console.log('用户点击确定')
- // } else if (res.cancel) {
- // console.log('用户点击取消')
- // }
- // }
- // })
- // return;
- // }
- 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('用户点击取消')
- }
- }
- })
- }
- })
- });
- },
- 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) {
- 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: '../../../static/share/class_icon.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();
- }
- },
- onHide: function () {
- let videoCtx = wx.createVideoContext('classVideo', this);
- videoCtx.stop();
- },
- })
|