登录 加载中

This commit is contained in:
魏啾
2024-08-08 17:42:59 +08:00
parent dfa5c79ec8
commit 61cbc5c846
4 changed files with 120 additions and 112 deletions

41
App.vue
View File

@@ -1,5 +1,4 @@
<template> <template>
<button v-show="false" open-type="getPhoneNumber" @getphonenumber="userlogin"> </button>
</template> </template>
<script> <script>
export default { export default {
@@ -8,23 +7,47 @@
uni.cache.set('menuInfo', uni.getMenuButtonBoundingClientRect()); uni.cache.set('menuInfo', uni.getMenuButtonBoundingClientRect());
// #endif // #endif
uni.cache.set('NAME', '零点八零'); uni.cache.set('NAME', '零点八零');
this.userlogin()
}, },
onLoad() {}, onLoad() {},
onShow: function() { onShow: function() {
this.$store.dispatch("HeightActions"); //获取随时获取页面的高度 this.$store.dispatch("HeightActions"); //获取随时获取页面的高度
// #ifdef MP-WEIXIN
// 当向小程序后台请求完新版本信息会进行回调。res: {hasUpdate: true, version: 1.0.0}
const updateManager = uni.getUpdateManager();
updateManager.onCheckForUpdate(function(res) {
if (res.hasUpdate) { // 有更新
uni.showLoading({
title: '更新中...'
}); // 开始下载前显示Loading
}
});
// 当新版本下载完成,会进行回调
updateManager.onUpdateReady(function() {
uni.hideLoading(); // 关闭 Loading
uni.showModal({ // 弹确认框(强制更新)
title: '更新提示',
content: '更新完毕,是否重启?',
success: function(res) {
if (res.confirm) {
updateManager.applyUpdate(); // 强制小程序重启并使用新版本。
}
}
})
});
// 当新版本下载失败,会进行回调
updateManager.onUpdateFailed(function() {
uni.hideLoading(); // 关闭 Loading
uni.showToast({
title: '更新失败,稍后再试...',
icon: "error"
});
});
// #endif
}, },
onHide: function() { onHide: function() {
// console.log('App Hide'); // console.log('App Hide');
}, },
methods: {
userlogin() {
if (!uni.cache.get('token')) {
this.$store.dispatch("loginEvent"); //获取shapid
}
}
}
}; };
</script> </script>

View File

@@ -16,11 +16,11 @@ const baseUrlwws = 'ws://cashier.sxczgkj.cn/cashierService'
// #endif // #endif
// #ifdef APP || MP-WEIXIN // #ifdef APP || MP-WEIXIN
// const baseUrl = debug ? proxyApi : 'https://cashier.sxczgkj.cn/cashierService' // 线上 const baseUrl = debug ? proxyApi : 'https://cashier.sxczgkj.cn/cashierService' // 线上
// const baseUrlwws = debug ? proxyApiwws : 'wss://cashier.sxczgkj.cn/netty' // 线上 const baseUrlwws = debug ? proxyApiwws : 'wss://cashier.sxczgkj.cn/netty' // 线上
const baseUrl = 'https://cashier.sxczgkj.cn/cashierService' // 线上 // const baseUrl = 'https://cashier.sxczgkj.cn/cashierService' // 线上
const baseUrlwws = 'wss://cashier.sxczgkj.cn/netty' // 线上/ // const baseUrlwws = 'wss://cashier.sxczgkj.cn/netty' // 线上/
// #endif // #endif
// import VConsole from "./vConsole.js" // import VConsole from "./vConsole.js"

View File

@@ -104,19 +104,14 @@ async function request(options) {
if (res.code != 0) { if (res.code != 0) {
console.log(options) console.log(options)
if (res.code == -4) { if (res.code == -4) {
// uni.showToast({ uni.showToast({
// title: '', title: res.message || res.msg,
// // title: res.message || res.msg, icon: "none",
// icon: "none", success: () => {
// success: () => {
// setTimeout(res => { }
// store.dispatch("loginEvent"); //获取shapid })
// }, 1000)
// }
// })
setTimeout(res => {
store.dispatch("loginEvent"); //获取shapid
}, 1000)
} else if (res.code == 482) { } else if (res.code == 482) {
let nowTime = new Date() / 1000 | 0 let nowTime = new Date() / 1000 | 0
let offset = parseInt(res.data.message) - parseInt(nowTime); let offset = parseInt(res.data.message) - parseInt(nowTime);

View File

@@ -110,10 +110,11 @@
<!-- ?x-oss-process=image/resize,m_lfit,w_200,h_200,limit_90 --> <!-- ?x-oss-process=image/resize,m_lfit,w_200,h_200,limit_90 -->
<view class="goods" @click="clickspecifications(item1,index,index1)" <view class="goods" @click="clickspecifications(item1,index,index1)"
v-for="(item1,index1) in item.products" :key="index1"> v-for="(item1,index1) in item.products" :key="index1">
<image class="goodsImg" v-if="item1.coverImg!=null" :lazy-load="true" <image class="goodsImg" v-if="item1.coverImg!=null" :lazy-load="true"
@load="imageLoaded(item1,index,index1)" @load="imageLoaded(item1,index,index1)"
:src="`${item1.coverImg}${!item1.imgLoad?'?x-oss-process=image/resize,m_lfit,w_300,h_300':''}`" mode="aspectFill"></image> :src="`${item1.coverImg}${!item1.imgLoad?'?x-oss-process=image/resize,m_lfit,w_300,h_300':''}`"
<!-- <image class="goodsImg" v-if="item1.coverImg!=null" :lazy-load="true" mode="aspectFill"></image>
<!-- <image class="goodsImg" v-if="item1.coverImg!=null" :lazy-load="true"
:src="`${item1.coverImg}`" mode="aspectFill"></image> --> :src="`${item1.coverImg}`" mode="aspectFill"></image> -->
<image class="goodsImg" src="@/static/1.gif" mode="" v-else :lazy-load="true"></image> <image class="goodsImg" src="@/static/1.gif" mode="" v-else :lazy-load="true"></image>
<view v-if="item.name=='热销'" class="topSort" :class="'c'+(index1+1)">TOP{{index1+1}} <view v-if="item.name=='热销'" class="topSort" :class="'c'+(index1+1)">TOP{{index1+1}}
@@ -277,7 +278,7 @@
<view class="shop_sku_box_name"> <view class="shop_sku_box_name">
{{item.name}} {{item.name}}
</view> </view>
<view class="flex-start" > <view class="flex-start">
<view class="shop_sku_box_item" v-for="(item1,index1) in item.children" :key="index1" <view class="shop_sku_box_item" v-for="(item1,index1) in item.children" :key="index1"
@click="morloe(item1,index,index1,item)" :style="{color:!item1.isGrounding?'#999':''}" @click="morloe(item1,index,index1,item)" :style="{color:!item1.isGrounding?'#999':''}"
:class=" item.start == index1 ?'shop_sku_box_item_selected':''"> :class=" item.start == index1 ?'shop_sku_box_item_selected':''">
@@ -389,22 +390,11 @@
this.$store.getters.is_BarHeight.customBar) this.$store.getters.is_BarHeight.customBar)
} }
}, },
onReady() {
// setTimeout(() => {
// uni.getSystemInfo({
// success: (data) => {
// this.scrollHeight = data.windowHeight
// }
// })
// }, 100);
},
onLoad(e) { onLoad(e) {
if (e.q) { if (e.q) {
this.tableCode = this.getQueryString(decodeURIComponent(e.q), 'code') this.tableCode = this.getQueryString(decodeURIComponent(e.q), 'code')
uni.cache.set('tableCode', this.tableCode) uni.cache.set('tableCode', this.tableCode)
} }
uni.cache.set('types', 'types');
}, },
onUnload() { onUnload() {
if (this.socketTicket) { if (this.socketTicket) {
@@ -427,28 +417,26 @@
uni.login({ uni.login({
provider: 'weixin', provider: 'weixin',
success: async (data) => { success: async (data) => {
try { uni.getUserInfo({
uni.getUserInfo({ provider: 'weixin',
provider: 'weixin', success: async (infoRes) => {
success: async (infoRes) => { uni.cache.set('weixincode', data.code);
uni.cache.set('weixincode', data.code); let res = await this.api.userwxlogin({
let res = await this.api.userwxlogin({ code: uni.cache.get('weixincode'), //临时登录凭证
code: uni.cache.get('weixincode'), //临时登录凭证 rawData: infoRes.rawData
rawData: infoRes.rawData })
}) if (res.code == 0) {
if (res.code == 0) { uni.cache.set('token', res.data.token);
uni.cache.set('token', res.data.token); uni.cache.set('miniAppOpenId', res.data.userInfo
uni.cache.set('miniAppOpenId', res.data.userInfo .miniAppOpenId)
.miniAppOpenId) uni.cache.set('userInfo', res.data.userInfo);
uni.cache.set('userInfo', res.data.userInfo); uni.$on('message', this.getMessage)
uni.$on('message', this.getMessage)
_this.getLocation()
_this.getLocation() }
} },
}, fail: (err) => {}
fail: (err) => {} });
});
} catch (e) {}
} }
}); });
}, },
@@ -476,36 +464,39 @@
"type": "connect", "type": "connect",
}) })
}, },
/** /**
* 获取定位 * 获取定位
*/ */
getLocation () { getLocation() {
uni.getLocation({ try {
type: 'wgs84', uni.getLocation({
success: async (res) => { type: 'wgs84',
let successres = await this.api.geocodelocation({ success: async (res) => {
lng: res.longitude, let successres = await this.api.geocodelocation({
lat: res.latitude,
})
if (successres.code == 0) {
let datastorage = {
country: successres.data.addressComponent.country, // "中国"
province: successres.data.addressComponent.province, //province: "陕西省"
address: successres.data.addressComponent.city, //district: "西安市"
district: successres.data.addressComponent.district, //district: "未央区"
lng: res.longitude, lng: res.longitude,
lat: res.latitude, lat: res.latitude,
})
if (successres.code == 0) {
let datastorage = {
country: successres.data.addressComponent.country, // "中国"
province: successres.data.addressComponent.province, //province: "陕西省"
address: successres.data.addressComponent.city, //district: "西安市"
district: successres.data.addressComponent.district, //district: "未央区"
lng: res.longitude,
lat: res.latitude,
}
uni.cache.set('getLocationstorage', datastorage);
this.productqueryShop();
} }
uni.cache.set('getLocationstorage', datastorage); },
fail: async (err) => {
this.productqueryShop(); this.productqueryShop();
} }
}, });
fail: async (err) => { } catch (e) {
console.log(err, '获取错误') //测试用于app this.productqueryShop();
this.productqueryShop(); }
}
});
}, },
/** /**
@@ -514,8 +505,8 @@
async productqueryShop() { async productqueryShop() {
let res = await this.api.productqueryShop({ let res = await this.api.productqueryShop({
code: uni.cache.get('tableCode'), code: uni.cache.get('tableCode'),
lng: uni.cache.get('getLocationstorage').lng?uni.cache.get('getLocationstorage').lng:'', lng: uni.cache.get('getLocationstorage').lng ? uni.cache.get('getLocationstorage').lng : '',
lat: uni.cache.get('getLocationstorage').lat? uni.cache.get('getLocationstorage').lat:'', lat: uni.cache.get('getLocationstorage').lat ? uni.cache.get('getLocationstorage').lat : '',
}) })
if (res.code == 0) { if (res.code == 0) {
uni.cache.set('shopUser', res.data.storeInfo.id) uni.cache.set('shopUser', res.data.storeInfo.id)
@@ -529,18 +520,18 @@
} }
}, },
/** /**
* 图片加载 * 图片加载
*/ */
imageLoaded (item,index,index1) { imageLoaded(item, index, index1) {
console.log(index) console.log(index)
console.log(index1) console.log(index1)
console.log(this.shopProductList.productInfo[index]) console.log(this.shopProductList.productInfo[index])
this.shopProductList.productInfo[index].products[index1]['imgLoad'] = true; this.shopProductList.productInfo[index].products[index1]['imgLoad'] = true;
// e.currentTarget.src // e.currentTarget.src
}, },
/** /**
* 商品数量增加/减少 * 商品数量增加/减少
* @param {Object} item * @param {Object} item
@@ -735,7 +726,7 @@
start: -1, start: -1,
children: [] children: []
} }
item.value.split(",").forEach((v,e)=>{ item.value.split(",").forEach((v, e) => {
res.children.push({ res.children.push({
name: v, name: v,
isGrounding: false isGrounding: false
@@ -743,7 +734,7 @@
}) })
return res return res
}) })
//初始化第一列规格可编辑 //初始化第一列规格可编辑
let filteredJson; let filteredJson;
let isSkuidname = []; let isSkuidname = [];
@@ -756,14 +747,14 @@
console.log(filteredJson); console.log(filteredJson);
for (let i = 0; i < filteredJson.length; i++) { for (let i = 0; i < filteredJson.length; i++) {
console.log(filteredJson[i].isGrounding) console.log(filteredJson[i].isGrounding)
if ( filteredJson[i].isGrounding ) { if (filteredJson[i].isGrounding) {
this.specifications.tagSnap[0].children[o].isGrounding = true this.specifications.tagSnap[0].children[o].isGrounding = true
break; // 终止循环 break; // 终止循环
} }
} }
} }
this.skuBtnText = `您还没选择${this.specifications.tagSnap[0].name}` this.skuBtnText = `您还没选择${this.specifications.tagSnap[0].name}`
// this.specifications.tagSnap.forEach((val, index, arr) => { //初始化skuidname的数据 选择第一个 // this.specifications.tagSnap.forEach((val, index, arr) => { //初始化skuidname的数据 选择第一个
@@ -787,7 +778,7 @@
* @param {Object} item * @param {Object} item
*/ */
async morloe(e, index, index1, item) { async morloe(e, index, index1, item) {
if ( !e.isGrounding ) { if (!e.isGrounding) {
return; return;
} }
@@ -801,18 +792,18 @@
} }
this.skuidname = []; this.skuidname = [];
this.specifications.tagSnap.forEach((val, i, arr) => { //初始化skuidname的数据 选择第一个 this.specifications.tagSnap.forEach((val, i, arr) => { //初始化skuidname的数据 选择第一个
if ( i > index ) { if (i > index) {
val.children.forEach(( v1,e1)=>{ val.children.forEach((v1, e1) => {
v1.isGrounding = false; v1.isGrounding = false;
}) })
val.start = -1; val.start = -1;
} }
if ( val.start >= 0 ) { if (val.start >= 0) {
this.skuidname.push(val.children[val.start].name) this.skuidname.push(val.children[val.start].name)
} }
}) })
// this.skuidname.splice(index, 1, e.info); //替换skuidname的数据 // this.skuidname.splice(index, 1, e.info); //替换skuidname的数据
for (let i = 0; i < this.specifications.tagSnap.length; i++) { for (let i = 0; i < this.specifications.tagSnap.length; i++) {
if (this.specifications.tagSnap[i].start < 0) { if (this.specifications.tagSnap[i].start < 0) {
this.isSpec = false; this.isSpec = false;
@@ -820,36 +811,36 @@
break; // 终止循环 break; // 终止循环
} }
} }
let filteredJson; let filteredJson;
let isSkuidname = []; let isSkuidname = [];
//提前下一列规格循环,查看是否有下架规格 //提前下一列规格循环,查看是否有下架规格
if ( this.specifications.tagSnap[index+1] ) { if (this.specifications.tagSnap[index + 1]) {
for (let o = 0; o < this.specifications.tagSnap[index+1].children.length; o++) { for (let o = 0; o < this.specifications.tagSnap[index + 1].children.length; o++) {
isSkuidname = JSON.parse(JSON.stringify(this.skuidname)); isSkuidname = JSON.parse(JSON.stringify(this.skuidname));
isSkuidname.push(this.specifications.tagSnap[index+1].children[o].name) isSkuidname.push(this.specifications.tagSnap[index + 1].children[o].name)
//筛选符合条件的规格列表 //筛选符合条件的规格列表
console.log(isSkuidname); console.log(isSkuidname);
filteredJson = this.querySpecList.filter(obj => obj.specSnap.indexOf(isSkuidname) == 0); filteredJson = this.querySpecList.filter(obj => obj.specSnap.indexOf(isSkuidname) == 0);
console.log(filteredJson); console.log(filteredJson);
for (let i = 0; i < filteredJson.length; i++) { for (let i = 0; i < filteredJson.length; i++) {
console.log(filteredJson[i].isGrounding) console.log(filteredJson[i].isGrounding)
if ( filteredJson[i].isGrounding ) { if (filteredJson[i].isGrounding) {
this.specifications.tagSnap[index+1].children[o].isGrounding = true this.specifications.tagSnap[index + 1].children[o].isGrounding = true
break; // 终止循环 break; // 终止循环
} }
} }
} }
} }
// res.data.forEach((v,e)=>{ // res.data.forEach((v,e)=>{
// // this.$set(this.specifications.tagSnap[e], 'children', v.value) // // this.$set(this.specifications.tagSnap[e], 'children', v.value)
// }) // })
console.log(this.specifications.tagSnap) console.log(this.specifications.tagSnap)
this.$forceUpdate(); this.$forceUpdate();
this.hodgepodge(item, 2) this.hodgepodge(item, 2)
}, },
@@ -1035,7 +1026,6 @@
/* 获取最后一项的高度,设置填充高度。判断和填充时做了 +-20 的操作,是为了滚动时更好的定位 */ /* 获取最后一项的高度,设置填充高度。判断和填充时做了 +-20 的操作,是为了滚动时更好的定位 */
let last = res[res.length - 1].height; let last = res[res.length - 1].height;
if (last - 20 < this.scrollHeight) { if (last - 20 < this.scrollHeight) {
// this.fillHeight = this.scrollHeight - last + 20; //这是吸到顶部的距离
this.fillHeight = 200; this.fillHeight = 200;
} }
}); });