Files
gxtyzx-uniapp/dist/dev/mp-weixin/pages/shop/shop.js
T

374 lines
11 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use strict";
const common_vendor = require("../../common/vendor.js");
const api_shop_goods_index = require("../../api/shop/goods/index.js");
const api_shop_goodsCategory_index = require("../../api/shop/goodsCategory/index.js");
const uni_modules_uvUiTools_libs_function_index = require("../../uni_modules/uv-ui-tools/libs/function/index.js");
const store_modules_tenant = require("../../store/modules/tenant.js");
const tenantStore = store_modules_tenant.useTenantStore();
const _sfc_main = {
data() {
return {
goodsList: [],
// 瀑布流全部数据
list1: [],
// 瀑布流第一列数据
list2: [],
// 瀑布流第二列数据
goodsCategoryList: [],
// 商品分类
leftGap: 10,
rightGap: 10,
columnGap: 10,
// 小程序导航图标
navigation: [],
// 骨架屏
hideTools: true,
// 商品分类
categoryId: void 0
};
},
computed: {
imageStyle(item) {
return (item2) => {
const v = common_vendor.index.upx2px(750) - this.leftGap - this.rightGap - this.columnGap;
const w = v / 2;
const rate = w / item2.w;
const h = rate * item2.h;
return {
width: w + "px",
height: h + "px"
};
};
}
},
async onLoad() {
const info = await tenantStore.fetchTenantInfo();
if (info.mpMenus) {
const arr1 = info.mpMenus.filter((d) => d.type == 3);
console.log("info.mpMenus: ", arr1);
if (arr1) {
this.navigation = arr1;
}
}
this.reload();
},
methods: {
async reload() {
const app = this;
const info = await tenantStore.fetchTenantInfo();
if (common_vendor.index.getStorageSync("user_id") && common_vendor.index.getStorageSync("access_token")) {
app.isLogin = true;
}
if (info.mpMenus) {
const arr1 = info.mpMenus.filter((d) => d.type == 3);
console.log("info.mpMenus: ", arr1);
if (arr1) {
app.navigation = arr1;
}
}
Promise.all([app.pageGoods(), app.getGoodsCategory()]).then((res) => {
app.goodsList = res[0];
app.goodsCategoryList = res[1];
app.hideTools = false;
});
},
pageGoods() {
const { categoryId } = this;
return new Promise((resolve, reject) => {
api_shop_goods_index.pageGoods({ parentId: categoryId }).then((result) => {
resolve(result.list);
}).catch(reject);
});
},
getGoodsCategory() {
return new Promise((resolve, reject) => {
api_shop_goodsCategory_index.pageGoodsCategory({ parentId: 0 }).then((result) => {
resolve(result.list);
}).catch(reject);
});
},
navTo(item) {
common_vendor.index.navigateTo({
url: "/package/goods/detail?id=" + item.goodsId
});
},
onCategory(item) {
this.categoryId = item.categoryId;
this.goodsList = [];
this.list1 = [];
this.list2 = [];
this.reload();
},
// 这点非常重要:e.name在这里返回是list1或list2,要手动将数据追加到相应列
changeList(e) {
console.log("e: ", e);
this[e.name].push(e.value);
},
// 模拟的后端数据
getData() {
return new Promise((resolve) => {
const imgs = [
{
url: "https://via.placeholder.com/100x110.png/3c9cff/fff",
width: 100,
height: 110
},
{
url: "https://via.placeholder.com/200x220.png/f9ae3d/fff",
width: 200,
height: 220
},
{
url: "https://via.placeholder.com/300x340.png/5ac725/fff",
width: 300,
height: 340
},
{
url: "https://via.placeholder.com/400x400.png/f56c6c/fff",
width: 400,
height: 400
},
{
url: "https://via.placeholder.com/500x510.png/909399/fff",
width: 500,
height: 510
},
{
url: "https://via.placeholder.com/600x606.png/3c9cff/fff",
width: 600,
height: 606
},
{
url: "https://via.placeholder.com/310x422.png/f1a532/fff",
width: 310,
height: 422
},
{
url: "https://via.placeholder.com/320x430.png/3c9cff/fff",
width: 320,
height: 430
},
{
url: "https://via.placeholder.com/330x424.png/f9ae3d/fff",
width: 330,
height: 424
},
{
url: "https://via.placeholder.com/340x435.png/5ac725/fff",
width: 340,
height: 435
},
{
url: "https://via.placeholder.com/350x440.png/f56c6c/fff",
width: 350,
height: 440
},
{
url: "https://via.placeholder.com/380x470.png/909399/fff",
width: 380,
height: 470
}
];
let list = [];
const doFn = (i) => {
const randomIndex = Math.floor(Math.random() * 10);
return {
id: uni_modules_uvUiTools_libs_function_index.guid(),
allowEdit: i == 0,
image: imgs[randomIndex].url,
w: imgs[randomIndex].width,
h: imgs[randomIndex].height,
title: i % 2 == 0 ? `(${this.list.length + i + 1})体验uv-ui框架` : `(${this.list.length + i + 1})uv-ui支持多平台`,
desc: i % 2 == 0 ? `(${this.list.length + i + 1})欢迎使用uv-ui,uni-app生态专用的UI框架` : `(${this.list.length + i})开发者编写一套代码, 可发布到iOS、Android、H5、以及各种小程序`
};
};
setTimeout(() => {
for (let i = 0; i < 20; i++) {
list.push(doFn(i));
}
resolve({
data: list
});
}, 200);
});
}
}
};
if (!Array) {
const _easycom_uv_skeleton2 = common_vendor.resolveComponent("uv-skeleton");
const _easycom_uni_card2 = common_vendor.resolveComponent("uni-card");
const _easycom_uv_waterfall2 = common_vendor.resolveComponent("uv-waterfall");
const _easycom_uv_gap2 = common_vendor.resolveComponent("uv-gap");
(_easycom_uv_skeleton2 + _easycom_uni_card2 + _easycom_uv_waterfall2 + _easycom_uv_gap2)();
}
const _easycom_uv_skeleton = () => "../../uni_modules/uv-skeleton/components/uv-skeleton/uv-skeleton.js";
const _easycom_uni_card = () => "../../uni_modules/uni-card/components/uni-card/uni-card.js";
const _easycom_uv_waterfall = () => "../../uni_modules/uv-waterfall/components/uv-waterfall/uv-waterfall.js";
const _easycom_uv_gap = () => "../../uni_modules/uv-gap/components/uv-gap/uv-gap.js";
if (!Math) {
(_easycom_uv_skeleton + _easycom_uni_card + _easycom_uv_waterfall + _easycom_uv_gap)();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: $data.navigation.length > 0
}, $data.navigation.length > 0 ? {
b: common_vendor.f($data.goodsCategoryList, (item, index, i0) => {
return {
a: item.image,
b: common_vendor.t(item.title),
c: common_vendor.o(($event) => $options.onCategory(item), index),
d: index
};
})
} : {
c: common_vendor.p({
rows: "0",
avatar: true,
loading: $data.hideTools,
title: false
}),
d: common_vendor.p({
rows: "0",
avatar: true,
loading: $data.hideTools,
title: false
}),
e: common_vendor.p({
rows: "0",
avatar: true,
loading: $data.hideTools,
title: false
}),
f: common_vendor.p({
rows: "0",
avatar: true,
loading: $data.hideTools,
title: false
}),
g: common_vendor.p({
border: false,
padding: "12px 4px"
})
}, {
h: !$data.hideTools
}, !$data.hideTools ? {
i: common_vendor.f($data.list1, (item, index, i0) => {
return {
a: item.image ? JSON.parse(item.image)[0] : [],
b: item.width + "px",
c: common_vendor.s($options.imageStyle(item)),
d: common_vendor.o(($event) => $options.navTo(item), item.id),
e: common_vendor.t(item.goodsName),
f: common_vendor.o(($event) => $options.navTo(item), item.id),
g: common_vendor.t(item.price),
h: item.id
};
}),
j: common_vendor.f($data.list2, (item, index, i0) => {
return {
a: item.image ? JSON.parse(item.image)[0] : [],
b: item.width + "px",
c: common_vendor.s($options.imageStyle(item)),
d: common_vendor.o(($event) => $options.navTo(item), item.id),
e: common_vendor.t(item.goodsName),
f: common_vendor.o(($event) => $options.navTo(item), item.id),
g: common_vendor.t(item.price),
h: item.id
};
}),
k: common_vendor.sr("waterfall", "111bd4f2-5"),
l: common_vendor.o($options.changeList),
m: common_vendor.o(($event) => $data.goodsList = $event),
n: common_vendor.p({
["add-time"]: 10,
["left-gap"]: $data.leftGap,
["right-gap"]: $data.rightGap,
["column-gap"]: $data.columnGap,
modelValue: $data.goodsList
})
} : {
o: common_vendor.p({
rows: "0",
avatar: true,
avatarShape: "square",
avatarSize: "100",
loading: $data.hideTools,
title: false
}),
p: common_vendor.p({
height: "16"
}),
q: common_vendor.p({
rows: "2",
loading: $data.hideTools,
title: false
}),
r: common_vendor.p({
border: false,
padding: "18px 6px"
}),
s: common_vendor.p({
rows: "0",
avatar: true,
avatarShape: "square",
avatarSize: "100",
loading: $data.hideTools,
title: false
}),
t: common_vendor.p({
height: "16"
}),
v: common_vendor.p({
rows: "2",
loading: $data.hideTools,
title: false
}),
w: common_vendor.p({
border: false,
padding: "18px 6px"
}),
x: common_vendor.p({
rows: "0",
avatar: true,
avatarShape: "square",
avatarSize: "100",
loading: $data.hideTools,
title: false
}),
y: common_vendor.p({
height: "16"
}),
z: common_vendor.p({
rows: "2",
loading: $data.hideTools,
title: false
}),
A: common_vendor.p({
border: false,
padding: "18px 6px"
}),
B: common_vendor.p({
rows: "0",
avatar: true,
avatarShape: "square",
avatarSize: "100",
loading: $data.hideTools,
title: false
}),
C: common_vendor.p({
height: "16"
}),
D: common_vendor.p({
rows: "2",
loading: $data.hideTools,
title: false
}),
E: common_vendor.p({
border: false,
padding: "18px 6px"
})
});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-111bd4f2"], ["__file", "/Users/gxwebsoft/APP/gxtyzx-uniapp-cli/src/pages/shop/shop.vue"]]);
wx.createPage(MiniProgramPage);