代码更新

This commit is contained in:
GaoHao
2025-03-12 14:13:29 +08:00
parent 2f1523d4e9
commit c2135c6119
105 changed files with 2026 additions and 278 deletions

View File

@@ -3,9 +3,9 @@
<up-image :src="data.coverImg" mode="aspectFill" :width="img.width" :height="img.height"></up-image>
<view class="info u-flex u-row-between u-col-top u-flex-col">
<view>
<view>
<text class="u-line-2">{{data.name}}</text>
<view >
<view >
<text class="up-line-1">{{data.name}}</text>
</view>
<view class="u-font-32 font-bold u-m-t-16">
{{data.lowPrice}}

View File

@@ -138,11 +138,11 @@
import appConfig from '@/config/appConfig.js';
import WebsocketUtil from '@/commons/utils/websocket.js'
import { getShopTable,getShopTableDetail } from '@/api/table.js'
import { getProductList } from '@/api/product.js'
import { categoryPage } from '@/api/cateGory.js'
import { getShopTable,getShopTableDetail } from '@/http/api/table.js'
import { getProductList } from '@/http/api/product.js'
import { categoryPage } from '@/http/api/cateGory.js'
import { inject } from 'vue';
import { getShopInfo } from '@/api/shop.js'
import { getShopInfo } from '@/http/api/shop.js'
const modal = reactive({
@@ -204,7 +204,7 @@
let option = {
type: ''
}
const websocketUtil = inject('websocketUtil'); // 注入 WebSocket 工具类实例
onLoad((opt) => {
option = opt
console.log("opt===",opt)
@@ -233,7 +233,10 @@
// watchChooseuser()
watchChooseTable()
watchUpdate()
data.isGoodsAdd = true;
nextTick(()=>{
onMessage()
})
})
onReady(() => {
getElRect('list-tight-top').then(res => {
@@ -297,85 +300,104 @@
initCart()
}
const websocketUtil = inject('websocketUtil'); // 注入 WebSocket 工具类实例
/**
* socket消息监听
*/
websocketUtil.onMessage(res => {
let msg = JSON.parse(res);
let cartItem;
let cartArr = [];
console.log(msg)
if( msg.msg_id ){
websocketUtil.send(JSON.stringify({
type: 'receipt',
msg_id: msg.msg_id,
}))
}
if( msg.status == 0 ){
infoBox.showToast('添加失败')
data.isGoodsAdd = true;
return;
}
if ( msg.data ) {
cartArr = data.tabbar.reduce((prve,cur)=>{
prve = [...prve,...cur.foods]
return prve
},[])
}
switch (msg.operate_type) {
case 'onboc_init':
cars.length = 0
function onMessage (){
websocketUtil.offMessage()
websocketUtil.onMessage(async res => {
let msg = JSON.parse(res);
let cartItem;
let cartArr = [];
console.log("onMessage===",msg)
if( msg.msg == "收到了"){
data.isCars = true;
console.log("购物车信息onboc_init===",msg)
if( !data.table.tableCode ){
data.table.tableCode = msg.table_code
uni.setStorageSync("table_code",msg.table_code)
}
msg.data.map(item=>{
cartItem = getNowCart(item,cartArr)
cartControls(cartItem,'add')
})
uni.hideLoading()
break;
case 'onboc_add':
case 'add':
cartItem = getNowCart(msg.data,cartArr)
cartControls(cartItem,'add')
infoBox.showToast('操作成功')
break;
case 'onboc_edit':
case 'edit':
cartItem = getNowCart(msg.data,cartArr)
cartControls(cartItem,'edit')
infoBox.showToast('操作成功')
break;
case 'onboc_del':
case 'del':
cartItem = getNowCart(msg.data,cartArr)
cartControls(cartItem,'del')
break;
case 'onboc_cleanup':
case 'cleanup':
cars.length = 0
for (let i in data.tabbar) {
for (let k in data.tabbar[i].foods) {
data.tabbar[i].foods[k].chooseNumber = 0
// initCart()
}
if( msg.msg_id ){
websocketUtil.send(JSON.stringify({
type: 'receipt',
msg_id: msg.msg_id,
}))
}
if( msg.status == 0 ){
infoBox.showToast('添加失败')
data.isGoodsAdd = true;
return;
}
if ( msg.data ) {
cartArr = data.tabbar.reduce((prve,cur)=>{
prve = [...prve,...cur.foods]
return prve
},[])
}
switch (msg.operate_type) {
case 'onboc_init':
cars.length = 0
data.isCars = true;
console.log("购物车信息onboc_init===",msg)
if( !data.table.tableCode ){
data.table.tableCode = msg.table_code
uni.setStorageSync("table_code",msg.table_code)
}
}
break;
case 'init':
case 'rottable':
initCart()
break;
case 'product_update':
init()
break;
}
});
console.log("cartArr===",cartArr)
msg.data.map(item=>{
cartItem = getNowCart(item,cartArr)
console.log("cartItem===",cartItem)
if( cartItem.isGrounding||cartItem.is_temporary == 1 ){
cartControls(cartItem,'add')
} else {
delCart(cartItem.id)
}
})
uni.hideLoading()
break;
case 'onboc_add':
case 'add':
cartItem = getNowCart(msg.data,cartArr)
cartControls(cartItem,'add')
infoBox.showToast('操作成功')
break;
case 'onboc_edit':
case 'edit':
cartItem = getNowCart(msg.data,cartArr)
cartControls(cartItem,'edit')
infoBox.showToast('操作成功')
break;
case 'onboc_del':
case 'del':
cartItem = getNowCart(msg.data,cartArr)
cartControls(cartItem,'del')
break;
case 'onboc_cleanup':
case 'cleanup':
cars.length = 0
for (let i in data.tabbar) {
for (let k in data.tabbar[i].foods) {
data.tabbar[i].foods[k].chooseNumber = 0
}
}
break;
case 'init':
case 'rottable':
if( data.table.tableCode == msg.data.new_table_code){
initCart()
} else {
data.table.tableCode = msg.data.new_table_code
let resData = await getShopTableDetail({tableCode:msg.data.new_table_code})
data.table = resData
initCart()
}
break;
case 'product_update':
init()
break;
}
});
}
/**
@@ -387,6 +409,7 @@
operate_type:'init',
table_code: data.table.tableCode,
}
console.log("购物车初始化参数===",params)
websocketUtil.send(JSON.stringify(params))
@@ -397,8 +420,6 @@
* 购物车添加菜品
*/
function editCart (par,operate_type) {
console.log('购物车添加菜品',par)
console.log("data.table==",data.table)
if( !data.isGoodsAdd ){ return; }
let params = {
...data.socketData,
@@ -410,6 +431,7 @@
is_temporary: 0, //是否是临时菜
}
Object.assign(params, par)
console.log('购物车添加菜品参数===',params)
websocketUtil.send(JSON.stringify(params))
data.isGoodsAdd = false;
}
@@ -424,6 +446,7 @@
operate_type:'del',
table_code: data.table.tableCode,
}
console.log('购物车删除菜品参数===',params)
websocketUtil.send(JSON.stringify(params))
}
@@ -436,6 +459,7 @@
operate_type:'cleanup',
table_code: data.table.tableCode,
}
console.log('购物车清空菜品参数===',params)
websocketUtil.send(JSON.stringify(params))
}
@@ -550,7 +574,7 @@
// })
// }
if( !data.isCars ){
return infoBox.showToast('购物车加载中请稍等...')
return infoBox.showToast('购物车加载失败请刷新重试...')
}
if( !data.isGoodsAdd ){ return; }
let $goods = data.tabbar[index].foods[foodsindex]
@@ -633,6 +657,7 @@
$goods = product_id < 0 ? {} : tabbarItem.foods.find(v => v.id == product_id)
}
})
if( type == 'del' ) {
cars.splice(cartIndex, 1)
if($goods)$goods.chooseNumber = 0;
@@ -725,7 +750,7 @@
// })
// }
if( !data.isCars ){
return infoBox.showToast('购物车加载中请稍等...')
return infoBox.showToast('购物车加载失败请刷新重试...')
}
const $goods = data.tabbar[index].foods[foodsindex]
console.log($goods)
@@ -1109,7 +1134,7 @@
const refweighitem = ref(null)
const tapweigh = (foodsindex, index) => {
if( !data.isCars ){
return infoBox.showToast('购物车加载中请稍等...')
return infoBox.showToast('购物车加载失败请刷新重试...')
}
const goods = data.tabbar[index].foods[foodsindex]
refweighitem.value.open(foodsindex, index, goods)