Commit bf4400a5 authored by qipeng's avatar qipeng

新增VLOG收费

parent 1af0e48f
......@@ -7,8 +7,8 @@
<view class="">
<button v-if="item.shareNumber===0" :data-productUrl="item.productUrl" :data-productId="item.productId" class="btnn"
open-type="share">分享下载</button>
<button v-else class="btnn" @click="handleDownload(item.productUrl)">下载视频</button>
<text class="price">¥<text>0</text></text>
<button v-else class="btnn" @click="handPayment(item.productUrl,item.isPay,item.sellingPrice)">下载视频</button>
<text class="price">¥<text>{{item.sellingPrice}}</text></text>
</view>
<view style="clear: both;"></view>
</view>
......@@ -17,151 +17,224 @@
</template>
<script>
export default {
export default {
data() {
return {
myVlogList: [], //我的视频列表
merchantId: '', //景区id
}
},
onLoad(options) {
this.merchantId = options.merchantId
this.getMyVlogList()
},
onShow() {
data() {
return {
openid:'',
myVlogList: [], //我的视频列表
merchantId: '', //景区id
merchantIdOrder:'',//下单用merchantId
merchantMessage:[],//景区基础参数
}
},
onLoad(options) {
this.merchantId = options.merchantId
this.merchantIdOrder=options.merchantIdOrder||'z0015605022691a5945bbe463141668c'
this.openid = uni.getStorageSync('openid') //获取openid
this.getMyVlogList()
this.mearchLoadList()//调用参数
},
onShow() {
},
onUnload() { //退出页面
},
onUnload() { //退出页面
},
onHide() {},
onReady() {},
onShareAppMessage(res) { //分享
let productId = res.target.dataset.productid
let productUrl= res.target.dataset.producturl
if (res.from === 'button') {
this.$request('wechatUser/myPage/updateVlogRecord', {
productId,
openid: uni.getStorageSync('openid')
}).then(res => {
if (res.code === '00') {
this.getMyVlogList()
}
})
return {
title: '胖丁旅行',
type: 4,
path: '/pages/vlog/share/share?url='+productUrl,
}
}else{
return {
title: '胖丁旅行',
type: 4,
path: '/pages/vlog/vlogIndex/vlogIndex',
}
}
},
methods: {
getMyVlogList() { //获取景区vlog列表
this.$request('wechatUser/myPage/getVlogRecord', {
openid: uni.getStorageSync('openid'),
productType:0
}).then(res => {
if (res.code === '00') {
res.data.forEach(item => { //获取当前景区视频列表
if (this.merchantId === item.merchantId) {
this.myVlogList = item.vlogList
}
})
}
})
},
playing(e) { //控制只播放当前video
this.myVlogList.forEach((item, index) => {
if (e !== index) {
uni.createVideoContext(index.toString()).pause()
}
})
},
handleDownload(url) { // 下载功能
uni.showLoading({
title: '下载中',
mask: true
})
let fileName = new Date().valueOf() //获取时间戳
uni.downloadFile({ //下载文件资源到本地
url,
filePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4', //filePath指定文件下载后存储的路径,wx.env.USER_DATA_PATH,时间戳为文件名
success: res => { //下载到本地成功
let filePath = res.filePath
uni.saveVideoToPhotosAlbum({ //保存视频到系统相册。
filePath,
success: file => { //保存成功
//删除本地缓存
let fileMgr = uni.getFileSystemManager()
fileMgr.unlink({
filePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4',
})
uni.showToast({
title: '下载成功',
icon: 'success',
mask: true
})
},
fail: err => {
uni.hideLoading()
//拒绝授权时显示
if (err.errMsg === 'saveVideoToPhotosAlbum:fail auth deny') {
uni.showModal({
title: '提示',
content: '需要您授权保存相册',
showCancel: false,
success: data => {
//打开权限设置
uni.openSetting({
success: setting => {
if (setting.authSetting['scope.writePhotosAlbum']) {
uni.showModal({
title: '提示',
content: '获取权限成功,再次点击下载即可保存',
showCancel: false,
})
} else {
uni.showModal({
title: '提示',
ontent: '获取权限失败,将无法保存到相册哦',
showCancel: false
})
}
},
})
}
})
}
}
})
},
fail: err => { //下载失败
uni.hideLoading()
if (err.errMsg == 'downloadFile:fail createDownloadTask:fail url not in domain list') {
uni.showToast({
title: '服务器错误,请联系相关管理员',
icon: 'none',
mask: true
})
}
}
})
},
error(e) { //视频播放出错触发函数
uni.showModal({
content: e.target.errMsg,
showCancel: false
})
},
}
}
},
onHide() {},
onReady() {},
onShareAppMessage(res) { //分享
let productId = res.target.dataset.productid
let productUrl= res.target.dataset.producturl
if (res.from === 'button') {
this.$request('wechatUser/myPage/updateVlogRecord', {
productId,
openid: uni.getStorageSync('openid')
}).then(res => {
if (res.code === '00') {
this.getMyVlogList()
}
})
return {
title: '胖丁旅行',
type: 4,
path: '/pages/vlog/share/share?url='+productUrl,
}
}else{
return {
title: '胖丁旅行',
type: 4,
path: '/pages/vlog/vlogIndex/vlogIndex',
}
}
},
methods: {
getMyVlogList() { //获取景区vlog列表
this.$request('wechatUser/myPage/getVlogRecord', {
openid: uni.getStorageSync('openid'),
productType:0
}).then(res => {
if (res.code === '00') {
res.data.forEach(item => { //获取当前景区视频列表
if (this.merchantId === item.merchantId) {
this.myVlogList = item.vlogList
}
})
}
})
},
playing(e) { //控制只播放当前video
this.myVlogList.forEach((item, index) => {
if (e !== index) {
uni.createVideoContext(index.toString()).pause()
}
})
},
handPayment(productUrl,isPay,sellingPrice){//当前视频是否需要支付下载费用
//isPay 0为未支付 1为已支付
if(isPay==0){//originalPrice 原价 sellingPrice售价 settlementPrice结算价
this.upLoad(sellingPrice)
}else{
handleDownload(productUrl)
}
},
upLoad(sellingPrice){//下单
var data = {
companyId:this.merchantMessage[0].companyId||'',//公司ID
orderMoney:sellingPrice,//订单总价
userId:this.openid,
orderProductVo:{},//下单信息
orderType:11,//相册TYPE值
orderProductList:[],//景区下单信息
}
var orderProductListData = {
buyNum:1,//购买数量
merchantId:this.merchantMessage[0].merchantId||'',
orderType:11,//11相册
productId:this.merchantMessage[0].merchantExtendProjectId||'',
productName:this.merchantMessage[0].merchantExtendProjectName||'',
extendContent:'',
unitPrice:sellingPrice,//产品单价
orderImgList:[],////订单图片
couponList:[],//券信息
}
var extendContentData={
openid:this.openid,
projectAddress:this.merchantMessage[0].projectAddress||'',
projectPhone:this.merchantMessage[0].projectPhone||'',
}
orderProductListData.extendContent = JSON.stringify(extendContentData)
data.orderProductList.push(orderProductListData)
//data.orderProductVo = orderProductVo
this.$request('orderc/photo/photoCreateOrder',data).then((res)=>{
if(res.code=='00'){
uni.navigateTo({
url:'../../payment/orderPayment/orderPayment?orderId='+res.data.id+'&albumOrderdetail=1'
})
}else{
uni.showToast({
title: res.message,
icon: 'none'
})
}
})
},
mearchLoadList(){//调用参数
var merchantIds = []
merchantIds.push(this.merchantIdOrder)
this.$request('scenic/merchantExtendProject/loadList',{
merchantIds:merchantIds,
merchantExtendProjectName:'vlog'
}).then((res)=>{
if(res.code=='00'){
this.merchantMessage = res.data
}else{
uni.showToast({
title: res.message,
icon: 'none'
})
}
})
},
handleDownload(url) { // 下载功能
uni.showLoading({
title: '下载中',
mask: true
})
let fileName = new Date().valueOf() //获取时间戳
uni.downloadFile({ //下载文件资源到本地
url,
filePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4', //filePath指定文件下载后存储的路径,wx.env.USER_DATA_PATH,时间戳为文件名
success: res => { //下载到本地成功
let filePath = res.filePath
uni.saveVideoToPhotosAlbum({ //保存视频到系统相册。
filePath,
success: file => { //保存成功
//删除本地缓存
let fileMgr = uni.getFileSystemManager()
fileMgr.unlink({
filePath: wx.env.USER_DATA_PATH + '/' + fileName + '.mp4',
})
uni.showToast({
title: '下载成功',
icon: 'success',
mask: true
})
},
fail: err => {
uni.hideLoading()
//拒绝授权时显示
if (err.errMsg === 'saveVideoToPhotosAlbum:fail auth deny') {
uni.showModal({
title: '提示',
content: '需要您授权保存相册',
showCancel: false,
success: data => {
//打开权限设置
uni.openSetting({
success: setting => {
if (setting.authSetting['scope.writePhotosAlbum']) {
uni.showModal({
title: '提示',
content: '获取权限成功,再次点击下载即可保存',
showCancel: false,
})
} else {
uni.showModal({
title: '提示',
ontent: '获取权限失败,将无法保存到相册哦',
showCancel: false
})
}
},
})
}
})
}
}
})
},
fail: err => { //下载失败
uni.hideLoading()
if (err.errMsg == 'downloadFile:fail createDownloadTask:fail url not in domain list') {
uni.showToast({
title: '服务器错误,请联系相关管理员',
icon: 'none',
mask: true
})
}
}
})
},
error(e) { //视频播放出错触发函数
uni.showModal({
content: e.target.errMsg,
showCancel: false
})
},
}
}
</script>
<style lang="scss" scoped>
......
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