合并代码
This commit is contained in:
parent
9fbf092756
commit
6e948972e8
|
@ -346,7 +346,7 @@ const shop = {
|
|||
},
|
||||
|
||||
/**
|
||||
* 订单取消
|
||||
* 订单发起售后
|
||||
* @param {Object} param
|
||||
*/
|
||||
orderAfterSales(param) {
|
||||
|
@ -370,6 +370,19 @@ const shop = {
|
|||
load: true,
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 订单更新收货
|
||||
* @param {Object} param
|
||||
*/
|
||||
orderupdateRefund(param) {
|
||||
return util.request({
|
||||
url: `/shopify/appRefundOrder/updateRefund`,
|
||||
data: param.data,
|
||||
method: 'POST',
|
||||
load: true,
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
export default shop
|
|
@ -353,6 +353,7 @@ const video = {
|
|||
method: 'GET',
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 关注列表
|
||||
* @param {Object} param
|
||||
|
@ -365,6 +366,7 @@ const video = {
|
|||
method: 'GET',
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 关注列表
|
||||
* @param {Object} param
|
||||
|
@ -377,6 +379,7 @@ const video = {
|
|||
method: 'GET',
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 关注用户 关注状态 0:取关 1:关注
|
||||
* @param {Object} param
|
||||
|
@ -505,6 +508,71 @@ const video = {
|
|||
method: 'GET',
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取视频流量统计表
|
||||
* @param {Object} param
|
||||
*/
|
||||
getFlow(param) {
|
||||
return util.request({
|
||||
url: `/video/statistics/getStatisticsData/flowStatistics`,
|
||||
data: param.data,
|
||||
method: 'POST',
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取视频统计数据
|
||||
* @param {Object} param
|
||||
*/
|
||||
getStatistics(param) {
|
||||
return util.request({
|
||||
url: `/video/statistics/getStatisticsData`,
|
||||
data: param.data,
|
||||
method: 'POST',
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 消耗流量果解锁统计
|
||||
* @param {Object} param
|
||||
*/
|
||||
unlockStatistics(param) {
|
||||
return util.request({
|
||||
url: `/video/statistics/getStatisticsData/unlockStatistics`,
|
||||
load: true,
|
||||
data: param.data,
|
||||
method: 'GET',
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 公开赞统计
|
||||
* @param {Object} param
|
||||
*/
|
||||
openLikeData(param) {
|
||||
return util.request({
|
||||
url: `/video/statistics/getStatisticsData/openLikeData`,
|
||||
load: true,
|
||||
query: param.query,
|
||||
data: param.data,
|
||||
method: 'POST',
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 私密赞统计
|
||||
* @param {Object} param
|
||||
*/
|
||||
PrivacyLikeData(param) {
|
||||
return util.request({
|
||||
url: `/video/statistics/getStatisticsData/PrivacyLikeData`,
|
||||
load: true,
|
||||
query: param.query,
|
||||
data: param.data,
|
||||
method: 'POST',
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
export default video
|
|
@ -6,7 +6,7 @@ const config = {
|
|||
// #endif
|
||||
// #ifndef H5
|
||||
// host: 'http://91f.xyz:8080',
|
||||
host: 'http://yz78nt.natappfree.cc',
|
||||
host: 'http://rud57d.natappfree.cc',
|
||||
// #endif
|
||||
// 支付方式配置
|
||||
payType: {
|
||||
|
|
|
@ -91,6 +91,31 @@ const order = {
|
|||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 售后订单更新
|
||||
* @param {Object} event 事件对象
|
||||
*/
|
||||
orderupdateRefund: (event) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
api.shop.orderupdateRefund({
|
||||
data: {
|
||||
id: event.orderId,
|
||||
expressName: event.expressName,
|
||||
trackingNumber: event.trackingNumber,
|
||||
},
|
||||
}).then(res => {
|
||||
if (res.code == 200) {
|
||||
resolve(res.data)
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
content: res.msg,
|
||||
showCancel: false,
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
export default order
|
|
@ -196,6 +196,10 @@
|
|||
* @param {Number} index 当前项下标
|
||||
*/
|
||||
function handleExpansion(item, index) {
|
||||
// 子评论总数
|
||||
let childrenCommentCount = item.childrenCommentCount
|
||||
// 子评论总长
|
||||
let childLength = item.child.length
|
||||
// 如果状态为收起 展开全部
|
||||
if (item.childShow == false) {
|
||||
item.childShow = true
|
||||
|
@ -203,13 +207,13 @@
|
|||
}
|
||||
|
||||
// 如果数据全部加载完毕
|
||||
if (item.child.length >= item.num && item.childShow) {
|
||||
if ((childLength >= childrenCommentCount) && item.childShow) {
|
||||
item.childShow = false
|
||||
return
|
||||
}
|
||||
|
||||
item.pageNum++
|
||||
//
|
||||
// 获取子评论
|
||||
getLevelCommentList(item, index)
|
||||
}
|
||||
|
||||
|
@ -422,7 +426,7 @@
|
|||
</template>
|
||||
|
||||
<template v-else>
|
||||
<text class="c666 f24">展开{{item.num}}条回复</text>
|
||||
<text class="c666 f24">展开{{item.childrenCommentCount}}条回复</text>
|
||||
<uni-icons type="bottom" />
|
||||
</template>
|
||||
</view>
|
||||
|
|
|
@ -181,16 +181,16 @@
|
|||
break;
|
||||
case 2:
|
||||
console.log('公开赞')
|
||||
return
|
||||
emit('like', {
|
||||
likeType: 0,
|
||||
index: props.index,
|
||||
isLike: isLike == 0 ? 0 : 1
|
||||
})
|
||||
break;
|
||||
case 3:
|
||||
console.log('隐私赞')
|
||||
return
|
||||
emit('like', {
|
||||
likeType: 1,
|
||||
index: props.index,
|
||||
isLike: isLike == 0 ? 3 : 1
|
||||
})
|
||||
|
@ -372,7 +372,7 @@
|
|||
emit('like', {
|
||||
index,
|
||||
likeType,
|
||||
isDelFlag,
|
||||
isLike,
|
||||
})
|
||||
}).catch(() => {
|
||||
uni.navigateTo({
|
||||
|
@ -547,10 +547,10 @@
|
|||
<template v-if="item.isLike">
|
||||
<!-- 公开赞 -->
|
||||
<image class="wh50" src="/static/indexLike1.png" mode="aspectFit"
|
||||
v-if="item.likeType == 0" @click="handleLike(index,0, 0)" />
|
||||
v-if="item.likeType == 0" @click="handleLike(index,0, 1)" />
|
||||
<!-- 私密赞的图标 -->
|
||||
<image class="wh50" src="/static/privateLike.png" mode="aspectFit"
|
||||
v-else-if="item.likeType == 1" @click="handleLike(index,1, 0)" />
|
||||
v-else-if="item.likeType == 1" @click="handleLike(index,1,1)" />
|
||||
</template>
|
||||
<template v-else>
|
||||
<image class="wh50" src="/static/indexLike.png" mode="aspectFit"
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
<script setup>
|
||||
// 支付密码
|
||||
/**
|
||||
* 支付密码
|
||||
* @property {Boolean} check 是否验证
|
||||
* @property {Function} confirm 输入密码完成时回调
|
||||
*/
|
||||
import {
|
||||
computed,
|
||||
defineExpose,
|
||||
|
@ -75,6 +79,7 @@
|
|||
close()
|
||||
return
|
||||
}
|
||||
|
||||
// 验证二级密码
|
||||
api.mine.checkSecondLevelCipher({
|
||||
data: {
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
reactive,
|
||||
getCurrentInstance,
|
||||
defineExpose,
|
||||
defineEmits,
|
||||
onMounted
|
||||
} from 'vue'
|
||||
// 工具库
|
||||
|
@ -14,6 +15,8 @@
|
|||
const {
|
||||
proxy
|
||||
} = getCurrentInstance()
|
||||
//
|
||||
const emit = defineEmits(['confirm'])
|
||||
// 表单
|
||||
const form = reactive({
|
||||
// 物流公司名称
|
||||
|
@ -52,10 +55,9 @@
|
|||
* @param {Object} ev
|
||||
*/
|
||||
function handleExpressIndex(ev) {
|
||||
console.log('ev', ev)
|
||||
const index = ev.detail.value
|
||||
if(expressIndex.value === index) return
|
||||
expressIndex.index = index
|
||||
if (expressIndex.value === index) return
|
||||
expressIndex.value = index
|
||||
form.expressName = expressList[index].dictLabel
|
||||
}
|
||||
|
||||
|
@ -70,9 +72,27 @@
|
|||
|
||||
//
|
||||
setTimeout(() => {
|
||||
expressIndex.value = ''
|
||||
form.expressName = ''
|
||||
form.trackingNumber = ''
|
||||
})
|
||||
}, 500)
|
||||
}
|
||||
|
||||
// 保存
|
||||
function handleSubmit() {
|
||||
let data = {
|
||||
...form
|
||||
}
|
||||
if (!data.expressName) {
|
||||
util.alert('请选择快递公司')
|
||||
return
|
||||
}
|
||||
if (!data.trackingNumber) {
|
||||
util.alert('请输入快递单号')
|
||||
return
|
||||
}
|
||||
emit('confirm', data)
|
||||
close()
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
|
@ -94,18 +114,23 @@
|
|||
<picker :range="expressList" range-key="dictLabel" @change="handleExpressIndex">
|
||||
<view class="rows">
|
||||
<view class="mr20">快递公司</view>
|
||||
<input type="text" placeholder="输入快递公司" />
|
||||
<view class="f1">
|
||||
<text v-if="form.expressName">{{form.expressName}}</text>
|
||||
<text class="placeholderStyle" v-else>请选择</text>
|
||||
</view>
|
||||
<!-- <input type="text" placeholder="输入快递公司" /> -->
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
|
||||
<view class="line df aic">
|
||||
<view class="mr20">快递单号</view>
|
||||
<input type="text" placeholder="输入快递公司" />
|
||||
<input type="text" v-model="form.trackingNumber" placeholder="输入快递公司"
|
||||
placeholder-class="placeholderStyle" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="btn warm mtb30 mlr30">保存</view>
|
||||
<view class="btn warm mtb30 mlr30" @click="handleSubmit">保存</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</template>
|
||||
|
|
|
@ -72,18 +72,21 @@
|
|||
"bounce": "none"
|
||||
}
|
||||
}
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"path": "pages/news/group-chat-list/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "群聊列表"
|
||||
}
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"path": "pages/news/group-chat/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "创建群聊",
|
||||
"navigationBarBackgroundColor": "#fff"
|
||||
}
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"path": "pages/news/chat/chat",
|
||||
"style": {
|
||||
"navigationBarTitleText": "问答页"
|
||||
|
@ -466,7 +469,8 @@
|
|||
"style": {
|
||||
"navigationBarTitleText": "点赞统计",
|
||||
"navigationBarBackgroundColor": "#fff",
|
||||
"navigationStyle": "custom"
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": true
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
@ -1,34 +1,29 @@
|
|||
<script setup>
|
||||
// 数据中心
|
||||
import {
|
||||
reactive
|
||||
ref,
|
||||
reactive,
|
||||
computed,
|
||||
} from 'vue';
|
||||
import {
|
||||
onLoad,
|
||||
onReady,
|
||||
onHide,
|
||||
onUnload,
|
||||
} from '@dcloudio/uni-app'
|
||||
//
|
||||
import api from '@/api/index.js'
|
||||
//
|
||||
import util from '@/common/js/util.js'
|
||||
import {
|
||||
useStore
|
||||
} from 'vuex'
|
||||
// 顶部导航
|
||||
import apex from '@/components/header/apex.vue'
|
||||
|
||||
// 图表数据
|
||||
const chartData = reactive({
|
||||
categories: ["1", "2", "3", "4", "5", "6", '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17',
|
||||
'18', '19', '20'
|
||||
],
|
||||
series: [{
|
||||
name: "自己",
|
||||
data: [11, 6, 31, 33, 13, 34]
|
||||
},
|
||||
{
|
||||
name: "浏览推流",
|
||||
data: [15, 14, 50, 37, 17, 38]
|
||||
},
|
||||
{
|
||||
name: "陌生人",
|
||||
data: [17, 10, 23, 26, 8, 30]
|
||||
},
|
||||
{
|
||||
name: "已关注",
|
||||
data: [11, 6, 31, 33, 13, 34]
|
||||
}
|
||||
]
|
||||
})
|
||||
// 支付密码
|
||||
import payPwd from '@/components/mine/payPwd.vue'
|
||||
//
|
||||
const store = useStore()
|
||||
// 配置项
|
||||
const opts = reactive({
|
||||
color: ["#D8D8D8", "#C2ECFF", "#FFD2D2", "#C2FFCC", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", "#ea7ccc"],
|
||||
|
@ -68,6 +63,81 @@
|
|||
},
|
||||
}
|
||||
})
|
||||
// 图表数据
|
||||
const chartData = reactive({})
|
||||
// 详情
|
||||
const detail = reactive({})
|
||||
// 视频id
|
||||
const videoId = ref('')
|
||||
// 是否解锁
|
||||
const isLock = ref(false)
|
||||
// 系统配置
|
||||
const config = computed(() => {
|
||||
return store.state.config
|
||||
})
|
||||
|
||||
onLoad((option) => {
|
||||
if (option.videoId) videoId.value = option.videoId
|
||||
// 获取详情
|
||||
getDetail()
|
||||
// 获取流量统计
|
||||
getFlow()
|
||||
})
|
||||
|
||||
// 查看流量
|
||||
function getFlow() {
|
||||
api.video.getFlow({
|
||||
data: {
|
||||
videoId: videoId.value,
|
||||
},
|
||||
}).then(res => {
|
||||
if (res.code === 200) {
|
||||
const result = res.data
|
||||
// 是否解锁
|
||||
if (result.isLock) Object.assign(chartData, {}, res.data)
|
||||
isLock.value = result.isLock
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
content: res.msg,
|
||||
showCancel: false,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// 详情
|
||||
function getDetail() {
|
||||
api.video.getStatistics({
|
||||
data: {
|
||||
videoId: videoId.value,
|
||||
},
|
||||
}).then(res => {
|
||||
if (res.code === 200) {
|
||||
// 详情
|
||||
Object.assign(detail, {}, res.data)
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
content: res.msg,
|
||||
showCancel: false,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// 解锁查看流量统计表
|
||||
function handleUnlock() {
|
||||
api.video.unlockStatistics({}).then(res => {
|
||||
if (res.code === 200) {
|
||||
// 获取流量统计
|
||||
getFlow()
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
content: res.msg,
|
||||
showCancel: false,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 跳转
|
||||
|
@ -84,7 +154,7 @@
|
|||
<view class="app">
|
||||
<apex title="数据中心">
|
||||
<template #right>
|
||||
<view class="rows c999 f24" @click="link('/pages/index/dataCenter/like')">
|
||||
<view class="rows c999 f24" @click="link(util.setUrl('/pages/index/dataCenter/like',{videoId: videoId}))">
|
||||
<view class="ver mr10">
|
||||
<image class="wh26" src="/static/indexLike1.png" mode="aspectFit" />
|
||||
<view>公开赞</view>
|
||||
|
@ -103,16 +173,16 @@
|
|||
<view class="title c333 f36 b">统计中心</view>
|
||||
</view>
|
||||
<!-- 查看时间 -->
|
||||
<view class="line mt20 c999 f26">统计时间:2024.12.08 18:00</view>
|
||||
<view class="line mt20 c999 f26">统计时间:{{detail.statisticsTime}}</view>
|
||||
</view>
|
||||
|
||||
<!-- 视频详情 -->
|
||||
<view class="video df mtb20 ptb20 plr30 bfff">
|
||||
<image class="poster br10" src="/static/openPage.png" mode=""></image>
|
||||
<image class="poster br10" :src="detail.coverUrl" mode="aspectFill" />
|
||||
<view class="info df fdc jcsb f1 ml30">
|
||||
<view class="title t2hd f34 c111">我上传了一个视频,这里是视频标题</view>
|
||||
<view class="desc t2hd f28 c666">视频简介</view>
|
||||
<view class="time f26 c999">2024年11月20日</view>
|
||||
<view class="title t2hd f34 c111">{{detail.title}}</view>
|
||||
<view class="desc t2hd f28 c666">{{detail.description}}</view>
|
||||
<view class="time f26 c999">{{detail.createTime}}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
@ -120,24 +190,22 @@
|
|||
<view class="rows">
|
||||
<view class="title">流量统计</view>
|
||||
|
||||
<view class="lock rows ptb5 plr20 bar cfff f28" :class="{'active': 1}">
|
||||
<view class="lock rows ptb5 plr20 bar cfff f28" :class="{'active': !isLock}">
|
||||
<image class="lockImg wh30" src="/static/dataLock.png" mode="aspectFit" />
|
||||
<image class="unlockImg wh30" src="/static/dataUnlock.png" mode="aspectFit" />
|
||||
<view class="ml5">
|
||||
<text v-if="0">去</text>
|
||||
<text v-else>已</text>
|
||||
<text>解锁</text>
|
||||
</view>
|
||||
|
||||
<view class="ml5" v-if="!isLock" @click="$refs.payPwdRef.open()">去解锁</view>
|
||||
<view class="ml5" v-else>已解锁</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="charts" v-if="0">
|
||||
<view class="charts" v-if="isLock">
|
||||
<qiun-data-charts type="column" :opts="opts" :chartData="chartData" :ontouch="true" />
|
||||
</view>
|
||||
<view class="mtb30 fmid" v-else>
|
||||
<view>点击消耗榴莲果</view>
|
||||
<image class="wh30" src="/static/fruit.png" mode="aspectFit" />
|
||||
<view>30解锁查看24h</view>
|
||||
<view>{{config.UNLOCK_FLOW_STATISTICS}}解锁查看24h</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
@ -156,33 +224,36 @@
|
|||
</view> -->
|
||||
<view class="item tac">
|
||||
<view class="key">展播量推流</view>
|
||||
<view class="value">10</view>
|
||||
<view class="value">{{detail.exhibitionScreening}}</view>
|
||||
</view>
|
||||
<view class="item tac">
|
||||
<view class="key">完播量推流</view>
|
||||
<view class="value">2</view>
|
||||
<view class="value">{{detail.completeViewing}}</view>
|
||||
</view>
|
||||
<view class="item tac">
|
||||
<view class="key">评论</view>
|
||||
<view class="value">40</view>
|
||||
<view class="value">{{detail.commentCount}}</view>
|
||||
</view>
|
||||
<view class="item tac">
|
||||
<view class="key">收藏</view>
|
||||
<view class="value">3</view>
|
||||
<view class="value">{{detail.collectCount}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="item tac mt20" @click="link('/pages/index/dataCenter/otherPush')">
|
||||
<view class="key">他人推广</view>
|
||||
<view class="value">10</view>
|
||||
<view class="value">{{detail.othersPromotionCount}}</view>
|
||||
</view>
|
||||
<view class="item tac mt20">
|
||||
<view class="key">下单数量</view>
|
||||
<view class="value">10</view>
|
||||
<view class="value">{{detail.placeAnOrderCount}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="fill" style="height: 30rpx;"></view>
|
||||
|
||||
<!-- 支付密码 -->
|
||||
<payPwd ref="payPwdRef" :check="true" @confirm="handleUnlock" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
|
|
@ -5,18 +5,44 @@
|
|||
ref,
|
||||
computed,
|
||||
} from 'vue';
|
||||
import {
|
||||
onLoad,
|
||||
onReady,
|
||||
onHide,
|
||||
onPullDownRefresh,
|
||||
onReachBottom,
|
||||
onUnload,
|
||||
} from '@dcloudio/uni-app'
|
||||
//
|
||||
import api from '@/api/index.js'
|
||||
//
|
||||
import util from '@/common/js/util.js'
|
||||
//
|
||||
import apex from '@/components/header/apex.vue'
|
||||
// 详情
|
||||
const detail = reactive({})
|
||||
// 视频id
|
||||
const videoId = ref('')
|
||||
// 是否解锁
|
||||
const isLock = ref(false)
|
||||
// 类型列表
|
||||
const typeList = reactive([{
|
||||
img: '/static/indexLike1.png',
|
||||
count: 1000,
|
||||
total: 0,
|
||||
list: [],
|
||||
pageNum: 1,
|
||||
pageSize: 20,
|
||||
name: '公开赞',
|
||||
api: (ev) => api.video.openLikeData(ev),
|
||||
},
|
||||
{
|
||||
img: '/static/privateLike.png',
|
||||
count: 20,
|
||||
total: 0,
|
||||
list: [],
|
||||
pageNum: 1,
|
||||
pageSize: 20,
|
||||
name: '隐私赞',
|
||||
api: (ev) => api.video.PrivacyLikeData(ev),
|
||||
}
|
||||
])
|
||||
// 类型下标
|
||||
|
@ -27,6 +53,22 @@
|
|||
return result
|
||||
})
|
||||
|
||||
onLoad((option) => {
|
||||
if (option.videoId) videoId.value = option.videoId
|
||||
// 获取列表
|
||||
getList()
|
||||
})
|
||||
|
||||
onPullDownRefresh(() => {
|
||||
// 重载列表
|
||||
refreshList()
|
||||
})
|
||||
|
||||
onReachBottom(() => {
|
||||
// 获取更多列表
|
||||
getMoreList()
|
||||
})
|
||||
|
||||
/**
|
||||
* 点击下标
|
||||
* @param {Object} index
|
||||
|
@ -34,6 +76,65 @@
|
|||
function handleTypeIndex(index) {
|
||||
if (typeIndex.value === index) return
|
||||
typeIndex.value = index
|
||||
// 重载列表
|
||||
refreshList()
|
||||
}
|
||||
|
||||
// 重载列表
|
||||
function refreshList() {
|
||||
typeCurrent.value.pageNum = 1
|
||||
getList()
|
||||
}
|
||||
|
||||
// 获取更多列表
|
||||
function getMoreList() {
|
||||
if (typeCurrent.value.total <= typeCurrent.value.list.length) return
|
||||
typeCurrent.value.pageNum++
|
||||
getList()
|
||||
}
|
||||
|
||||
// 获取列表
|
||||
function getList() {
|
||||
typeCurrent.value.api({
|
||||
query: {
|
||||
pageSize: typeCurrent.value.pageSize,
|
||||
pageNum: typeCurrent.value.pageNum,
|
||||
},
|
||||
data: {
|
||||
videoId: videoId.value,
|
||||
},
|
||||
}).then(res => {
|
||||
if (res.code == 200) {
|
||||
if (typeCurrent.value.pageNum == 1) typeCurrent.value.list.length = 0
|
||||
typeCurrent.value.list.push(...res.rows.map(item => {
|
||||
item.formatName = formatString(item.userNickname)
|
||||
return item
|
||||
}))
|
||||
typeCurrent.value.total = res.total
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
content: res.msg,
|
||||
showCancel: false,
|
||||
})
|
||||
}).finally(() => {
|
||||
uni.stopPullDownRefresh()
|
||||
})
|
||||
}
|
||||
|
||||
/**格式化字符串
|
||||
* @param {Object} str 字符串
|
||||
*/
|
||||
function formatString(str) {
|
||||
// 获取字符串的长度
|
||||
const length = str.length;
|
||||
let result = '*'
|
||||
// 如果长度为 2,返回第一个字符和一个星号
|
||||
if (length === 2) result = str[0] + '*'
|
||||
// 如果长度大于等于 3,返回第一个字符、若干个星号和最后一个字符
|
||||
else if (length >= 3) result = str[0] + '*'.repeat(length - 2) + str[length - 1];
|
||||
// 如果长度小于 2,直接返回原字符串
|
||||
return result
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -54,17 +155,17 @@
|
|||
|
||||
<view class="count rows mtb30 mlr30 ptb20 plr30 f32 br20">
|
||||
<view class="key">{{typeCurrent.name}}</view>
|
||||
<view class="value b">{{typeCurrent.count}}</view>
|
||||
<view class="value b">{{typeCurrent.total}}</view>
|
||||
</view>
|
||||
|
||||
<!-- 列表盒子 -->
|
||||
<view class="listBox mtb30 plr30">
|
||||
<view class="item df ptb20 plr10" v-for="(item,index) in 10" :key="index">
|
||||
<view class="item df ptb20 plr10" v-for="(item,index) in typeCurrent.list" :key="index">
|
||||
<view class="avatar">
|
||||
<image class="wh100" src="/static/qq.png" mode="aspectFill" />
|
||||
<image class="wh100" :src="item.avatar" mode="aspectFill" />
|
||||
</view>
|
||||
<view class="info f1 ml20">
|
||||
<view class="nickname thd f30 c111">A**** {{typeCurrent.name}}了你</view>
|
||||
<view class="nickname thd f30 c111">{{item.formatName}} {{typeCurrent.name}}了你</view>
|
||||
<view class="time mt10 c999 f28">2024.12.08 20:00</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
|
@ -583,12 +583,24 @@
|
|||
* 视频点赞
|
||||
* @param {Object} param 见下
|
||||
* @param {Number} param.index 操作的视频下标
|
||||
* @param {Number|String} param.isDelFlag 0.点赞 1.取消点赞
|
||||
* @param {Number|String} param.isLike 0.点赞 1.取消点赞
|
||||
* @param {Number|String} param.likeType 点赞类型 0.公开赞 1.隐私赞
|
||||
*/
|
||||
function videoLike(param) {
|
||||
// 当前项
|
||||
const item = tabCurrent.value.listData()[param.index]
|
||||
console.log('data', {
|
||||
// 视频id
|
||||
videoId: item.id,
|
||||
// 点赞用户id
|
||||
likeUserId: userinfo.value.id,
|
||||
// 被点赞用户id
|
||||
targetUserId: item.userId,
|
||||
// 点赞类型 0.公开赞 1.隐私赞
|
||||
likeType: param.likeType,
|
||||
// //点赞 0.点赞 1.取消点赞
|
||||
isLike: param.isLike,
|
||||
})
|
||||
//
|
||||
api.video.videoLike({
|
||||
data: {
|
||||
|
@ -601,7 +613,7 @@
|
|||
// 点赞类型 0.公开赞 1.隐私赞
|
||||
likeType: param.likeType,
|
||||
// //点赞 0.点赞 1.取消点赞
|
||||
isDelFlag: param.isDelFlag,
|
||||
isLike: param.isLike,
|
||||
}
|
||||
}).then(rs => {
|
||||
if (rs.code == 200) {
|
||||
|
@ -720,7 +732,7 @@
|
|||
@showTime="handleShowTime" @showComment="handleShowCommentAlt"
|
||||
@showCollect="handleShowCollectAlt" @showShareFirend="handleShowShareFirend"
|
||||
@onPlay="handleVideoOnPlay" @onPause="handleVideoOnPause" @like="videoLike"
|
||||
@longtap="$refs.moreMenuRef.open(secItem)"@showFastCollect="handleShowFastCollect" />
|
||||
@longtap="$refs.moreMenuRef.open(secItem)" @showFastCollect="handleShowFastCollect" />
|
||||
</template>
|
||||
</cell>
|
||||
</list>
|
||||
|
|
|
@ -33,12 +33,12 @@
|
|||
// 视频详情
|
||||
const detail = reactive({})
|
||||
// 是否是自己
|
||||
const isMine = ref(false)
|
||||
const isMine = ref(0)
|
||||
|
||||
onLoad((option) => {
|
||||
if (option.videoId) videoId.value = option.videoId
|
||||
// 是否我的作品
|
||||
if (option.isMine && option.isMine != 'false') isMine.value = option.isMine
|
||||
if (option.isMine) isMine.value = option.isMine
|
||||
|
||||
// 获取视频详情
|
||||
getVideoDetail()
|
||||
|
|
|
@ -83,6 +83,7 @@
|
|||
api.video.getUserInfo({
|
||||
query: {
|
||||
userId: userId.value,
|
||||
myId: userinfo.value.id,
|
||||
}
|
||||
}).then(rs => {
|
||||
if (rs.code == 200) {
|
||||
|
@ -110,10 +111,8 @@
|
|||
// 获取用户作品
|
||||
function getList() {
|
||||
//
|
||||
api.video.myVideoList({
|
||||
api.video.myWorks({
|
||||
query: {
|
||||
// 0正常1草稿 不传查全部
|
||||
isDraft: 0,
|
||||
// 人员id
|
||||
userId: userId.value,
|
||||
pageSize: listProperty.pageSize,
|
||||
|
@ -159,7 +158,7 @@
|
|||
function handleCopyAccount() {
|
||||
// 复制用户账号
|
||||
uni.setClipboardData({
|
||||
data: detail.userAccount,
|
||||
data: detail.account,
|
||||
showToast: false,
|
||||
success: rs => {
|
||||
util.alert('复制成功')
|
||||
|
@ -170,14 +169,12 @@
|
|||
// 关注用户
|
||||
function handleAttention() {
|
||||
api.video.attention({
|
||||
path: [detail.isAttention ? 0 : 1],
|
||||
data: {
|
||||
// 当前用户id
|
||||
userId: userinfo.value.userId,
|
||||
userId: userinfo.value.id,
|
||||
// 被关注id
|
||||
attentionId: detail.userId,
|
||||
// 来源
|
||||
attentionSource: 1,
|
||||
attentionId: detail.id,
|
||||
isAttention: detail.isAttention ? 1 : 0,
|
||||
}
|
||||
}).then(rs => {
|
||||
if (rs.code == 200) {
|
||||
|
@ -333,7 +330,7 @@
|
|||
<view class="user f1 c111">
|
||||
<view class="nickname f28">{{detail.userNickname}}</view>
|
||||
<view class="df aic mt10">
|
||||
<text class="f20">账号:{{detail.userAccount}}</text>
|
||||
<text class="f20">账号:{{detail.account}}</text>
|
||||
<image class="wh30 ml10" src="/static/copy.png" mode="aspectFit" @click="handleCopyAccount" />
|
||||
<view class="f1"></view>
|
||||
</view>
|
||||
|
@ -380,7 +377,8 @@
|
|||
<view class="item rows ptb25">
|
||||
<view class="key">不让 Ta 看作品</view>
|
||||
<view>
|
||||
<switch color="#FF0F2E" :checked="detail.isBlock" style="transform: scale(.7);" @change="handleBlock" />
|
||||
<switch color="#FF0F2E" :checked="detail.isBlock" style="transform: scale(.7);"
|
||||
@change="handleBlock" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
|
@ -90,6 +90,7 @@
|
|||
success: rs => {
|
||||
// 同步值
|
||||
user[key] = rs.value
|
||||
console.log('user', user)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -178,7 +179,8 @@
|
|||
|
||||
<view class="line rows ptb20">
|
||||
<view class="key">性别</view>
|
||||
<picker class="value tar f1" :range="gender" :value="genderIndex" range-key="name" @change="handleGender">
|
||||
<picker class="value tar f1" :range="gender" :value="genderIndex" range-key="name"
|
||||
@change="handleGender">
|
||||
<text v-if="genderIndex == -1">请选择</text>
|
||||
<text v-else>{{gender[genderIndex].name}}</text>
|
||||
</picker>
|
||||
|
|
|
@ -79,6 +79,7 @@
|
|||
if (res.code == 200) {
|
||||
let result = res.data
|
||||
result.status = Number(result.status)
|
||||
result.refundStatus = Number(result.refundStatus)
|
||||
Object.assign(detail, {}, result)
|
||||
return
|
||||
}
|
||||
|
@ -108,6 +109,33 @@
|
|||
return
|
||||
})
|
||||
}
|
||||
|
||||
// 确认收货
|
||||
function handleReceived() {
|
||||
order.orderReceived({
|
||||
orderId: detail.id,
|
||||
}).then(res => {
|
||||
// 重载列表
|
||||
refreshList()
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 填写退货物流信息
|
||||
* @param {Object} param
|
||||
*/
|
||||
function handleExpressConfirm(param) {
|
||||
let data = {
|
||||
...param,
|
||||
id: detail.id,
|
||||
}
|
||||
console.log('orderupdateRefund', data)
|
||||
|
||||
order.orderupdateRefund(data).then(res => {
|
||||
// 重载列表
|
||||
refreshList()
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -205,31 +233,55 @@
|
|||
</view>
|
||||
|
||||
<view class="fill"></view>
|
||||
<view class="footer df jcr plr30 bfff shadow" v-if="[0,1].includes(detail.status)">
|
||||
<template v-if="detail.status == 0">
|
||||
<view class="btn bar closeHollow plr30" @click="handleCancel">取消订单</view>
|
||||
<view class="btn bar warmHollow plr30" @click="order.orderPay(detail)">继续付款</view>
|
||||
<view class="footer df jcr plr30 bfff shadow" v-if="[0,1,4,5,6].includes(detail.status)">
|
||||
<!-- 售后中 -->
|
||||
<template v-if="detail.refundStatus == 1">
|
||||
<template v-if="detail.refundStatus == 4">
|
||||
<view class="btn bar warmHollow plr30" @click.stop="$refs.expressRef.open()">
|
||||
填写退货物流信息</view>
|
||||
</template>
|
||||
</template>
|
||||
<template v-if="detail.status == 1">
|
||||
<view class="btn bar closeHollow plr30" @click="order.orderAfterSales(detail)">申请退款</view>
|
||||
<!-- <view class="btn bar warmHollow plr30">催发货</view> -->
|
||||
</template>
|
||||
<template v-if="detail.status == 3">
|
||||
<view class="btn bar closeHollow plr30">申请退款</view>
|
||||
<view class="btn bar closeHollow plr30">查看物流</view>
|
||||
<view class="btn bar warmHollow plr30">确认收货</view>
|
||||
</template>
|
||||
<template v-if="detail.status == 4">
|
||||
<view class="btn bar closeHollow plr30">申请退款</view>
|
||||
<view class="btn bar warmHollow plr30">评价</view>
|
||||
</template>
|
||||
<template v-if="detail.status == 6">
|
||||
<view class="btn bar closeHollow plr30">取消售后</view>
|
||||
<view class="btn bar closeHollow plr30">钱款去向</view>
|
||||
<view class="btn bar warmHollow plr30">平台介入</view>
|
||||
<!-- 非售后 -->
|
||||
<template v-else-if="detail.refundStatus == 0">
|
||||
<!-- 待支付 -->
|
||||
<template v-if="detail.status == 0">
|
||||
<view class="btn bar closeHollow plr30" @click="handleCancel">取消订单</view>
|
||||
<view class="btn bar warmHollow plr30" @click="order.orderPay(detail)">继续付款</view>
|
||||
</template>
|
||||
<!-- 待发货 -->
|
||||
<template v-else-if="detail.status == 1">
|
||||
<view class="btn bar closeHollow plr30" @click.stop="handleCancel">取消订单</view>
|
||||
</template>
|
||||
<!-- 待收货 -->
|
||||
<template v-else-if="detail.status == 4">
|
||||
<view class="btn bar closeHollow plr30" @click.stop="order.orderAfterSales(detail)">申请退款</view>
|
||||
<view class="btn bar closeHollow plr30" v-if="detail.afterSaleStatus === 1">
|
||||
申请平台介入</view>
|
||||
<view class="btn bar closeHollow plr30" @click.stop="order.logistics(detail)">查看物流
|
||||
</view>
|
||||
<view class="btn bar warmHollow plr30" @click.stop="handleReceived">确认收货
|
||||
</view>
|
||||
</template>
|
||||
<!-- 已收货 -->
|
||||
<template v-else-if="detail.status == 5">
|
||||
<view class="btn bar closeHollow plr30" v-if="detail.afterSaleStatus === 1">
|
||||
申请平台介入</view>
|
||||
<view class="btn bar closeHollow plr30" @click.stop="order.orderAfterSales(detail)">申请退款</view>
|
||||
<view class="btn bar warmHollow plr30">评价</view>
|
||||
</template>
|
||||
<!-- 已完成 -->
|
||||
<template v-else-if="detail.status == 6">
|
||||
<view class="btn bar closeHollow plr30">取消售后</view>
|
||||
<!-- <view class="btn bar closeHollow plr30">钱款去向</view> -->
|
||||
<view class="btn bar warmHollow plr30" v-if="detail.afterSaleStatus === 1">
|
||||
申请平台介入</view>
|
||||
</template>
|
||||
</template>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 物流弹窗 -->
|
||||
<expressVue ref="expressRef" @confirm="handleExpressConfirm" />
|
||||
</template>
|
||||
|
||||
<style lang="scss">
|
||||
|
|
|
@ -146,9 +146,14 @@
|
|||
// 编辑订单状态文字
|
||||
if (item.refundStatus != 0) {
|
||||
item.status_text = {
|
||||
'1': '售后中',
|
||||
'3': '售后完成',
|
||||
} [item.refundStatus]
|
||||
'0': '待审核',
|
||||
'1': '商家拒绝',
|
||||
'2': '退款中',
|
||||
'3': '已退款',
|
||||
'4': '用户退货',
|
||||
'5': '商家待收货',
|
||||
'6': '已撤销',
|
||||
} [item.afterSaleStatus]
|
||||
} else {
|
||||
item.status_text = {
|
||||
'0': '待支付',
|
||||
|
@ -224,6 +229,23 @@
|
|||
Object.assign(orderDetail, {}, item)
|
||||
proxy.$refs.expressRef.open()
|
||||
}
|
||||
|
||||
/**
|
||||
* 填写退货物流信息
|
||||
* @param {Object} param
|
||||
*/
|
||||
function handleExpressConfirm(param) {
|
||||
let data = {
|
||||
...param,
|
||||
id: orderDetail.id,
|
||||
}
|
||||
console.log('orderupdateRefund', data)
|
||||
|
||||
order.orderupdateRefund(data).then(res => {
|
||||
// 重载列表
|
||||
refreshList()
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -254,42 +276,55 @@
|
|||
<!-- 操作按钮 -->
|
||||
<template #menu="scope">
|
||||
<view class="menu ptb20 df jcr" v-if="[0,1,4,5,6].includes(scope.item.status)">
|
||||
<!-- 售后中 -->
|
||||
<template v-if="scope.item.refundStatus == 1">
|
||||
<view class="btn bar warmHollow plr30" @click.stop="handleExpress(scope.item)">
|
||||
填写退货物流信息</view>
|
||||
<template v-if="scope.item.refundStatus == 4">
|
||||
<view class="btn bar warmHollow plr30" @click.stop="handleExpress(scope.item)">
|
||||
填写退货物流信息</view>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<!-- 非售后 -->
|
||||
<template v-else-if="scope.item.refundStatus == 0">
|
||||
<!-- 待支付 -->
|
||||
<template v-if="scope.item.status == 0">
|
||||
<view class="btn bar closeHollow plr30" @click.stop="handleCancel(scope.item)">
|
||||
取消订单</view>
|
||||
<view class="btn bar warmHollow plr30" @click.stop="order.orderPay(item)">
|
||||
继续付款
|
||||
<view class="btn bar warmHollow plr30" @click.stop="order.orderPay(item)">继续付款
|
||||
</view>
|
||||
</template>
|
||||
<!-- 待发货 -->
|
||||
<template v-else-if="scope.item.status == 1">
|
||||
<view class="btn bar closeHollow plr30"
|
||||
@click.stop="order.orderAfterSales(item)">申请退款</view>
|
||||
<view class="btn bar closeHollow plr30" @click.stop="handleCancel(scope.item)">
|
||||
取消订单</view>
|
||||
<!-- <view class="btn bar warmHollow plr30">催发货</view> -->
|
||||
</template>
|
||||
<!-- 待收货 -->
|
||||
<template v-else-if="scope.item.status == 4">
|
||||
<view class="btn bar closeHollow plr30"
|
||||
@click.stop="order.orderAfterSales(item)">申请退款</view>
|
||||
<view class="btn bar closeHollow plr30" @click.stop="order.logistics(item)">
|
||||
查看物流
|
||||
@click.stop="order.orderAfterSales(scope.item)">申请退款</view>
|
||||
<view class="btn bar closeHollow plr30" v-if="scope.item.afterSaleStatus === 1">
|
||||
申请平台介入</view>
|
||||
<view class="btn bar closeHollow plr30"
|
||||
@click.stop="order.logistics(scope.item)">查看物流
|
||||
</view>
|
||||
<view class="btn bar warmHollow plr30" @click.stop="handleReceived(item)">
|
||||
<view class="btn bar warmHollow plr30" @click.stop="handleReceived(scope.item)">
|
||||
确认收货
|
||||
</view>
|
||||
</template>
|
||||
<!-- 已收货 -->
|
||||
<template v-else-if="scope.item.status == 5">
|
||||
<view class="btn bar closeHollow plr30" v-if="scope.item.afterSaleStatus === 1">
|
||||
申请平台介入</view>
|
||||
<view class="btn bar closeHollow plr30"
|
||||
@click.stop="order.orderAfterSales(item)">申请退款</view>
|
||||
@click.stop="order.orderAfterSales(scope.item)">申请退款</view>
|
||||
<view class="btn bar warmHollow plr30">评价</view>
|
||||
</template>
|
||||
<!-- 已完成 -->
|
||||
<template v-else-if="scope.item.status == 6">
|
||||
<view class="btn bar closeHollow plr30">取消售后</view>
|
||||
<view class="btn bar closeHollow plr30">钱款去向</view>
|
||||
<view class="btn bar warmHollow plr30">平台介入</view>
|
||||
<!-- <view class="btn bar closeHollow plr30">钱款去向</view> -->
|
||||
<view class="btn bar warmHollow plr30" v-if="scope.item.afterSaleStatus === 1">
|
||||
申请平台介入</view>
|
||||
</template>
|
||||
</template>
|
||||
</view>
|
||||
|
@ -301,7 +336,7 @@
|
|||
</view>
|
||||
|
||||
<!-- 物流弹窗 -->
|
||||
<expressVue ref="expressRef" />
|
||||
<expressVue ref="expressRef" @confirm="handleExpressConfirm" />
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
let result = []
|
||||
|
||||
// 待收货
|
||||
if ([4].includes(detail.status)) {
|
||||
if ([1,4].includes(detail.status)) {
|
||||
result.push({
|
||||
type: 1,
|
||||
name: '我要退款(无需退货)',
|
||||
|
|
|
@ -409,3 +409,19 @@ likeType
|
|||
2. 收藏分享佣金
|
||||
3. 钱包明细
|
||||
|
||||
|
||||
|
||||
商家入驻之后 所以得都在后台管理申请子账号 5个之内 随意申请 5个之外需要提交申请 商家可以对自己的子账号进行管理
|
||||
账号 昵称 密码 订单权限 删除
|
||||
商家客服可以和平台用户聊天 根据权限管理该商户下的订单 处理订单售后
|
||||
|
||||
平台建立子账号 做官方客服
|
||||
账号 昵称 密码 删除 管理所有用户发起平台介入的订单
|
||||
登录app和用户聊天
|
||||
|
||||
子账号不能登录app 并且区分身份标识
|
||||
|
||||
商品评论
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -29,7 +29,8 @@ export default createStore({
|
|||
"DAY_POINTS_RELEASE": 0.3, //每日积分释放
|
||||
"TASK_READING_SECOND": 300, //任务读秒
|
||||
"EFFECTIVE_SECONDS": 300, //有效读秒
|
||||
"EFFECTIVE_VIDEO_TIME": 20 //有效视频时间
|
||||
"EFFECTIVE_VIDEO_TIME": 20 ,//有效视频时间
|
||||
"UNLOCK_FLOW_STATISTICS": 30, //解锁流量统计
|
||||
},
|
||||
},
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import uni from '@dcloudio/vite-plugin-uni';
|
|||
|
||||
//
|
||||
// let target = 'http://91f.xyz:8080'
|
||||
let target = 'http://yz78nt.natappfree.cc'
|
||||
let target = 'http://rud57d.natappfree.cc'
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [uni()],
|
||||
|
|
Loading…
Reference in New Issue