工作代码提交

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -217,10 +217,10 @@
<image src="/static/mien-dianpuguanli.png" mode="aspectFit" class="wh50" />
<text class="txt mt10 wsn">商品管理</text>
</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" />
<text class="txt mt10 wsn">订单管理</text>
</view> -->
</view>
<!-- <view class="item ver">
<image src="/static/mine-kehuxiaoxi.png" mode="aspectFit" class="wh50" />
<text class="txt mt10 wsn">客户消息</text>

View File

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

View File

@ -2,33 +2,40 @@
//
import {
ref,
reactive
reactive,
computed,
} from 'vue'
import {
onLoad,
onPageScroll
onPageScroll,
} from '@dcloudio/uni-app';
import {
useStore
} from 'vuex'
//
import apex from '@/components/header/apex.vue'
//
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 util from '@/common/js/util';
//
import api from '@/api/index.js'
//
const store = useStore()
// tabs
const tabs = reactive([{
id: '',
name: '全部'
},
{
id: 2,
id: 0,
name: '待付款'
},
{
id: 3,
id: 1,
name: '待发货'
},
{
@ -36,52 +43,119 @@
name: '待收货'
},
{
id: 6,
id: 7,
name: '售后/退款'
}
])
// tab
const tabIndex = ref(0)
//
const list = reactive({
data: [{
status: 1,
status_text: '待付款',
}, {
status: 2,
status_text: '待发货',
}, {
status: 3,
status_text: '待收货',
}, {
status: 6,
status_text: '售后中',
}],
})
//
const params = reactive({
currentTab: 0,
search: ''
search: '',
status: '',
data: [],
pageSize: 10,
pageNum: 1,
total: 0,
})
//
const apexBgColor = ref('#ffffff00')
//
const userinfo = computed(() => store.state.userinfo)
onLoad((options) => {
// this.params.currentTab = options.currentTab / 1
//
getList()
})
onPageScroll((ev) => {
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 订单列表项
*/
function handleItem(ev) {
console.log('handleItem', ev)
return
uni.navigateTo({
url: util.setUrl('/pages/shop/order/detail')
})
}
/**
* 点击tab
* @param {Object} ev
*/
function itemClick(ev) {
list.status = ev.id
//
refreshList()
}
</script>
<template>
@ -97,9 +171,9 @@
<view class="app">
<view class="shopHeaderBg bgColor"></view>
<!-- tab选项卡 -->
<view class="f1 pr">
<JyShopNavigation :current="params.currentTab" :list="tabs" @tabItemClick="itemClick" marright="25px"
activeWeight='600' activeColor="#333333" activeBarColor="initial" />
<JyShopNavigation v-model="tabIndex" :list="tabs" @tabItemClick="itemClick" />
</view>
<view class="product mlr20 pr">
@ -107,7 +181,7 @@
<view class="order">
<template v-for="(item,index) in list.data" :key="index">
<view class="mtb30">
<orderItem :item="item" mode="mine" @item="handleItem">
<orderItem :item="item" mode="shop" @item="handleItem">
<template #menu="scope">
<!-- 收货地址 -->
<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
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
后台任务拆解
任务拆解账号
@ -176,9 +184,7 @@ register
9 挂买榴莲果
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 并且区分身份标识

View File

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

View File

@ -4,8 +4,8 @@ import {
import uni from '@dcloudio/vite-plugin-uni';
// 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({
plugins: [uni()],