food_wechat/App.vue
air 5925265e69 【类 型】:feat
【原  因】:搜索功能相关 页面组件
【过  程】:1.serarch.vue组页面 2把购物车按钮提取出来作为单独组件3.前端搜索 在前端做数据过滤进行 搜索结果的输出
【影  响】:

# 类型 包含:
# feat:新功能(feature)
# fix:修补bug
# docs:文档(documentation)
# style: 格式(不影响代码运行的变动)
# refactor:重构(即不是新增功能,也不是修改bug的代码变动)
# test:增加测试
# chore:构建过程或辅助工具的变动
2025-01-21 18:27:59 +08:00

471 lines
5.5 KiB
Vue
Raw Permalink 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.

<script>
export default {
// 数据初始化
onLaunch: function(options) {
//从二维码获取站点id 商铺id
this.$store.commit('setShopId', String(options.query.s))
this.$store.commit('setSiteId', String(options.query.z))
//异步加载商铺信息
this.$store.dispatch('fetchShopCon')
//异步加载站点列表
this.$store.dispatch('fetchSiteList')
//异步加载分类列表
this.$store.dispatch('fetchMenuList')
// 创建一个数组存放两个需要等待的异步操作的 Promise
const promises = []
//异步获取spu列表
promises.push(this.$store.dispatch('fetchSpuList'))
//异步获取sku列表
promises.push(this.$store.dispatch('fetchSkuList'))
//等sku spu获取全部数据之后
Promise.all(promises).then(() => {
this.$store.commit('addMinPriceToSpuList') //给spu添加最低价格字段
this.$store.commit('addSkuGToSpuList') //给spu添加 对应sku 即skuG字段
})
},
// 当应用程序被带到前台或对用户可见时调用
onShow: function() {
},
// 当应用程序被隐藏或最小化时调用
onHide: function() {},
methods: {
},
watch: {},
}
</script>
<style lang="scss">
/* 注意要写在第一行同时给style标签加入lang="scss"属性 */
@import "uview-ui/index.scss";
body {
background-color: #f5f5f5;
color: $uni-text-color;
font-size: $uni-font-size-sm;
}
/*public*/
.l {
float: left;
}
.r {
float: right;
}
.pr {
position: relative;
}
.pa {
position: absolute;
}
.fc {
text-align: center;
}
.fr {
text-align: right;
}
.animation {
transition: all 0.2s ease;
}
.topbar {
background-color: $uni-color-error;
height: 176rpx;
}
//占位 空符
.extra-space {
height: 156rpx;
}
//占位 空符
.extra-space1 {
height: 400rpx;
}
//占位 空符
.extra-space2 {
height: 200rpx;
}
.radioBox {
weight: 40rpx;
height: 40rpx;
}
//按钮
.numberBut {
width: 130rpx;
height: 48rpx;
}
.nullBut {
width: 159rpx;
height: 48rpx;
}
.ls {
background-color: #007aff;
}
.qs {
background-color: #3F536E;
}
.bg-m {
background-color: $uni-color-error;
}
.bg-w {
background-color: white;
}
.bg-g {
background-color: #eee;
}
.bg-mg {
background-color: #888;
}
.bg-mb {
background-color: $uni-text-color-disable;
}
.bg-b {
background-color: #383838;
}
.flex {
display: flex;
}
//垂直排列
.column {
flex-direction: column;
}
//主轴左对齐
.ml {
justify-content: flex-start
}
//主轴右对齐
.mr {
justify-content: flex-end
}
//主轴两端对齐
.msb {
justify-content: space-between
}
//主轴 居中对齐
.mc {
justify-content: center
}
//主轴 等距
.mse {
justify-content: space-evenly
}
//主轴 元素两侧平分
.msa {
justify-content: space-around
}
//交叉轴 填满
.man {
align-items: normal
}
//交叉轴 上对齐
.mu {
align-items: flex-start
}
//交叉轴 下对齐
.md {
align-items: flex-end
}
//交叉轴 居中对齐
.mac {
align-items: center
}
//交叉轴 第一行最高的基线对齐
.mub {
align-items: baseline
}
.flex1 {
flex: 1;
}
.flex2 {
flex: 2;
}
.flex3 {
flex: 3;
}
.flex4 {
flex: 4;
}
//阴影
.boxshadow {
box-shadow: 0px 4rpx 4rpx rgba(0, 0, 0, 0.1);
}
//边框
.border {
border: 1rpx solid $uni-border-color;
}
//粗边框
.border4 {
border: 4rpx solid $uni-border-color;
}
.border-g {
border-color: #eee;
}
.border-m {
border-color: $uni-color-error;
}
.borderno {
border: none;
}
//下边框 实线
.borderB {
border-bottom: 1rpx solid $uni-border-color;
}
//下边框 虚线
.borderBDas {
border-bottom: 1rpx dashed $uni-border-color;
}
.rad-c {
border-radius: 50%;
}
.rad32 {
border-radius: 32rpx;
}
.rad16 {
border-radius: 16rpx;
}
.radLT16 {
border-top-left-radius: 16rpx;
}
.radRT16 {
border-top-right-radius: 16rpx;
}
.rad8 {
border-radius: 8rpx;
}
.radLT8 {
border-top-left-radius: 8rpx;
}
.radRT8 {
border-top-right-radius: 8rpx;
}
.ofh {
overflow: hidden;
}
.ofa {
overflow: auto;
}
.disno {
display: none;
}
.tc {
text-align: center;
}
.fb {
font-weight: bold;
}
.fn {
font-weight: normal;
}
.l-h-18 {
line-height: 1.8em;
}
.l-h-12 {
line-height: 1.2em;
}
.fz20 {
font-size: 20rpx;
}
.fz24 {
font-size: 24rpx;
}
.fz28 {
font-size: 28rpx;
}
.fz32 {
font-size: 32rpx;
}
.fz36 {
font-size: 36rpx;
}
.fz44 {
font-size: 44rpx;
}
.fci {
color: $uni-text-color-inverse;
}
.fcb {
color: $uni-text-color-disable;
}
.fcm {
color: $uni-color-error;
}
.z-top {
z-index: 10;
}
.vh100 {
height: 100vh;
}
.h100 {
height: 100%;
}
.vw100 {
width: 100vw;
}
.w100 {
width: 100%;
}
.w-80rpx {
width: 80rpx;
}
.h-80rpx {
height: 80rpx;
}
.m-24 {
margin: 24rpx;
}
.m-l-24 {
margin-left: 24rpx;
}
.m-r-24 {
margin-right: 24rpx;
}
.m-t-24 {
margin-top: 24rpx;
}
.m-b-24 {
margin-bottom: 24rpx;
}
.p-24 {
padding: 24rpx;
}
.p-l-24 {
padding-left: 24rpx;
}
.p-r-24 {
padding-right: 24rpx;
}
.p-t-24 {
padding-top: 24rpx;
}
.p-b-24 {
padding-bottom: 24rpx;
}
.m-12 {
margin: 12rpx;
}
.m-l-12 {
margin-left: 12rpx;
}
.m-r-12 {
margin-right: 12rpx;
}
.m-t-12 {
margin-top: 12rpx;
}
.m-b-12 {
margin-bottom: 12rpx;
}
.p-12 {
padding: 12rpx;
}
.p-l-12 {
padding-left: 12rpx;
}
.p-r-12 {
padding-right: 12rpx;
}
.p-t-12 {
padding-top: 12rpx;
}
.p-b-12 {
padding-bottom: 12px;
}
</style>