合并代码
This commit is contained in:
parent
b26bd82e07
commit
0c4aaade96
|
@ -31,10 +31,11 @@
|
||||||
value: userinfo
|
value: userinfo
|
||||||
})
|
})
|
||||||
|
|
||||||
|
//
|
||||||
|
util.getUserinfo().then(rs => {
|
||||||
// 腾讯im登录
|
// 腾讯im登录
|
||||||
util.loginTencent(userinfo)
|
util.loginTencent(userinfo)
|
||||||
//
|
})
|
||||||
util.getUserinfo()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -137,32 +137,19 @@ const video = {
|
||||||
getCollectList(param) {
|
getCollectList(param) {
|
||||||
return util.request({
|
return util.request({
|
||||||
url: `/video/collection/getfavorite`,
|
url: `/video/collection/getfavorite`,
|
||||||
query: param.query,
|
data: param.data,
|
||||||
method: 'GET',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新建收藏夹
|
* 添加 / 修改 收藏夹
|
||||||
* @param {Object} param
|
* @param {Object} param
|
||||||
*/
|
*/
|
||||||
saveCollectList(param) {
|
addfavorite(param) {
|
||||||
return util.request({
|
return util.request({
|
||||||
url: `/video/collection/addfavorite`,
|
url: `/video/collection/addfavorite`,
|
||||||
query: param.query,
|
data: param.data,
|
||||||
method: 'POST',
|
|
||||||
load: true,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 编辑收藏夹
|
|
||||||
* @param {Object} param
|
|
||||||
*/
|
|
||||||
updateCollectList(param) {
|
|
||||||
return util.request({
|
|
||||||
url: `/collect/updateCollectList`,
|
|
||||||
query: param.query,
|
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
load: true,
|
load: true,
|
||||||
})
|
})
|
||||||
|
@ -172,49 +159,49 @@ const video = {
|
||||||
* 删除收藏夹
|
* 删除收藏夹
|
||||||
* @param {Object} param
|
* @param {Object} param
|
||||||
*/
|
*/
|
||||||
deleteCollect(param) {
|
deletefavorite(param) {
|
||||||
return util.request({
|
return util.request({
|
||||||
url: `/collect/deleteCollect`,
|
url: `/video/collection/deletefavorite`,
|
||||||
query: param.query,
|
query: param.query,
|
||||||
load: true,
|
load: true,
|
||||||
method: 'POST',
|
method: 'DELETE',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 我的收藏视频列表
|
* 查询收藏夹视频
|
||||||
* @param {Object} param
|
* @param {Object} param
|
||||||
*/
|
*/
|
||||||
getCollectVideoList(param) {
|
getFavoriteVideo(param) {
|
||||||
return util.request({
|
return util.request({
|
||||||
url: `/collect/getCollectVideoList`,
|
url: `/video/collection/getFavoriteVideo`,
|
||||||
query: param.query,
|
query: param.query,
|
||||||
load: true,
|
load: true,
|
||||||
method: 'POST',
|
method: 'GET',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 收藏视频
|
* 往收藏夹添加视频
|
||||||
* @param {Object} param
|
* @param {Object} param
|
||||||
*/
|
*/
|
||||||
collectVideo(param) {
|
collectVideo(param) {
|
||||||
return util.request({
|
return util.request({
|
||||||
url: `/collect/collectVideo`,
|
url: `/video/collection/addVideo`,
|
||||||
query: param.query,
|
data: param.data,
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
load: true,
|
load: true,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 取消收藏
|
* 取消收藏夹中的视频
|
||||||
* @param {Object} param
|
* @param {Object} param
|
||||||
*/
|
*/
|
||||||
cancelCollect(param) {
|
deleteVideo(param) {
|
||||||
return util.request({
|
return util.request({
|
||||||
url: `/collect/cancelCollect`,
|
url: `/video/collection/deleteVideo`,
|
||||||
query: param.query,
|
data: param.data,
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
load: true,
|
load: true,
|
||||||
})
|
})
|
||||||
|
@ -253,7 +240,7 @@ const video = {
|
||||||
url: `/video/comment/getcomment`,
|
url: `/video/comment/getcomment`,
|
||||||
query: param.query,
|
query: param.query,
|
||||||
data: param.data,
|
data: param.data,
|
||||||
method: 'GET',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -273,10 +260,10 @@ const video = {
|
||||||
* 发表评论
|
* 发表评论
|
||||||
* @param {Object} param
|
* @param {Object} param
|
||||||
*/
|
*/
|
||||||
comment(param) {
|
savecomment(param) {
|
||||||
return util.request({
|
return util.request({
|
||||||
url: `/home/comment`,
|
url: `/video/comment/savecomment`,
|
||||||
query: param.query,
|
data: param.data,
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
|
@ -73,25 +73,25 @@
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 收藏视频
|
* 收藏视频
|
||||||
* @param {Object} collects 收藏夹对象
|
* @param {Object} item 收藏夹对象
|
||||||
*/
|
*/
|
||||||
function collectVideo(collects) {
|
function collectVideo(item) {
|
||||||
//
|
//
|
||||||
api.video.collectVideo({
|
api.video.collectVideo({
|
||||||
query: {
|
data: {
|
||||||
// 视频id
|
// 视频id
|
||||||
videoId: detail.value.videoId,
|
videoId: detail.value.id,
|
||||||
// 收藏夹id
|
// 收藏夹id
|
||||||
collectId: collects.id,
|
folderId: item.id,
|
||||||
isPrivate: collects.isPrivate,
|
|
||||||
}
|
}
|
||||||
}).then(rs => {
|
}).then(rs => {
|
||||||
|
console.log('collect result', rs)
|
||||||
if (rs.code == 200) {
|
if (rs.code == 200) {
|
||||||
proxy.$refs.collect.close()
|
proxy.$refs.collect.close()
|
||||||
|
uni.$emit('updateVideo', {
|
||||||
detail.value.isCollect = true
|
...detail.value,
|
||||||
detail.value.collect++
|
...rs.data,
|
||||||
uni.$emit('updateVideo', detail.value)
|
})
|
||||||
|
|
||||||
// 打开收藏弹窗
|
// 打开收藏弹窗
|
||||||
collectResult.value = true
|
collectResult.value = true
|
||||||
|
|
|
@ -17,16 +17,16 @@
|
||||||
const {
|
const {
|
||||||
proxy
|
proxy
|
||||||
} = getCurrentInstance()
|
} = getCurrentInstance()
|
||||||
|
// 收藏夹类
|
||||||
class Form {
|
class Form {
|
||||||
// 收藏夹名称
|
|
||||||
collectName = ''
|
|
||||||
// 0公开1私密
|
|
||||||
isPrivate = 0
|
|
||||||
// 图片地址
|
|
||||||
pic = ''
|
|
||||||
// 收藏id
|
// 收藏id
|
||||||
collectId = ''
|
folderId = ''
|
||||||
|
// 收藏夹名称
|
||||||
|
folderName = ''
|
||||||
|
// 0公开1私密
|
||||||
|
isLock = 0
|
||||||
|
// 图片地址
|
||||||
|
photographUrl = ''
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -35,10 +35,11 @@
|
||||||
const paddingHeight = ref(0)
|
const paddingHeight = ref(0)
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
//
|
// #ifdef APP
|
||||||
uni.onKeyboardHeightChange((rs) => {
|
uni.onKeyboardHeightChange((rs) => {
|
||||||
paddingHeight.value = rs.height
|
paddingHeight.value = rs.height
|
||||||
})
|
})
|
||||||
|
// #endif
|
||||||
})
|
})
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
|
@ -54,10 +55,10 @@
|
||||||
function open(value) {
|
function open(value) {
|
||||||
// 如果是编辑
|
// 如果是编辑
|
||||||
if (value) {
|
if (value) {
|
||||||
form.collectName = value.collectName
|
form.folderName = value.folderName
|
||||||
form.isPrivate = value.isPrivate
|
form.isLock = value.isLock
|
||||||
form.collectId = value.id
|
form.folderId = value.id
|
||||||
form.pic = value.formatPic
|
form.photographUrl = value.photographUrl
|
||||||
}
|
}
|
||||||
proxy.$refs.addCollectRef.open()
|
proxy.$refs.addCollectRef.open()
|
||||||
}
|
}
|
||||||
|
@ -70,44 +71,37 @@
|
||||||
// 上传图片
|
// 上传图片
|
||||||
function upImage() {
|
function upImage() {
|
||||||
util.upload_image({
|
util.upload_image({
|
||||||
value: form.pic,
|
|
||||||
type: 1,
|
type: 1,
|
||||||
success: rs => {
|
success: rs => {
|
||||||
// 修改图片
|
// 修改图片
|
||||||
form.pic = rs.value
|
form.photographUrl = rs.value
|
||||||
|
console.log('upload rs', rs, form)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 切换是否公开收藏夹
|
// 切换是否公开收藏夹
|
||||||
function handlePrivate() {
|
function handlePrivate() {
|
||||||
form.isPrivate = form.isPrivate == 0 ? 1 : 0
|
form.isLock = form.isLock == 0 ? 1 : 0
|
||||||
}
|
}
|
||||||
|
|
||||||
// 提交
|
// 提交表单
|
||||||
function handleSubmit() {
|
function handleSubmit() {
|
||||||
const data = {
|
const data = {
|
||||||
...form,
|
...form,
|
||||||
}
|
}
|
||||||
// 验证
|
// 验证
|
||||||
if (!form.collectName) {
|
if (!form.photographUrl) {
|
||||||
util.alert('请输入收藏夹名称')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if (!form.pic) {
|
|
||||||
util.alert('请上传封面图')
|
util.alert('请上传封面图')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if (!form.folderName) {
|
||||||
// 剔除路径
|
util.alert('请输入收藏夹名称')
|
||||||
data.pic = util.replace_url(data.pic)
|
return
|
||||||
|
}
|
||||||
let requestApi = 'saveCollectList'
|
|
||||||
if (form.collectId) requestApi = 'updateCollectList'
|
|
||||||
|
|
||||||
//
|
//
|
||||||
api.video[requestApi]({
|
api.video.addfavorite({
|
||||||
query: data,
|
data: data,
|
||||||
}).then(rs => {
|
}).then(rs => {
|
||||||
if (rs.code == 200) {
|
if (rs.code == 200) {
|
||||||
// 收藏视频
|
// 收藏视频
|
||||||
|
@ -147,23 +141,23 @@
|
||||||
<!-- 收藏夹信息 -->
|
<!-- 收藏夹信息 -->
|
||||||
<view class="rows fdr mtb30">
|
<view class="rows fdr mtb30">
|
||||||
<view class="pic fmid wh80 beee br10" @click="upImage">
|
<view class="pic fmid wh80 beee br10" @click="upImage">
|
||||||
<image class="wh80 br10" :src="form.pic" mode="aspectFill" v-if="form.pic" />
|
<image class="wh80 br10" :src="form.photographUrl" mode="aspectFill" v-if="form.photographUrl" />
|
||||||
<uni-icons type="plusempty" size="40rpx" v-else />
|
<uni-icons type="plusempty" size="40rpx" v-else />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="edit f1 ml20">
|
<view class="edit f1 ml20">
|
||||||
<input type="text" :adjust-position="false" v-model="form.collectName" placeholder="输入收藏夹名称" />
|
<input type="text" :adjust-position="false" v-model="form.folderName" placeholder="输入收藏夹名称" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 公开收藏夹 -->
|
<!-- 公开收藏夹 -->
|
||||||
<view class="rows fdr mtb30">
|
<view class="rows fdr mtb30">
|
||||||
<view class="df fdr aic">
|
<view class="df fdr aic">
|
||||||
<text>是否公开收藏夹</text>
|
<text>是否快捷收藏夹</text>
|
||||||
<image src="/static/lock.png" mode="aspectFit" class="wh24 ml10" />
|
<image src="/static/lock.png" mode="aspectFit" class="wh24 ml10" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<switch class="switch" :checked="form.isPrivate == 0" color="#F85050" @change="handlePrivate" />
|
<switch class="switch" :checked="form.isLock == 1" color="#F85050" @change="handlePrivate" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view :style="{height: paddingHeight + 'px',}"></view>
|
<view :style="{height: paddingHeight + 'px',}"></view>
|
||||||
|
|
|
@ -96,7 +96,8 @@
|
||||||
function getList() {
|
function getList() {
|
||||||
// 获取收藏列表
|
// 获取收藏列表
|
||||||
api.video.getCollectList({
|
api.video.getCollectList({
|
||||||
query: {
|
data: {
|
||||||
|
isLock: '',
|
||||||
pageNum: listProperty.pageNum,
|
pageNum: listProperty.pageNum,
|
||||||
pageSize: listProperty.pageSize,
|
pageSize: listProperty.pageSize,
|
||||||
}
|
}
|
||||||
|
@ -116,7 +117,10 @@
|
||||||
listProperty.total = rs.total
|
listProperty.total = rs.total
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
util.alert(rs.msg)
|
util.alert({
|
||||||
|
content: rs.msg,
|
||||||
|
showCancel: false,
|
||||||
|
})
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
// 关闭加载
|
// 关闭加载
|
||||||
showLoad.value = false
|
showLoad.value = false
|
||||||
|
@ -129,9 +133,9 @@
|
||||||
* @param {Number} index 删除的收藏夹
|
* @param {Number} index 删除的收藏夹
|
||||||
*/
|
*/
|
||||||
function delectList(item, index) {
|
function delectList(item, index) {
|
||||||
api.video.deleteCollect({
|
api.video.deletefavorite({
|
||||||
query: {
|
query: {
|
||||||
jyCollectId: item.id,
|
folderId: item.id,
|
||||||
}
|
}
|
||||||
}).then(rs => {
|
}).then(rs => {
|
||||||
if (rs.code === 200) {
|
if (rs.code === 200) {
|
||||||
|
@ -155,6 +159,9 @@
|
||||||
// 点击的下标
|
// 点击的下标
|
||||||
const index = ev.index
|
const index = ev.index
|
||||||
const item = listProperty.data[target]
|
const item = listProperty.data[target]
|
||||||
|
// 关闭
|
||||||
|
proxy.$refs.swipeActionRef.closeAll()
|
||||||
|
|
||||||
switch (index) {
|
switch (index) {
|
||||||
case 0:
|
case 0:
|
||||||
// 删除
|
// 删除
|
||||||
|
@ -165,13 +172,12 @@
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
case 1:
|
case 1:
|
||||||
|
setTimeout(() => {
|
||||||
// 编辑
|
// 编辑
|
||||||
proxy.$refs.collectAddRef.open(item)
|
proxy.$refs.collectAddRef.open(item)
|
||||||
|
}, 200)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
// 关闭
|
|
||||||
proxy.$refs.swipeActionRef.closeAll()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -202,12 +208,12 @@
|
||||||
@click="handleActionItem($event,index)">
|
@click="handleActionItem($event,index)">
|
||||||
<view class="item rows fdr mlr20 ptb20" @click.stop="handleItem(item)">
|
<view class="item rows fdr mlr20 ptb20" @click.stop="handleItem(item)">
|
||||||
<view class="poster">
|
<view class="poster">
|
||||||
<image class="wh80 br20" :src="item.formatPic" mode="aspectFill" />
|
<image class="wh80 br20" :src="item.photographUrl" mode="aspectFill" />
|
||||||
</view>
|
</view>
|
||||||
<view class="oh pl20">
|
<view class="oh pl20">
|
||||||
<text class="c333 f28">{{item.collectName}}</text>
|
<text class="c333 f28">{{item.folderName}}</text>
|
||||||
</view>
|
</view>
|
||||||
<image class="wh24 ml10" src="/static/lock.png" mode="aspectFit" v-if="item.isPrivate == 1" />
|
<image class="wh24 ml10" src="/static/lock.png" mode="aspectFit" v-if="item.isLock == 1" />
|
||||||
<view class="f1"></view>
|
<view class="f1"></view>
|
||||||
</view>
|
</view>
|
||||||
</uni-swipe-action-item>
|
</uni-swipe-action-item>
|
||||||
|
|
|
@ -43,6 +43,8 @@
|
||||||
})
|
})
|
||||||
// 填充高度
|
// 填充高度
|
||||||
const paddingHeight = ref(0)
|
const paddingHeight = ref(0)
|
||||||
|
// 用户信息
|
||||||
|
const userinfo = computed(() => uni.$store.state.userinfo || {})
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
//
|
//
|
||||||
|
@ -52,7 +54,11 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
uni.offKeyboardHeightChange()
|
try {
|
||||||
|
uni.offKeyboardHeightChange(() => {});
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error onBeforeUnmount', error);
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
// 刷新列表
|
// 刷新列表
|
||||||
|
@ -67,8 +73,9 @@
|
||||||
function getList() {
|
function getList() {
|
||||||
//
|
//
|
||||||
api.video.getcomment({
|
api.video.getcomment({
|
||||||
query: {
|
data: {
|
||||||
videoId: detail.id,
|
videoId: detail.id,
|
||||||
|
parentId: 0,
|
||||||
pageSize: listProperty.pageSize,
|
pageSize: listProperty.pageSize,
|
||||||
pageNume: listProperty.pageNum,
|
pageNume: listProperty.pageNum,
|
||||||
}
|
}
|
||||||
|
@ -111,13 +118,19 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
api.video.comment({
|
api.video.savecomment({
|
||||||
query: {
|
data: {
|
||||||
partentId: reply.id ? reply.id : 0,
|
// 视频父id
|
||||||
videoId: detail.videoId,
|
parentId: reply.id ? reply.id : 0,
|
||||||
context: content.value,
|
// 视频id
|
||||||
|
videoId: detail.id,
|
||||||
|
// 评论内容
|
||||||
|
content: content.value,
|
||||||
|
// 用户id
|
||||||
|
userId: userinfo.value.id,
|
||||||
}
|
}
|
||||||
}).then(rs => {
|
}).then(rs => {
|
||||||
|
console.log('saveComment', rs)
|
||||||
if (rs.code == 200) {
|
if (rs.code == 200) {
|
||||||
proxy.$refs.comment.close()
|
proxy.$refs.comment.close()
|
||||||
detail.comment++
|
detail.comment++
|
||||||
|
@ -295,18 +308,20 @@
|
||||||
<view class="item mtb20" v-for="(item,index) in listProperty.data" :key="index">
|
<view class="item mtb20" v-for="(item,index) in listProperty.data" :key="index">
|
||||||
<view class="df fdr">
|
<view class="df fdr">
|
||||||
<!-- 头像 -->
|
<!-- 头像 -->
|
||||||
<image class="wh70 cir" :src="item.formatUserPortrait" mode="aspectFill" @click="toUser(item)" />
|
<image class="wh70 cir" :src="item.headPortrait" mode="aspectFill"
|
||||||
|
@click="toUser(item)" />
|
||||||
|
|
||||||
<view class="col ml20 f1">
|
<view class="col ml20 f1">
|
||||||
<!-- 用户信息和点赞 -->
|
<!-- 用户信息和点赞 -->
|
||||||
<view class="df fdr">
|
<view class="df fdr">
|
||||||
<view class="f1">
|
<view class="f1">
|
||||||
<text class="c666 f24" @click="toUser(item)">{{item.userNickname}}</text>
|
<text class="c666 f24" @click="toUser(item)">{{item.nickName}}</text>
|
||||||
<rich-text class="mt5 c333 f28" :nodes="item.context"></rich-text>
|
<text class="mt5 c333 f28">{{item.content}}</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="like oh aic pl20" @click="handleLike(item)">
|
<view class="like oh aic pl20" @click="handleLike(item)">
|
||||||
<uni-icons type="heart-filled" :color="item.isLike ? '#F84259' : '#b3b3b3'" size="32rpx" />
|
<uni-icons type="heart-filled" :color="item.isLike ? '#F84259' : '#b3b3b3'"
|
||||||
|
size="32rpx" />
|
||||||
<text class="c333 f24">{{item.likes}}</text>
|
<text class="c333 f24">{{item.likes}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -322,20 +337,26 @@
|
||||||
<template v-if="item.num != 0">
|
<template v-if="item.num != 0">
|
||||||
<!-- 子评论 -->
|
<!-- 子评论 -->
|
||||||
<view class="child" v-if="item.childShow">
|
<view class="child" v-if="item.childShow">
|
||||||
<view class="df fdr mt15" v-for="(secItem,secIndex) in item.child" :key="secItem.id">
|
<view class="df fdr mt15" v-for="(secItem,secIndex) in item.child"
|
||||||
|
:key="secItem.id">
|
||||||
<!-- 头像 -->
|
<!-- 头像 -->
|
||||||
<image class="wh40 cir" :src="secItem.formatUserPortrait" mode="aspectFill" @click="toUser(secItem)" />
|
<image class="wh40 cir" :src="secItem.formatUserPortrait"
|
||||||
|
mode="aspectFill" @click="toUser(secItem)" />
|
||||||
|
|
||||||
<view class="col pl20 f1">
|
<view class="col pl20 f1">
|
||||||
<!-- 用户信息和点赞 -->
|
<!-- 用户信息和点赞 -->
|
||||||
<view class="df fdr">
|
<view class="df fdr">
|
||||||
<view class="f1">
|
<view class="f1">
|
||||||
<text class="c333 f24" @click="toUser(secItem)">{{secItem.userNickname}}</text>
|
<text class="c333 f24"
|
||||||
<rich-text class="mt5 c333 f28" :nodes="secItem.context"></rich-text>
|
@click="toUser(secItem)">{{secItem.userNickname}}</text>
|
||||||
|
<rich-text class="mt5 c333 f28"
|
||||||
|
:nodes="secItem.context"></rich-text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="like oh aic pl20" @click="handleLike(secItem)">
|
<view class="like oh aic pl20" @click="handleLike(secItem)">
|
||||||
<uni-icons type="heart-filled" :color="secItem.isLike ? '#F84259' : '#b3b3b3'" size="32rpx" />
|
<uni-icons type="heart-filled"
|
||||||
|
:color="secItem.isLike ? '#F84259' : '#b3b3b3'"
|
||||||
|
size="32rpx" />
|
||||||
<text class="c333 f24">{{secItem.likes}}</text>
|
<text class="c333 f24">{{secItem.likes}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -343,7 +364,8 @@
|
||||||
<!-- 发布时间和回复 -->
|
<!-- 发布时间和回复 -->
|
||||||
<view class="df fdr mt10">
|
<view class="df fdr mt10">
|
||||||
<text class="c999 f24">{{secItem.createTime}}</text>
|
<text class="c999 f24">{{secItem.createTime}}</text>
|
||||||
<text class="ml100 c666 f24" @click="handleReply(secItem)" v-if="0">回复</text>
|
<text class="ml100 c666 f24" @click="handleReply(secItem)"
|
||||||
|
v-if="0">回复</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
|
|
@ -80,12 +80,11 @@
|
||||||
|
|
||||||
// 获取列表
|
// 获取列表
|
||||||
function getList() {
|
function getList() {
|
||||||
return
|
|
||||||
// 获取收藏列表
|
// 获取收藏列表
|
||||||
api.video.getCollectList({
|
api.video.getCollectList({
|
||||||
query: {
|
data: {
|
||||||
// 私密
|
// 私密
|
||||||
isPrivate: 1,
|
isLock: 1,
|
||||||
// 页码
|
// 页码
|
||||||
pageNum: listProperty.pageNum,
|
pageNum: listProperty.pageNum,
|
||||||
pageSize: listProperty.pageSize,
|
pageSize: listProperty.pageSize,
|
||||||
|
@ -137,12 +136,11 @@
|
||||||
function handleCollect(item) {
|
function handleCollect(item) {
|
||||||
//
|
//
|
||||||
api.video.collectVideo({
|
api.video.collectVideo({
|
||||||
query: {
|
data: {
|
||||||
// 视频id
|
// 视频id
|
||||||
videoId: detail.value.videoId,
|
videoId: detail.value.id,
|
||||||
// 收藏夹id
|
// 收藏夹id
|
||||||
collectId: item.id,
|
collectId: item.id,
|
||||||
isPrivate: item.isPrivate,
|
|
||||||
}
|
}
|
||||||
}).then(rs => {
|
}).then(rs => {
|
||||||
if (rs.code == 200) {
|
if (rs.code == 200) {
|
||||||
|
@ -177,7 +175,7 @@
|
||||||
<view class="list fdr plr15">
|
<view class="list fdr plr15">
|
||||||
<view class="item wh70 br20" v-for="(item, index) in listProperty.data" :key="index"
|
<view class="item wh70 br20" v-for="(item, index) in listProperty.data" :key="index"
|
||||||
@click="handleCollect(item)">
|
@click="handleCollect(item)">
|
||||||
<image class="wh70 br20" :src="item.formatPic" mode="aspectFill" />
|
<image class="wh70 br20" :src="item.photographUrl" mode="aspectFill" />
|
||||||
</view>
|
</view>
|
||||||
<view class="item create fmid ml15 wh70 br20" @click="$refs.collectAddRef.open()">
|
<view class="item create fmid ml15 wh70 br20" @click="$refs.collectAddRef.open()">
|
||||||
<uni-icons type="plusempty" color="#fff" size="40rpx" />
|
<uni-icons type="plusempty" color="#fff" size="40rpx" />
|
||||||
|
|
|
@ -259,7 +259,6 @@
|
||||||
const changedTouches = ev.changedTouches[0]
|
const changedTouches = ev.changedTouches[0]
|
||||||
let x = getNumber(props.width) - getNumber(changedTouches.screenX) + getNumber(changedTouches.pageX)
|
let x = getNumber(props.width) - getNumber(changedTouches.screenX) + getNumber(changedTouches.pageX)
|
||||||
let y = getNumber(changedTouches.screenY) - getNumber(changedTouches.pageY)
|
let y = getNumber(changedTouches.screenY) - getNumber(changedTouches.pageY)
|
||||||
|
|
||||||
emit('showFastCollect', {
|
emit('showFastCollect', {
|
||||||
item: props.item,
|
item: props.item,
|
||||||
position: {
|
position: {
|
||||||
|
@ -323,16 +322,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// 取消收藏
|
// 取消收藏
|
||||||
api.video.cancelCollect({
|
api.video.deleteVideo({
|
||||||
query: {
|
data: {
|
||||||
// 视频id
|
// 视频id
|
||||||
videoId: detail.videoId,
|
videoId: detail.id,
|
||||||
},
|
},
|
||||||
}).then(rs => {
|
}).then(rs => {
|
||||||
if (rs.code == 200) {
|
if (rs.code == 200) {
|
||||||
detail.isCollect = false
|
uni.$emit('updateVideo', {
|
||||||
detail.collect--
|
...detail,
|
||||||
uni.$emit('updateVideo', detail)
|
...rs.data,
|
||||||
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
<!-- 视频菜单 -->
|
<!-- 视频菜单 -->
|
||||||
<view class="list">
|
<view class="list">
|
||||||
<view class="item pr" v-for="(item,index) in list" :key="index" @click="handleVideo(item)">
|
<view class="item pr" v-for="(item,index) in list" :key="index" @click="handleVideo(item)">
|
||||||
<image :src="item.format_imageUrl" mode="aspectFill" />
|
<image :src="item.coverUrl" mode="aspectFill" />
|
||||||
|
|
||||||
<view class="window pfull"></view>
|
<view class="window pfull"></view>
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,7 @@
|
||||||
|
|
||||||
// 获取列表
|
// 获取列表
|
||||||
function getList() {
|
function getList() {
|
||||||
|
return
|
||||||
//
|
//
|
||||||
api.video.myLikeVideoList({
|
api.video.myLikeVideoList({
|
||||||
query: {
|
query: {
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
|
|
||||||
// 获取列表
|
// 获取列表
|
||||||
function getList() {
|
function getList() {
|
||||||
|
return
|
||||||
//
|
//
|
||||||
api.video.myVideoList({
|
api.video.myVideoList({
|
||||||
query: {
|
query: {
|
||||||
|
|
|
@ -129,9 +129,7 @@
|
||||||
return uni.$store.state.task
|
return uni.$store.state.task
|
||||||
})
|
})
|
||||||
// 用户信息
|
// 用户信息
|
||||||
const userinfo = computed(() => {
|
const userinfo = computed(() => uni.$store.state.userinfo || {})
|
||||||
return uni.$store.state.userinfo || {}
|
|
||||||
})
|
|
||||||
// 当前tab选中
|
// 当前tab选中
|
||||||
const tabCurrent = computed(() => {
|
const tabCurrent = computed(() => {
|
||||||
return tab[tabIndex.value]
|
return tab[tabIndex.value]
|
||||||
|
@ -286,7 +284,7 @@
|
||||||
pageSize: recList.pageSize,
|
pageSize: recList.pageSize,
|
||||||
}
|
}
|
||||||
}).then(rs => {
|
}).then(rs => {
|
||||||
console.log('getRecList then rs', rs)
|
// console.log('getRecList then rs', rs)
|
||||||
// 设置列表
|
// 设置列表
|
||||||
setList(rs, recList)
|
setList(rs, recList)
|
||||||
}).catch(rs => {
|
}).catch(rs => {
|
||||||
|
@ -304,7 +302,8 @@
|
||||||
// 总数
|
// 总数
|
||||||
obj.total = rs.total
|
obj.total = rs.total
|
||||||
// 重新排序
|
// 重新排序
|
||||||
const list = rs.rows.sort(() => Math.random() - Math.random())
|
// const list = rs.rows.sort(() => Math.random() - Math.random())
|
||||||
|
const list = rs.rows
|
||||||
// 第一页清空数据
|
// 第一页清空数据
|
||||||
if (obj.pageNum == 1) obj.data.length = 0
|
if (obj.pageNum == 1) obj.data.length = 0
|
||||||
// 合并
|
// 合并
|
||||||
|
@ -313,7 +312,7 @@
|
||||||
item.readSecond = 0
|
item.readSecond = 0
|
||||||
return item
|
return item
|
||||||
}))
|
}))
|
||||||
console.log('result', obj.data, rs)
|
// console.log('result', obj.data, rs)
|
||||||
|
|
||||||
// 如果有多的视频 并且当前数据为一条
|
// 如果有多的视频 并且当前数据为一条
|
||||||
// if (obj.total > 1 && obj.data.length <= 1) getMoreRecList()
|
// if (obj.total > 1 && obj.data.length <= 1) getMoreRecList()
|
||||||
|
@ -364,6 +363,8 @@
|
||||||
const taskValue = task.value
|
const taskValue = task.value
|
||||||
console.log('browseLog result', rs, taskValue)
|
console.log('browseLog result', rs, taskValue)
|
||||||
|
|
||||||
|
// 如果不是第一次统计
|
||||||
|
if (taskValue.viewingDuration != 0) {
|
||||||
// 如果原来任务是优先任务 当前任务是有效读秒
|
// 如果原来任务是优先任务 当前任务是有效读秒
|
||||||
if (taskValue.taskType == 0 && result.taskType == 1) {
|
if (taskValue.taskType == 0 && result.taskType == 1) {
|
||||||
// 优先任务完成 播放烟花动画
|
// 优先任务完成 播放烟花动画
|
||||||
|
@ -376,6 +377,7 @@
|
||||||
console.log('有效读秒完成 播放任务完成动画')
|
console.log('有效读秒完成 播放任务完成动画')
|
||||||
handleCompleteMode('complete2')
|
handleCompleteMode('complete2')
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
uni.$store.commit('setState', {
|
uni.$store.commit('setState', {
|
||||||
|
@ -557,6 +559,14 @@
|
||||||
proxy.$refs.collectRef.open(item)
|
proxy.$refs.collectRef.open(item)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打开快速收藏弹窗
|
||||||
|
* @param {Object} ev 视频对象和节点位置信息
|
||||||
|
*/
|
||||||
|
function handleShowFastCollect(ev) {
|
||||||
|
proxy.$refs.fastCollectRef.open(ev)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 打开分享给好友弹窗
|
* 打开分享给好友弹窗
|
||||||
* @param {Object} item 当前列表项
|
* @param {Object} item 当前列表项
|
||||||
|
@ -603,12 +613,7 @@
|
||||||
isDelFlag: param.isDelFlag,
|
isDelFlag: param.isDelFlag,
|
||||||
}
|
}
|
||||||
}).then(rs => {
|
}).then(rs => {
|
||||||
console.log('request', rs)
|
|
||||||
if (rs.code == 200) {
|
if (rs.code == 200) {
|
||||||
console.log('item', {
|
|
||||||
...item,
|
|
||||||
...rs.data,
|
|
||||||
})
|
|
||||||
uni.$emit('updateVideo', {
|
uni.$emit('updateVideo', {
|
||||||
...item,
|
...item,
|
||||||
...rs.data,
|
...rs.data,
|
||||||
|
@ -724,7 +729,7 @@
|
||||||
@showTime="handleShowTime" @showComment="handleShowCommentAlt"
|
@showTime="handleShowTime" @showComment="handleShowCommentAlt"
|
||||||
@showCollect="handleShowCollectAlt" @showShareFirend="handleShowShareFirend"
|
@showCollect="handleShowCollectAlt" @showShareFirend="handleShowShareFirend"
|
||||||
@onPlay="handleVideoOnPlay" @onPause="handleVideoOnPause" @like="videoLike"
|
@onPlay="handleVideoOnPlay" @onPause="handleVideoOnPause" @like="videoLike"
|
||||||
@longtap="$refs.moreMenuRef.open(secItem)" />
|
@longtap="$refs.moreMenuRef.open(secItem)"@showFastCollect="handleShowFastCollect" />
|
||||||
</template>
|
</template>
|
||||||
</cell>
|
</cell>
|
||||||
</list>
|
</list>
|
||||||
|
|
|
@ -74,12 +74,10 @@
|
||||||
// 获取列表
|
// 获取列表
|
||||||
function getList() {
|
function getList() {
|
||||||
//
|
//
|
||||||
api.video.getCollectVideoList({
|
api.video.getFavoriteVideo({
|
||||||
query: {
|
query: {
|
||||||
// 收藏夹id
|
// 收藏夹id
|
||||||
collectId: collectId.value,
|
folderId: collectId.value,
|
||||||
// 用户id
|
|
||||||
userId: userId.value || '',
|
|
||||||
pageSize: list.pageSize,
|
pageSize: list.pageSize,
|
||||||
pageNum: list.pageNum,
|
pageNum: list.pageNum,
|
||||||
},
|
},
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
// 分类列表下标
|
// 分类列表下标
|
||||||
const tabIndex = ref(0)
|
const tabIndex = ref(2)
|
||||||
// tab当前项
|
// tab当前项
|
||||||
const tabCurrent = computed(() => {
|
const tabCurrent = computed(() => {
|
||||||
let result = tabList[tabIndex.value]
|
let result = tabList[tabIndex.value]
|
||||||
|
@ -137,7 +137,7 @@
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: util.setUrl('/pages/mine/collectsVideo', {
|
url: util.setUrl('/pages/mine/collectsVideo', {
|
||||||
collectId: item.id,
|
collectId: item.id,
|
||||||
collectName: item.collectName,
|
collectName: item.folderName,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -307,23 +307,6 @@
|
||||||
<!-- 收藏列表按钮 -->
|
<!-- 收藏列表按钮 -->
|
||||||
<collectList ref="collectRef" @handleItem="handleCollectsItem" />
|
<collectList ref="collectRef" @handleItem="handleCollectsItem" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 历史 -->
|
|
||||||
<view class="history" v-show="tabIndex === 3" v-if="0">
|
|
||||||
<view class="list">
|
|
||||||
<view class="item pr" v-for="(item, index) in 9" :key="index">
|
|
||||||
<image src="https://bkimg.cdn.bcebos.com/pic/d833c895d143ad4bd113ee65b4554dafa40f4bfba845"
|
|
||||||
mode="aspectFill" />
|
|
||||||
|
|
||||||
<view class="window pfull"></view>
|
|
||||||
|
|
||||||
<view class="amount pa l0 r0 b0 df ptb10 plr10">
|
|
||||||
<image class="wh24" src="/static/amount.png" mode="aspectFit" />
|
|
||||||
<view class="txt f1 ml10 cfff f20">6541</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
|
@ -140,6 +140,7 @@
|
||||||
// 开启监听消息
|
// 开启监听消息
|
||||||
function addListener() {
|
function addListener() {
|
||||||
let onMessageReceived = function(event) {
|
let onMessageReceived = function(event) {
|
||||||
|
console.log('TencentCloudChat.EVENT.MESSAGE_RECEIVED', event)
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// 获取历史记录
|
// 获取历史记录
|
||||||
getHistory({
|
getHistory({
|
||||||
|
@ -359,6 +360,11 @@
|
||||||
redPacketId: redPacket.id,
|
redPacketId: redPacket.id,
|
||||||
// 领取人id
|
// 领取人id
|
||||||
userId: userinfo.value.id,
|
userId: userinfo.value.id,
|
||||||
|
// 群聊类型
|
||||||
|
sendType: {
|
||||||
|
'C2C': '1',
|
||||||
|
'GROUP': '2',
|
||||||
|
} [msg.type],
|
||||||
}
|
}
|
||||||
}).then(rs => {
|
}).then(rs => {
|
||||||
if (rs.code == 200) {
|
if (rs.code == 200) {
|
||||||
|
@ -522,7 +528,7 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="ml15 f32">{{redPacket.fromName}}的红包</view>
|
<view class="ml15 f32">{{redPacket.fromName}}的红包</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="app_name mt15 tac f40">{{ redPacket.blessing }}</view>
|
<view class="app_name mt15 mlr30 tac f40">{{ redPacket.blessing }}</view>
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<view class="cfff f32 tac mt50" v-if="redPacket.isStale == 1">红包已过期</view>
|
<view class="cfff f32 tac mt50" v-if="redPacket.isStale == 1">红包已过期</view>
|
||||||
<view class="cfff f32 tac mt50" v-else-if="redPacket.remainingCount == 0">来晚啦,红包已被抢完</view>
|
<view class="cfff f32 tac mt50" v-else-if="redPacket.remainingCount == 0">来晚啦,红包已被抢完</view>
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
} from 'vue'
|
} from 'vue'
|
||||||
import NewsAudio from '@/static/audio.png'
|
import NewsAudio from '@/static/audio.png'
|
||||||
import JyCommodityInformation from '@/components/public/jy-commodity-information'
|
import JyCommodityInformation from '@/components/public/jy-commodity-information'
|
||||||
import resEnvlope from '../red-envelope'
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
item: {
|
item: {
|
||||||
type: Object,
|
type: Object,
|
||||||
|
@ -142,7 +141,7 @@
|
||||||
<view class="redPacket br10" :class="{'disabled': 0}"
|
<view class="redPacket br10" :class="{'disabled': 0}"
|
||||||
@click="handleOpenRedBag">
|
@click="handleOpenRedBag">
|
||||||
<view class="df aic">
|
<view class="df aic">
|
||||||
<image class="img mr10" src="/static/image/red-envelope.png" />
|
<image class="img fs0 mr10" src="/static/image/red-envelope.png" />
|
||||||
<view class="red-packet-text cfff">{{ formatData.data.blessing }}</view>
|
<view class="red-packet-text cfff">{{ formatData.data.blessing }}</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 分割线 -->
|
<!-- 分割线 -->
|
||||||
|
|
|
@ -1,436 +0,0 @@
|
||||||
<!-- 活动红包 -->
|
|
||||||
<template>
|
|
||||||
<view class="red-bag">
|
|
||||||
<!-- 红包 -->
|
|
||||||
<view class="message-content" @click="openCover">
|
|
||||||
<view class="df aic">
|
|
||||||
<image class="img mr10" src="/static/image/red-envelope.png" />
|
|
||||||
<view class="red-packet-text">{{ dataItem.payload.data.name }}</view>
|
|
||||||
</view>
|
|
||||||
<!-- 分割线 -->
|
|
||||||
<view class="line"></view>
|
|
||||||
<view class="f20" style="color:#FBD3A4">{{ dataItem.payload.data.type == 1 ? '积分红包' : '余额红包' }}</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import api from '@/api/index'
|
|
||||||
import {
|
|
||||||
mapState
|
|
||||||
} from 'vuex';
|
|
||||||
export default {
|
|
||||||
inject: ['util'],
|
|
||||||
props: {
|
|
||||||
dataItem: {
|
|
||||||
type: Object,
|
|
||||||
default: () => {
|
|
||||||
{}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
data() {
|
|
||||||
// console.log('====================================');
|
|
||||||
// console.log(this.dataItem);
|
|
||||||
// console.log('====================================');
|
|
||||||
let {
|
|
||||||
userName,
|
|
||||||
userPortrait
|
|
||||||
} = uni.getStorageSync('toUser') || {
|
|
||||||
userName: null,
|
|
||||||
userPortrait: null
|
|
||||||
};
|
|
||||||
return {
|
|
||||||
status: 'success',
|
|
||||||
openTime: undefined,
|
|
||||||
defConfig: {
|
|
||||||
userImg: userPortrait,
|
|
||||||
userName: userName,
|
|
||||||
coverTitle: '恭喜发财',
|
|
||||||
openTitle: '恭喜您获得',
|
|
||||||
openTips: '已存入钱包,可直接提现',
|
|
||||||
btnText: '查看我的钱包'
|
|
||||||
}, // 默认配置
|
|
||||||
rbagmodelshow: false, // 红包封面
|
|
||||||
openrbagmodelshow: false, // 拆封红包
|
|
||||||
openbrnanimation: {}, // 拆封动画
|
|
||||||
digitalData: [], // 滚动数字数据
|
|
||||||
redValue: null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
computed: {
|
|
||||||
// 处理配置项
|
|
||||||
config() {
|
|
||||||
const result = Object.assign(this.defConfig)
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
methods: {
|
|
||||||
openCover() {
|
|
||||||
// 开红包
|
|
||||||
if (this.dataItem.from == this.userinfo.userId) {
|
|
||||||
this.util.checkLink(`pages/news/red-envelope/index?bagId=${this.dataItem.ext.id}`)
|
|
||||||
} else {
|
|
||||||
this.rbagmodelshow = true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// 红包封面 => 開红包按钮
|
|
||||||
openBtn() {
|
|
||||||
let duration = 1000
|
|
||||||
let animation = uni.createAnimation({
|
|
||||||
duration,
|
|
||||||
timingFunction: 'ease'
|
|
||||||
})
|
|
||||||
this.openbrnanimation = animation
|
|
||||||
animation.rotateY(360).step()
|
|
||||||
this.openbrnanimation = animation.export()
|
|
||||||
setTimeout(() => {
|
|
||||||
this.rbagmodelshow = false
|
|
||||||
this.openbrnanimation = undefined
|
|
||||||
// 打开封面后回调
|
|
||||||
this.$nextTick(() => {
|
|
||||||
api.news.grabred({
|
|
||||||
id: this.dataItem.ext.id
|
|
||||||
}).then(res => {
|
|
||||||
console.log(res);
|
|
||||||
if (res.code == 500) {
|
|
||||||
// 提示领取失败
|
|
||||||
this.status = 'error'
|
|
||||||
this.defConfig.coverTitle = '恭喜发财';
|
|
||||||
this.defConfig.openTitle = '恭喜您获得';
|
|
||||||
this.defConfig.openTips = res.msg;
|
|
||||||
this.defConfig.btnText = '领取记录'
|
|
||||||
this.openrbagmodelshow = true
|
|
||||||
}
|
|
||||||
if (res.code == 200) {
|
|
||||||
let money = null
|
|
||||||
this.redValue = res.data
|
|
||||||
switch (res.data.type) {
|
|
||||||
// 积分
|
|
||||||
case 1:
|
|
||||||
money = res.data.score
|
|
||||||
break;
|
|
||||||
// 余额
|
|
||||||
case 2:
|
|
||||||
money = res.data.balance
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
this.status = 'success'
|
|
||||||
this.rbagmodelshow = false
|
|
||||||
this.openrbagmodelshow = true
|
|
||||||
this.openbrnanimation = {}
|
|
||||||
this.setMoney(money)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}, duration)
|
|
||||||
},
|
|
||||||
|
|
||||||
// 确认红包
|
|
||||||
onConfirm() {
|
|
||||||
this.util.checkLink(`pages/news/red-envelope/index?bagId=${this.dataItem.ext.id}`)
|
|
||||||
this.onClose()
|
|
||||||
},
|
|
||||||
|
|
||||||
// 隐藏红包
|
|
||||||
onClose() {
|
|
||||||
this.rbagmodelshow = false
|
|
||||||
this.openrbagmodelshow = false
|
|
||||||
this.$emit('onClose') // 关闭后回调
|
|
||||||
},
|
|
||||||
|
|
||||||
// 设置金额
|
|
||||||
setMoney(money) {
|
|
||||||
const digitalArr = String(money).split('')
|
|
||||||
const dataList = []
|
|
||||||
digitalArr.forEach((num) => {
|
|
||||||
const obj = {
|
|
||||||
num: isNaN(num) ? num : Number(num),
|
|
||||||
style: ''
|
|
||||||
}
|
|
||||||
dataList.push(obj)
|
|
||||||
})
|
|
||||||
this.digitalData = dataList
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
@keyframes bagAni {
|
|
||||||
0% {
|
|
||||||
transform: rotate(6deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
transform: rotate(36deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.message-content {
|
|
||||||
width: 360rpx;
|
|
||||||
padding: 24rpx;
|
|
||||||
background: rgb(248, 162, 60);
|
|
||||||
color: #FCFEFD;
|
|
||||||
border-radius: 10rpx;
|
|
||||||
|
|
||||||
.img {
|
|
||||||
width: 50rpx;
|
|
||||||
height: 60rpx;
|
|
||||||
margin-right: 10rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.line {
|
|
||||||
width: 100%;
|
|
||||||
height: 1px;
|
|
||||||
background: #EF9B45;
|
|
||||||
margin: 10rpx 0;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.red-bag {
|
|
||||||
.bag-btn {
|
|
||||||
position: fixed;
|
|
||||||
left: -46rpx;
|
|
||||||
top: 360rpx;
|
|
||||||
width: 150rpx;
|
|
||||||
height: 100rpx;
|
|
||||||
z-index: 999;
|
|
||||||
animation-name: bagAni;
|
|
||||||
animation-duration: 1.1s;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 红包封面
|
|
||||||
.rbag-model {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100vh;
|
|
||||||
background-color: rgba(0, 0, 0, 0.3);
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
z-index: 1000;
|
|
||||||
|
|
||||||
.rbag-con {
|
|
||||||
position: relative;
|
|
||||||
width: 80%;
|
|
||||||
height: 840rpx;
|
|
||||||
background-color: #da4d44;
|
|
||||||
border-radius: 14rpx;
|
|
||||||
box-shadow: 0rpx 0rpx 10rpx rgba(0, 0, 0, 0.2);
|
|
||||||
|
|
||||||
.rbag-box {
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
border-radius: 14rpx;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.rbag_top {
|
|
||||||
position: absolute;
|
|
||||||
left: -20%;
|
|
||||||
top: 0;
|
|
||||||
width: 140%;
|
|
||||||
height: 540rpx;
|
|
||||||
background-color: #e0534a;
|
|
||||||
border-radius: 0 0 50% 50%;
|
|
||||||
box-shadow: 0 0 14rpx rgba(0, 0, 0, 0.4);
|
|
||||||
z-index: 1001;
|
|
||||||
|
|
||||||
.rbag_top_info {
|
|
||||||
margin-top: 60rpx;
|
|
||||||
|
|
||||||
.rbag_logo {
|
|
||||||
width: 160rpx;
|
|
||||||
height: 160rpx;
|
|
||||||
border-radius: 50%;
|
|
||||||
display: block;
|
|
||||||
margin: 0 auto;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.app_name {
|
|
||||||
font-size: 38rpx;
|
|
||||||
color: #f6ac96;
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 18rpx;
|
|
||||||
letter-spacing: 1rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.rbag_tips {
|
|
||||||
font-size: 50rpx;
|
|
||||||
color: #edddd3;
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 34rpx;
|
|
||||||
letter-spacing: 1rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.open_rbag_btn {
|
|
||||||
position: absolute;
|
|
||||||
top: 450rpx;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 180rpx;
|
|
||||||
height: 180rpx;
|
|
||||||
line-height: 180rpx;
|
|
||||||
border-radius: 50%;
|
|
||||||
margin: 0 auto;
|
|
||||||
text-align: center;
|
|
||||||
background-color: #ffd287;
|
|
||||||
font-size: 55rpx;
|
|
||||||
color: #fef5e8;
|
|
||||||
box-shadow: 2rpx 2rpx 6rpx rgba(0, 0, 0, 0.2);
|
|
||||||
z-index: 1002;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hide_btn {
|
|
||||||
position: absolute;
|
|
||||||
bottom: -110rpx;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 90rpx;
|
|
||||||
height: 90rpx;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 打开红包
|
|
||||||
.open_rbag_model {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100vh;
|
|
||||||
background-color: rgba(0, 0, 0, 0.3);
|
|
||||||
z-index: 1000;
|
|
||||||
|
|
||||||
.rbag_conbg {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
width: 80%;
|
|
||||||
height: 840rpx;
|
|
||||||
margin: auto;
|
|
||||||
z-index: 1001;
|
|
||||||
}
|
|
||||||
|
|
||||||
.open_rbag_con {
|
|
||||||
z-index: 1002;
|
|
||||||
|
|
||||||
.open_title {
|
|
||||||
height: 120rpx;
|
|
||||||
line-height: 120rpx;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 38rpx;
|
|
||||||
letter-spacing: 2rpx;
|
|
||||||
color: #e46965;
|
|
||||||
}
|
|
||||||
|
|
||||||
.rbag_detail {
|
|
||||||
margin-top: 90rpx;
|
|
||||||
|
|
||||||
.open_money {
|
|
||||||
text-align: center;
|
|
||||||
font-size: 80rpx;
|
|
||||||
color: #c95948;
|
|
||||||
font-weight: bold;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
|
|
||||||
.danwei {
|
|
||||||
font-size: 30rpx;
|
|
||||||
margin-left: 16rpx;
|
|
||||||
margin-top: 24rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.open_tips {
|
|
||||||
text-align: center;
|
|
||||||
font-size: 30rpx;
|
|
||||||
color: #d26762;
|
|
||||||
margin-top: 30rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.lookbag_box {
|
|
||||||
margin-top: 300rpx;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
|
|
||||||
.lookbag_btn {
|
|
||||||
width: 70%;
|
|
||||||
height: 90rpx;
|
|
||||||
line-height: 90rpx;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 32rpx;
|
|
||||||
color: #c95948;
|
|
||||||
letter-spacing: 2rpx;
|
|
||||||
background-color: #ffd356;
|
|
||||||
border-radius: 50rpx;
|
|
||||||
box-shadow: 0rpx 0rpx 4rpx rgba(0, 0, 0, 0.2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.hide_btn {
|
|
||||||
position: absolute;
|
|
||||||
bottom: -110rpx;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 80rpx;
|
|
||||||
height: 80rpx;
|
|
||||||
line-height: 80rpx;
|
|
||||||
text-align: center;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.digital-scroll {
|
|
||||||
font-size: 28rpx;
|
|
||||||
font-weight: bold;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
.digital {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
width: 0.7em; // 0.7em 是为了让文本间隔没那么宽
|
|
||||||
height: 1em;
|
|
||||||
line-height: 1em;
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
.scroll-num {
|
|
||||||
// 文本竖直排列
|
|
||||||
writing-mode: vertical-rl;
|
|
||||||
text-orientation: upright;
|
|
||||||
|
|
||||||
.tra-num {
|
|
||||||
transition: all 1s;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.digitalStr {
|
|
||||||
width: auto;
|
|
||||||
line-height: 1em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -44,7 +44,7 @@
|
||||||
|
|
||||||
// 红包类型
|
// 红包类型
|
||||||
const typeList = reactive([{
|
const typeList = reactive([{
|
||||||
id: 2,
|
id: 0,
|
||||||
name: '普通红包',
|
name: '普通红包',
|
||||||
}, {
|
}, {
|
||||||
id: 1,
|
id: 1,
|
||||||
|
@ -159,7 +159,7 @@
|
||||||
|
|
||||||
console.log('data', data)
|
console.log('data', data)
|
||||||
|
|
||||||
//
|
// 发送红包
|
||||||
api.news.sendRedPacket({
|
api.news.sendRedPacket({
|
||||||
query: {
|
query: {
|
||||||
// 二级密码
|
// 二级密码
|
||||||
|
@ -182,12 +182,6 @@
|
||||||
|
|
||||||
// 发送红包
|
// 发送红包
|
||||||
function handleSend() {
|
function handleSend() {
|
||||||
//
|
|
||||||
const data = {
|
|
||||||
...form
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 支付二级密码
|
// 支付二级密码
|
||||||
proxy.$refs.payPwdRef.open()
|
proxy.$refs.payPwdRef.open()
|
||||||
}
|
}
|
||||||
|
@ -234,9 +228,9 @@
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="form-group rows mtb30 bfff">
|
<view class="form-group rows mtb30 bfff">
|
||||||
<text>祝福语:</text>
|
<text class="fs0">祝福语:</text>
|
||||||
<view class="f1 tar">
|
<view class="f1 tar">
|
||||||
<input class="f34" type="text" v-model="form.name" :placeholder="greeting" />
|
<textarea class="textarea f34" maxlength="100" auto-height="auto" v-model="form.blessing" :placeholder="greeting" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
@ -274,4 +268,9 @@
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 多行文本框
|
||||||
|
.textarea {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -11,38 +11,38 @@ export default defineConfig({
|
||||||
proxy: {
|
proxy: {
|
||||||
"/system": {
|
"/system": {
|
||||||
// target: "http://192.168.0.189:8080",
|
// target: "http://192.168.0.189:8080",
|
||||||
// target: "http://192.168.0.102:8080",
|
target: "http://192.168.0.102:8080",
|
||||||
target: "http://192.168.0.129:8080",
|
// target: "http://192.168.0.129:8080",
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
"/shopify": {
|
"/shopify": {
|
||||||
// target: "http://192.168.0.189:8080",
|
// target: "http://192.168.0.189:8080",
|
||||||
// target: "http://192.168.0.102:8080",
|
target: "http://192.168.0.102:8080",
|
||||||
target: "http://192.168.0.129:8080",
|
// target: "http://192.168.0.129:8080",
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
"/user": {
|
"/user": {
|
||||||
// target: "http://192.168.0.189:8080",
|
// target: "http://192.168.0.189:8080",
|
||||||
// target: "http://192.168.0.102:8080",
|
target: "http://192.168.0.102:8080",
|
||||||
target: "http://192.168.0.129:8080",
|
// target: "http://192.168.0.129:8080",
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
"/coreplay": {
|
"/coreplay": {
|
||||||
// target: "http://192.168.0.189:8080",
|
// target: "http://192.168.0.189:8080",
|
||||||
// target: "http://192.168.0.102:8080",
|
target: "http://192.168.0.102:8080",
|
||||||
target: "http://192.168.0.129:8080",
|
// target: "http://192.168.0.129:8080",
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
"/file": {
|
"/file": {
|
||||||
// target: "http://192.168.0.189:8080",
|
// target: "http://192.168.0.189:8080",
|
||||||
// target: "http://192.168.0.102:8080",
|
target: "http://192.168.0.102:8080",
|
||||||
target: "http://192.168.0.129:8080",
|
// target: "http://192.168.0.129:8080",
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
"/video": {
|
"/video": {
|
||||||
// target: "http://192.168.0.189:8080",
|
// target: "http://192.168.0.189:8080",
|
||||||
// target: "http://192.168.0.102:8080",
|
target: "http://192.168.0.102:8080",
|
||||||
target: "http://192.168.0.129:8080",
|
// target: "http://192.168.0.129:8080",
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue