登录 加载中

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

View File

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