123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361 |
- import httpRequestApi from '../../../utils/APIClient';
- import {
- formatDate
- } from '../../../utils/util';
- Page({
- data: {
- fullScreenBtn: false,
- playBtn: false,
- gesture: true,
- author: '',
- videoSrc: '',
- total: '',
- authorAvatar: '',
- user: [],
- inputValue: '',
- inputSBValue: '',
- replyList: [],
- howMuch: '200',
- moneySelect: 'moneySelect',
- moneyNormal: 'moneyNormal',
- ifReward: false,
- id: '',
- path: '',
- replyModal: false,
- totalRead: 0
- // shareFlag: false
- },
- onLoad: function (option) {
- console.log(option)
- // debugger;
- let id = option.id ? option.id : option.scene.replace('QR', '')
- wx.setNavigationBarTitle({
- title: option.title //页面标题为路由参数
- })
- this.setData({
- title: option.title,
- id
- })
- this.uid = wx.getStorageSync('uid');
- this.getWorks(this.uid, id);
- },
- onHide: function(){
- if(this.innerAudioContext){
- this.innerAudioContext.stop();
- }
- },
- onUnload: function(){
- if(this.innerAudioContext){
- this.innerAudioContext.stop();
- }
- },
- getWorks: function (uid, id) {
- httpRequestApi.getWorksDetail(uid, id).success((res) => {
- console.log(res);
- console.log(id);
- const others = res.data.data.otherRead;
- const author = res.data.data.user;
- const works = res.data.data.userRead;
- const othersTemp = [];
- others.forEach((item) => {
- const temp = {};
- temp.uid = item.userRead.id;
- temp.title = item.userRead.title;
- temp.image = item.user.avatar;
- temp.nickName = item.user.wechatName;
- othersTemp.push(temp);
- });
- this.setData({
- user: othersTemp,
- totalRead: res.data.data.totalRead,
- author: author.wechatName,
- authorAvatar: author.avatar,
- authorUid: author.uid,
- videoSrc: works.originVideo,
- audioSrc: works.audioPath,
- iconImg: works.iconImg,
- classId: works.lessonId,
- isLike: res.data.data.isLike,
- isFans: res.data.data.isFans,
- })
- // 设置音频路径
- this.innerAudioContext = wx.createInnerAudioContext();
- this.innerAudioContext.onError((res) => {
- // 播放音频失败的回调
- })
- this.innerAudioContext.src = this.data.audioSrc; // 这里可以是录音的临时路径
- this.getReply();
- });
- },
- likeWorks: function (e) {
- if (this.data.isLike) {
- wx.showToast({
- title: '不要重复点赞哦',
- icon: 'fail',
- duration: 1000
- })
- return;
- }
- httpRequestApi.likeWorks(this.uid, this.data.id).success(res => {
- this.setData({
- isLike: true
- }, () => {
- wx.showToast({
- title: '点赞数+1',
- icon: 'success',
- duration: 1000
- })
- });
- })
- },
- // 弹出分享框
- 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`,
- scene: `QR${this.data.id}`
- // tip: this.data.tip,
- }
- this.shareDialog.share(data);
- },
- videoPlay: function () {
- this.innerAudioContext.play();
- httpRequestApi.playWorks(this.uid, this.data.id).success(res => {
- })
- },
- videoEnd: function () {
- this.innerAudioContext.stop();
- },
- videoPause: function () {
- this.innerAudioContext.pause();
- },
- goToReading: function () {
- let id = this.data.id;
- let title = this.data.title;
- wx.navigateTo({
- url: `../../main/reading/reading?id=${this.data.classId}`
- })
- },
- onShareAppMessage: function (res) {
- if (res.from === 'button') {
- // 来自页面内转发按钮
- console.log(res.target)
- }
- return {
- title: this.data.title,
- path: `pages/social/works/works?id=${this.data.id}&title=${this.data.title}`,
- imageUrl: this.data.iconImg
- }
- },
- follow: function () {
- // let uid = wx.getStorageSync('uid');
- let followUid = this.data.authorUid;
- if (this.data.isFans) {
- httpRequestApi.cancerFollow(this.uid, followUid).success((res) => {
- this.setData({
- isFans: false
- })
- wx.showToast({
- title: '取消关注',
- icon: 'success',
- duration: 1000
- })
- });
- } else {
- httpRequestApi.followUser(this.uid, followUid).success((res) => {
- this.setData({
- isFans: true
- })
- wx.showToast({
- title: '关注啦',
- icon: 'success',
- duration: 1000
- })
- });
- }
- },
- // 点赞评论
- likeCommend: function (e) {
- console.log(e);
- // let uid = wx.getStorageSync('uid');
- let followUid = e.currentTarget.dataset.id;
- let index = e.currentTarget.dataset.index;
- httpRequestApi.likeCommend(this.uid, followUid).success(res => {
- console.log(res);
- const str = `replyList[${index}].likes`;
- this.setData({
- [str]: res.data.data.favors
- })
- });
- },
- // 去其他用户的作品页
- goToOthers: function (e) {
- wx.navigateTo({
- url: `../../social/works/works?id=${e.currentTarget.dataset.uid}&title=${e.currentTarget.dataset.title}`
- })
- },
- // 查询回复
- getReply: function () {
- // let uid = wx.getStorageSync('uid');
- let columnId = this.data.id;
- let pageNo = 1;
- let pageSize = 10;
- httpRequestApi.getReply(this.uid, columnId, pageNo, pageSize).success((res) => {
- console.log(res.data.data.list);
- const replyList = res.data.data.list;
- const replyTemp = [];
- replyList.forEach((item) => {
- const temp = {};
- temp.nickName = item.user.wechatName;
- temp.avatar = item.user.avatar;
- temp.text = item.detailDesc;
- temp.id = item.id;
- temp.replyCount = item.replyCount;
- temp.time = formatDate(item.gmtModified, 3);
- temp.likes = item.postsAttributeInfo.favors || 0;
- console.log(temp.time)
- replyTemp.push(temp);
- });
- this.setData({
- replyList: replyTemp,
- total: res.data.data.totalSize
- })
- });
- },
- // 打开回复详情页
- goToDetail: function (e) {
- let id = e.currentTarget.dataset.id;
- let count = e.currentTarget.dataset.count;
- console.log(e);
- wx.navigateTo({
- url: `../../social/replyDetail/replyDetail?id=${id}&count=${count}`
- })
- },
- // 绑定输入框内容
- inputValue: function (e) {
- this.setData({
- inputValue: e.detail.value
- });
- },
- // 发布回复
- sendHandler: function () {
- console.log(this.data.inputValue);
- if (this.data.inputValue !== '') {
- // let uid = wx.getStorageSync('uid');
- let data = {
- "columnId": this.data.id,
- colunmNames: 'what',
- "detailDesc": this.data.inputValue
- }
- httpRequestApi.postReply(this.uid, data).success(res => {
- console.log(res);
- });
- }
- },
- // 设置点击时的id
- setSBId: function (e) {
- console.log(e)
- this.setData({
- replySBId: e.currentTarget.dataset.id,
- replyModal: true
- })
- },
- // 回复某个评论
- replySB: function () {
- const data = {
- postsId: this.data.replySBId,
- content: this.data.inputSBValue
- }
- httpRequestApi.postReplyComment(this.uid, data).success(res => {
- this.setData({
- replyModal: false
- })
- });
- },
- // 获取回复楼中楼的内容
- inputSBValue: function (e) {
- this.setData({
- inputSBValue: e.detail.value
- });
- },
- // 选择金额
- setMoney: function (e) {
- this.setData({
- howMuch: e.currentTarget.dataset.money
- })
- },
- reward: function () {
- this.setData({
- ifReward: true
- })
- },
- quitReward: function () {
- this.setData({
- ifReward: false
- })
- },
- // 奖励
- rewardMoney: function () {
- console.log(this.data.authorUid);
- const data = {
- targetUid: this.data.authorUid,
- amount: this.data.howMuch
- }
- // let uid = wx.getStorageSync('uid');
- httpRequestApi.rewardMoney(this.uid, data).success(res => {
- console.log(res);
- this.payMoneyt(res.data.data);
- })
- },
- //支付
- payMoneyt: function (orderInfo) {
- wx.requestPayment({
- 'appId': orderInfo.appId,
- 'timeStamp': orderInfo.timeStamp,
- 'nonceStr': orderInfo.nonceStr,
- 'package': orderInfo.package,
- 'signType': orderInfo.signType,
- 'paySign': orderInfo.sign,
- 'success': function (res) {
- console.log(res)
- wx.showModal({
- title: '提示',
- content: '支付成功',
- success(res) {
- if (res.confirm) {
- this.setData({
- ifReward: false
- })
- } else if (res.cancel) {
- this.setData({
- ifReward: false
- })
- }
- }
- })
- },
- 'fail': function (res) {
- this.setData({
- ifReward: false
- })
- console.log('支付失败', res)
- }
- })
- },
- })
|