工作代码提交

This commit is contained in:
sx 2025-04-07 08:48:14 +08:00
parent 79742a0a1e
commit c4318615e3
13 changed files with 163 additions and 105 deletions

View File

@ -484,7 +484,7 @@ const shop = {
return util.request({ return util.request({
url: `/shopify/appProductionApi/getProductionList`, url: `/shopify/appProductionApi/getProductionList`,
method: 'GET', method: 'GET',
query: param, query: param.query,
}) })
}, },
@ -496,7 +496,7 @@ const shop = {
return util.request({ return util.request({
url: `/shopify/appOrder/getOrderList`, url: `/shopify/appOrder/getOrderList`,
method: 'GET', method: 'GET',
query: param, query: param.query,
}) })
}, },
} }

View File

@ -7,8 +7,8 @@ const config = {
// #endif // #endif
// #ifndef H5 // #ifndef H5
// host: 'http://91f.xyz:8080', // host: 'http://91f.xyz:8080',
// host: 'http://liuyd.cpolar.top',
host: 'http://liuyd.cpolar.top', host: 'http://liuyd.cpolar.top',
// host: 'http://liuyd.cpolar.top',
// #endif // #endif
// 是否vivo显示 // 是否vivo显示
showVivo: true, showVivo: true,

View File

@ -1,6 +1,6 @@
<script setup> <script setup>
/** /**
* 有效读秒唱片 * 活跃读秒唱片
*/ */
import { import {

View File

@ -1,6 +1,6 @@
<script setup> <script setup>
/** /**
* 优先任务 有效读秒 * 优先任务 活跃读秒
*/ */
import { import {
ref, ref,
@ -30,7 +30,7 @@
const option = { const option = {
// //
0: config.value.TASK_READING_SECOND, 0: config.value.TASK_READING_SECOND,
// //
1: config.value.EFFECTIVE_SECONDS, 1: config.value.EFFECTIVE_SECONDS,
} }
result = (Number(result) % Number(option[task.value.taskType])) / 3 result = (Number(result) % Number(option[task.value.taskType])) / 3
@ -46,7 +46,7 @@
<template> <template>
<view class="task pr mtb30 ptb20 plr40 f28 bFFFBF3 br20"> <view class="task pr mtb30 ptb20 plr40 f28 bFFFBF3 br20">
<view class="title c333 f36" v-if="task.taskType === 0">任务读秒</view> <view class="title c333 f36" v-if="task.taskType === 0">任务读秒</view>
<view class="title c333 f36" v-else>有效读秒</view> <view class="title c333 f36" v-else>活跃读秒</view>
<!-- <view>{{task.viewingDuration}}</view> --> <!-- <view>{{task.viewingDuration}}</view> -->
<view class="progressBox oh bar mt60"> <view class="progressBox oh bar mt60">

View File

@ -251,7 +251,7 @@
<view class="appbw plr30" v-else> <view class="appbw plr30" v-else>
<!-- 有效读秒 --> <!-- 活跃读秒 -->
<view class="task mtb30"> <view class="task mtb30">
<task /> <task />
</view> </view>

View File

@ -39,7 +39,7 @@
import shareFirendAlt from '@/components/index/shareFirend.vue' import shareFirendAlt from '@/components/index/shareFirend.vue'
// 左侧菜单弹窗 // 左侧菜单弹窗
import leftMenuAlt from "@/components/index/leftMenu.vue" import leftMenuAlt from "@/components/index/leftMenu.vue"
// 有效读秒唱片 // 活跃读秒唱片
import disc from '@/components/index/disc.vue' import disc from '@/components/index/disc.vue'
// 长按更多菜单 // 长按更多菜单
import moreMenu from '@/components/index/moreMenu.vue' import moreMenu from '@/components/index/moreMenu.vue'
@ -58,7 +58,7 @@
const dom = uni.requireNativePlugin('dom') const dom = uni.requireNativePlugin('dom')
// 钟表提示弹窗 // 钟表提示弹窗
const oclockWindow = ref(false) const oclockWindow = ref(false)
// 有效读秒 // 活跃读秒
const readSecond = reactive({ const readSecond = reactive({
// 定时器 // 定时器
timer: null, timer: null,
@ -115,7 +115,7 @@
}) })
// 唱片顶部位置 // 唱片顶部位置
const discOffsetTop = ref(0) const discOffsetTop = ref(0)
// 有效读秒顶部位置 // 活跃读秒顶部位置
const complete2Top = ref(0) const complete2Top = ref(0)
// 结束特效配置 // 结束特效配置
const completeConfig = { const completeConfig = {
@ -126,7 +126,7 @@
time: 1.5, time: 1.5,
}, },
} }
// 结束特效键 complete1优先任务特效 complete2有效读秒特效 // 结束特效键 complete1优先任务特效 complete2活跃读秒特效
const completeKey = ref('') const completeKey = ref('')
// 底部菜单高度 // 底部菜单高度
const footerMenuHeight = ref(0) const footerMenuHeight = ref(0)
@ -355,7 +355,7 @@
const data = { const data = {
// 视频id // 视频id
videoId: element.item.id, videoId: element.item.id,
// 有效读秒时间统计 // 活跃读秒时间统计
viewingDuration: Math.floor(element.item.readSecond), viewingDuration: Math.floor(element.item.readSecond),
// 视频秒数 // 视频秒数
videoDescription: Math.floor(element.videoTime.currentTime), videoDescription: Math.floor(element.videoTime.currentTime),
@ -372,22 +372,22 @@
if (rs.code == 200) { if (rs.code == 200) {
// 计数 // 计数
const result = rs.data const result = rs.data
// 现在的有效读秒 // 现在的活跃读秒
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.viewingDuration != 0) {
// 如果原来任务是优先任务 当前任务是有效读秒 // 如果原来任务是优先任务 当前任务是活跃读秒
if (taskValue.taskType == 0 && result.taskType == 1) { if (taskValue.taskType == 0 && result.taskType == 1) {
// 优先任务完成 播放烟花动画 // 优先任务完成 播放烟花动画
console.log('优先任务完成 播放烟花动画') console.log('优先任务完成 播放烟花动画')
handleCompleteMode('complete1') handleCompleteMode('complete1')
} }
// 如果原来任务任务是有效读秒 并且新返回的数据小于当前的任务进度 // 如果原来任务任务是活跃读秒 并且新返回的数据小于当前的任务进度
else if (result.taskType == 1 && (result.viewingDuration < taskValue else if (result.taskType == 1 && (result.viewingDuration < taskValue
.viewingDuration)) { .viewingDuration)) {
console.log('有效读秒完成 播放任务完成动画') console.log('活跃读秒完成 播放任务完成动画')
handleCompleteMode('complete2') handleCompleteMode('complete2')
} }
} }
@ -419,7 +419,7 @@
}, completeConfig[mode].time * 1000) }, completeConfig[mode].time * 1000)
} }
// 有效读秒增加 // 活跃读秒增加
function readSecondAdd() { function readSecondAdd() {
clearInterval(readSecond.timer) clearInterval(readSecond.timer)
// 当前视频对象 // 当前视频对象
@ -427,19 +427,19 @@
// 开启计时器 // 开启计时器
readSecond.timer = setInterval(() => { readSecond.timer = setInterval(() => {
// 当前视频有效读秒 小于等于 最大有效读秒限制(视频最大时长-2s,设置的有效读秒上限) // 当前视频活跃读秒 小于等于 最大活跃读秒限制(视频最大时长-2s,设置的活跃读秒上限)
if (item.readSecond < Math.min(Math.floor(item.videoDuration) - 2, config.value if (item.readSecond < Math.min(Math.floor(item.videoDuration) - 2, config.value
.EFFECTIVE_VIDEO_TIME)) { .EFFECTIVE_VIDEO_TIME)) {
// 增加这条视频的有效读秒 // 增加这条视频的活跃读秒
item.readSecond++ item.readSecond++
} else { } else {
// 暂停有效读秒的统计 // 暂停活跃读秒的统计
readSecondPause() readSecondPause()
} }
}, 1000) }, 1000)
} }
// 暂停有效读秒的统计 // 暂停活跃读秒的统计
function readSecondPause() { function readSecondPause() {
// 暂停唱片 // 暂停唱片
proxy.$refs.discRef && proxy.$refs.discRef.pause() proxy.$refs.discRef && proxy.$refs.discRef.pause()
@ -465,7 +465,7 @@
const lastVideoRef = proxy.$refs[`videoRef${videoId}`][0] const lastVideoRef = proxy.$refs[`videoRef${videoId}`][0]
// 如果视频切换 // 如果视频切换
if (current[tab_index] != currentLast[tab_index]) { if (current[tab_index] != currentLast[tab_index]) {
// 停止当前有效读秒统计 // 停止当前活跃读秒统计
readSecondPause() readSecondPause()
// 浏览记录 // 浏览记录
browseLog(lastVideoRef) browseLog(lastVideoRef)
@ -530,13 +530,13 @@
const lastVideoRef = proxy.$refs[`videoRef${tabIndex.value}`][current[tabIndex.value]] const lastVideoRef = proxy.$refs[`videoRef${tabIndex.value}`][current[tabIndex.value]]
// 暂停当前播放的视频 // 暂停当前播放的视频
lastVideoRef.pause() lastVideoRef.pause()
// 停止当前有效读秒统计 // 停止当前活跃读秒统计
readSecondPause() readSecondPause()
// 浏览记录 // 浏览记录
browseLog(lastVideoRef) browseLog(lastVideoRef)
// 清空累计继续计时 // 清空累计继续计时
readSecond.total += readSecond.count readSecond.total += readSecond.count
// 开始记录有效读秒 // 开始记录活跃读秒
readSecondAdd() readSecondAdd()
} }
tabIndex.value = index tabIndex.value = index
@ -590,7 +590,7 @@
// 视频播放 // 视频播放
function handleVideoOnPlay() { function handleVideoOnPlay() {
if (proxy.$refs.discRef) proxy.$refs.discRef.play() if (proxy.$refs.discRef) proxy.$refs.discRef.play()
// 开始计时有效读秒 // 开始计时活跃读秒
readSecondAdd() readSecondAdd()
} }
@ -797,12 +797,12 @@
<image class="complete1" src="/static/complete1.gif" mode="aspectFit" /> <image class="complete1" src="/static/complete1.gif" mode="aspectFit" />
</template> </template>
<!-- 有效读秒结算 --> <!-- 活跃读秒结算 -->
<view class="complete2" :style="{top: complete2Top + 'px'}" v-if="completeKey == 'complete2'"> <view class="complete2" :style="{top: complete2Top + 'px'}" v-if="completeKey == 'complete2'">
<image class="image" src="/static/complete2.gif" mode="aspectFit" /> <image class="image" src="/static/complete2.gif" mode="aspectFit" />
</view> </view>
<!-- 有效读秒唱片 --> <!-- 活跃读秒唱片 -->
<template v-if="util.config.showVivo"> <template v-if="util.config.showVivo">
<view class="disc pf r0" :style="{top: discOffsetTop+'px'}" v-if="userinfo.id"> <view class="disc pf r0" :style="{top: discOffsetTop+'px'}" v-if="userinfo.id">
<disc ref="discRef" /> <disc ref="discRef" />
@ -882,7 +882,7 @@
transform: translateY(100rpx); transform: translateY(100rpx);
} }
// 有效读秒完成 // 活跃读秒完成
.complete2 { .complete2 {
position: fixed; position: fixed;
justify-content: flex-end; justify-content: flex-end;

View File

@ -30,14 +30,14 @@
return handleAlipayPay(event) return handleAlipayPay(event)
} }
}, },
// { {
// img: '/static/shop-weixin-pay.png', img: '/static/shop-weixin-pay.png',
// name: '', name: '微信支付',
// provider: 'wxpay', provider: 'wxpay',
// apiRequest: (event) => { apiRequest: (event) => {
// return handleWeChat(event) return handleWeChat(event)
// } }
// }, },
]) ])
// //
const paymentIndex = ref(0) const paymentIndex = ref(0)

View File

@ -217,10 +217,10 @@
<image src="/static/mien-dianpuguanli.png" mode="aspectFit" class="wh50" /> <image src="/static/mien-dianpuguanli.png" mode="aspectFit" class="wh50" />
<text class="txt mt10 wsn">商品管理</text> <text class="txt mt10 wsn">商品管理</text>
</view> </view>
<!-- <view class="item ver" @click="link('/pages/shop/store/order')"> <view class="item ver" @click="link('/pages/shop/store/order')">
<image src="/static/mine-dingdanguanli.png" mode="aspectFit" class="wh50" /> <image src="/static/mine-dingdanguanli.png" mode="aspectFit" class="wh50" />
<text class="txt mt10 wsn">订单管理</text> <text class="txt mt10 wsn">订单管理</text>
</view> --> </view>
<!-- <view class="item ver"> <!-- <view class="item ver">
<image src="/static/mine-kehuxiaoxi.png" mode="aspectFit" class="wh50" /> <image src="/static/mine-kehuxiaoxi.png" mode="aspectFit" class="wh50" />
<text class="txt mt10 wsn">客户消息</text> <text class="txt mt10 wsn">客户消息</text>

View File

@ -58,12 +58,13 @@
// //
function getList(option) { function getList(option) {
let param = { api.shop.getShopProductList({
pageSize: listPrototype.pageSize, query: {
pageNum: listPrototype.pageNum, pageSize: listPrototype.pageSize,
merId: option.merId pageNum: listPrototype.pageNum,
} merId: option.merId
api.shop.getShopProductList(param).then(rs => { },
}).then(rs => {
if (rs.code == 200) { if (rs.code == 200) {
if (listPrototype.pageNum == 1) listPrototype.data.length = [] if (listPrototype.pageNum == 1) listPrototype.data.length = []
listPrototype.data.push(...rs.rows) listPrototype.data.push(...rs.rows)

View File

@ -2,33 +2,40 @@
// //
import { import {
ref, ref,
reactive reactive,
computed,
} from 'vue' } from 'vue'
import { import {
onLoad, onLoad,
onPageScroll onPageScroll,
} from '@dcloudio/uni-app'; } from '@dcloudio/uni-app';
import {
useStore
} from 'vuex'
// //
import apex from '@/components/header/apex.vue' import apex from '@/components/header/apex.vue'
// //
import JyShopNavigation from '@/components/public/jy-shop-navigation' import JyShopNavigation from '@/components/public/jy-shop-navigation'
// //
// import JyOrderCard from '@/components/public/jy-order-card'
import orderItem from '@/components/shop/order/item.vue'; import orderItem from '@/components/shop/order/item.vue';
// //
import util from '@/common/js/util'; import util from '@/common/js/util';
//
import api from '@/api/index.js'
//
const store = useStore()
// tabs // tabs
const tabs = reactive([{ const tabs = reactive([{
id: '', id: '',
name: '全部' name: '全部'
}, },
{ {
id: 2, id: 0,
name: '待付款' name: '待付款'
}, },
{ {
id: 3, id: 1,
name: '待发货' name: '待发货'
}, },
{ {
@ -36,52 +43,119 @@
name: '待收货' name: '待收货'
}, },
{ {
id: 6, id: 7,
name: '售后/退款' name: '售后/退款'
} }
]) ])
// tab
const tabIndex = ref(0)
// //
const list = reactive({ const list = reactive({
data: [{ search: '',
status: 1, status: '',
status_text: '待付款', data: [],
}, { pageSize: 10,
status: 2, pageNum: 1,
status_text: '待发货', total: 0,
}, {
status: 3,
status_text: '待收货',
}, {
status: 6,
status_text: '售后中',
}],
})
//
const params = reactive({
currentTab: 0,
search: ''
}) })
// //
const apexBgColor = ref('#ffffff00') const apexBgColor = ref('#ffffff00')
//
const userinfo = computed(() => store.state.userinfo)
onLoad((options) => { onLoad((options) => {
// this.params.currentTab = options.currentTab / 1 //
getList()
}) })
onPageScroll((ev) => { onPageScroll((ev) => {
apexBgColor.value = ev.scrollTop > 44 ? '#fff' : '#ffffff00' apexBgColor.value = ev.scrollTop > 44 ? '#fff' : '#ffffff00'
}) })
//
function refreshList() {
list.pageNum = 1
getList()
}
//
function getMoreList() {
if (list.data.length >= list.total) return
list.pageNum++
getList()
}
//
function getList() {
api.shop.getShopOrderList({
query: {
merId: userinfo.value.merId,
searchStr: list.search,
status: list.status,
pageNum: list.pageNum,
pageSize: list.pageSize,
},
}).then(res => {
if (res.code == 200) {
if (list.pageNum == 1) list.data.length = 0
list.data.push(...res.rows.map(item => {
//
item.status = Number(item.status)
item.refundStatus = Number(item.refundStatus)
//
if (item.refundStatus != 0) {
item.status_text = {
'0': '待审核',
'1': '商家拒绝',
'2': '退款中',
'3': '已退款',
'4': '用户退货',
'5': '商家待收货',
'6': '已撤销',
} [item.afterSaleStatus]
} else {
item.status_text = {
'0': '待支付',
'1': '待发货',
'4': '待收货',
'5': '已收货',
'6': '已完成',
'9': '已取消',
} [item.status]
}
return item
}))
list.total = res.total
return
}
util.alert({
content: res.msg,
showCancel: false
})
})
}
/** /**
* 点击订单列表项 * 点击订单列表项
* @param {Object} ev 订单列表项 * @param {Object} ev 订单列表项
*/ */
function handleItem(ev) { function handleItem(ev) {
console.log('handleItem', ev)
return
uni.navigateTo({ uni.navigateTo({
url: util.setUrl('/pages/shop/order/detail') url: util.setUrl('/pages/shop/order/detail')
}) })
} }
/**
* 点击tab
* @param {Object} ev
*/
function itemClick(ev) {
list.status = ev.id
//
refreshList()
}
</script> </script>
<template> <template>
@ -97,9 +171,9 @@
<view class="app"> <view class="app">
<view class="shopHeaderBg bgColor"></view> <view class="shopHeaderBg bgColor"></view>
<!-- tab选项卡 -->
<view class="f1 pr"> <view class="f1 pr">
<JyShopNavigation :current="params.currentTab" :list="tabs" @tabItemClick="itemClick" marright="25px" <JyShopNavigation v-model="tabIndex" :list="tabs" @tabItemClick="itemClick" />
activeWeight='600' activeColor="#333333" activeBarColor="initial" />
</view> </view>
<view class="product mlr20 pr"> <view class="product mlr20 pr">
@ -107,7 +181,7 @@
<view class="order"> <view class="order">
<template v-for="(item,index) in list.data" :key="index"> <template v-for="(item,index) in list.data" :key="index">
<view class="mtb30"> <view class="mtb30">
<orderItem :item="item" mode="mine" @item="handleItem"> <orderItem :item="item" mode="shop" @item="handleItem">
<template #menu="scope"> <template #menu="scope">
<!-- 收货地址 --> <!-- 收货地址 -->
<view class="menu rows ptb20" v-if="[2,3,4,5,6].includes(scope.item.status)"> <view class="menu rows ptb20" v-if="[2,3,4,5,6].includes(scope.item.status)">

View File

@ -145,8 +145,16 @@ https://cloud.tencent.com/document/product/269/64506
17625025837@139.com 17625025837@139.com
jy3456789@A jy3456789@A
http://1.94.221.165:3000/JY_document/jiuyi-documents/src/branch/main/%E4%B9%9D%E4%BA%BFPRD&%E4%BB%BB%E5%8A%A1%E5%88%86%E8%A7%A3.md
高德地图开放平台
https://lbs.amap.com/
账号
17625025837@163.com
密码
jy3456789
http://1.94.221.165:3000/JY_document/jiuyi-documents/src/branch/main/%E4%B9%9D%E4%BA%BFPRD&%E4%BB%BB%E5%8A%A1%E5%88%86%E8%A7%A3.md
http://1.94.221.165:3000/JY_document/jiuyi-documents/src/branch/main/%E4%B9%9D%E4%BA%BF%E5%90%8E%E5%8F%B0%E7%AE%A1%E7%90%86PRD&%E4%BB%BB%E5%8A%A1%E5%88%86%E8%A7%A3.md http://1.94.221.165:3000/JY_document/jiuyi-documents/src/branch/main/%E4%B9%9D%E4%BA%BF%E5%90%8E%E5%8F%B0%E7%AE%A1%E7%90%86PRD&%E4%BB%BB%E5%8A%A1%E5%88%86%E8%A7%A3.md
后台任务拆解 后台任务拆解
任务拆解账号 任务拆解账号
@ -176,9 +184,7 @@ register
9 挂买榴莲果 9 挂买榴莲果
10 用户互转 10 用户互转
区分商家认证
isShop
1
--- ---
我的交易 我的交易
@ -233,14 +239,6 @@ call_type 通话类型 2为视频1是音频
我的团队 我的团队
点击上级上上级昵称 跳转个人视频主页(关注后可发私信) 点击上级上上级昵称 跳转个人视频主页(关注后可发私信)
充值
支付宝
微信
第三方
购买卷轴 支付方式开关
余额
积分
榴莲果交易市场 针对所有人 开关 榴莲果交易市场 针对所有人 开关
积分 积分
@ -263,18 +261,6 @@ call_type 通话类型 2为视频1是音频
跟平台聊 跟平台聊
可以选择所有的订单聊天 可以选择所有的订单聊天
商城
首页
banner
公告
扫一扫 搜索
商品分类
推荐商品 的 商品列表
商品详情
商品图
价格 商品修改记录
商品名称
销量 分享到消息内的好友
投流推广 投流推广
推流收藏夹视频 商家视频显示出让佣金 推流收藏夹视频 商家视频显示出让佣金
@ -356,6 +342,3 @@ call_type 通话类型 2为视频1是音频
子账号不能登录app 并且区分身份标识 子账号不能登录app 并且区分身份标识

View File

@ -28,7 +28,7 @@ export default createStore({
config: { config: {
"DAY_POINTS_RELEASE": 0.3, //每日积分释放 "DAY_POINTS_RELEASE": 0.3, //每日积分释放
"TASK_READING_SECOND": 300, //任务读秒 "TASK_READING_SECOND": 300, //任务读秒
"EFFECTIVE_SECONDS": 300, //有效读秒 "EFFECTIVE_SECONDS": 300, //活跃读秒
"EFFECTIVE_VIDEO_TIME": 20, //有效视频时间 "EFFECTIVE_VIDEO_TIME": 20, //有效视频时间
"UNLOCK_FLOW_STATISTICS": 30, //解锁流量统计 "UNLOCK_FLOW_STATISTICS": 30, //解锁流量统计
}, },

View File

@ -4,8 +4,8 @@ import {
import uni from '@dcloudio/vite-plugin-uni'; import uni from '@dcloudio/vite-plugin-uni';
// let target = 'http://91f.xyz:8080' // let target = 'http://91f.xyz:8080'
// let target = 'http://liuyd.cpolar.top ' let target = 'http://liuyd.cpolar.top '
let target = 'http://liuyd.cpolar.top' // let target = 'http://3qkcs4.natappfree.cc'
export default defineConfig({ export default defineConfig({
plugins: [uni()], plugins: [uni()],