Etherealcs 1 年之前
父節點
當前提交
69a98b0de1
共有 83 個文件被更改,包括 6397 次插入1984 次删除
  1. 10 1
      uniapp/App.vue
  2. 311 0
      uniapp/components/my-card/my-card.vue
  3. 31 11
      uniapp/components/my-grid/my-grid.vue
  4. 230 152
      uniapp/components/my-login/my-login.vue
  5. 122 48
      uniapp/components/my-userinfo/my-userinfo.vue
  6. 149 0
      uniapp/components/order-list/order-list.vue
  7. 2 1
      uniapp/components/order-type/order-type.vue
  8. 262 0
      uniapp/components/shop-card/shop-card.vue
  9. 9 7
      uniapp/main.js
  10. 41 3
      uniapp/pages.json
  11. 9 2
      uniapp/pages/home/home.vue
  12. 108 32
      uniapp/pages/index/index.vue
  13. 273 13
      uniapp/pages/shop/shop.vue
  14. 二進制
      uniapp/static/OIP.jpg
  15. 二進制
      uniapp/static/R.jpg
  16. 二進制
      uniapp/static/avator/1.jpg
  17. 二進制
      uniapp/static/avator/2.jpg
  18. 二進制
      uniapp/static/avator/3.jpg
  19. 二進制
      uniapp/static/avator/4.jpg
  20. 二進制
      uniapp/static/avator/5.jpg
  21. 二進制
      uniapp/static/avator/6.jpg
  22. 二進制
      uniapp/static/avator/7.jpg
  23. 二進制
      uniapp/static/lunbo/1.jpg
  24. 二進制
      uniapp/static/lunbo/2.jpg
  25. 二進制
      uniapp/static/lunbo/3.jpg
  26. 二進制
      uniapp/static/vedio/1.jpg
  27. 二進制
      uniapp/static/vedio/1.mp4
  28. 57 6
      uniapp/store/order.js
  29. 190 100
      uniapp/store/shop.js
  30. 128 90
      uniapp/store/shop/project.js
  31. 5 1
      uniapp/store/store.js
  32. 14 0
      uniapp/store/user.js
  33. 37 0
      uniapp/store/user/addresses.js
  34. 83 75
      uniapp/store/user/cart.js
  35. 212 0
      uniapp/subpkg/addAddress/addAddress.vue
  36. 93 88
      uniapp/subpkg/login/login.vue
  37. 214 10
      uniapp/subpkg/order/order.vue
  38. 655 0
      uniapp/subpkg/payment/payment.vue
  39. 127 0
      uniapp/subpkg/setting/setting.vue
  40. 1625 0
      uniapp/subpkg/shopdetail/shopdetail.vue
  41. 0 0
      uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  42. 0 0
      uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  43. 0 0
      uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  44. 0 0
      uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/components/my-grid/my-grid.js.map
  45. 0 0
      uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/components/my-login/my-login.js.map
  46. 0 0
      uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/components/my-userinfo/my-userinfo.js.map
  47. 0 0
      uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/home/home.js.map
  48. 0 0
      uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  49. 0 0
      uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/shop/shop.js.map
  50. 0 0
      uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/login/login.js.map
  51. 0 0
      uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/order/order.js.map
  52. 7 3
      uniapp/unpackage/dist/dev/mp-weixin/app.json
  53. 25 16
      uniapp/unpackage/dist/dev/mp-weixin/common/main.js
  54. 9 0
      uniapp/unpackage/dist/dev/mp-weixin/common/main.wxss
  55. 2 2
      uniapp/unpackage/dist/dev/mp-weixin/common/runtime.js
  56. 581 548
      uniapp/unpackage/dist/dev/mp-weixin/common/vendor.js
  57. 0 11
      uniapp/unpackage/dist/dev/mp-weixin/components/my-grid/my-grid.js
  58. 1 1
      uniapp/unpackage/dist/dev/mp-weixin/components/my-grid/my-grid.wxml
  59. 2 2
      uniapp/unpackage/dist/dev/mp-weixin/components/my-grid/my-grid.wxss
  60. 55 156
      uniapp/unpackage/dist/dev/mp-weixin/components/my-login/my-login.js
  61. 0 1
      uniapp/unpackage/dist/dev/mp-weixin/components/my-login/my-login.wxml
  62. 97 25
      uniapp/unpackage/dist/dev/mp-weixin/components/my-login/my-login.wxss
  63. 91 102
      uniapp/unpackage/dist/dev/mp-weixin/components/my-userinfo/my-userinfo.js
  64. 0 0
      uniapp/unpackage/dist/dev/mp-weixin/components/my-userinfo/my-userinfo.wxml
  65. 62 12
      uniapp/unpackage/dist/dev/mp-weixin/components/my-userinfo/my-userinfo.wxss
  66. 1 168
      uniapp/unpackage/dist/dev/mp-weixin/components/order-type/order-type.js
  67. 12 12
      uniapp/unpackage/dist/dev/mp-weixin/components/orders/order-all/order-all.js
  68. 11 11
      uniapp/unpackage/dist/dev/mp-weixin/components/orders/order-card/order-card.js
  69. 24 18
      uniapp/unpackage/dist/dev/mp-weixin/pages/home/home.js
  70. 1 1
      uniapp/unpackage/dist/dev/mp-weixin/pages/home/home.wxml
  71. 115 92
      uniapp/unpackage/dist/dev/mp-weixin/pages/index/index.js
  72. 1 1
      uniapp/unpackage/dist/dev/mp-weixin/pages/index/index.json
  73. 0 1
      uniapp/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  74. 19 15
      uniapp/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
  75. 75 15
      uniapp/unpackage/dist/dev/mp-weixin/pages/shop/shop.js
  76. 1 1
      uniapp/unpackage/dist/dev/mp-weixin/pages/shop/shop.wxml
  77. 35 85
      uniapp/unpackage/dist/dev/mp-weixin/subpkg/login/login.js
  78. 1 1
      uniapp/unpackage/dist/dev/mp-weixin/subpkg/login/login.wxml
  79. 59 9
      uniapp/unpackage/dist/dev/mp-weixin/subpkg/login/login.wxss
  80. 98 20
      uniapp/unpackage/dist/dev/mp-weixin/subpkg/order/order.js
  81. 1 1
      uniapp/unpackage/dist/dev/mp-weixin/subpkg/order/order.json
  82. 1 1
      uniapp/unpackage/dist/dev/mp-weixin/subpkg/order/order.wxml
  83. 13 13
      uniapp/unpackage/dist/dev/mp-weixin/subpkg/search/search.js

+ 10 - 1
uniapp/App.vue

@@ -1,17 +1,26 @@
 <script>
+import {mapState,mapMutations,mapActions} from 'vuex'
 	export default {
 		onLaunch: function() {
 			console.log('App Launch')
+      this.fetchShops()
+      this.fetchOrder()
 		},
 		onShow: function() {
 			console.log('App Show')
 		},
 		onHide: function() {
 			console.log('App Hide')
-		}
+		},
+    methods: {
+      ...mapActions('m_shop',['fetchShops']),
+      ...mapActions('m_order',['fetchOrder']),
+
+    },
 	}
 </script>
 
 <style>
 	/*每个页面公共css */
+
 </style>

+ 311 - 0
uniapp/components/my-card/my-card.vue

@@ -0,0 +1,311 @@
+<template>
+  <view class="card" :style="{ width: cardWidth, height: cardHeight }">
+<!--    <view class="product-info">-->
+<!--      <view class="product-name">{{ product.productName }}</view>-->
+<!--      <view class="product-price">售价:{{ product.productSellPrice }}元</view>-->
+<!--      <view v-if="product.productState === '售空'" class="product-state">{{ product.productState }}</view>-->
+<!--    </view>-->
+<!--    <view class="product-bid-price">原价:{{ product.productBidPrice }}元</view>-->
+<!--    <view v-if="product.productInfo" class="product-info">{{ product.productInfo }}</view>-->
+<!--    <view class="product-icon" @click.stop="goToDetailPage">-->
+<!--      <image :src="product.productIcons" class="plus-icon"></image>-->
+<!--      <text class="select-spec">选择规格</text>-->
+<!--    </view>-->
+    <view class="img">
+      <image :src="product.productIcons" lazy-load="true" style="border-radius: 10px"></image>
+    </view>
+    <view class="info">
+      <view class="title">{{ product.productName }}</view>
+      <view v-if="product.productState === '售空'" class="state">{{ product.productState }}</view>
+      <view class="price">售价:{{ product.productSellPrice }}元</view>
+<!--  一个加号按钮表示添加商品    -->
+      <view class="add" @click.stop="addCart">+</view>
+    </view>
+  </view>
+</template>
+
+<script>
+import { mapMutations } from 'vuex';
+export default {
+  props: {
+    product:
+    {
+      type: Object,
+      default: null
+    },
+    cardWidth: {
+      type: String,
+      default: '100%'
+    },
+    cardHeight: {
+      type: String,
+      default: 'auto'
+    }
+  },
+  methods: {
+    ...mapMutations('m_cart',['addToCart']),
+    addCart() {
+      let goods = {
+        goods_id: this.product.id,
+        goods_name: this.product.productName,
+        goods_price: this.product.productSellPrice,
+        goods_count: 1,
+        goods_small_logo: this.product.productIcons,
+        goods_state: true
+      }
+      this.addToCart(goods)
+    },
+    goToDetailPage() {
+      // 跳转到商品详情页面,可以根据实际需求处理
+      uni.navigateTo({
+        url: `/pages/detail/detail?id=${this.id}`
+      });
+    },
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.card {
+  display: flex;
+  flex-direction: column;
+  padding: 20rpx;
+  border-bottom: 1px solid #eee;
+  cursor: pointer;
+}
+
+.product-info {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+
+.product-name {
+  font-size: 16px;
+  font-weight: bold;
+}
+
+.product-price {
+  color: #f60;
+}
+
+.product-state {
+  color: #f00;
+}
+
+.product-bid-price {
+  color: #999;
+  margin-top: 5rpx;
+}
+
+.product-info {
+  font-size: 12px;
+  color: #999;
+  margin-top: 5rpx;
+}
+
+.product-icon {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  margin-top: 10rpx;
+}
+
+.plus-icon {
+  width: 20rpx;
+  height: 20rpx;
+  margin-right: 5rpx;
+}
+
+.select-spec {
+  font-size: 14px;
+  color: #333;
+}
+
+
+.card {
+  display: flex;
+  //align-items: first;
+  flex-direction: row;
+  padding: 10px;
+  border-radius: 8px;
+  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
+  background-color: #fff;
+}
+
+.img {
+  width: 80px;
+  height: 80px;
+  border-radius: 4px;
+  //overflow: hidden;
+}
+
+.img image {
+  width: 100%;
+  height: 100%;
+}
+
+.info {
+  flex: 1;
+  padding-left: 10px;
+  display: flex;
+  flex-direction: column;
+}
+
+.title {
+  font-size: 16px;
+  font-weight: bold;
+  margin-bottom: 5px;
+}
+
+.state {
+  color: #ff0000;
+  font-size: 12px;
+  margin-bottom: 5px;
+}
+
+.price {
+  font-size: 14px;
+  color: #666;
+  margin-bottom: 5px;
+}
+
+.add {
+  width: 24px;
+  height: 24px;
+  line-height: 24px;
+  text-align: center;
+  border-radius: 50%;
+  background-color: #07c160;
+  color: #fff;
+  font-size: 16px;
+  font-weight: bold;
+}
+</style>
+
+
+
+
+
+<!--<template>-->
+<!--  <view class="card" :style="{ width: cardWidth, height: cardHeight }" @click="handleClick">-->
+<!--    <view class="product-info">-->
+<!--      <view class="product-name">{{ product.productName }}</view>-->
+<!--      <view class="product-price">售价:{{ product.productSellPrice }}元</view>-->
+<!--      <view v-if="product.productState === '售空'" class="product-state">{{ product.productState }}</view>-->
+<!--    </view>-->
+<!--    <view class="product-bid-price">原价:{{ product.productBidPrice }}元</view>-->
+<!--    <view v-if="product.productInfo" class="product-info">{{ product.productInfo }}</view>-->
+<!--  </view>-->
+<!--</template>-->
+
+<!--<script>-->
+<!--export default {-->
+<!--  props: {-->
+<!--    product: {-->
+<!--      type: Object,-->
+<!--      required: true-->
+<!--    },-->
+<!--    cardWidth: {-->
+<!--      type: String,-->
+<!--      default: '100%'-->
+<!--    },-->
+<!--    cardHeight: {-->
+<!--      type: String,-->
+<!--      default: 'auto'-->
+<!--    }-->
+<!--  },-->
+<!--  methods: {-->
+<!--    handleClick() {-->
+<!--      // 处理点击事件,可以在父组件中监听该事件-->
+<!--      this.$emit('click', this.id);-->
+<!--    }-->
+<!--  }-->
+<!--}-->
+<!--</script>-->
+
+<!--<style lang="scss" scoped>-->
+<!--.card {-->
+<!--  display: flex;-->
+<!--  flex-direction: column;-->
+<!--  padding: 20rpx;-->
+<!--  border-bottom: 1px solid #eee;-->
+<!--  cursor: pointer;-->
+<!--}-->
+
+<!--.product-info {-->
+<!--  display: flex;-->
+<!--  justify-content: space-between;-->
+<!--  align-items: center;-->
+<!--}-->
+
+<!--.product-name {-->
+<!--  font-size: 16px;-->
+<!--  font-weight: bold;-->
+<!--}-->
+
+<!--.product-price {-->
+<!--  color: #f60;-->
+<!--}-->
+
+<!--.product-state {-->
+<!--  color: #f00;-->
+<!--}-->
+
+<!--.product-bid-price {-->
+<!--  color: #999;-->
+<!--  margin-top: 5rpx;-->
+<!--}-->
+
+<!--.product-info {-->
+<!--  font-size: 12px;-->
+<!--  color: #999;-->
+<!--  margin-top: 5rpx;-->
+<!--}-->
+<!--</style>-->
+
+
+<!--<template>-->
+<!--  <view class="card">-->
+
+<!--  </view>-->
+<!--</template>-->
+
+<!--<script>-->
+<!--export default {-->
+<!--  data() {-->
+<!--    return {};-->
+<!--  },-->
+<!--  props: {-->
+<!--    id: {-->
+<!--      type: Number,-->
+<!--      default: 0-->
+
+<!--    },-->
+<!--    productState: {-->
+<!--      type: String,-->
+<!--      default: '充足'-->
+<!--    },-->
+<!--    productName: {-->
+<!--      type: String,-->
+<!--      default: '默认名称'-->
+<!--    },-->
+<!--    productBidPrice: {-->
+<!--      type: Number,-->
+<!--      default: 0-->
+<!--    },-->
+<!--    productSellPrice: {-->
+<!--      type: Number,-->
+<!--      default: 0-->
+<!--    },-->
+<!--    productInfo:{-->
+<!--      type:String,-->
+<!--      default:''-->
+<!--    }-->
+<!--  }-->
+<!--}-->
+<!--</script>-->
+
+<!--<style lang="scss">-->
+
+<!--</style>-->

+ 31 - 11
uniapp/components/my-grid/my-grid.vue

@@ -3,21 +3,19 @@
 
 
     <van-grid column-num="2" :gutter="10">
-      <!-- 		  <van-grid-item icon="photo-o" text="冰美式">
-            </van-grid-item>
-            <van-grid-item icon="photo-o" text="古茗" />
-            <van-grid-item icon="photo-o" text="白茶" />
-            <van-grid-item icon="photo-o" text="热咖" /> -->
 
-      <van-grid-item v-for="(item,idx) in grid_data" icon="photo-o" :text="item.text" :key="idx" :use-slot="true">
+      <van-grid-item v-for="(item,idx) in shops" icon="photo-o" @click="nevigateToDetail(item)" :text="item.text" :key="idx" :use-slot="true">
         <slot name="icon">
 <!--          <van-icon name="chat" color="red"></van-icon>-->
-          <image src="@/static/logo.png" class="itemImg"></image>
+          <image :src="item.imgUrl" class="itemImg"></image>
 <!--          <van-image></van-image>-->
         </slot>
         <slot name="text" :item="item">
-        <view v-if="idx%2" style="background-color: red">去摸鱼儿Isaac查看啊啊啊啊</view></slot>
-        <view>描述信息:{{ item.description }}</view>
+<!--        <view v-if="idx%2" style="background-color: red">去摸鱼儿Isaac查看啊啊啊啊</view>-->
+<!--          <view style="font-weight: bold;font-size: 20px">{{ item.name | truncate(15)}}123</view>-->
+          <view>{{ item.shopInfo | truncate(15)}}</view>
+        </slot>
+
       </van-grid-item>
     </van-grid>
 <!--    123-->
@@ -48,13 +46,35 @@ export default {
         {text:"冰美式"},{text:"古茗"},{text:"热咖"},{text:"白茶"},
         {text:"冰美式"},{text:"古茗"},{text:"热咖"}]
     };
+  },
+  props: {
+    shops: {
+      type: Array,
+      default: () => []
+
+    },
+  },
+  methods: {
+    nevigateToDetail(item){
+      uni.navigateTo({
+        url: `/subpkg/shopdetail/shopdetail?shopID=${JSON.stringify(item.id)}`
+      })
+    }
+  },
+  filters: {
+    truncate(value, length = 10) {
+      if (!value) return ''
+      if (value.length > length) {
+        return value.slice(0, length) + '...'
+      }
+    }
   }
 }
 </script>
 
 <style lang="scss">
 .itemImg{
-  width: 250rpx;
-  height: 170rpx;
+  width: 300rpx;
+  height: 300rpx;
 }
 </style>

+ 230 - 152
uniapp/components/my-login/my-login.vue

@@ -1,97 +1,125 @@
 <template>
-  <view class="container">
-<!--  背景  -->
-<!--    <image src="/static/home/BG.jpg" style="position: absolute;height: 100px;width: 96%;left: 2%" @load="loadImg($event)"></image>-->
-<!--    <img src="../../static/home/BG.jpg" class="myImg" alt="">-->
-    <view>
-      <!-- <van-icon name="https://b.yzcdn.cn/vant/icon-demo-1126.png"  size="130px"/> -->
-      <!-- <uni-icons type="contact-filled" size="100" color="#AFAFAF"></uni-icons> -->
-      <!-- <button type="primary" class="btn-login" @click="getUserProfile">一键登录</button> -->
-      <!-- <text class="tips-text">登录后尽享更多权益</text> -->
-      <!--        <image class="avatar" :src="avatarUrl"></image>-->
-      <button @click="test" open-type="login" type="primary">
-        去登录界面按钮
-      </button>
-      <button @click="toLogin" type="primary">按钮新的</button>
-      <button @click="test" type="default">获取用户信息</button>
-<!--      <input type="nickname" class="weui-input" placeholder="请输入昵称"/>-->
+  <view class="home-page">
+    <view class="head">
+      <image src="/static/home/BG.jpg" class="bgImg"></image>
+      <view class="top-info">
+        <view class="avatar">
+          <image src="https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0"></image>
+        </view>
+        <view class="user-info" style="transform: translateX(-20%)">
+          <view class="username" @click="navigateToLoginPage">{{ "登录" }}</view>
+          <view class="vip-info" style="opacity: 0">4月会员特权已到期,去续费</view>
+        </view>
+        <view class="setting" @click="navigateToSettingPage">
+          <!--            <image src="/static/setting.png"></image>-->
+          <van-icon name="setting-o" size="25"></van-icon>
+        </view>
+      </view>
+      <view class="first-panel">
+        <view class="panel-item">
+          <van-icon name="star-o" size="25"></van-icon>
+          <text>收藏</text>
+        </view>
+        <view class="panel-item">
+          <van-icon name="balance-o" size="25"></van-icon>
+          <text>红包</text>
+        </view>
+        <view class="panel-item">
+          <van-icon name="paid" size="25"></van-icon>
+          <text>卡券</text>
+        </view>
+        <view class="panel-item">
+          <van-icon name="cash-o" size="25"></van-icon>
+          <text>余额</text>
+        </view>
+      </view>
     </view>
+    \    <view class="panel-list" style="margin-top: 20px ;transform: translateY(68%)">
+    <!-- 第2个面板 -->
+    <view class="panel">
+      <view class="panel-title" style="font-family: 'Montserrat', sans-serif;font-weight: bolder">我的订单</view>
+      <view class="panel-body">
+        <view class="panel-item" @click="toOrders(StaticState().ORDER.UNPAY)">
+          <van-icon name="gold-coin-o" size="28"/>
+          <text>代付款</text>
+        </view><view class="panel-item" @click="toOrders(StaticState().ORDER.UNRECEIVE)">
+        <van-icon name="gift-card-o" class="icon" size="30"/>
+        <text>代收货</text>
+      </view><view class="panel-item" @click="toOrders(StaticState().ORDER.REFUND)">
+        <van-icon name="cash-back-record-o" class="icon" size="29"/>
+        <text>退款/退货</text>
+      </view><view class="panel-item" @click="toOrders(StaticState().ORDER.UNCOMMENT)">
+        <van-icon name="records-o" class="icon" size="26"/>
+        <text>待评价</text>
+      </view>
+
+      </view>
+    </view>
+    <!-- 第3个面板 -->
+    <view class="panel">
+      <view class="panel-list-item">
+        <text>收货地址</text>
+        <van-icon type="arrowright" size="15"></van-icon>
+      </view>
+      <view class="panel-list-item">
+        <text>联系客服</text>
+        <van-icon type="arrowright" size="15"></van-icon>
+      </view>
+      <view class="panel-list-item" @click="logout">
+        <text>退出登录</text>
+        <van-icon type="arrowright" size="15"></van-icon>
+      </view>
+    </view>
+  </view>
 
   </view>
 </template>
 
 <script>
+import {mapState,mapMutations,mapGetters} from 'vuex'
 const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
 
-import {mapMutations,mapActions} from "vuex"
+import {StaticState} from "@/store/StaticState";
 export default {
-  name:"my-login",
+  name: "my-login",
   data() {
     return {
-      avatarUrl: defaultAvatarUrl,
+
     };
   },
+  computed: {
+  },
   methods: {
-    ...mapMutations('m_user',{updateUserInfo : 'updateUserInfo'}),
-    ...mapMutations('m_user',{updateToken:'updateToken'}),
-    // ...mapActions('m_info',{updateLoggedStatus:"updateLoggedStatus"}),
-    test(){
-      // console.log('test')
-      // console.log()
-    },
-    // 获取用户信息的方法
-    getUserInfo(e){
-      console.log(e);
-      // return
+    StaticState,
+    navigateToSettingPage() {
+      uni.navigateTo({
+        url: '/subpkg/setting/setting'
+      })
     },
-    getUserProfile(){
-
-      uni.getUserProfile({
-        desc: '获取你的昵称、头像、地区及性别',
-        lang:'zh_CN',
-        success:res=>{
-          console.log(res.userInfo,"aaa");
-          console.log('更新');
-          this.updateUserInfo(res.userInfo)
-          this.updateLoggedStatus(true)
-          this.getToken(res)
-        },
-        fail: (e) => {
-          return uni.$showMsg('您取消了登录授权')
-        }
+    navigateToLoginPage() {
+      uni.navigateTo({
+        url: '/subpkg/login/login'
       })
-
     },
-    async getToken(info){
-      this.updateToken('Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjIzLCJpYXQiOjE1NjQ3MzAwNzksImV4cCI6MTAwMTU2NDczMDA3OH0.YPt-XeLnjV-_1ITaXGY2FhxmCe4NvXuRnRB8OMCfnPo')
-      // this.updateToken('eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxLUFETUlOIiwiZXhwIjoxNzM5MDk4Njc4fQ.AY9lfdw6dySsEd7TCCS9POx69OyH3Jpm1at0xOq6H8o')
-
-      uni.showToast({
-        title: '登录成功',
-        icon: 'success',
-        duration: 2000
-      });
-      this.navigateBack()
+    ...mapGetters('m_user', ['getUserName','getAvatarUrl']),
+    test() {
+      console.log(1, "test");
     },
-    navigateBack(){
-      if(this.redirectInfo&&this.redirectInfo.openType==='switchTab'){
-        uni.switchTab({
-          url:this.redirectInfo.from,
-          complete: () => {
-            this.upddateRedirectInfo(null)
-          }
-        })
-      }
+    beforeMount() {
+      console.log(1, "beforeMount");
     },
-    toLogin(){
-      console.log('toLogin')
+    toOrders(pagetype) {
+      // console.log('----------------------')
+      // console.log(this.StaticState)
+      // console.log(this.StaticState.ORDER)
+      // console.log('toLogin')
       let self =this
+      console.log(pagetype,"这是我传参的参数")
       uni.navigateTo({
-        url: '/subpkg/login/login' ,// 跳转至 subpkg 中的 selShop 页面
+        url: '/subpkg/order/order?pagetype=' + pagetype ,// 跳转至 subpkg 中的 selShop 页面
         success() {
           console.log('url跳转成功')
           setTimeout(() => {
-            self.getToken();
 
           }, 500); // 延迟 1000 毫秒(即 1 秒)后调用 getToken() 函数
         },
@@ -99,97 +127,147 @@ export default {
           console.log('url跳转失败')
         }
       });
-    },
-    onChooseAvatar(e) {
-      const { avatarUrl } = e.detail
-      // this.setData({
-      //   avatarUrl,
-      // })
-      this.avatarUrl=avatarUrl
-      console.log('少时诵诗书少时诵诗书是撒是撒是撒是撒是撒是撒是撒是撒是撒')
-      // return
     }
-  },created() {
-    console.log('页面created执行')
-  },
-  beforeUpdate() {
-    console.log('页面beforeUpdate执行')
-  },
-  mounted() {
-    console.log('页面mounted执行')
-  },
+  }
+};
+</script>
+
+<style lang="scss">
+
+.bgImg{
+  position: absolute;
+  width: 100%;
+  //left: 2.5%;
+  //top: 1%;
 }
 
 
-// export default {
-//   data() {
-//     return {};
-//   },
-//   // mounted () {
-//   //   console.log('加载中')
-//   //   //开启加载
-//   //   console.log('加载中')
-//   //   uni.showLoading({
-//   //     title: '加载中...',
-//   //     mask: true
-//   //   })
-//   // },
-//   methods: {
-//     created() {
-//       console.log('页面created执行:',this.num);
-//     },
-//     beforeMount() {
-//       console.log('页面beforeMount执行:',this.num);
-//     },
-//     // 此方法会在图片加载完成后触发
-//     loadImg (e) {
-//       uni.hideLoading()
-//       console.log('图片信息', e)
-//     }
-//     }
-// }
-</script>
 
-<style lang="scss">
-//.container{
-//  //display: flex;
-//  .myImg{
-//    //border-image-width: 80px;
-//    width: 100px;
-//    //height: 100vh;
-//  }
-//}
-
-.login-container{
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
-  align-items: center;
-  height: 750rpx;
-  background-color: #f8f8f8;
+
+
+
+
+
+
+
+
+
+.panel-list{
+  padding: 0 10px;
   position: relative;
-  overflow: hidden;
-  &::after{
-    content: ' ';
-    display: block;
-    width: 100%;
-    height: 40px;
+  top: -10px;
+  .panel{
     background-color: white;
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    border-radius: 100%;
-    transform: translateY(50%);
-  }
-  .btn-login{
-    width: 90%;
-    border-radius: 100px;
-    margin: 15px 0;
-    background-color: #c00000;
+    border-radius: 10px;
+    margin-bottom: 8px;
+    .panel-title{
+      line-height: 40px;
+      padding-left: 10px;
+      font-size: 15px;
+      border-bottom: 1px solid #f4f4f4;
+    }
+    .panel-body{
+      display: flex;
+      justify-content: space-around;
+      .panel-item{
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        justify-content: space-around;
+        padding: 10px 0;
+        font-size: 13px;
+        .icon{
+          width: 35px;
+          height: 35px;
+        }
+      }
+    }
   }
-  .tips-text{
-    font-size: 12px;
-    color: gray;
+  //.panel:nth-child(1){
+  //  margin-top: 10px;
+  //  border-radius: 10px;
+  //}
+}
+
+.panel-list-item{
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  font-size: 15px;
+  padding: 0 10px;
+  line-height: 45px;
+
+}
+
+
+
+.home-page {
+  .head {
+    position: relative;
+    .bgImg {
+      top: 0;
+      width: 100%;
+      height: 400rpx;
+    }
+    .top-info {
+      position: absolute;
+      top: 60rpx;
+      left: 30rpx;
+      right: 30rpx;
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      .avatar {
+        image {
+          width: 120rpx;
+          height: 120rpx;
+          border-radius: 50%;
+        }
+      }
+      .user-info {
+        .username {
+          font-size: 36rpx;
+          font-weight: bold;
+        }
+        .vip-info {
+          font-size: 24rpx;
+          color: #999;
+        }
+      }
+      .setting {
+        image {
+          width: 50rpx;
+          height: 50rpx;
+        }
+      }
+    }
+    .first-panel {
+      position: absolute;
+      bottom: -350rpx;
+      left: 50%;
+      transform: translateX(-50%);
+      //transform: translateY(50%);
+      display: flex;
+      justify-content: space-around;
+      width: 95%;
+      background-color: #fff;
+      border-radius: 20rpx;
+      padding: 20rpx 0;
+      box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.1);
+      .panel-item {
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        font-size: 24rpx;
+        image {
+          width: 50rpx;
+          height: 50rpx;
+        }
+        text {
+          margin-top: 10rpx;
+        }
+      }
+    }
   }
 }
 </style>

+ 122 - 48
uniapp/components/my-userinfo/my-userinfo.vue

@@ -1,35 +1,21 @@
 <template>
-  <view>
-    <image src="/static/home/BG.jpg" class="bgImg" ></image>
-<!--    这是user信息-->
-<!--    <button v-on:click="test">测试</button>-->
-<!--    <van-image src="static/home/BG.jpg"></van-image>-->
-<!--    nih-->
-
-<!--    <view class="my-grid">-->
-<!--      <van-grid clickable direction="horizontal" :border="true" :column-num="4" :square="true" >-->
-<!--        &lt;!&ndash;      <van-icon name="cash-o" />&ndash;&gt;-->
-<!--        &lt;!&ndash;      <van-icon name="paid" />&ndash;&gt;-->
-<!--        &lt;!&ndash;      <van-icon name="orders-o" />&ndash;&gt;-->
-<!--        &lt;!&ndash;      <van-icon name="like-o" />&ndash;&gt;-->
-<!--        <van-grid-item icon="like-o" text="收藏"-->
-<!--                       link-type="navigateTo"-->
-<!--                       url="/pages/dashboard/index"-->
-
-<!--        />-->
-<!--        <van-grid-item icon="cash-o" text="余额" />-->
-<!--        <van-grid-item icon="paid" text="卡券" />-->
-<!--        <van-grid-item icon="orders-o" text="订单" />-->
-<!--      </van-grid>    </view>-->
-
-
-
-
-    <!-- 面板区域 -->
-    <view class="panel-list" style="margin-top: 20px">
-      <!-- 第1个面板 -->
-      <view class="panel">
-        <view class="panel-body">
+    <view class="home-page">
+      <view class="head">
+        <image src="/static/home/BG.jpg" class="bgImg"></image>
+        <view class="top-info">
+          <view class="avatar">
+            <image :src="getAvatarUrl()"></image>
+          </view>
+          <view class="user-info" style="transform: translateX(-20%)">
+            <view class="username">{{ getUserName() }}</view>
+            <view class="vip-info">4月会员特权已到期,去续费</view>
+          </view>
+          <view class="setting" @click="navigateToSettingPage">
+<!--            <image src="/static/setting.png"></image>-->
+            <van-icon name="setting-o" size="25"></van-icon>
+          </view>
+        </view>
+        <view class="first-panel">
           <view class="panel-item">
             <van-icon name="star-o" size="25"></van-icon>
             <text>收藏</text>
@@ -46,9 +32,9 @@
             <van-icon name="cash-o" size="25"></van-icon>
             <text>余额</text>
           </view>
-
         </view>
       </view>
+\    <view class="panel-list" style="margin-top: 20px ;transform: translateY(68%)">
       <!-- 第2个面板 -->
       <view class="panel">
         <view class="panel-title" style="font-family: 'Montserrat', sans-serif;font-weight: bolder">我的订单</view>
@@ -90,16 +76,26 @@
 </template>
 
 <script>
-import {mapState,mapMutations} from 'vuex'
+import {mapState,mapMutations,mapGetters} from 'vuex'
 import {StaticState} from "@/store/StaticState";
 export default {
   name: "my-userinfo",
   data() {
-    return {};
+    return {
+
+    };
+  },
+  computed: {
   },
   methods: {
     StaticState,
-
+    navigateToSettingPage() {
+      uni.navigateTo({
+        url: '/subpkg/setting/setting'
+      })
+    },
+    ...mapGetters('m_user', ['getUserName','getAvatarUrl']),
+    ...mapMutations('m_user', ['updateUserInfo','updateToken']),
     test() {
       console.log(1, "test");
     },
@@ -125,6 +121,23 @@ export default {
           console.log('url跳转失败')
         }
       });
+    },
+    logout() {
+      uni.showModal({
+        title: '提示',
+        content: '是否要退出登录',
+        success: (res) => {
+          if (res.confirm) {
+            uni.removeStorageSync('token');
+            this.updateToken('')
+            //下一帧执行
+            uni.reLaunch({
+              url: '/pages/home/home'
+            })
+
+          }
+        }
+      })
     }
   }
 };
@@ -132,21 +145,11 @@ export default {
 
 <style lang="scss">
 
-.my-grid{
-  position: absolute;
-  //border-radius: 20px;
-  background-color: antiquewhite;
-  width: 90%;
-  left: 5%;
-  height: 200px;
-  border-radius: 100px;
-  margin-top: 10px;
-}
 .bgImg{
   position: absolute;
-  width: 95%;
-  left: 2.5%;
-  top: 1%;
+  width: 100%;
+  //left: 2.5%;
+  //top: 1%;
 }
 
 
@@ -205,6 +208,77 @@ export default {
   padding: 0 10px;
   line-height: 45px;
 
+}
+
+
 
+.home-page {
+  .head {
+    position: relative;
+    .bgImg {
+      top: 0;
+      width: 100%;
+      height: 400rpx;
+    }
+    .top-info {
+      position: absolute;
+      top: 60rpx;
+      left: 30rpx;
+      right: 30rpx;
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      .avatar {
+        image {
+          width: 120rpx;
+          height: 120rpx;
+          border-radius: 50%;
+        }
+      }
+      .user-info {
+        .username {
+          font-size: 36rpx;
+          font-weight: bold;
+        }
+        .vip-info {
+          font-size: 24rpx;
+          color: #999;
+        }
+      }
+      .setting {
+        image {
+          width: 50rpx;
+          height: 50rpx;
+        }
+      }
+    }
+    .first-panel {
+      position: absolute;
+      bottom: -350rpx;
+      left: 50%;
+      transform: translateX(-50%);
+      //transform: translateY(50%);
+      display: flex;
+      justify-content: space-around;
+      width: 95%;
+      background-color: #fff;
+      border-radius: 20rpx;
+      padding: 20rpx 0;
+      box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.1);
+      .panel-item {
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        font-size: 24rpx;
+        image {
+          width: 50rpx;
+          height: 50rpx;
+        }
+        text {
+          margin-top: 10rpx;
+        }
+      }
+    }
+  }
 }
 </style>

+ 149 - 0
uniapp/components/order-list/order-list.vue

@@ -0,0 +1,149 @@
+<template>
+  <view class="order-list">
+    <view class="order-item" v-for="order in orders" :key="order.id">
+      <view class="order-header">
+        <image class="user-avatar" :src="order.user.avatar" mode="aspectFill" />
+        <view class="order-info">
+          <view class="order-number">订单编号:{{ order.transCode }}</view>
+          <view class="order-remark">备注:{{ order.orderRemark||"" }}</view>
+          <view class="order-remark">当前状态:{{ order.orderState||"" }}</view>
+        </view>
+      </view>
+      <view class="order-details">
+        <view class="order-detail-row">
+          <text class="label">下单时间:</text>
+          <text>{{ order.timeOrder||"" }}</text>
+        </view>
+        <view class="order-detail-row">
+          <text class="label">数量:</text>
+          <text>{{ order.orderProductsLists.length }}</text>
+        </view>
+        <view class="order-detail-row">
+          <text class="label">实付:</text>
+          <text class="order-price">¥{{ order.originPay }}</text>
+        </view>
+      </view>
+      <view class="order-actions">
+        <van-button size="small" type="primary" @click="handleOrderDetail(order)">查看详情</van-button>
+<!--        <van-button size="small" type="danger" @click="handleOrderAction(order)">{{ getActionText(order.orderState) }}</van-button>-->
+        <van-button size="small" plain type="info" @click="handleReorder(order)">再来一单</van-button>
+      </view>
+    </view>
+  </view>
+</template>
+
+<script>
+export default {
+  props: {
+    orders: {
+      type: Array,
+      required: true
+    }
+  },
+  methods: {
+    handleOrderDetail(order) {
+      console.log(this.orders)
+      console.log(`查看订单详情: ${order.transCode}`);
+    },
+    handleOrderAction(order) {
+      const action = this.getActionText(order.orderState);
+      console.log(`执行操作: ${action} - 订单编号: ${order.transCode}`);
+    },
+    handleReorder(order) {
+      // console.log(`跳转到商店页面: `);
+      // 在这里编写跳转到相应商店页面的逻辑
+      uni.navigateTo({
+        url: `/subpkg/shopdetail/shopdetail?shopID=${order.storeId}`
+      })
+    },
+    getActionText(orderState) {
+      switch (orderState) {
+        case "待付款":
+          return "立即付款";
+        case "待收货":
+          return "确认收货";
+        case "退款/售后":
+          return "申请退款";
+        case "已完成":
+          return "重新购买";
+        default:
+          return "暂无操作";
+      }
+    }
+  }
+};
+</script>
+
+<style lang="scss">
+.order-list {
+  .order-item {
+    background-color: #fff;
+    border-radius: 8px;
+    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
+    padding: 12px;
+    margin-bottom: 12px;
+
+    .order-header {
+      display: flex;
+      align-items: center;
+      margin-bottom: 8px;
+
+      .user-avatar {
+        width: 40px;
+        height: 40px;
+        border-radius: 50%;
+        margin-right: 12px;
+      }
+
+      .order-info {
+        flex: 1;
+
+        .order-number {
+          font-weight: bold;
+          font-size: 14px;
+          margin-bottom: 4px;
+        }
+
+        .order-remark {
+          color: #666;
+          font-size: 12px;
+          overflow: hidden;
+          text-overflow: ellipsis;
+          white-space: nowrap;
+        }
+      }
+    }
+
+    .order-details {
+      margin-bottom: 8px;
+
+      .order-detail-row {
+        display: flex;
+        justify-content: space-between;
+        margin-bottom: 4px;
+        font-size: 12px;
+
+        .label {
+          color: #666;
+        }
+
+        .order-price {
+          font-weight: bold;
+          color: #ee0a24;
+        }
+      }
+    }
+
+    .order-actions {
+      display: flex;
+      justify-content: flex-end;
+
+      .van-button {
+        margin-left: 8px;
+        font-size: 12px;
+        padding: 0 8px;
+      }
+    }
+  }
+}
+</style>

+ 2 - 1
uniapp/components/order-type/order-type.vue

@@ -15,7 +15,8 @@
       </view>
       <view v-else>
         空空如也
-        {{OrderData}}
+        {{OrderData||""}}
+
       </view>
 
     </view>

+ 262 - 0
uniapp/components/shop-card/shop-card.vue

@@ -0,0 +1,262 @@
+<template>
+  <view @click="nevigateToDetail(shopId)">
+  <view class="shop-card">
+    <view class="shop-info">
+      <image :src="shopIcon" class="shop-icon"></image>
+      <view class="shop-details">
+        <view class="shop-name">{{ shopName }}</view>
+        <view class="shop-extra">
+          <text>月售{{ shopInfo+' ' }} </text>
+          <text>{{' ' + shopdistance }}km</text>
+        </view>
+        <view class="shop-rating">
+          <van-rate :value="mark" disabled size="18" />
+        </view>
+      </view>
+    </view>
+    <view class="shop-right">
+      <view class="shop-tags">
+        <view class="tag" v-for="(item, index) in tag" :key="index">{{ item }}</view>
+      </view>
+      <view class="shop-coupons">
+        <view class="coupon" v-for="(coupon, index) in coupon" :key="index">
+<!--          <view class="coupon-title">{{ coupon.title }}</view>-->
+          <view class="coupon-desc">{{ coupon.desc }}</view>
+        </view>
+      </view>
+    </view>
+  </view>
+  </view>
+</template>
+
+<script>
+
+export default {
+  components: {
+  },
+  props: {
+    shopId: { default: 0 },
+    shopName: { default: '麦当劳' },
+    shopIcon: { default: '../../static/R.jpg' },
+    shopInfo: { default: '月售10单' },
+    shopdistance: { default: 2.5 },
+    tag: { default: () => ['新建路炸鸡热销榜第2名'] },
+    coupon: {
+      default: () => [
+        { desc: '满20减2', full: 20, count: 2 },
+        { desc: '满50减8', full: 50, count: 8 }
+      ]
+    },
+    mark: { default: 4.5 }
+  },
+  methods: {
+    nevigateToDetail(item){
+      console.log(item)
+      console.log(this.shopId)
+      console.log('这里')
+      uni.navigateTo({
+        url: `/subpkg/shopdetail/shopdetail?shopID=${JSON.stringify(item)}`
+      })
+    },
+  },
+}
+</script>
+
+<style lang="scss">
+.shop-card {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  padding: 15px;
+  background-color: #fff;
+  border-radius: 10%;
+  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
+}
+
+.shop-info {
+  display: flex;
+  align-items: center;
+}
+
+.shop-icon {
+  width: 60px;
+  height: 60px;
+  border-radius: 20%;
+  margin-right: 15px;
+}
+
+.shop-details {
+  display: flex;
+  flex-direction: column;
+}
+
+.shop-name {
+  font-weight: bold;
+  font-size: 16px;
+}
+
+.shop-extra {
+  font-size: 13px;
+  color: #999;
+  margin-top: 5px;
+}
+
+.shop-rating {
+  margin-top: 5px;
+}
+
+.shop-right {
+  display: flex;
+  flex-direction: column;
+  align-items: flex-end;
+}
+
+.shop-tags {
+  display: flex;
+  margin-bottom: 10px;
+}
+
+.tag {
+  background-color: #f5f5f5;
+  color: red;
+  padding: 5px 10px;
+  border-radius: 15px;
+  font-size: 10px;
+  margin-left: 5px;
+}
+
+.shop-coupons {
+  display: flex;
+  flex-direction: column;
+}
+
+.coupon {
+  background-color: #fef0e5;
+  color: #e6a23c;
+  padding: 8px 12px;
+  border-radius: 8px;
+  font-size: 10px;
+  margin-bottom: 5px;
+}
+
+.coupon-title {
+  font-weight: bold;
+  font-size: 13px;
+}
+</style>
+<!--<template>-->
+<!--  <view class="shop-card">-->
+<!--    <view class="shop-info">-->
+<!--      <image :src="shopIcon" class="shop-icon"></image>-->
+<!--      <view class="shop-details">-->
+<!--        <view class="shop-name">{{ shopName }}</view>-->
+<!--        <view class="shop-extra">-->
+<!--          <text>{{ shopInfo }}</text>-->
+<!--          <text>{{ shopdistance }}km</text>-->
+<!--        </view>-->
+<!--      </view>-->
+<!--    </view>-->
+<!--    <view class="shop-tags">-->
+<!--      <view class="tag" v-for="(item, index) in tag" :key="index">{{ item }}</view>-->
+<!--    </view>-->
+<!--  </view>-->
+<!--</template>-->
+
+<!--<script>-->
+<!--export default {-->
+<!--  data() {-->
+<!--    return {};-->
+<!--  },-->
+<!--  props: {-->
+<!--    shopId: {default:0},-->
+<!--    shopName: {default:'麦当劳'},-->
+<!--    shopIcon: {default:'../../static/R.jpg'},-->
+<!--    shopInfo: {default:'月售10单'},-->
+<!--    shopdistance: {default:2.5},-->
+<!--    tag: {default:['新建路炸鸡热销榜第2名']},-->
+<!--    coupon: {default:[{title:'满减优惠',desc:'满20减2',full:20,count:2},{title:'满减优惠',desc:'满50减8',full:50,count:8}]},-->
+<!--    mark: {default:4.5},-->
+
+
+<!--  }-->
+<!--}-->
+<!--</script>-->
+
+<!--<style lang="scss">-->
+<!--.shop-card {-->
+<!--  display: flex;-->
+<!--  justify-content: space-between;-->
+<!--  align-items: center;-->
+<!--  padding: 10px;-->
+<!--  background-color: #fff;-->
+<!--  border-radius: 5px;-->
+<!--  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);-->
+<!--}-->
+
+<!--.shop-info {-->
+<!--  display: flex;-->
+<!--  align-items: center;-->
+<!--}-->
+
+<!--.shop-icon {-->
+<!--  width: 50px;-->
+<!--  height: 50px;-->
+<!--  border-radius: 50%;-->
+<!--  margin-right: 10px;-->
+<!--}-->
+
+<!--.shop-details {-->
+<!--  display: flex;-->
+<!--  flex-direction: column;-->
+<!--}-->
+
+<!--.shop-name {-->
+<!--  font-weight: bold;-->
+<!--}-->
+
+<!--.shop-extra {-->
+<!--  font-size: 12px;-->
+<!--  color: #999;-->
+<!--}-->
+
+<!--.shop-tags {-->
+<!--  display: flex;-->
+<!--}-->
+
+<!--.tag {-->
+<!--  background-color: #f5f5f5;-->
+<!--  color: #333;-->
+<!--  padding: 5px 10px;-->
+<!--  border-radius: 15px;-->
+<!--  font-size: 12px;-->
+<!--  margin-left: 5px;-->
+<!--}-->
+<!--</style>-->
+
+
+<!--&lt;!&ndash;<template>&ndash;&gt;-->
+<!--&lt;!&ndash;  <view>&ndash;&gt;-->
+
+<!--&lt;!&ndash;  </view>&ndash;&gt;-->
+<!--&lt;!&ndash;</template>&ndash;&gt;-->
+
+<!--&lt;!&ndash;<script>&ndash;&gt;-->
+<!--&lt;!&ndash;export default {&ndash;&gt;-->
+<!--&lt;!&ndash;  data() {&ndash;&gt;-->
+<!--&lt;!&ndash;    return {};&ndash;&gt;-->
+<!--&lt;!&ndash;  },&ndash;&gt;-->
+<!--&lt;!&ndash;  props: {&ndash;&gt;-->
+<!--&lt;!&ndash;    shopId:0,&ndash;&gt;-->
+<!--&lt;!&ndash;    shopName:'麦当劳',&ndash;&gt;-->
+<!--&lt;!&ndash;    shopIcon:'../../static/R.jpg',&ndash;&gt;-->
+<!--&lt;!&ndash;    shopInfo:'月售10单',&ndash;&gt;-->
+<!--&lt;!&ndash;    shopdistance:2.5,&ndash;&gt;-->
+<!--&lt;!&ndash;    tag:['新建路炸鸡热销榜第2名'],&ndash;&gt;-->
+
+<!--&lt;!&ndash;  }&ndash;&gt;-->
+<!--&lt;!&ndash;}&ndash;&gt;-->
+<!--&lt;!&ndash;</script>&ndash;&gt;-->
+
+<!--&lt;!&ndash;<style lang="scss">&ndash;&gt;-->
+
+<!--&lt;!&ndash;</style>&ndash;&gt;-->

+ 9 - 7
uniapp/main.js

@@ -1,5 +1,14 @@
 console.log(11111111111111111111)
 console.log(156651325)
+//请求的根路径
+let $http= {
+  // baseUrl:'https://69b89r4952.yicp.fun/',
+  baseUrl: 'http://69b89r4952.yicp.fun/',
+
+  // testToken: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxLUFETUlOIiwiZXhwIjoxNzQ0ODczMDU3fQ.nFyXamWDlUwpHlWb75BTV6e6eC0792A4pnBdGvY5IEk"
+  testToken:"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxLUFETUlOIiwiZXhwIjoxNzQ0ODczMDU3fQ.nFyXamWDlUwpHlWb75BTV6e6eC0792A4pnBdGvY5IEk"
+}
+uni.$http=$http
 import App from './App'
 import store from './store/store.js'
 import Vue from 'vue'
@@ -16,14 +25,7 @@ const app = new Vue({
 app.$mount()
 // #endif
 
-//请求的根路径
-let $http={
-  // baseUrl:'https://69b89r4952.yicp.fun/',
-  baseUrl:'http://118.89.54.252:8714/',
-  testToken:"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxLUFETUlOIiwiZXhwIjoxNzM5MDk4Njc4fQ.AY9lfdw6dySsEd7TCCS9POx69OyH3Jpm1at0xOq6H8o"
-}
 
-uni.$http=$http
 // console.log(1111111111111111111111111)
 // #ifdef VUE3
 console.log(uni.$http,"uni.$http");

+ 41 - 3
uniapp/pages.json

@@ -49,14 +49,52 @@
     "enablePullDownRefresh": false
   }
 }
-	],
+		,
+		{
+  "path": "subpkg/shopdetail/shopdetail",
+  "style": {
+    "navigationBarTitleText": "",
+    "enablePullDownRefresh": false
+  }
+}
+		,
+		{
+  "path": "subpkg/payment/payment",
+  "style": {
+    "navigationBarTitleText": "",
+    "enablePullDownRefresh": false
+  }
+}
+		,
+		{
+  "path": "subpkg/addAddress/addAddress",
+  "style": {
+    "navigationBarTitleText": "",
+    "enablePullDownRefresh": false
+  }
+}
+      ,
+      {
+  "path": "subpkg/setting/setting",
+  "style": {
+    "navigationBarTitleText": "",
+    "enablePullDownRefresh": false
+  }
+}
+    ],
 	"globalStyle": {
+
+		"navigationBarBackgroundColor": "#FFFFFF",
 		"navigationBarTextStyle": "black",
-		"navigationBarTitleText": "uni-app",
-		"navigationBarBackgroundColor": "#F8F8F8",
+		"navigationBarTitleText": "果蔬农贸",
 		"backgroundColor": "#F8F8F8",
+//		"navigationBarTextStyle": "black",
+//		"navigationBarTitleText": "uni-app",
+//		"navigationBarBackgroundColor": "#F8F8F8",
+//		"backgroundColor": "#F8F8F8",
 		"usingComponents": {
 			// "van-button": "/wxcomponents/vant/button/index",
+//			"van-badge": "/wxcomponents/vant/badge/index",
 			"van-action-sheet": "/wxcomponents/vant/action-sheet/index",
 			"van-area": "/wxcomponents/vant/area/index",
 			"van-button": "/wxcomponents/vant/button/index",

+ 9 - 2
uniapp/pages/home/home.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="home">
 <!--		<text>home</text>-->
-    <button type="primary" @click="setToken">一键登录</button>
+<!--    <button type="primary" @click="setToken">一键登录</button>-->
 <!--    <button @click="toLogin">去登录</button>-->
     <view v-if="!token">
 <!--      aaa-->
@@ -10,6 +10,7 @@
     </view>
     <view v-else>
 <!--      us-->
+<!--      <my-login></my-login>-->
       <my-userinfo></my-userinfo>
     </view>
 	</view>
@@ -31,7 +32,7 @@
     methods:{
       ...mapMutations('m_user',['updateToken']),
       setToken(){
-        this.updateToken('123456')
+        // this.updateToken('123456')
         console.log('设置token')
         console.log(this.token)
       },
@@ -67,6 +68,12 @@
           }
         });
       },
+      toAddress(){
+        console.log('toAddress')
+        uni.navigateTo({
+          url: '/subpkg/addAddress/addAddress'
+        })
+      }
     },
     components: {
       // "my-login": () => import("@/components/my-login/my-login.vue"),

+ 108 - 32
uniapp/pages/index/index.vue

@@ -43,50 +43,87 @@
 
     <!-- 轮播图区域 -->
 
-    <swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000" :circular="true">
-
-      <swiper-item v-for="(item,i) in swiperList"  :key="i">
-        <!-- 123 -->
-        <navigator class="swiper-item" :url="'/subpkg/goods_detail/goods_detail?goods_id='+item.goods_id">
-          <!-- <navigator class="swiper-item"> -->
+    <swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000" :circular="true" class="swiper">
+      <swiper-item v-for="(item, i) in swiperList" :key="i" class="swiper-item">
+        <navigator class="swiper-image" :url="'/subpkg/goods_detail/goods_detail?goods_id=' + item.goods_id">
           <img :src="item.image_src" alt="">
         </navigator>
+        <view class="shop-info-container">
+          <text class="shop-name" @click="navigateToDetail(item)" style="font-size: 28rpx;  color: #fff;">{{ item.shop_name }}</text>
+        </view>
       </swiper-item>
     </swiper>
+
     <!-- <image class="logo" src="/static/logo.png"></image>
     <view class="text-area">
       <text class="title">{{title}}</text>
     </view> -->
     <!-- 123 -->
-    <my-grid></my-grid>
+<!--    <my-grid :shops="getShowShops()"></my-grid>-->
+<!--    <shop-card></shop-card>-->
+    <view v-if="flag===0">
+    <view v-for="(item,i) in getShowShops()" :key="i">
+       <shop-card :shop-id="item.id" :shop-name="item.storeName" :shop-icon="item.storePicUrl" @click="nevigateToDetail(item.id)" :shop-info="200" :shopdistance="800" :tag="tags[i]" :coupon="[{desc:'满20减2',full:20,count:2},{desc:'满50减8',full:50,count:8}]" :mark="4.5"></shop-card>
+    </view>
+    </view>
+    <view v-else>
+      <shop-card :shop-id="getShowShops()[flag-1].id" :shop-name="getShowShops()[flag-1].storeName" :shop-icon="getShowShops()[flag-1].storePicUrl" @click="nevigateToDetail(getShowShops()[flag-1].id)" :shop-info="200" :shopdistance="0.8" :tag="tags[i]" :coupon="[{desc:'满20减2',full:20,count:2},{desc:'满50减8',full:50,count:8}]" :mark="4.5"></shop-card>
+    </view>
   </view>
 </template>
 
 <script >
+import {mapState,mapMutations,mapGetters} from'vuex'
 console.log(uni.$http)
 	export default {
 		data() {
 			return {
+        tags:[['应季水果综合榜TOP1'],['无公害绿色蔬菜'],['0添加糖分色素']],
+        coupon:[
+            [{desc:'满20减2',full:20,count:2},{desc:'满50减8',full:50,count:8}],
+          [{desc:'满20减2',full:20,count:2},{desc:'满50减8',full:50,count:8}],
+          [{desc:'满20减2',full:20,count:2},{desc:'满50减8',full:50,count:8}]],
         title: 'Hello',
         value:"",
+        flag:0,
         //这是轮播图的数据列表
         swiperList:[{goods_id: 123,
-          image_src: "../../static/logo.png",
-          goods_name: "string"},{goods_id: 124,
-          image_src: "../../static/logo.png",
-          goods_name: "string"},{goods_id: 125,
-          image_src: "../../static/logo.png",
-          goods_name: "string"}],
+          image_src: "../../static/lunbo/1.jpg",
+          shop_name: "清甜多汁的鲜果,来源自淮铺肥沃的土地!我们严格把关每一个果品的品质,为您带来全季新鲜的水果体验。",id:1},{goods_id: 124,
+          image_src: "../../static/lunbo/2.jpg",
+          shop_name: "淮铺这片富饶之地孕育了各种营养蔬菜,丰富的维生素和矿物质滋养着您的健康。品尝大自然的馈赠,尽在淮铺蔬菜。",id:2},{goods_id: 125,
+          image_src: "../../static/lunbo/3.jpg",
+          shop_name: "酸甜可口的天然果汁,新鲜压榨而来!没有任何添加剂,只有纯正的水果滋味。让您随时随地补充果汁元气!",id:3}],
 			}
 		},
 		onLoad() {
-
+      // this.getShowShops()
 		},
 		methods: {
+      ...mapGetters('m_shop',['getShowShops']),
+      nevigateToDetail(item){
+        uni.navigateTo({
+          url: `/subpkg/shopdetail/shopdetail?shopID=${JSON.stringify(item.id)}`
+        })
+      },
       test() {
         console.log(1, "test");
       },
       onSearch() {
+        if (this.value==="水果") {
+          this.flag=1
+        }
+        else if (this.value==="蔬菜") {
+          this.flag=2
+        }
+        else {
+          this.flag=0
+        }
+        uni.reLaunch({
+          url: '/pages//pages/index/index'
+        });
+        console.log(this.flag)
+        console.log(this.value)
         console.log('查询了');
       },
 
@@ -99,29 +136,37 @@ console.log(uni.$http)
           url:"/subpkg/search/search"
         })
       },
-      onChange(){
-        console.log('修改了');
+      onChange(target){
+        console.log('修改了',target);
+        this.value=target.detail
+      },
+      navigateToDetail(item) {
+        console.log(item)
+        uni.navigateTo({
+          url: `/subpkg/shopdetail/shopdetail?shopID=${JSON.stringify(item.id)}`
+        })
       }
-		},
+
+    },
 	}
 </script>
 
 <style lang="scss">
-  swiper{
-    height: 330rpx;
-    width: 95%;
-    .swiper-item,
-    image{
-      width: 100%;
-      height: 100%;
-    }
-  }
-  .content {
-    display: flex;
-    flex-direction: column;
-    align-items: center;
-    justify-content: center;
-  }
+  //swiper{
+  //  height: 330rpx;
+  //  width: 95%;
+  //  .swiper-item,
+  //  image{
+  //    width: 100%;
+  //    height: 100%;
+  //  }
+  //}
+  //.content {
+  //  display: flex;
+  //  flex-direction: column;
+  //  align-items: center;
+  //  justify-content: center;
+  //}
 
   .logo {
     height: 200rpx;
@@ -142,4 +187,35 @@ console.log(uni.$http)
     color: #8f8f94;
   }
 
+
+
+  .swiper {
+    position: relative;
+  }
+  //
+  .swiper-item {
+    position: relative;
+  }
+
+  .swiper-image {
+    display: block;
+  }
+
+  .shop-info-container {
+    position: absolute;
+    height: 40px;
+    bottom: 0;
+    left: 0;
+    right: 0;
+    background-color: rgba(0, 0, 0, 0.5);
+    padding: 10rpx;
+    text-align: center;
+  }
+  //
+  //.shop-name {
+  //  font-size: 28rpx;
+  //  color: #fff;
+  //}
+
+
 </style>

+ 273 - 13
uniapp/pages/shop/shop.vue

@@ -1,19 +1,279 @@
 <template>
-	<view>
-		
-	</view>
+  <view>
+    <web-view src="@/hybrid/html/local.html"></web-view>
+<!--    <view class="uni-padding-wrap uni-common-mt">-->
+<!--      <view>-->
+<!--        <video id="myVideo" src="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/2minute-demo.mp4"-->
+<!--               @error="videoErrorCallback" :danmu-list="danmuList" enable-danmu danmu-btn controls></video>-->
+<!--      </view>-->
+<!--      &lt;!&ndash; #ifndef MP-ALIPAY &ndash;&gt;-->
+<!--      <view class="uni-list uni-common-mt">-->
+<!--        <view class="uni-list-cell">-->
+<!--          <view>-->
+<!--            <view class="uni-label">弹幕内容</view>-->
+<!--          </view>-->
+<!--          <view class="uni-list-cell-db">-->
+<!--            <input v-model="danmuValue" class="uni-input" type="text" placeholder="在此处输入弹幕内容" />-->
+<!--          </view>-->
+<!--        </view>-->
+<!--      </view>-->
+<!--      <view class="uni-btn-v">-->
+<!--        <button @click="sendDanmu" class="page-body-button">发送弹幕</button>-->
+<!--      </view>-->
+<!--      &lt;!&ndash; #endif &ndash;&gt;-->
+<!--    </view>-->
+  </view>
 </template>
-
 <script>
-	export default {
-		data() {
-			return {
-				
-			};
-		}
-	}
+export default {
+  data() {
+    return {
+      src: '',
+      danmuList: [{
+        text: '第 1s 出现的弹幕',
+        color: '#ff0000',
+        time: 1
+      },
+        {
+          text: '第 3s 出现的弹幕',
+          color: '#ff00ff',
+          time: 3
+        }
+      ],
+      danmuValue: ''
+    }
+  },
+  onReady: function(res) {
+    // #ifndef MP-ALIPAY
+    this.videoContext = uni.createVideoContext('myVideo')
+    // #endif
+  },
+  methods: {
+    sendDanmu: function() {
+      this.videoContext.sendDanmu({
+        text: this.danmuValue,
+        color: this.getRandomColor()
+      });
+      this.danmuValue = '';
+    },
+    videoErrorCallback: function(e) {
+      uni.showModal({
+        content: e.target.errMsg,
+        showCancel: false
+      })
+    },
+    getRandomColor: function() {
+      const rgb = []
+      for (let i = 0; i < 3; ++i) {
+        let color = Math.floor(Math.random() * 256).toString(16)
+        color = color.length == 1 ? '0' + color : color
+        rgb.push(color)
+      }
+      return '#' + rgb.join('')
+    }
+  }
+}
 </script>
 
-<style lang="scss">
+<!--<template>-->
+<!--  <view class="content">-->
+<!--    <view class="player-content">-->
+<!--      <live-player id="livePlayer" class="live-player" catchtouchmove :src="currentUrl" autoplay-->
+<!--                   background-mute sound-mode="speaker" mode='RTC' @statechange="statechange" @click="handleControlbar">-->
+<!--        <view class="player-tool" :style="{bottom:(showControlbar?'0':'-60rpx')}">-->
+<!--          <view class="tools">-->
+<!--            <view class="full-screen" @tap.stop="handleFullScreen()">-->
+<!--              <text class="iconfont" v-if="!fullScreenFlag">进入全屏</text>-->
+<!--              <text class="iconfont" v-else>&#xe67e;</text>-->
+<!--            </view>-->
+<!--            <view class="cruise" @tap.stop="handleCruise()" v-if="streamIndex == 2">-->
+<!--              <text class="iconfont">退出全屏</text>-->
+<!--            </view>-->
+<!--          </view>-->
+<!--        </view>-->
+<!--      </live-player>-->
+<!--    </view>-->
+<!--  </view>-->
+<!--</template>-->
+
+<!--<script>-->
+<!--export default {-->
+<!--  data() {-->
+<!--    return {-->
+<!--      isPlaySource: false, //是否有播放源-->
+<!--      isVideoLive: false, //是否是直播-->
+<!--      isAutoplay: true, //是否自动播放-->
+<!--      videoMsg: '', //video消息-->
+<!--      currentUrl: '', //播放路径-->
+<!--      showControlbar: true,-->
+<!--      timer:null,-->
+<!--    }-->
+<!--  },-->
+<!--  watch: {-->
+<!--    showControlbar(val, oldVal) {-->
+<!--      if(val){-->
+<!--        this.timer = setTimeout(()=>{-->
+<!--          this.showControlbar = false-->
+<!--        },5000)-->
+<!--      }else{-->
+<!--        clearTimeout(this.timer);-->
+<!--      }-->
+<!--    }-->
+<!--  },-->
+<!--  onLoad() {-->
+<!--    this.playerCtx = uni.createLivePlayerContext('livePlayer');-->
+<!--  },-->
+<!--  created() {-->
+<!--    this.getLiveList()  //视频流列表-->
+<!--    setTimeout(()=>{-->
+<!--      this.showControlbar = false-->
+<!--    },10000)-->
+<!--  },-->
+
+<!--  methods: {-->
+<!--    handleControlbar() {-->
+<!--      this.showControlbar = !this.showControlbar-->
+<!--    },-->
+<!--    getLiveList() {-->
+<!--      this.$api.livePage.getLiveList().then(res => {-->
+<!--        //业务逻辑-->
+<!--      }).catch(err => {-->
+<!--        console.log('err');-->
+<!--      });-->
+<!--    },-->
+<!--    // 巡航-->
+<!--    handleCruise() {-->
+<!--      // #ifdef  MP-WEIXIN-->
+<!--      uni.vibrateShort();-->
+<!--      // #endif-->
+<!--    },-->
+<!--    //全屏功能的实现-->
+<!--    handleFullScreen() {-->
+<!--      var that = this-->
+<!--      if (!that.fullScreenFlag) {-->
+<!--        //全屏-->
+<!--        that.playerCtx.requestFullScreen({-->
+<!--          success: res => {-->
+<!--            that.fullScreenFlag = true-->
+<!--            console.log('我要执行了');-->
+<!--          },-->
+<!--          fail: res => {-->
+<!--            console.log('fullscreen fail');-->
+<!--          },-->
+<!--          direction: 90-->
+<!--        });-->
+<!--      } else {-->
+<!--        //缩小-->
+<!--        that.playerCtx.exitFullScreen({-->
+<!--          success: res => {-->
+<!--            that.fullScreenFlag = false-->
+<!--            console.log('我要执行了');-->
+<!--          },-->
+<!--          fail: res => {-->
+<!--            console.log('exit fullscreen success');-->
+<!--          }-->
+<!--        });-->
+<!--      }-->
+<!--    },-->
+<!--  }-->
+<!--}-->
+<!--</script>-->
+
+
+<!--<style lang="scss" scoped>-->
+<!--.content {-->
+<!--  width: 100%;-->
+<!--  height: 100%;-->
+<!--  display: flex;-->
+<!--  flex-direction: column;-->
+<!--  .player-content {-->
+<!--    position: relative;-->
+<!--    width: 100%;-->
+<!--    height: 450rpx;-->
+<!--    display: flex;-->
+<!--    background-size: 100% 100%;-->
+
+<!--    .live-player {-->
+<!--      width: 100%;-->
+<!--      height: 100%;-->
+<!--      position: relative;-->
+<!--    }-->
+<!--  }-->
+<!--}-->
+<!--//播放器弹出工具-->
+<!--.player-tool {-->
+<!--  width: 100%;-->
+<!--  height: 60rpx;-->
+<!--  background-image: linear-gradient(0deg, rgba(0, 0, 0, .6), transparent);-->
+<!--  display: flex;-->
+<!--  align-items: center;-->
+<!--  justify-content: space-between;-->
+<!--  position: absolute;-->
+<!--  left: 0;-->
+<!--  padding: 0 45rpx;-->
+<!--  transition: all 0.3s;-->
+<!--  .tools {-->
+<!--    height: 100%;-->
+<!--    width: auto;-->
+<!--    display: flex;-->
+<!--    align-items: center;-->
+
+<!--    .full-screen {-->
+<!--      height: 100%;-->
+<!--      display: flex;-->
+<!--      align-items: center;-->
+<!--      justify-content: center;-->
+
+<!--      .iconfont {-->
+<!--        color: #fff;-->
+<!--        font-weight: bold;-->
+
+<!--      }-->
+<!--    }-->
+
+<!--    .cruise {-->
+<!--      display: flex;-->
+<!--      align-items: center;-->
+<!--      justify-content: center;-->
+<!--      margin-left: 25rpx;-->
+
+<!--      .iconfont {-->
+<!--        color: #E45A3E;-->
+<!--        font-size: 45rpx;-->
+<!--      }-->
+<!--    }-->
+<!--  }-->
+
+<!--}-->
+<!--</style>-->
+
+
+<!--&lt;!&ndash;<template>&ndash;&gt;-->
+<!--&lt;!&ndash;	<view>&ndash;&gt;-->
+<!--&lt;!&ndash;&lt;!&ndash;		<my-grid></my-grid>&ndash;&gt;&ndash;&gt;-->
+<!--&lt;!&ndash;    <video&ndash;&gt;-->
+<!--&lt;!&ndash;        id="myVideo"&ndash;&gt;-->
+<!--&lt;!&ndash;        :src="src"&ndash;&gt;-->
+<!--&lt;!&ndash;        :controls="controls"&ndash;&gt;-->
+<!--&lt;!&ndash;        :autoplay="autoplay"&ndash;&gt;-->
+<!--&lt;!&ndash;        style="width: 100%; height: 300px;"&ndash;&gt;-->
+<!--&lt;!&ndash;    ></video>&ndash;&gt;-->
+<!--&lt;!&ndash;	</view>&ndash;&gt;-->
+<!--&lt;!&ndash;</template>&ndash;&gt;-->
+
+<!--&lt;!&ndash;<script>&ndash;&gt;-->
+<!--&lt;!&ndash;	export default {&ndash;&gt;-->
+<!--&lt;!&ndash;		data() {&ndash;&gt;-->
+<!--&lt;!&ndash;			return {&ndash;&gt;-->
+<!--&lt;!&ndash;        src: '../../static/vedio/1.mp4',  // 视频地址&ndash;&gt;-->
+<!--&lt;!&ndash;        controls: true,  // 是否显示控制条&ndash;&gt;-->
+<!--&lt;!&ndash;        autoplay: false,  // 是否自动播放&ndash;&gt;-->
+
+<!--&lt;!&ndash;      };&ndash;&gt;-->
+<!--&lt;!&ndash;		}&ndash;&gt;-->
+<!--&lt;!&ndash;	}&ndash;&gt;-->
+<!--&lt;!&ndash;</script>&ndash;&gt;-->
+
+<!--&lt;!&ndash;<style lang="scss">&ndash;&gt;-->
 
-</style>
+<!--&lt;!&ndash;</style>&ndash;&gt;-->

二進制
uniapp/static/OIP.jpg


二進制
uniapp/static/R.jpg


二進制
uniapp/static/avator/1.jpg


二進制
uniapp/static/avator/2.jpg


二進制
uniapp/static/avator/3.jpg


二進制
uniapp/static/avator/4.jpg


二進制
uniapp/static/avator/5.jpg


二進制
uniapp/static/avator/6.jpg


二進制
uniapp/static/avator/7.jpg


二進制
uniapp/static/lunbo/1.jpg


二進制
uniapp/static/lunbo/2.jpg


二進制
uniapp/static/lunbo/3.jpg


二進制
uniapp/static/vedio/1.jpg


二進制
uniapp/static/vedio/1.mp4


+ 57 - 6
uniapp/store/order.js

@@ -5,22 +5,44 @@ export default{
     //数据
     state:()=>({
         // orders:JSON.parse(uni.getStorageSync('orders')||'[]'),
-        orders:[
-            {
-
-            }
-        ],
+        orders:[],
         //重定向Object对象
         redirectInfo:null,
 
     }),
     //方法
     mutations:{
+
         //更新收货地址
-        putOrder(state,order){
+        async putOrder(state,order){
+            try {
+                const response = await uni.request({
+                    url: uni.$http.baseUrl + 'orders/createOrder',
+                    method: 'POST',
+                    header: {
+                        'content-type': 'application/json',
+                        'token': uni.$http.testToken,
+                    },
+                    data: order
+                });
+                console.log(response,"什么吗是什么三十年")
+                if (response.data && response.data.code === '200') {
+                    // 如果请求成功并且返回的数据中包含 code 为 '200',则提交 mutation 更新店面数据
+                    commit('setShops', response.data.data);
+                    console.log(response.data.data,"aaa")
+                } else {
+                    console.error('请求失败或返回的数据不符合预期');
+                }
+            } catch (error) {
+                console.error('请求失败:', error);
+            }
+
             state.orders=[...state.orders,order]
             this.commit('m_user/saveOrderToStorage')
         },
+        setOrders(state,orders){
+            state.orders=orders
+        },
         //持久化储存orders
         saveOrderToStorage(state){
             uni.setStorageSync('orders',JSON.stringify(state.orders))
@@ -31,11 +53,40 @@ export default{
         },
 
     },
+    actions: {
+        //后端请求得到所有的店面的数据,保存入shops
+        async fetchOrder({ commit }) {
+            // return
+            console.log('哈哈哈哈哈')
+            try {
+                const response = await uni.request({
+                    url: uni.$http.baseUrl + 'orders/selectAll',
+                    method: 'GET',
+                    header: {
+                        'content-type': 'application/json',
+                        'token': uni.$http.testToken
+                    }
+                });
+                if (response.data && response.data.code === '200') {
+                    // 如果请求成功并且返回的数据中包含 code 为 '200',则提交 mutation 更新店面数据
+                    commit('setOrders', response.data.data);
+                    console.log(response.data.data,"aaa啊怎么办呢")
+                } else {
+                    console.error('请求失败或返回的数据不符合预期');
+                }
+            } catch (error) {
+                console.error('请求失败:', error);
+            }
+        }
+    },
 
     getters:{
         //收货地址
         getOrdersByType(state,type){
             return state.orders.filter(order=>order.orderType===type)
+        },
+        getOrders(state){
+            return state.orders
         }
     }
 }

+ 190 - 100
uniapp/store/shop.js

@@ -1,100 +1,190 @@
-// // store/modules/shop.js
-//
-// export default {
-//     namespaced: true,
-//     state: () => ({
-//         shops: [{
-//             "id": 1,
-//             "name": "淮瑞咖啡-枫林店",
-//             "address": "江西省南昌市经济开发区枫林大道江西财经大学店",
-//             "keeperId": 5,
-//             "username": null,
-//             "keeperName": null,
-//             "phone": null,
-//             "email": null
-//         },
-//             {
-//                 "id": 2,
-//                 "name": "淮瑞咖啡-经开店",
-//                 "address": "江西省南昌市经济开发区双港西大街绿地悦公馆",
-//                 "keeperId": 1,
-//                 "username": null,
-//                 "keeperName": null,
-//                 "phone": null,
-//                 "email": null
-//             }
-//         ] // 保存店面数据的数组
-//     }),
-//     mutations: {
-//         setShops(state, shops) {
-//             state.shops = shops; // 更新店面数据
-//         }
-//     },
-//     actions: {
-//         //后端请求得到所有的店面的数据,保存入shops
-//         async fetchShops({ commit }) {
-//             return
-//             try {
-//                 const response = await uni.request({
-//                     url: uni.$http.baseUrl + 'shop/selectAll',
-//                     method: 'GET',
-//                     header: {
-//                         'content-type': 'application/json',
-//                         'token': uni.$http.testToken
-//                     }
-//                 });
-//                 if (response.data && response.data.code === '200') {
-//                     // 如果请求成功并且返回的数据中包含 code 为 '200',则提交 mutation 更新店面数据
-//                     commit('setShops', response.data.data);
-//                 } else {
-//                     console.error('请求失败或返回的数据不符合预期');
-//                 }
-//             } catch (error) {
-//                 console.error('请求失败:', error);
-//             }
-//         }
-//     },
-//     getters: {
-//         getShopById: (state) => (id) => {
-//             console.log(id);
-//             return state.shops.find(shop => shop.id == id)
-//         },
-//         //   getShopById(state , shopId,prarm3,prarm4){
-//         //   console.log(state);
-//         //   console.log(shopId);
-//         //   console.log(prarm3);
-//         //   console.log(prarm4);
-//         //   console.log('-----------');
-//         //   shopId=2
-//         //       // 从 shops 数组中查找与指定 id 相匹配的店面信息
-//         // console.log(state.shops);
-//         // let shops=state.shops
-//         // for (let idx in shops) {
-//         // 	console.log(idx);
-//         // 	// console.log(shops[idx].id==shopId);
-//         // 	console.log(shops[idx].id,shops[idx].id==shopId,shopId);
-//         // 	if (shops[idx].id==shopId){
-//         // 		let shop =shops[idx]
-//         // 		return shop
-//         // 	}
-//         // }
-//         // console.log(data);
-//         // return data
-//         // }
-//         // getShopById: (state) => (shopId) => {
-//         //    console.log(shopId);
-//         //    // 从 shops 数组中查找与指定 id 相匹配的店面信息
-//         //    console.log(state.shops);
-//         //    let shops = state.shops;
-//         //    for (let idx in shops) {
-//         //      console.log(idx);
-//         //      console.log(shops[idx].id == shopId);
-//         //      console.log(shops[idx].id, shops[idx].id == shopId, shopId);
-//         //      if (shops[idx].id == shopId) {
-//         //        let shop = shops[idx];
-//         //        return shop;
-//         //      }
-//         //    }
-//         //  }
-//     },
-// };
+// store/modules/shop.js
+
+let defaultUrl="https://img.zcool.cn/community/0179cc57debf250000018c1b6c5903.jpg@1280w_1l_2o_100sh.jpg"
+let defaultInfo="这家店暂时没有什么可以说的和展示的"
+export default {
+    namespaced: true,
+    state: () => ({
+        shops: [{
+            "id": 1,
+            "storeName": "淮瑞菜记-枫林店",
+            "address": "江西省南昌市经济开发区枫林大道江西财经大学店",
+            "keeperId": 5,
+            "username": null,
+            "keeperName": null,
+            "phone": null,
+            "email": null,
+            "imgUrl":defaultUrl,
+            "shopInfo":defaultInfo,
+            "icon":"../../static/logo.png"
+        },
+            {
+                "id": 2,
+                "name": "淮瑞咖啡-经开店",
+                "address": "江西省南昌市经济开发区双港西大街绿地悦公馆",
+                "keeperId": 1,
+                "username": null,
+                "keeperName": null,
+                "phone": null,
+                "email": null,
+                "imgUrl":defaultUrl,
+                "shopInfo":defaultInfo,
+                "icon":"../../static/logo.png"
+            },
+            {
+                "id": 3,
+                "name": "淮瑞咖啡-枫林店",
+                "address": "江西省南昌市经济开发区枫林大道江西财经大学店",
+                "keeperId": 2,
+                "username": null,
+                "keeperName": null,
+                "phone": null,
+                "email": null,
+                "imgUrl":defaultUrl,
+                "shopInfo":defaultInfo,
+                "icon":"../../static/logo.png"
+            },
+            {
+                "id": 4,
+                "storeName": "淮瑞咖啡-枫林店",
+                "address": "江西省南昌市经济开发区枫林大道江西财经大学店",
+                "keeperId": 3,
+                "username": null,
+                "keeperName": null,
+                "phone": null,
+                "email": null,
+                "imgUrl":defaultUrl,
+                "shopInfo":defaultInfo,
+                "icon":"../../static/logo.png"
+            },
+            {
+                "id": 5,
+                "name": "淮瑞咖啡-枫林店",
+                "address": "江西省南昌市经济开发区枫林大道江西财经大学店",
+                "keeperId": 4,
+                "username": null,
+                "keeperName": null,
+                "phone": null,
+                "email": null,
+                "imgUrl":defaultUrl,
+                "shopInfo":defaultInfo,
+                "icon":"../../static/logo.png"
+            },
+            {
+                "id": 6,
+                "name": "淮瑞咖啡-枫林店",
+                "address": "江西省南昌市经济开发区枫林大道江西财经大学店",
+                "keeperId": 5,
+                "username": null,
+                "keeperName": null,
+                "phone": null,
+                "email": null,
+                "imgUrl":defaultUrl,
+                "shopInfo":defaultInfo,
+                "icon":"../../static/logo.png"
+            },
+            {
+                "id": 7,
+                "name": "淮瑞咖啡-枫林店",
+                "address": "江西省南昌市经济开发区枫林大道江西财经大学店",
+                "keeperId": 6,
+                "username": null,
+                "keeperName": null,
+                "phone": null,
+                "email": null,
+                "imgUrl":defaultUrl,
+                "shopInfo":defaultInfo,
+                "icon":"../../static/logo.png"
+            }
+        ] // 保存店面数据的数组
+
+    }),
+    mutations: {
+        setShops(state, shops) {
+            state.shops = shops; // 更新店面数据
+        }
+    },
+    actions: {
+        //后端请求得到所有的店面的数据,保存入shops
+        async fetchShops({ commit }) {
+            // return
+            console.log('啊啊啊啊')
+            try {
+                const response = await uni.request({
+                    url: uni.$http.baseUrl + 'store/selectAll',
+                    method: 'GET',
+                    header: {
+                        'content-type': 'application/json',
+                        'token': uni.$http.testToken
+                    }
+                });
+                if (response.data && response.data.code === '200') {
+                    // 如果请求成功并且返回的数据中包含 code 为 '200',则提交 mutation 更新店面数据
+                    commit('setShops', response.data.data);
+                    console.log(response.data.data,"aaa")
+                } else {
+                    console.error('请求失败或返回的数据不符合预期');
+                }
+            } catch (error) {
+                console.error('请求失败:', error);
+            }
+        }
+    },
+    getters: {
+        getShopById: (state) => (id) => {
+            console.log(id);
+            return state.shops.find(shop => shop.id == id)
+        },
+        getShowShops: (state) => {
+            return state.shops
+        },
+        getDistance: (state) => (id) => {
+            console.log('来了')
+            // return state.shops.find(shop => shop.id == id).distance
+            return 960
+        },
+        getTypeById: (state) => (id) => {
+            return state.shops.find(shop => shop.id === id).productTypes
+        },
+        getProductById: (state) => (id) => {
+            return state.shops.find(shop => shop.id === id).products
+        }
+        //   getShopById(state , shopId,prarm3,prarm4){
+        //   console.log(state);
+        //   console.log(shopId);
+        //   console.log(prarm3);
+        //   console.log(prarm4);
+        //   console.log('-----------');
+        //   shopId=2
+        //       // 从 shops 数组中查找与指定 id 相匹配的店面信息
+        // console.log(state.shops);
+        // let shops=state.shops
+        // for (let idx in shops) {
+        // 	console.log(idx);
+        // 	// console.log(shops[idx].id==shopId);
+        // 	console.log(shops[idx].id,shops[idx].id==shopId,shopId);
+        // 	if (shops[idx].id==shopId){
+        // 		let shop =shops[idx]
+        // 		return shop
+        // 	}
+        // }
+        // console.log(data);
+        // return data
+        // }
+        // getShopById: (state) => (shopId) => {
+        //    console.log(shopId);
+        //    // 从 shops 数组中查找与指定 id 相匹配的店面信息
+        //    console.log(state.shops);
+        //    let shops = state.shops;
+        //    for (let idx in shops) {
+        //      console.log(idx);
+        //      console.log(shops[idx].id == shopId);
+        //      console.log(shops[idx].id, shops[idx].id == shopId, shopId);
+        //      if (shops[idx].id == shopId) {
+        //        let shop = shops[idx];
+        //        return shop;
+        //      }
+        //    }
+        //  }
+    },
+};

+ 128 - 90
uniapp/store/shop/project.js

@@ -1,91 +1,129 @@
 // import  SHOP from '../staticURL.js'
-//
-// export default {
-//   namespaced: true,
-//   state: () => ({
-//     projects: [{
-//       "id": 2,
-//       "name": "可乐",
-//       "originPrice": 8,
-//       "avatar": "",
-//       "type":"饮料"
-//     },
-//     {
-//       "id": 1,
-//       "name": "雪碧",
-//       "originPrice": 8,
-//       "avatar": "",
-//       "type":"饮料"
-//     },
-//     {
-//       "id": 11,
-//       "name": "拿铁",
-//       "originPrice": 18,
-//       "avatar": "",
-//       "type":"咖啡"
-//     },
-//     {
-//       "id": 12,
-//       "name": "咖啡",
-//       "originPrice": 18,
-//       "avatar": "",
-//       "type":"咖啡"
-//     },
-//   ] // 保存店面数据的数组
-//   }),
-//   mutations: {
-//     setProjects(state, projects) {
-//       state.projects = projects; // 更新店面数据
-//     }
-//   },
-//   actions: {
-// 	  //后端请求得到所有的店面的数据,保存入projects
-//     async fetchProjects({ commit }) {
-// 		// return
-//       try {
-//         const response = await uni.request({
-//           // url: uni.$http.baseUrl + 'product/selectAll',
-//           url: SHOP.SELECTALLURL,
-//           method: 'GET',
-//           header: {
-//             'content-type': 'application/json',
-//             'token': uni.$http.testToken
-//           }
-//         });
-//         if (response.data && response.data.code === '200') {
-// 			console.log(response.data.data);
-// 			console.log('==');
-//           // 如果请求成功并且返回的数据中包含 code 为 '200',则提交 mutation 更新店面数据
-//           commit('setProjects', response.data.data);
-//         } else {
-//           console.error('请求失败或返回的数据不符合预期');
-//         }
-//       } catch (error) {
-//         console.error('请求失败:', error);
-//       }
-//     }
-//   },
-//     getters: {
-// 		 //  getProjectsByType: (state) => (type) => {
-// 			// if (type=='all'||type=='全部商品'){
-// 			// 	return state.projects
-// 			// }
-// 		 //    return state.projects.filter(project => project.type == type)
-// 		 //  },
-// 		   getProjectsByType: (state) => (type) => {
-// 		     type=String(type)
-// 			 if (type === 'all' || type === '全部商品') {
-// 		       return state.projects;
-// 		     }
-// 			 console.log('---------');
-// 			 console.log(state.projects);
-// 			 console.log(type);
-// 			 console.log('---------');
-// 		     return state.projects.filter(project => {
-// 				let pType = String (project.type)
-// 		       const categories = pType.split(' '); // 使用空格分割多类别
-// 		       return categories.includes(type); // 包含特定类别的商品
-// 		     });
-// 		   }
-//     },
-// };
+
+export default {
+  namespaced: true,
+  state: () => ({
+    projects: [{
+      "id": 2,
+      "productStata":"充足",
+      "productName": "可乐",
+      "productIcons":"https://th.bing.com/th/id/OIP.kiwNAFNljctfF5licux1mwHaJQ?rs=1&pid=ImgDetMain",
+      "productTypeIds":[1,2,3,4],
+      "productBidPrice": 8,
+      "productSellPrice":6,
+      "avatar": "",
+      "type":"饮料"
+    },
+    {
+      "id": 1,
+      "productStata":"充足",
+      "productName": "雪碧",
+      "productIcons":"https://th.bing.com/th/id/OIP.kiwNAFNljctfF5licux1mwHaJQ?rs=1&pid=ImgDetMain",
+      "productTypeIds":[1,2,3,4],
+      "productBidPrice": 8,
+      "productSellPrice":6,
+      "avatar": "",
+      "type":"饮料"
+    },
+    {
+      "id": 11,
+      "productStata":"充足",
+      "productName": "拿铁",
+      "productIcons":"https://th.bing.com/th/id/OIP.kiwNAFNljctfF5licux1mwHaJQ?rs=1&pid=ImgDetMain",
+      "productTypeIds":[1,2,3,4],
+      "productBidPrice": 18,
+      "productSellPrice":6,
+      "avatar": "",
+    },
+    {
+      "id": 12,
+      "productStata":"充足",
+      "productName": "咖啡",
+      "productIcons":"https://th.bing.com/th/id/OIP.kiwNAFNljctfF5licux1mwHaJQ?rs=1&pid=ImgDetMain",
+      "productTypeIds":[1,2,3,4],
+      "productBidPrice": 18,
+      "productSellPrice":6,
+      "avatar": "",
+      "type":"咖啡"
+    },
+  ], // 保存店面数据的数组
+    types:[{id:1,productName:'饮料'}, {id:2,productName:'咖啡'}, {id:3,productName:'零食'}, {id:4,productName:'水果'}]
+  }),
+  mutations: {
+    setProjects(state, projects) {
+      state.projects = projects; // 更新店面数据
+    }
+  },
+  actions: {
+	  //后端请求得到所有的店面的数据,保存入projects
+    async fetchProjects({ commit }) {
+      try {
+        const response = await uni.request({
+
+          url: uni.$http.baseUrl + 'product/selectAll',
+          // url: SHOP.SELECTALLURL,
+          method: 'GET',
+          header: {
+            'content-type': 'application/json',
+            'token': uni.$http.testToken
+          }
+        });
+        if (response.data && response.data.code === '200') {
+			console.log(response.data.data);
+			console.log('==');
+          // 如果请求成功并且返回的数据中包含 code 为 '200',则提交 mutation 更新店面数据
+          commit('setProjects', response.data.data);
+        } else {
+          console.error('请求失败或返回的数据不符合预期');
+        }
+      } catch (error) {
+        console.error('请求失败:', error);
+      }
+    }
+  },
+    getters: {
+      getProjects(state) {
+        return state.projects
+      },
+        getTypes(state) {
+        return state.types
+          let types = []
+          state.projects.forEach(project => {
+            if (!types.includes(project.type)) {
+              types.push(project.type)
+            }
+          })
+          return types
+        },
+		 //  getProjectsByType: (state) => (type) => {
+			// if (type=='all'||type=='全部商品'){
+			// 	return state.projects
+			// }
+		 //    return state.projects.filter(project => project.type == type)
+		 //  },
+		 //   getProjectsByType: (state) => (type) => {
+		 //     type=String(type)
+			//  if (type === 'all' || type === '全部商品') {
+		 //       return state.projects;
+		 //     }
+			//  // console.log('---------');
+			//  // console.log(state.projects);
+			//  // console.log(type);
+			//  // console.log('---------');
+		 //     return state.projects.filter(project => {
+			// 	let pType = String (project.type)
+		 //       const categories = pType.split(' '); // 使用空格分割多类别
+		 //       return categories.includes(type); // 包含特定类别的商品
+		 //     });
+		 //   }
+      getProjectsByType: (state) => (typeId) => {
+        let products=[]
+        state.projects.forEach(project => {
+          if (project.productTypeIds.includes(typeId)){
+            products.push(project)
+          }
+        })
+        return products
+      }
+    },
+};

+ 5 - 1
uniapp/store/store.js

@@ -5,6 +5,8 @@ import moduleUser from '@/store/user.js'
 // import moduleInfo from '@/store/info.js'
 import moduleShop from '@/store/shop.js'
 import moduleProj from '@/store/shop/project.js'
+import  moduleAddresses from "@/store/user/addresses"
+import moduleOrder from '@/store/order.js'
 Vue.use(Vuex)
 const store = new Vuex.Store({
     modules:{
@@ -12,7 +14,9 @@ const store = new Vuex.Store({
         'm_user':moduleUser,
         // 'm_info':moduleInfo,
         'm_shop':moduleShop,
-        'm_proj':moduleProj
+        'm_proj':moduleProj,
+        'm_addr':moduleAddresses,
+        'm_order':moduleOrder
     }
 })
 

+ 14 - 0
uniapp/store/user.js

@@ -4,6 +4,8 @@ export default{
 
     //数据
     state:()=>({
+        userName:"ST [渔夺]",
+        avatarUrl:"../../static/avator/1.jpg",
         address:JSON.parse(uni.getStorageSync('address')||'{}'),
         token:uni.getStorageSync('token')||'',
         //用户的信息对象
@@ -20,6 +22,12 @@ export default{
             state.address=address
             this.commit('m_user/saveAddressToStorage')
         },
+        updateAvatarUrl(state,avatarUrl){
+            state.avatarUrl=avatarUrl
+        },
+        updateUserName(state,userName){
+            state.userName=userName
+        },
         //持久化储存address
         saveAddressToStorage(state){
             uni.setStorageSync('address',JSON.stringify(state.address))
@@ -57,9 +65,15 @@ export default{
 
     getters:{
         //收货地址
+        getUserName(state){
+            return state.userName
+        },
         addstr(state){
             if(!state.address.provinceName) return ''
             return state.address.provinceName+state.address.cityName+state.address.countyName+state.address.detailInfo
+        },
+        getAvatarUrl(state){
+            return state.avatarUrl
         }
     }
 }

+ 37 - 0
uniapp/store/user/addresses.js

@@ -0,0 +1,37 @@
+export default{
+    //开启命名空间
+    namespaced:true,
+
+    //数据
+    state:()=>({
+        // address:JSON.parse(uni.getStorageSync('address')||'{addresses:[]}').addresses,
+        address:[]
+    }),
+    //方法
+    mutations:{
+        //更新收货地址
+        addAddress(state,address){
+            state.address.push(address)
+        },
+        //持久化储存address
+        saveAddressToStorage(state){
+            uni.setStorageSync('address',JSON.stringify({addresses:state.address}))
+        }
+    },
+
+    getters:{
+        //收货地址
+        addstr(state){
+            if(!state.address.provinceName) return ''
+            return state.address.provinceName+state.address.cityName+state.address.countyName+state.address.detailInfo
+        },
+        getAddressList(state){
+            let ret=[]
+            console.log(state.address,"空吗")
+            for (let i=0;i<state.address.length;i++){
+                ret.push(state.address[i].location.address+state.address[i].detailAddress)
+            }
+            return ret
+        }
+    }
+}

+ 83 - 75
uniapp/store/user/cart.js

@@ -1,75 +1,83 @@
-// export default{
-//     namespaced:true,
-//     state:()=>({
-//         //购物车的数组,用来储存购物车中每个商品的信息对象
-//         //每个商品的信息对象,都包含如下六个属性
-//         //{goods_id,goods_name,goods_price,goods_count,goods_small_logo,goods_state}
-//         cart:JSON.parse(uni.getStorageSync('cart')||'[]')
-//     }),
-//
-//     mutations:{
-//         addToCart(state,goods){
-//             const findResult = state.cart.find(x => x.goods_id===goods.goods_id)
-//             //console.log(findResult);
-//             if(!findResult){
-//                 state.cart.push(goods)
-//             }
-//             else{
-//                 findResult.goods_count++
-//             }
-//             //console.log(state.cart);
-//             this.commit('m_cart/saveToStorage')
-//         },
-//         saveToStorage(state){
-//             uni.setStorageSync('cart',JSON.stringify(state.cart))
-//         },
-//         //更新购物车中商品的勾选状态
-//         updateGoodsState(state,goods){
-//             const findResult = state.cart.find(x=>x.goods_id===goods.goods_id)
-//             //console.log(findResult);
-//             if(findResult){
-//
-//                 findResult.goods_state=goods.goods_state
-//                 //持久化储存本地
-//                 this.commit('m_cart/saveToStorage')
-//
-//             }
-//         },
-//         //更新商品的数量
-//         updateGoodsCount(state,goods){
-//             const findResult = state.cart.find(x=>x.goods_id===goods.goods_id)
-//             if(findResult){
-//                 findResult.goods_count=goods.goods_count
-//
-//                 this.commit('m_cart/saveToStorage')
-//             }
-//         },
-//         //根据ID删除对应的商品
-//         removeGoodsById(state,goods_id){
-//             state.cart = state.cart.filter(x=>x.goods_id!==goods_id)
-//             this.commit('m_cart/saveToStorage')
-//         },
-//         //更新购物车中所有 商品的勾选状态
-//         updateAllGoodsState(state,newState){
-//             state.cart.forEach(x=>x.goods_state = newState)
-//             this.commit('m_cart/saveToStorage')
-//         }
-//     },
-//     getters:{
-//         //购物车所有商品的总数量
-//         total(state){
-//             // let c=0
-//             // state.cart.forEach(x=>c+=x.goods_count)
-//             // return c
-//             return state.cart.reduce((total,item)=>total+=item.goods_count,0)
-//         },
-//         //购物车中已勾选商品的数量
-//         checkedCount(state){
-//             return state.cart.filter(x=>x.goods_state).reduce((total,item)=> total += item.goods_count,0)
-//         },
-//         //以勾选商品的总价格
-//         checkedGoodsAmount(state){
-//             return state.cart.filter(x=>x.goods_state).reduce((total,item)=>total+=item.goods_count*item.goods_price,0).toFixed(2)
-//         }
-//     }
-// }
+export default{
+    namespaced:true,
+    state:()=>({
+        //购物车的数组,用来储存购物车中每个商品的信息对象
+        //每个商品的信息对象,都包含如下六个属性
+        //{goods_id,goods_name,goods_price,goods_count,goods_small_logo,goods_state}
+        cart:JSON.parse(uni.getStorageSync('cart')||'[]')
+    }),
+
+    mutations:{
+        addToCart(state,goods){
+            const findResult = state.cart.find(x => x.goods_id===goods.goods_id)
+            //console.log(findResult);
+            if(!findResult){
+                state.cart.push(goods)
+            }
+            else{
+                findResult.goods_count++
+            }
+            //console.log(state.cart);
+            this.commit('m_cart/saveToStorage')
+        },
+        saveToStorage(state){
+            uni.setStorageSync('cart',JSON.stringify(state.cart))
+        },
+        //更新购物车中商品的勾选状态
+        updateGoodsState(state,goods){
+            const findResult = state.cart.find(x=>x.goods_id===goods.goods_id)
+            //console.log(findResult);
+            if(findResult){
+
+                findResult.goods_state=goods.goods_state
+                //持久化储存本地
+                this.commit('m_cart/saveToStorage')
+
+            }
+        },
+        //更新商品的数量
+        updateGoodsCount(state,goods){
+            const findResult = state.cart.find(x=>x.goods_id===goods.goods_id)
+            if(findResult){
+                findResult.goods_count=goods.goods_count
+
+                this.commit('m_cart/saveToStorage')
+            }
+        },
+        //根据ID删除对应的商品
+        removeGoodsById(state,goods_id){
+            state.cart = state.cart.filter(x=>x.goods_id!==goods_id)
+            this.commit('m_cart/saveToStorage')
+        },
+        //更新购物车中所有 商品的勾选状态
+        updateAllGoodsState(state,newState){
+            state.cart.forEach(x=>x.goods_state = newState)
+            this.commit('m_cart/saveToStorage')
+        },
+        //清空购物车
+        clearCart(state){
+            state.cart = []
+            this.commit('m_cart/saveToStorage')
+        }
+    },
+    getters:{
+        //购物车所有商品的总数量
+        total(state){
+            // let c=0
+            // state.cart.forEach(x=>c+=x.goods_count)
+            // return c
+            return state.cart.reduce((total,item)=>total+=item.goods_count,0)
+        },
+        //购物车中已勾选商品的数量
+        checkedCount(state){
+            return state.cart.filter(x=>x.goods_state).reduce((total,item)=> total += item.goods_count,0)
+        },
+        //以勾选商品的总价格
+        checkedGoodsAmount(state){
+            return state.cart.filter(x=>x.goods_state).reduce((total,item)=>total+=item.goods_count*item.goods_price,0).toFixed(2)
+        },
+        getCart(state){
+            return state.cart
+        }
+    }
+}

+ 212 - 0
uniapp/subpkg/addAddress/addAddress.vue

@@ -0,0 +1,212 @@
+<template>
+  <view class="container">
+    <view class="chooseAddress">
+      <button class="choose-btn" @click="chooseLocation">
+        <van-icon name="location-o" />
+        选择收货地址
+      </button>
+      <view v-if="location" class="location-info">
+        <text>{{ location.name }}</text>
+        <text>{{ location.address }}</text>
+      </view>
+    </view>
+    <view class="info">
+      <view class="detailAddress">
+        <input placeholder="详细地址,例如101室" v-model="detailAddress" />
+      </view>
+      <view class="tag">
+        <radio-group @change="changeAddressTag">
+          <label class="tag-label" v-for="tag in addressTags" :key="tag">
+            <radio :value="tag" :checked="addressTag === tag" />
+            {{ tag }}
+          </label>
+        </radio-group>
+      </view>
+      <view class="person-info">
+        <input
+            class="person-input"
+            placeholder="请填写收货人的姓名"
+            v-model="receiverName"
+        />
+        <radio-group class="gender" @change="changeGender">
+          <label v-for="g in genders" :key="g">
+            <radio :value="g" :checked="gender === g" />{{ g }}
+          </label>
+        </radio-group>
+      </view>
+      <view class="phoneNumber">
+        <input placeholder="请填写收货手机号码" v-model="phoneNumber" />
+      </view>
+    </view>
+    <view class="savaAddress">
+      <button class="save-btn" @click="saveAddress">保存地址</button>
+    </view>
+  </view>
+</template>
+
+<script>
+import { mapMutations ,mapGetters} from 'vuex'
+export default {
+  data() {
+    return {
+      detailAddress: '',
+      addressTag: '家',
+      addressTags: ['家', '公司', '学校', '公寓'],
+      receiverName: '',
+      phoneNumber: '',
+      gender: '先生',
+      genders: ['先生', '女士'],
+      location: null
+    };
+  },
+  methods: {
+    ...mapMutations('m_addr', ['addAddress']),
+    chooseLocation() {
+      uni.chooseLocation({
+        success: (res) => {
+          this.location = res;
+        }
+      });
+    },
+    changeAddressTag(e) {
+      this.addressTag = e.detail.value;
+    },
+    changeGender(e) {
+      this.gender = e.detail.value;
+    },
+
+    saveAddress() {
+      let data={
+        detailAddress: this.detailAddress,
+        addressTag: this.addressTag,
+        receiverName: this.receiverName,
+        phoneNumber: this.phoneNumber,
+        gender: this.gender,
+        location: this.location
+      }
+      this.addAddress(data)
+      console.log('详细地址:', this.detailAddress);
+      console.log('地址标签:', this.addressTag);
+      console.log('收货人姓名:', this.receiverName);
+      console.log('手机号码:', this.phoneNumber);
+      console.log('性别:', this.gender);
+      console.log('位置:', this.location);
+      uni.navigateBack();
+
+    },
+    saveAndBack() {
+
+      // 返回上一层页面
+    }
+  }
+}
+</script>
+
+<style lang="scss">
+.container {
+  padding: 20rpx;
+  background-color: #f7f7f7;
+}
+
+.chooseAddress {
+  background-color: #fff;
+  padding: 20rpx;
+  border-radius: 10rpx;
+  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
+
+  .choose-btn {
+    display: flex;
+    align-items: center;
+    background-color: #ff6600;
+    color: #fff;
+    font-size: 28rpx;
+    padding: 10rpx 20rpx;
+    border-radius: 30rpx;
+
+    .van-icon-location-o {
+      margin-right: 10rpx;
+    }
+  }
+
+  .location-info {
+    margin-top: 20rpx;
+    color: #666;
+    font-size: 26rpx;
+
+    text {
+      display: block;
+    }
+  }
+}
+
+.info {
+  margin-top: 20rpx;
+  background-color: #fff;
+  padding: 20rpx;
+  border-radius: 10rpx;
+  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
+
+  .detailAddress,
+  .phoneNumber {
+    input {
+      border: 1px solid #eee;
+      border-radius: 5rpx;
+      padding: 10rpx;
+      margin-bottom: 20rpx;
+    }
+  }
+
+  .tag {
+    display: flex;
+    flex-wrap: wrap;
+    margin-bottom: 20rpx;
+
+    .tag-label {
+      background-color: #f7f7f7;
+      color: #666;
+      padding: 5rpx 10rpx;
+      margin-right: 10rpx;
+      margin-bottom: 10rpx;
+      border-radius: 5rpx;
+
+      radio {
+        transform: scale(0.8);
+      }
+    }
+  }
+
+  .person-info {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    margin-bottom: 20rpx;
+
+    .person-input {
+      flex: 1;
+      border: 1px solid #eee;
+      border-radius: 5rpx;
+      padding: 10rpx;
+    }
+
+    .gender {
+      display: flex;
+
+      radio {
+        transform: scale(0.8);
+      }
+    }
+  }
+}
+
+.savaAddress {
+  margin-top: 20rpx;
+
+  .save-btn {
+    background-color: #ff6600;
+    color: #fff;
+    font-size: 28rpx;
+    padding: 10rpx 20rpx;
+    border-radius: 30rpx;
+  }
+}
+</style>

+ 93 - 88
uniapp/subpkg/login/login.vue

@@ -1,111 +1,116 @@
 <template>
-  <view>
-
-    <!-- 		<button class="avatar-wrapper" open-type="chooseAvatar" @chooseavatar="onChooseAvatar" slot="right-icon">
-
-
-          <image class="avatar" :src="avatarUrl"></image>
-        </button> -->
-    <van-cell title="头像">
-      <!-- <van-icon slot="right-icon" name="search" class="custom-icon" /> -->
-      <button class="avatar-wrapper" open-type="chooseAvatar" @chooseavatar="onChooseAvatar" slot="right-icon">
-        <image class="avatar" :src="avatarUrl"></image>
-      </button>
-    </van-cell>
-    <van-cell title="昵称">
-      <input type="nickname" class="weui-input" placeholder="请输入昵称" v-model="nickName"/>
-    </van-cell>
-
-
-    <view class="confirm">
-      <van-button round type="info" color="#7232dd" class="van-center-enter-active" @click="confirmLogin">确认信息</van-button>
+  <view class="login-page">
+    <view class="login-container">
+      <view class="login-header">
+        <text class="login-title">欢迎使用</text>
+      </view>
+      <view class="login-body">
+        <van-button round type="info" size="large" @click="handleAuthorize" :loading="loading">
+          一键授权登录
+        </van-button>
+      </view>
+      <view class="loading-container" v-if="loading">
+        <view class="loading-spinner"></view>
+        <text class="loading-text">正在登录...</text>
+      </view>
     </view>
   </view>
 </template>
 
 <script>
-import {mapMutations} from "vuex"
-const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
-
+import { mapMutations } from "vuex";
 export default {
   data() {
     return {
-      avatarUrl: defaultAvatarUrl,
-      nickName:""
+      loading: false,
     };
   },
   methods: {
-    // ...mapMutations('m_user',['updateToken']),
-    ...mapMutations('m_user',['updateAddress','updateUserInfo','updateToken','addLevelRate']),
-
-    onChooseAvatar(e) {
-      const { avatarUrl } = e.detail
-      this.avatarUrl=avatarUrl
+    ...mapMutations('m_user',['updateToken']),
+    handleAuthorize() {
+      this.loading = true;
+      setTimeout(() => {
+        this.loading = false;
+        // 在这里添加登录成功后的逻辑
+        console.log("登录成功");
+        this.updateToken('123456')
+        uni.showToast({
+          title: '登录成功',
+          icon: 'success',
+          duration: 2000,
+        });
+        setTimeout(() => {
+          uni.navigateBack({
+            delta: 1
+          })
+        }, 1000);
+      }, 3000);
     },
-    async getToken(info){
-      // const [err,res] =await uni.login().catch(err=>err)
-      // if(err||res.errMsg!=='login:ok')return  uni.$showMsg('登录失败!')
-      // //准备参数
-
-      // const query={
-      //   code:res.code,
-      //   encryptedData:info.encryptedData,
-      //   iv:info.iv,
-      //   rawData:info.rawData,
-      //   signature:info.signature
-      // }
-      // const {data:loginResult} = await uni.$http.post('/api/public/v1/users/wxlogin',query)
-      // console.log(loginResult.meta.status);
-      // if(loginResult.meta.status===200)return uni.$showMsg('登录失败!')
-      //直接把token保存的vuex中
-      this.updateToken('Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjIzLCJpYXQiOjE1NjQ3MzAwNzksImV4cCI6MTAwMTU2NDczMDA3OH0.YPt-XeLnjV-_1ITaXGY2FhxmCe4NvXuRnRB8OMCfnPo')
-      this.updateToken('eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxLUFETUlOIiwiZXhwIjoxNzM5MDk4Njc4fQ.AY9lfdw6dySsEd7TCCS9POx69OyH3Jpm1at0xOq6H8o')
-
-      uni.showToast({
-        title: '登录成功',
-        icon: 'success',
-        duration: 2000
-      });
-      this.navigateBack()
-    },
-    // 在 selShop 页面中选择好店铺后调用该函数,并传递选定的店铺 ID
-    confirmLogin() {
-      let self =this
-      uni.navigateBack({
-        delta: 1, // 返回上一页
-        success() {
-          // 通过事件派发将选定的店铺 ID 传递给父组件
-          let userinfo = {"nickName":"微信用户","gender":0,"language":"","city":"","province":"","country":"","avatarUrl":"https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132"}
-
-          if (self.nickName) userinfo.nickName=self.nickName
-          if (self.avatarUrl) userinfo.avatarUrl=self.avatarUrl
-          // console.log('c',userinfo);
-          self.updateUserInfo(userinfo)
-        }
-      });
-    }
   },
-}
+};
 </script>
 
 <style lang="scss">
-
-van-cell{
+.login-page {
+  background: linear-gradient(135deg, #6a82fb, #fc5c7d);
+  height: 100vh;
   display: flex;
-  // align-items: center;
   justify-content: center;
-}
-.avatar-wrapper{
-  width: 30px;
-  height: 30px;
-  padding: 0;
-  .avatar{
-    width: 100%;
-    height: 100%;
+  align-items: center;
+
+  .login-container {
+    background-color: #fff;
+    border-radius: 12px;
+    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
+    padding: 24px;
+    width: 80%;
+    max-width: 400px;
+
+    .login-header {
+      text-align: center;
+      margin-bottom: 24px;
+
+      .login-title {
+        font-size: 24px;
+        font-weight: bold;
+        color: #333;
+      }
+    }
+
+    .login-body {
+      text-align: center;
+    }
+
+    .loading-container {
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      margin-top: 24px;
+
+      .loading-spinner {
+        width: 30px;
+        height: 30px;
+        border: 4px solid #fc5c7d;
+        border-top-color: transparent;
+        border-radius: 50%;
+        animation: spin 1s linear infinite;
+      }
+
+      .loading-text {
+        margin-top: 8px;
+        color: #666;
+        font-size: 14px;
+      }
+    }
   }
 }
-.confirm{
-  display: flex;
-  justify-content: center;
+
+@keyframes spin {
+  from {
+    transform: rotate(0deg);
+  }
+  to {
+    transform: rotate(360deg);
+  }
 }
 </style>

+ 214 - 10
uniapp/subpkg/order/order.vue

@@ -1,48 +1,252 @@
+
+<!--<template>-->
+<!--  <view class="order-page">-->
+<!--    1111111111111111111-->
+<!--    <van-tabs v-model="activeTab" title-active-color="#ee0a24" color="#333" swipe-threshold="5" animated sticky offset-top="46" @change="handleTabChange">-->
+<!--      <van-tab title="全部">-->
+<!--&lt;!&ndash;        <order-list :orders="allOrders" />&ndash;&gt;-->
+<!--      </van-tab>-->
+<!--      <van-tab title="待付款">-->
+<!--&lt;!&ndash;        <order-list :orders="unpaidOrders" />&ndash;&gt;-->
+<!--      </van-tab>-->
+<!--      <van-tab title="待送达">-->
+<!--&lt;!&ndash;        <order-list :orders="unreceivedOrders" />&ndash;&gt;-->
+<!--      </van-tab>-->
+<!--      <van-tab title="已送达">-->
+<!--&lt;!&ndash;        <order-list :orders="refundOrders" />&ndash;&gt;-->
+<!--      </van-tab>-->
+<!--      <van-tab title="已完成">-->
+<!--&lt;!&ndash;        <order-list :orders="completedOrders" />&ndash;&gt;-->
+<!--      </van-tab>-->
+<!--    </van-tabs>-->
+<!--  </view>-->
+<!--</template>-->
+
+<!--<script>-->
+<!--import {mapState,mapMutations,mapGetters,mapActions} from 'vuex'-->
+<!--export default {-->
+<!--  components: {-->
+<!--    OrderList-->
+<!--  },-->
+<!--  data() {-->
+<!--    return {-->
+<!--      activeTab: 0,-->
+<!--      orders: [-->
+<!--        {-->
+<!--          address: {-->
+<!--            address: "江西财经大学枫林园",-->
+<!--            doorNo: "2#524",-->
+<!--            id: 9,-->
+<!--            phone: "12345678910",-->
+<!--            recipientName: "瑶妹",-->
+<!--            userId: 1-->
+<!--          },-->
+<!--          addressId: 9,-->
+<!--          bidPay: 10,-->
+<!--          id: 42,-->
+<!--          orderProductsLists: [],-->
+<!--          orderRemark: "我要大的橘子",-->
+<!--          orderState: "已送达",-->
+<!--          orderTypeId: null,-->
+<!--          originPay: 14.5,-->
+<!--          storeId: 1,-->
+<!--          timeOrder: "2024-05-05 01:48:28",-->
+<!--          timePre: "2024-05-05 01:48:39",-->
+<!--          transCode: "1786815170015203328",-->
+<!--          user: {-->
+<!--            account: null,-->
+<!--            addressIds: null,-->
+<!--            avatar: null,-->
+<!--            id: 1,-->
+<!--            name: "爱喝茶的小淮",-->
+<!--            newPassword: null,-->
+<!--            openid: "1243214213",-->
+<!--            password: null,-->
+<!--            phone: "12345678910",-->
+<!--            role: "USER",-->
+<!--            sex: "男",-->
+<!--            token: null,-->
+<!--            username: "user"-->
+<!--          },-->
+<!--          userId: 1-->
+<!--        }-->
+<!--      ]-->
+<!--    };-->
+<!--  },-->
+<!--  computed: {-->
+<!--    allOrders() {-->
+<!--      return this.orders;-->
+<!--    },-->
+<!--    unpaidOrders() {-->
+<!--      return this.orders.filter(order => order.orderState === "待付款");-->
+<!--    },-->
+<!--    unreceivedOrders() {-->
+<!--      return this.orders.filter(order => order.orderState === "待送达");-->
+<!--    },-->
+<!--    refundOrders() {-->
+<!--      return this.orders.filter(order => order.orderState === "已送达");-->
+<!--    },-->
+<!--    completedOrders() {-->
+<!--      return this.orders.filter(order => order.orderState === "已完成");-->
+<!--    }-->
+<!--  },-->
+<!--  methods: {-->
+<!--    ...mapActions('m_order',['fetchOrder']),-->
+<!--    ...mapGetters('m_order',['getOrder']),-->
+<!--    handleTabChange(index) {-->
+<!--      this.activeTab = index;-->
+<!--      this.fetchOrder();-->
+<!--      //三秒后-->
+<!--      setTimeout(() => {-->
+<!--        this.orders = this.getOrder();-->
+<!--      }, 3000);-->
+<!--      console.log(this.allOrders, 'eeeee')-->
+<!--    }-->
+
+<!--  }-->
+<!--};-->
+<!--</script>-->
+
+<!--<style lang="scss">-->
+<!--.order-page {-->
+<!--  padding: 10px;-->
+<!--  background-color: #f5f5f5;-->
+
+<!--  .van-tabs {-->
+<!--    &#45;&#45;van-tabs-bottom-bar-color: #ee0a24;-->
+<!--  }-->
+
+<!--  .van-tab {-->
+<!--    font-size: 14px;-->
+<!--  }-->
+<!--}-->
+<!--</style>-->
+
 <template>
   <view>
     <van-tabs :active="active" @change="onChange"  swipeable sticky :ellipsis="false">
 
-      <van-tab title="全部"><order-all></order-all></van-tab>
-      <van-tab title="待付款"><order-type :OrderData="[1,2,3]"></order-type></van-tab>
-      <van-tab title="待收货"></van-tab>
-      <van-tab title="退款/售后">内容 4</van-tab>
-      <van-tab title="待评价">内容 4</van-tab>
+      <van-tab title="全部">
+        <order-list :orders="allOrders"></order-list>
+      </van-tab>
+      <van-tab title="待付款">
+        <order-list :orders="unpaidOrders"></order-list>
+      </van-tab>
+      <van-tab title="待送达">
+        <order-list :orders="unreceivedOrders"></order-list>
+      </van-tab>
+      <van-tab title="已送达">
+        <order-list :orders="refundOrders"></order-list>
+      </van-tab>
+      <van-tab title="已完成">
+        <order-list :orders="completedOrders"></order-list>
+      </van-tab>
     </van-tabs>
   </view>
 </template>
 
 <script>
 import OrderAll from "@/components/orders/order-all/order-all.vue";
-
+import {mapState,mapMutations,mapGetters,mapActions} from 'vuex'
 
 export default {
   components: {OrderAll},
+  onLoad() {
+    this.orders = this.getOrders();
+
+    this.fetchOrder();
+    console.log(this.orders,"thid")
+  },
   data() {
     return {
       active: this.query.pagetype ? parseInt(this.query.pagetype): 0,
+    orders:
+        [
+          {
+            address: {
+              address: "江西财经大学枫林园",
+              doorNo: "2#524",
+              id: 9,
+              phone: "12345678910",
+              recipientName: "瑶妹",
+              userId: 1
+            },
+            addressId: 9,
+            bidPay: 10,
+            id: 42,
+            orderProductsLists: [
 
+            ],
+            orderRemark: "我要大的橘子",
+            orderState: "已送达",
+            orderTypeId: null,
+            originPay: 14.5,
+            storeId: 1,
+            timeOrder: "2024-05-05 01:48:28",
+            timePre: "2024-05-05 01:48:39",
+            transCode: "1786815170015203328",
+            user:{
+              account: null,
+              addressIds: null,
+              avatar: null,
+              id: 1,
+              name: "爱喝茶的小淮",
+              newPassword: null,
+              openid: "1243214213",
+              password: null,
+              phone: "12345678910",
+              role: "USER",
+              sex: "男",
+              token: null,
+              username: "user"
+            },
+            userId:1
+          }
+        ]
     };
   },
   props: {
 
+  },
+  computed: {
+    allOrders() {
+      return this.orders;
+    },
+    unpaidOrders() {
+      return this.orders.filter(order => order.orderState === "待付款");
+    },
+    unreceivedOrders() {
+      return this.orders.filter(order => order.orderState === "待送达");
+    },
+    refundOrders() {
+      return this.orders.filter(order => order.orderState === "已送达");
+    },
+    completedOrders() {
+      return this.orders.filter(order => order.orderState === "已完成");
+    }
   },
   methods: {
+    ...mapActions('m_order',['fetchOrder']),
+    ...mapGetters('m_order',['getOrders']),
     onLoad(options) {
         // console.log(options.pagetype,"pagetype")
-        if(options.pagetype){
+      this.orders=this.getOrders()
+      this.fetchOrder()
+
+      if(options.pagetype){
           this.active = parseInt(options.pagetype)
         }
-
-
       },
     onChange(event) {
       console.log(event)
       this.active = event.detail.index
+      this.fetchOrder()
+      console.log(this.getOrders(),'eeeee')
+      this.orders=this.getOrders()
       // console.log(this.query().pagetype,'eeeee')
     },
     query() {
       return this.$route.query
-
     }
 
   }

+ 655 - 0
uniapp/subpkg/payment/payment.vue

@@ -0,0 +1,655 @@
+<template>
+  <view class="container">
+    <view class="choose">
+      <view class="choose_address">
+        <picker mode="selector" :range="addressList" @change="changeAddress">
+          <view class="address-item">
+            <text>收货地址:</text>
+            <text>{{ selectedAddress }}</text>
+            <van-icon name="arrow" color="#999" size="14px" />
+          </view>
+        </picker>
+        <view class="add-address" @click="navigateToAddAddress">
+          <van-icon name="plus" color="#ff6600" size="16px" />
+          <text>添加地址</text>
+        </view>
+      </view>
+      <view class="choose_time">
+        <picker mode="selector" :range="timeList" @change="changeTime">
+          <view class="time-item">
+            <text>预计送达时间:</text>
+            <text>{{ selectedTime }}</text>
+            <van-icon name="arrow" color="#999" size="14px" />
+          </view>
+        </picker>
+      </view>
+    </view>
+    <view class="payInfo">
+      <view class="shop_title">{{ shopTitle }}</view>
+      <view class="orderList">
+        <view class="order-item" v-for="item in cart" :key="item.goods_id">
+          <image class="goods-image" :src="item.goods_small_logo" mode="aspectFill"></image>
+          <view class="goods-info">
+            <text class="goods-name">{{ item.goods_name }}</text>
+            <text class="goods-price">¥{{ item.goods_price }}</text>
+            <text class="goods-count">x {{ item.goods_count }}</text>
+          </view>
+          <view>¥{{ item.goods_price*item.goods_count|toFixed(2) }}</view>
+        </view>
+      </view>
+      <view class="tip">
+        <text>温馨提示: 餐品已包装,请您尽快食用</text>
+      </view>
+      <view class="priceInfo">
+        <view class="PackingFee">
+          <text>餐盒费</text>
+          <text>¥{{ PackingFee }}</text>
+        </view>
+        <view class="deliveryFee">
+          <text>运费</text>
+          <text>¥{{ deliveryFee }}</text>
+        </view>
+        <view class="disCount">
+          <text>优惠券</text>
+          <text>-¥{{ PackingFee+deliveryFee }}</text>
+        </view>
+      </view>
+    </view>
+    <view class="payBtn">
+      <view class="left_info">
+        <view class="totalPrice">合计: ¥{{ Number.parseFloat(checkedGoodsAmount()).toFixed(2) }}</view>
+        <view class="discountPrice">已优惠: ¥{{ checkedGoodsAmount() - checkedGoodsAmount()+PackingFee+deliveryFee }}</view>
+      </view>
+      <view class="pay" @click="pay">提交订单</view>
+    </view>
+  </view>
+</template>
+
+<script>
+import { mapState, mapMutations, mapGetters } from 'vuex'
+export default {
+  onLoad(args) {
+    this.cart=this.getCart()
+    this.addressList = this.getAddressList()
+    console.log(this.addressList,"Listen")
+    this.shopTitle=args.shopTitle
+    this.storeId=args.storeId
+  },
+  onShow() {
+    this.cart=this.getCart()
+    this.addressList = this.getAddressList()
+    console.log(this.addressList,"Listen")
+
+  },
+  data() {
+    return {
+      storeId:0,
+      addressList: ['江西省上饶市', '南昌市青山湖区', '江西省上饶市', '南昌市青山湖区'],
+      timeList: ['18:00', '18:30', '19:00', '19:30', '20:00'],
+      shopTitle: '麦当劳',
+      selectedAddress: '',
+      selectedTime: '18:00',
+      cart:[],
+      PackingFee: 1.5,
+      deliveryFee: 3,
+      orderList: []
+    }
+  },
+  methods: {
+    ...mapGetters('m_cart', ['total', 'checkedGoodsAmount','getCart']),
+    ...mapGetters('m_addr', ['getAddressList']),
+    ...mapMutations('m_cart', ['clearCart']),
+    ...mapMutations('m_order', ['putOrder']),
+    changeAddress(e) {
+      this.selectedAddress = this.addressList[e.detail.value]
+    },
+    changeTime(e) {
+      this.selectedTime = this.timeList[e.detail.value]
+    },
+    // pay() {
+    //   console.log(this.cart)
+    //   console.log(this.getCart())
+    // },
+    pay() {
+      // 模拟微信支付流程
+      uni.requestPayment({
+        fail: () => {
+          // 支付成功后生成订单数据
+          const orderId = this.generateOrderId()
+          const orderData = {
+            id: orderId,
+            addressList: this.addressList,
+            selectedAddress: this.selectedAddress,
+            timeList: this.timeList,
+            orderTime: new Date().toLocaleString(),
+            selectedTime: this.selectedTime,
+            shopTitle: this.shopTitle,
+            PackingFee: this.PackingFee,
+            deliveryFee: this.deliveryFee,
+            total: this.checkedGoodsAmount()
+          }
+          let userId = 1
+          if (!uni.getStorageSync('userId')) {
+            userId = 1
+          }else{
+            userId = uni.getStorageSync('userId')
+          }
+
+          let originPay=Number.parseFloat(this.checkedGoodsAmount())+Number.parseFloat(this.PackingFee)+Number.parseFloat(this.deliveryFee)
+          let data =[]
+          for(let i=0;i<this.cart.length;i++){
+            data.push(
+                {productId:this.cart[i].goods_id,
+                  count:this.cart[i].goods_count,
+                  productName:this.cart[i].goods_name,
+                  amount:this.cart[i].goods_price*this.cart[i].goods_count
+                  ,productIcons:this.cart[i].goods_small_logo})
+          }
+          console.log(data,"data")
+          let order=
+              {
+                // "address":this.selectedAddress,
+                // "phone":"12345678901",
+                "bidPay":this.checkedGoodsAmount(),
+                "originPay":originPay,
+                "addressId":9,
+                "userId":userId,
+                "storeId":1,
+                "orderRemark":"无",
+                "orderProductsLists":data
+              }
+              // {
+              //   "bidPay":this.checkedGoodsAmount(),
+              //   "originPay":originPay,
+              //   "addressId":9,
+              //   "userId":1,
+              //   "orderProductsLists":[
+              //     {
+              //       "productName":"芒果",
+              //       "count":12,
+              //       "cnt":12
+              //     },
+              //     {
+              //       "productName":"芒果",
+              //       "count":12,
+              //       "cnt":12
+              //     }
+              //   ]
+              // }
+          console.log(order,"order")
+          this.orderList.push(order)
+          this.putOrder(order)
+          // 保存订单数据到本地
+          console.log(order)
+          uni.setStorageSync('orderList', this.orderList)
+          // 跳转到订单详情页面
+          // uni.navigateTo({
+          //   url: `/subpkg/orderDetail/orderDetail?orderId=${orderId}`
+          // })
+          //清空购物车
+          this.clearCart()
+          this.cart=[]
+          //返回上一页
+          uni.navigateBack({
+            delta: 1
+          })
+          // 显示支付成功提示
+          uni.showToast({
+            title: '支付成功',
+            icon: 'success',
+            duration: 3000
+          })
+          // 3秒后自动关闭提示
+          setTimeout(() => {
+            uni.hideToast()
+          }, 3000)
+        },
+        success: (e) => {
+          console.log(e,"e")
+          uni.showToast({
+            title: '支付失败',
+            icon: 'none',
+            duration: 3000
+          })
+        }
+      })
+    },
+    generateOrderId() {
+      // 生成随机订单号
+      return Math.random().toString(36).substr(2, 9)
+    },
+    navigateToAddAddress() {
+      uni.navigateTo({
+        url: '/subpkg/addAddress/addAddress'
+      })
+    }
+  },
+  filters: {
+    toFixed(val) {
+      return Number(val).toFixed(2)
+    }
+  }
+}
+</script>
+
+<style lang="scss">
+.container {
+  padding: 20rpx;
+  background-color: #f7f7f7;
+}
+
+.choose {
+  display: flex;
+  justify-content: space-between;
+  background-color: #fff;
+  //col
+  flex-direction: column;
+  padding: 20rpx;
+  border-radius: 10rpx;
+  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
+
+  .choose_address,
+  .choose_time {
+    flex: 1;
+
+    .address-item,
+    .time-item {
+      display: flex;
+      align-items: flex-start;
+      justify-content: space-between;
+      font-size: 35rpx;
+      color: #333;
+    }
+  }
+}
+
+.payInfo {
+  margin-top: 20rpx;
+  background-color: #fff;
+  padding: 20rpx;
+  border-radius: 10rpx;
+  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
+
+  .shop_title {
+    font-size: 32rpx;
+    font-weight: bold;
+    margin-bottom: 20rpx;
+    color: #ff6600;
+  }
+
+  .orderList {
+    .order-item {
+      display: flex;
+      align-items: center;
+      margin-bottom: 20rpx;
+
+      .goods-image {
+        width: 120rpx;
+        height: 120rpx;
+        border-radius: 10rpx;
+        margin-right: 20rpx;
+      }
+
+      .goods-info {
+        flex: 1;
+
+        .goods-name {
+          font-size: 28rpx;
+          color: #333;
+        }
+
+        .goods-price {
+          font-size: 26rpx;
+          color: #ff6600;
+          margin-right: 10rpx;
+        }
+
+        .goods-count {
+          font-size: 24rpx;
+          color: #999;
+        }
+      }
+    }
+  }
+
+  .tip {
+    font-size: 24rpx;
+    color: #999;
+    margin: 20rpx 0;
+  }
+
+  .priceInfo {
+    display: flex;
+    justify-content: space-between;
+    font-size: 26rpx;
+    color: #333;
+
+    view {
+      display: flex;
+      justify-content: space-between;
+      margin-bottom: 10rpx;
+    }
+  }
+}
+
+.payBtn {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  margin-top: 20rpx;
+  padding: 20rpx;
+  background-color: #fff;
+  border-radius: 10rpx;
+  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
+
+  .left_info {
+    .totalPrice {
+      font-size: 32rpx;
+      font-weight: bold;
+      color: #ff6600;
+    }
+
+    .discountPrice {
+      font-size: 24rpx;
+      color: #999;
+    }
+  }
+
+  .pay {
+    background-color: #ff6600;
+    color: #fff;
+    font-size: 28rpx;
+    padding: 10rpx 20rpx;
+    border-radius: 30rpx;
+  }
+}
+/* 样式保持不变 */
+.choose_address {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+
+  .add-address {
+    display: flex;
+    align-items: center;
+    font-size: 26rpx;
+    color: #ff6600;
+  }
+}
+</style>
+
+<!--<template>-->
+<!--  <view class="container">-->
+<!--    <view class="choose">-->
+<!--      <view class="choose_address">-->
+<!--        <picker mode="selector" :range="addressList" @change="changeAddress">-->
+<!--          <view class="address-item">-->
+<!--            <text>收货地址</text>-->
+<!--            <text>{{ selectedAddress }}</text>-->
+<!--            <van-icon type="arrowright" size="16"></van-icon>-->
+<!--          </view>-->
+<!--        </picker>-->
+<!--      </view>-->
+<!--      <view class="choose_time">-->
+<!--        <picker mode="selector" :range="timeList" @change="changeTime">-->
+<!--          <view class="time-item">-->
+<!--            <text>预计送达时间</text>-->
+<!--            <text>{{ selectedTime }}</text>-->
+<!--            <van-icon type="arrowright" size="16"></van-icon>-->
+<!--          </view>-->
+<!--        </picker>-->
+<!--      </view>-->
+<!--    </view>-->
+<!--    <view class="payInfo">-->
+<!--      <view class="shop_title">{{ shopTitle }}</view>-->
+<!--      <view class="orderList">-->
+<!--        <view class="order-item" v-for="item in cart" :key="item.goods_id">-->
+<!--          <image class="goods-image" :src="item.goods_small_logo" mode="aspectFill"></image>-->
+<!--          <view class="goods-info">-->
+<!--            <text class="goods-name">{{ item.goods_name }}</text>-->
+<!--            <text class="goods-price">¥{{ item.goods_price }}</text>-->
+<!--            <text class="goods-count">x {{ item.goods_count }}</text>-->
+<!--          </view>-->
+<!--        </view>-->
+<!--      </view>-->
+<!--      <view class="tip">-->
+<!--        <text>温馨提示: 餐品已包装,请您尽快食用</text>-->
+<!--      </view>-->
+<!--      <view class="priceInfo">-->
+<!--        <view class="PackingFee">-->
+<!--          <text>餐盒费</text>-->
+<!--          <text>¥{{ PackingFee }}</text>-->
+<!--        </view>-->
+<!--        <view class="deliveryFee">-->
+<!--          <text>运费</text>-->
+<!--          <text>¥{{ deliveryFee }}</text>-->
+<!--        </view>-->
+<!--        <view class="disCount">-->
+<!--          <text>优惠券</text>-->
+<!--          <text>-¥0</text>-->
+<!--        </view>-->
+<!--      </view>-->
+<!--    </view>-->
+<!--    <view class="payBtn">-->
+<!--      <view class="left_info">-->
+<!--        <view class="totalPrice">合计: ¥{{ total }}</view>-->
+<!--        <view class="discountPrice">已优惠: ¥{{ checkedGoodsAmount - total }}</view>-->
+<!--      </view>-->
+<!--      <view class="pay">提交订单</view>-->
+<!--    </view>-->
+<!--  </view>-->
+<!--</template>-->
+
+<!--<script>-->
+<!--import { mapState, mapMutations, mapGetters } from 'vuex'-->
+<!--export default {-->
+<!--  onLoad() {-->
+<!--    console.log('吾问无为谓啊')-->
+<!--  },-->
+<!--  data() {-->
+<!--    return {-->
+<!--      addressList: ['江西省上饶市', '南昌市青山湖区'],-->
+<!--      timeList: ['18:00', '18:30', '19:00', '19:30', '20:00'],-->
+<!--      shopTitle: '麦当劳',-->
+<!--      selectedAddress: '江西省上饶市',-->
+<!--      selectedTime: '18:00',-->
+<!--      ...mapState('m_cart', ['cart']), //cart:商品信息列表。每个{}包括{goods_id,goods_name,goods_price,goods_count,goods_small_logo,goods_state}信息-->
+<!--      PackingFee: 1.5,-->
+<!--      deliveryFee: 3-->
+<!--    }-->
+<!--  },-->
+<!--  methods: {-->
+<!--    ...mapGetters('m_cart', ['total', 'checkedGoodsAmount']), //total:计算数量,checkedGoodsAmount:计算总价-->
+<!--    changeAddress(e) {-->
+<!--      this.selectedAddress = this.addressList[e.detail.value]-->
+<!--    },-->
+<!--    changeTime(e) {-->
+<!--      this.selectedTime = this.timeList[e.detail.value]-->
+<!--    }-->
+<!--  }-->
+<!--}-->
+<!--</script>-->
+
+<!--<style lang="scss">-->
+<!--.container {-->
+<!--  padding: 20rpx;-->
+<!--}-->
+
+<!--.choose {-->
+<!--  display: flex;-->
+<!--  justify-content: space-between;-->
+<!--  background-color: #fff;-->
+<!--  padding: 20rpx;-->
+<!--  border-radius: 10rpx;-->
+<!--  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);-->
+
+<!--  .choose_address,-->
+<!--  .choose_time {-->
+<!--    flex: 1;-->
+
+<!--    .address-item,-->
+<!--    .time-item {-->
+<!--      display: flex;-->
+<!--      align-items: center;-->
+<!--      justify-content: space-between;-->
+<!--      font-size: 28rpx;-->
+<!--      color: #333;-->
+<!--    }-->
+<!--  }-->
+<!--}-->
+
+<!--.payInfo {-->
+<!--  margin-top: 20rpx;-->
+<!--  background-color: #fff;-->
+<!--  padding: 20rpx;-->
+<!--  border-radius: 10rpx;-->
+<!--  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);-->
+
+<!--  .shop_title {-->
+<!--    font-size: 32rpx;-->
+<!--    font-weight: bold;-->
+<!--    margin-bottom: 20rpx;-->
+<!--  }-->
+
+<!--  .orderList {-->
+<!--    .order-item {-->
+<!--      display: flex;-->
+<!--      align-items: center;-->
+<!--      margin-bottom: 20rpx;-->
+
+<!--      .goods-image {-->
+<!--        width: 120rpx;-->
+<!--        height: 120rpx;-->
+<!--        border-radius: 10rpx;-->
+<!--        margin-right: 20rpx;-->
+<!--      }-->
+
+<!--      .goods-info {-->
+<!--        flex: 1;-->
+
+<!--        .goods-name {-->
+<!--          font-size: 28rpx;-->
+<!--          color: #333;-->
+<!--        }-->
+
+<!--        .goods-price {-->
+<!--          font-size: 26rpx;-->
+<!--          color: #ff6600;-->
+<!--          margin-right: 10rpx;-->
+<!--        }-->
+
+<!--        .goods-count {-->
+<!--          font-size: 24rpx;-->
+<!--          color: #999;-->
+<!--        }-->
+<!--      }-->
+<!--    }-->
+<!--  }-->
+
+<!--  .tip {-->
+<!--    font-size: 24rpx;-->
+<!--    color: #999;-->
+<!--    margin: 20rpx 0;-->
+<!--  }-->
+
+<!--  .priceInfo {-->
+<!--    display: flex;-->
+<!--    justify-content: space-between;-->
+<!--    font-size: 26rpx;-->
+<!--    color: #333;-->
+
+<!--    view {-->
+<!--      display: flex;-->
+<!--      justify-content: space-between;-->
+<!--      margin-bottom: 10rpx;-->
+<!--    }-->
+<!--  }-->
+<!--}-->
+
+<!--.payBtn {-->
+<!--  display: flex;-->
+<!--  justify-content: space-between;-->
+<!--  align-items: center;-->
+<!--  margin-top: 20rpx;-->
+<!--  padding: 20rpx;-->
+<!--  background-color: #fff;-->
+<!--  border-radius: 10rpx;-->
+<!--  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);-->
+
+<!--  .left_info {-->
+<!--    .totalPrice {-->
+<!--      font-size: 32rpx;-->
+<!--      font-weight: bold;-->
+<!--      color: #ff6600;-->
+<!--    }-->
+
+<!--    .discountPrice {-->
+<!--      font-size: 24rpx;-->
+<!--      color: #999;-->
+<!--    }-->
+<!--  }-->
+
+<!--  .pay {-->
+<!--    background-color: #ff6600;-->
+<!--    color: #fff;-->
+<!--    font-size: 28rpx;-->
+<!--    padding: 10rpx 20rpx;-->
+<!--    border-radius: 30rpx;-->
+<!--  }-->
+<!--}-->
+<!--</style>-->
+
+
+<!--&lt;!&ndash;<template>&ndash;&gt;-->
+<!--&lt;!&ndash;  <view>&ndash;&gt;-->
+<!--&lt;!&ndash;    <view class="choose">&ndash;&gt;-->
+<!--&lt;!&ndash;    <view class="choose_address"></view>&ndash;&gt;-->
+<!--&lt;!&ndash;    <view class="choose_time"></view>&ndash;&gt;-->
+<!--&lt;!&ndash;    </view>&ndash;&gt;-->
+<!--&lt;!&ndash;    <view class="payInfo">&ndash;&gt;-->
+<!--&lt;!&ndash;      <view class="shop_title"></view>&ndash;&gt;-->
+<!--&lt;!&ndash;      <view class="orderList">&ndash;&gt;-->
+
+<!--&lt;!&ndash;      </view>&ndash;&gt;-->
+<!--&lt;!&ndash;      <view class="tip"></view>&ndash;&gt;-->
+<!--&lt;!&ndash;      <view class="priceInfo">&ndash;&gt;-->
+<!--&lt;!&ndash;        <view class="PackingFee"></view>&ndash;&gt;-->
+<!--&lt;!&ndash;        <view class="deliveryFee"></view>&ndash;&gt;-->
+<!--&lt;!&ndash;        <view class="disCount"></view>&ndash;&gt;-->
+<!--&lt;!&ndash;      </view>&ndash;&gt;-->
+<!--&lt;!&ndash;    </view>&ndash;&gt;-->
+<!--&lt;!&ndash;    <view class="payBtn">&ndash;&gt;-->
+<!--&lt;!&ndash;      <view class="left_info">&ndash;&gt;-->
+<!--&lt;!&ndash;        <view class="totalPrice">合计...</view>&ndash;&gt;-->
+<!--&lt;!&ndash;        <view class="discountPrice">已优惠...</view>&ndash;&gt;-->
+<!--&lt;!&ndash;      </view>&ndash;&gt;-->
+<!--&lt;!&ndash;      <view class="pay">提交订单</view>&ndash;&gt;-->
+<!--&lt;!&ndash;    </view>&ndash;&gt;-->
+<!--&lt;!&ndash;  </view>&ndash;&gt;-->
+<!--&lt;!&ndash;</template>&ndash;&gt;-->
+
+<!--&lt;!&ndash;<script>&ndash;&gt;-->
+<!--&lt;!&ndash;import {mapState,mapMutations,mapGetters} from'vuex'&ndash;&gt;-->
+<!--&lt;!&ndash;export default {&ndash;&gt;-->
+<!--&lt;!&ndash;  onLoad() {&ndash;&gt;-->
+<!--&lt;!&ndash;    console.log('吾问无为谓啊')&ndash;&gt;-->
+<!--&lt;!&ndash;  },&ndash;&gt;-->
+<!--&lt;!&ndash;  data() {&ndash;&gt;-->
+<!--&lt;!&ndash;    return {&ndash;&gt;-->
+<!--&lt;!&ndash;      addressList:['江西省上饶市','南昌市青山湖区'],&ndash;&gt;-->
+<!--&lt;!&ndash;      timeList:['18:00','18:30','19:00','19:30','20:00'],&ndash;&gt;-->
+<!--&lt;!&ndash;      shopTitle:'麦当劳',&ndash;&gt;-->
+<!--&lt;!&ndash;      ...mapState('m_cart',['cart']),//cart:商品信息列表。每个{}包括{goods_id,goods_name,goods_price,goods_count,goods_small_logo,goods_state}信息&ndash;&gt;-->
+<!--&lt;!&ndash;      PackingFee:0,&ndash;&gt;-->
+<!--&lt;!&ndash;      deliveryFee:0,&ndash;&gt;-->
+<!--&lt;!&ndash;    };&ndash;&gt;-->
+<!--&lt;!&ndash;  },&ndash;&gt;-->
+<!--&lt;!&ndash;  methods: {&ndash;&gt;-->
+<!--&lt;!&ndash;    ...mapGetters('m_cart', {'total':'total','checkedGoodsAmount':'checkedGoodsAmount'}),//total:计算数量,checkedGoodsAmount:计算总价&ndash;&gt;-->
+<!--&lt;!&ndash;  },&ndash;&gt;-->
+<!--&lt;!&ndash;}&ndash;&gt;-->
+<!--&lt;!&ndash;</script>&ndash;&gt;-->
+
+<!--&lt;!&ndash;<style lang="scss">&ndash;&gt;-->
+
+<!--&lt;!&ndash;</style>&ndash;&gt;-->

+ 127 - 0
uniapp/subpkg/setting/setting.vue

@@ -0,0 +1,127 @@
+<template>
+  <view class="user-info">
+    <view class="avatar">
+      <view class="avatar-text">头像</view>
+      <view @click="chooseAvatar">
+        <image :src="avatarUrl" class="avatar-img"></image>
+      </view>
+    </view>
+    <view class="nickname">
+      <view class="nickname-text">昵称</view>
+      <input class="nickname-input" type="text" v-model="nickname" placeholder="请输入新昵称" />
+    </view>
+    <view class="intro">
+      <view class="intro-text">简介</view>
+      <view class="intro-value" @click="editIntro">一句话介绍自己</view>
+    </view>
+    <view class="birthday">
+      <view class="birthday-text">生日</view>
+      <view class="birthday-value" @click="editBirthday">填写生日有福利</view>
+    </view>
+    <view class="address">
+      <view class="address-text">收货地址</view>
+      <view class="address-value" @click="editAddress">修改/添加</view>
+    </view>
+    <view class="confirm-btn" @click="saveAndBack">确定修改</view>
+  </view>
+</template>
+
+<script>
+import {mapState,mapMutations,mapGetters} from 'vuex'
+export default {
+
+  data() {
+    return {
+      avatarUrl: '../../static/avator/1.jpg',
+      nickname: 'ST [渔夺]'
+    };
+  },
+  methods: {
+    ...mapMutations('m_user', ['updateUserName','updateAvatarUrl']),
+
+    chooseAvatar() {
+      uni.chooseImage({
+        count: 1,
+        sizeType: ['original', 'compressed'],
+        sourceType: ['album'],
+        success: (res) => {
+          this.avatarUrl = res.tempFilePaths[0];
+        }
+      });
+    },
+    editIntro() {
+      // 处理编辑简介的逻辑
+    },
+    editBirthday() {
+      // 处理编辑生日的逻辑
+    },
+    editAddress() {
+      // 处理编辑收货地址的逻辑
+    },
+    saveAndBack() {
+      // 保存数据的逻辑
+      // ...
+      this.updateUserName(this.nickname)
+      this.updateAvatarUrl(this.avatarUrl)
+      // 返回上一层页面
+      uni.navigateBack();
+    }
+  },
+}
+</script>
+
+<style lang="scss">
+.user-info {
+  padding: 40rpx;
+  background-color: #fff;
+
+  .avatar,
+  .nickname,
+  .intro,
+  .birthday,
+  .address {
+    display: flex;
+    align-items: center;
+    margin-bottom: 40rpx;
+
+    &-text {
+      font-weight: bold;
+      margin-right: 20rpx;
+      color: #333;
+    }
+
+    &-value {
+      flex: 1;
+      text-align: right;
+      color: #666;
+    }
+  }
+
+  .avatar {
+    .avatar-img {
+      width: 120rpx;
+      height: 120rpx;
+      border-radius: 50%;
+    }
+  }
+
+  .nickname {
+    .nickname-input {
+      flex: 1;
+      text-align: right;
+      font-size: 36rpx;
+      color: #333;
+    }
+  }
+
+  .confirm-btn {
+    margin-top: 40rpx;
+    background-color: #07c160;
+    color: #fff;
+    font-size: 32rpx;
+    text-align: center;
+    padding: 20rpx;
+    border-radius: 10rpx;
+  }
+}
+</style>

+ 1625 - 0
uniapp/subpkg/shopdetail/shopdetail.vue

@@ -0,0 +1,1625 @@
+<template>
+  <view>
+    <view class="detail-header">
+<!--      <image :src="shop.imgUrl"></image>-->
+      <view class="head">
+        <view class="info">
+        <view class="title">{{shop.storeName|truncate(10)}}</view>
+        <view class="address">{{shop.address.address|truncate(15)}}</view>
+        </view>
+        <image class="shopIcon" :src="shop.storePicUrl"></image>
+<!--        <view class="card">-->
+<!--        </view>-->
+      </view>
+      <van-tabs :active="active" @change="onChange" sticky>
+        <van-tab title="点 单">
+          <view class="container">
+            <scroll-view class="left-menu" scroll-y="true">
+              <block v-for="(type, index) in types" :key="index">
+                <view class="menu-item" :class="{ active: index === activeIndex }" @tap="scrollToElement('type_'+ (index+1))" >{{ type.productTypeName }}</view>
+              </block>
+            </scroll-view>
+            <scroll-view class="right-content" scroll-y="true" style="height: calc(100vh - 100rpx);" @scroll="onScroll" :scroll-into-view="scrollIntoView">
+
+              <block v-for="(type, index) in types" :key="index">
+                <view style="font-weight: bolder;font-size: 30rpx;margin-left: 10rpx;margin-top: 2px" :id='"type_"+ (index+1)'>{{type.productTypeName}}</view>
+                <block v-for="(product, idx) in getProjectsByType(index)" :key="idx">
+<!--                  <van-card ></van-card>-->
+                  <my-card :product="product" card-height="200rpx" card-width="210px"></my-card>
+                </block>
+              </block>
+              <view style="height: 60px; width: 100%;"></view>
+
+              <!--              <block v-for="(product, index) in products" :key="index">-->
+<!--                <view class="product-item">{{ product.name }}</view>-->
+<!--              </block>-->
+            </scroll-view>
+          </view>
+
+        </van-tab>
+        <van-tab title="评 价">
+          <view class="review-container">
+<!--            <view class="header">-->
+<!--              <view class="title">商品评论</view>-->
+<!--              <view class="filter">-->
+<!--                <text>默认时间排序</text>-->
+<!--              </view>-->
+<!--            </view>-->
+            <view class="review-list">
+              <view class="review-item" v-for="(review, index) in sortedReviews" :key="index">
+                <view class="item-header">
+                  <view class="user-info">
+                    <image class="avatar" :src="review.avatar" mode="aspectFill"></image>
+                    <text class="username">{{ review.username }}</text>
+                  </view>
+                  <view class="rating">
+                    <van-rate :value="review.rating" readonly />
+                  </view>
+                </view>
+                <view class="review-content">{{ review.content }}</view>
+                <view class="item-footer">
+                  <text class="date">{{ formatDate(review.date) }}</text>
+                  <view class="actions">
+                    <van-icon name="like-o" @click="like(index)" :class="{ liked: review.liked }" />
+                    <van-icon name="warning-o" @click="showActionSheet(index)" />
+                  </view>
+                </view>
+              </view>
+              <view class="add-review-btn" @click="showReviewModal = true">我要评论</view>
+              <van-popup :show="showReviewModal" position="bottom" round :close-on-click-overlay="true" @close="closeReviewModal">
+                <view class="review-modal">
+                  <view class="modal-header">发表评论</view>
+                  <view class="modal-content">
+                    <van-rate :value="newReview.rating" size="25" allow-half void-color="#eee" @change="onRate"/>
+                    <van-field :value="contentValue" rows="4" autosize type="textarea" @change="onContentChange" maxlength="200" placeholder="请输入评论内容" show-word-limit />
+                  </view>
+                  <view class="modal-footer" >
+                    <van-button type="primary" size="small" @click="submitReview">发表</van-button>
+                  </view>
+                </view>
+              </van-popup>
+            </view>
+            <van-action-sheet :show="showSheet" :actions="actions" @select="onSelect" />
+          </view>
+        </van-tab>
+        <van-tab title="监 控">
+          <view v-if="active === 2" class="monitor-view">
+            <video class="monitor-video" :src="videoSrc" :autoplay="true" :loop="true" :muted="true" :show-play-btn="false" :controls="false" :objectFit="fill" ></video>
+            <view class="monitor-info">
+              <image class="monitor-img" src="../..//static/vedio/1.jpg" mode="aspectFit"></image>
+              <text class="monitor-text">请去PC端查看更多内容</text>
+            </view>
+            <video
+                id="myVideo"
+                :src="videoSrc"
+                :controls="controls"
+                :autoplay="autoplay"
+                style="width: 100%; height: 300px;"
+            ></video>
+
+<!--            <video></video>-->
+          </view>
+        </van-tab>
+        <!--          <van-tab title="标签 4">内容 4</van-tab>-->
+      </van-tabs>
+    </view>
+
+    <view v-show="active === 0">
+    <view class="order">
+      <view class="order-footer">
+        <view class="discount-info" @click="showPop">
+          <div class="icon-container">
+            <van-icon name="balance-o" size="30"></van-icon>
+            <div class="badge" v-show="total()>0">{{ total() }}</div>
+          </div>^
+        </view>
+        <view class="order-action">
+          <view class="order-detail" @click="showOrderDetail">
+            <text>¥0</text>
+            <text>免配送费</text>
+          </view>
+          <view class="pay-button" @click="navigateToPayment">
+
+            <text v-show="checkedGoodsAmount()<0">¥{{ 20 }}起送</text>
+            <text v-show="checkedGoodsAmount()>=
+
+
+            0">¥{{ checkedGoodsAmount()}}</text>
+          </view>
+        </view>
+      </view>
+    </view>
+    </view>
+<!--    <view class="shop-container">-->
+<!--      <van-tabs :active="active " @change="onChange" swipeable sticky :ellipsis="false">-->
+<!--        <van-tab title="全部饮品" name='all' sticky>-->
+
+<!--        </van-tab>-->
+<!--        <van-tab v-for="(item,index) in types " :key="index" :title="item.name" :name='item.id' >-->
+<!--&lt;!&ndash;          <my-menu-index :projects='projects'></my-menu-index>&ndash;&gt;-->
+<!--        </van-tab>-->
+<!--      </van-tabs>-->
+<!--    </view>-->
+  </view>
+
+</template>
+
+<script>
+
+import {mapState,mapMutations,mapGetters} from'vuex'
+export default {
+
+  onLoad(args) {
+    console.log(args.shopID, 'shopdetail')
+    this.shop=this.getShopById()(args.shopID)
+    console.log(args,"啊啊啊")
+    console.log(this.shop.address.address)
+    this.distance=this.getDistance()(10)
+    this.products=this.shop.products
+    let types=this.shop.productTypes
+    this.types=types
+    // for (let i=0;i<types.length;i++){
+    //   this.types.push( { id: i+1, name: types[i] } )
+    // }
+    // console.log(this.getDistance()(10))
+    // console.log(this.shop,"是吗")
+    // console.log(this.projects)
+    console.log(this.types)
+    console.log(this.products)
+    // console.log(this.getShopById(args.shopID)())
+  },
+  data() {
+    return {
+      videoSrc: '../../static/vedio/1.mp4',
+      showReviewModal: false,
+      newReview: {
+        avatar: this.getAvatarUrl(), // 默认头像
+        username: this.getUserName(),
+        rating: 5,
+        content: '',
+        date: new Date().toISOString().slice(0, 10),
+        liked: false
+      },
+      contentValue: '',
+
+    reviews: [
+        {
+          avatar: '../../static/avator/1.jpg',
+          username: '张三',
+          rating: 5,
+          content: '这家水果店的苹果真是太好吃了,甜度刚刚好,口感也很脆甜。',
+          date: '2024-05-01',
+          liked: false
+        },
+        {
+          avatar: '../../static/avator/2.jpg',
+          username: '李斯',
+          rating: 4,
+          content: '香蕉的品质一般,个头较小,但口感还可以。',
+          date: '2024-04-28',
+          liked: false
+        },
+        {
+          avatar: '../../static/avator/3.jpg',
+          username: '辛雨东',
+          rating: 3,
+          content: '橘子的甜度不够,希望下次能够更甜一些。',
+          date: '2024-04-25',
+          liked: false
+        },
+        {
+          avatar: '../../static/avator/4.jpg',
+          username: '默认名称200151024',
+          rating: 5,
+          content: '这家店的樱桃真是太棒了,个头大颗颗饱满,甜度也刚刚好,非常满意!',
+          date: '2024-04-20',
+          liked: false
+        },{
+          avatar: '../../static/avator/5.jpg',
+          username: '李晓',
+          rating: 4,
+          content: '草莓新鲜可口,个头也很大,值得推荐。',
+          date: '2024-04-20',
+          liked: false
+        },
+        {
+          avatar: '../../static/avator/6.jpg',
+          username: '钱齐星',
+          rating: 5,
+          content: '西瓜非常甜脆,吃起来非常解渴,很满意。',
+          date: '2024-04-20',
+          liked: false
+        },
+        {
+          avatar: '../../static/avator/7.jpg',
+          username: '刘王雪',
+          rating: 3,
+          content: '柚子的味道不错,但个头偏小,希望可以选到更大的。',
+          date: '2024-04-20',
+          liked: false
+        }
+      ],
+      showSheet: false,
+      actions: [{ name: '我要举报' }, { name: '取消' }],
+      currentIndex: -1,
+      shop: {},
+      projects: [],
+      distance:0,
+      active: 0,
+      //
+      types: [
+        { id: '1', productName: '类型1' },
+        { id: '2', productName: '类型2' },
+        { id: '3', productName: '类型3' },
+        // 其他类型...
+      ],
+      products: [
+        { type: '1', name: '商品1' },
+        { type: '1', name: '商品1' },
+        { type: '1', name: '商品1' },
+        { type: '1', name: '商品1' },
+        { type: '1', name: '商品1' },
+        { type: '1', name: '商品1' },
+        { type: '1', name: '商品1' },
+        { type: '1', name: '商品1' },
+        { type: '1', name: '商品2' },
+        { type: '1', name: '商品2' },
+        { type: '1', name: '商品2' },
+        { type: '1', name: '商品2' },
+        { type: '1', name: '商品2' },
+        { type: '2', name: '商品3' },
+        { type: '2', name: '商品3' },
+        { type: '2', name: '商品3' },
+        { type: '2', name: '商品3' },
+        { type: '2', name: '商品4' },
+        { type: '2', name: '商品4' },
+        { type: '2', name: '商品4' },
+        { type: '2', name: '商品4' },
+        { type: '3', name: '商品5' },
+        // 其他商品...
+      ],
+      scrollIntoView: ''
+    };
+  },
+  computed: {
+
+    sortedReviews() {
+      return this.reviews.sort((a, b) => new Date(b.date) - new Date(a.date))
+    },
+      newReviewContent() {
+        return this.newReview.content.toString();
+    },
+  }, watch: {
+    newReviewContent(newVal) {
+      this.contentValue = newVal;
+    }
+  },
+  methods: {
+    ...mapGetters('m_shop',['getTypeById','getProductById']),
+    ...mapGetters('m_user',['getUserName','getAvatarUrl']),
+    onContentChange(event) {
+      console.log(event)
+      this.newReview.content = event.detail;
+    },
+    onRate(event) {
+      console.log(event)
+      this.newReview.rating = event.detail;
+    },
+    scrollToElement: function(target) {
+      console.log('滚不滚')
+      this.scrollIntoView = target; // 滚动到指定元素
+    },submitReview() {
+      console.log(this.newReview)
+      // return
+      if (this.newReview.content.trim() !== '') {
+        console.log('来了')
+        this.reviews.unshift(this.newReview);
+        this.newReview = {
+          avatar: this.getAvatarUrl(),
+          username: this.getUserName(),
+          rating: 5,
+          content: '',
+          date: new Date().toISOString().slice(0, 10),
+          liked: false
+        };
+        this.showReviewModal = false;
+      }
+      console.log(this.reviews,"reviews")
+    },
+    closeReviewModal() {
+      this.showReviewModal = false;
+      this.newReview.content = '';
+    },
+    showPop() {
+
+    },
+    ...mapGetters('m_shop', {'getShopById':'getShopById', 'getDistance':'getDistance'}),
+    ...mapGetters('m_proj',{'getProjects':'getProjects','getTypes':'getTypes'}),
+    ...mapGetters('m_cart', {'total':'total','checkedGoodsAmount':'checkedGoodsAmount'}),//total:计算数量,checkedGoodsAmount:计算总价
+    //
+    getProjectsByType(idx){
+      // console.log(idx)
+      // console.log(this.products)
+      let mp={
+        0:[1,2,4,5],
+        1:[3,2,4,6],
+        2:[8,9,7,6],
+        3:[10,11,12,13],
+        4:[14,15,16,10],
+        5:[10,3,13,2],
+      }
+      let ret=[]
+      if (!mp[idx]) return
+      for (let i=0;i<mp[idx].length;i++){
+        ret.push(this.products[mp[idx][i]-1])
+      }
+      console.log(ret)
+      return ret
+    },
+    onChange(event) {
+      console.log(event)
+      console.log(this.active)
+
+      this.active = event.detail.index;
+      console.log(this.active)
+    },
+    scrollToView(index) {
+      const typeId = this.types[index].id;
+      this.activeIndex = index;
+      this.$nextTick(() => {
+        uni.pageScrollTo({
+          selector: `#type_${typeId}`,
+          duration: 300
+        });
+      });
+    },
+    onScroll(event) {
+      const scrollTop = event.detail.scrollTop;
+      const types = this.types;
+      let currentTypeIndex = 0;
+
+      for (let i = 0; i < types.length; i++) {
+
+        const typeId = types[i].id;
+        const query = uni.createSelectorQuery();
+        query.select('#type_' + typeId).boundingClientRect();
+        query.exec((res) => {
+          if (res && res[0] && res[0].top <= 0) {
+            currentTypeIndex = i;
+          }
+        });
+      }
+      this.activeIndex = currentTypeIndex;
+    },
+    showOrderDetail() {
+      // 显示订单详情界面的逻辑
+    },
+    pay() {
+      // 付款逻辑
+
+    },
+    formatDate(dateStr) {
+      const date = new Date(dateStr)
+      const year = date.getFullYear()
+      const month = String(date.getMonth() + 1).padStart(2, '0')
+      const day = String(date.getDate()).padStart(2, '0')
+      return `${year}-${month}-${day}`
+    },
+    like(index) {
+      this.reviews[index].liked = !this.reviews[index].liked
+    },
+    showActionSheet(index) {
+      this.currentIndex = index
+      this.showSheet = true
+    },
+    onSelect(event) {
+      if (event.detail.name === '我要举报') {
+        // 执行举报操作
+
+        console.log(`举报第${this.currentIndex + 1}条评论`)
+        uni.showToast({
+          title: '举报成功',
+          icon: 'success',
+          duration: 3000
+        });
+      }
+      this.showSheet = false
+    },
+    navigateToPayment() {
+      uni.navigateTo({
+        url: '/subpkg/payment/payment?shopTitle=' + this.shop.storeName+'&shopId=' + this.shop.id
+      });
+    }
+  },
+  filters: {
+    formatPrice(price) {
+      return '¥' + price.toFixed(2);
+    },
+  //   字数过长用...限制
+    truncate(value, length = 10) {
+      if (!value) return '';
+      if (value.length > length) {
+        return value.slice(0, length) + '...';
+      }
+      return value;
+    }
+
+
+  }
+}
+
+</script>
+
+<style lang="scss">
+.icon-container {
+  position: relative;
+  display: inline-block;
+}
+
+.badge {
+  position: absolute;
+  top: -5px;
+  right: -5px;
+  background-color: red;
+  color: white;
+  border-radius: 50%;
+  padding: 2px 6px;
+  font-size: 12px;
+}
+page {
+  background-color: #f5f5f5;
+  //overflow: hidden;
+}
+.head{
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  .info{
+    //上下布局
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    .title{
+      font-weight: bold;
+      font-size: 40rpx;
+      margin-bottom: 20rpx;
+    }
+    .address{
+      font-size: 30rpx;
+      color: #999;
+      margin-bottom: 20rpx;
+
+    }
+  }
+  image{
+    width: 130rpx;
+    height: 130rpx;
+    border-radius: 2%;
+    margin-right: 20rpx;
+    margin-left: 20rpx;
+
+  }
+}
+
+.header {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 100%;
+  height: 130rpx;
+  position: fixed;
+  top: 0;
+  z-index: 900;
+  background-color: #fff;
+  box-shadow: 0 0 10rpx rgba(0, 0, 0, .05);
+
+  .left {
+    flex: 0 0 60%;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+
+    .title {
+      width: 90%;
+      color: #343434;
+      font-size: 30rpx;
+      font-weight: bold;
+      text-overflow: ellipsis;
+      white-space: nowrap;
+      overflow: hidden;
+    }
+
+    .address {
+      width: 90%;
+      color: #999;
+      font-size: 26rpx;
+      padding-top: 6rpx;
+      text-overflow: ellipsis;
+      white-space: nowrap;
+      overflow: hidden;
+    }
+  }
+
+  .right {
+    flex: 0 0 35%;
+    display: flex;
+    flex-direction: column;
+    align-items: flex-end;
+
+    .type {
+      display: flex;
+      width: 180rpx;
+      height: 60rpx;
+      border-radius: 100rpx;
+      align-items: center;
+      justify-content: center;
+      font-size: 26rpx;
+
+      .name {
+        background-color: #343434;
+        color: #fff;
+        width: 86rpx;
+        border-radius: 100rpx;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        height: 54rpx;
+        transition: all .3s;
+      }
+
+      .text {
+        width: 86rpx;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        color: #fff;
+      }
+    }
+
+    .more {
+      color: #999;
+      font-size: 24rpx;
+      display: flex;
+      align-items: center;
+      padding-top: 6rpx;
+
+      icon {
+        padding-left: 4rpx;
+      }
+    }
+  }
+}
+
+.goodsBox {
+  width: 100%;
+  display: flex;
+
+  .left {
+    flex: 0 0 28%;
+
+    .menuList {
+      overflow-y: scroll;
+      padding-bottom: 20rpx;
+
+      .menu {
+        color: #999999;
+        font-size: 26rpx;
+        padding: 30rpx 10rpx;
+        text-align: center;
+        background-color: transparent;
+        border-left: 6rpx solid transparent;
+        transition: all 0.6s;
+      }
+
+      .active {
+        font-weight: bold;
+        background-color: #FFFFFF;
+      }
+    }
+  }
+
+  .right {
+    flex: 0 0 72%;
+    background-color: #FFFFFF;
+
+    .swiperBpx {
+      width: 95%;
+      margin: 0 auto;
+      padding-top: 14rpx;
+      position: relative;
+
+      swiper {
+        height: 220rpx;
+
+        .swiper-item {
+          width: 100%;
+          height: 100%;
+          display: flex;
+          align-items: center;
+          justify-content: center;
+          color: #FFFFFF;
+          font-size: 56rpx;
+        }
+      }
+
+      .swiperDots {
+        position: absolute;
+        left: 0;
+        right: 0;
+        bottom: 12rpx;
+        display: flex;
+        justify-content: center;
+        height: 10rpx;
+
+        .dot {
+          margin: 0 5rpx;
+          width: 25rpx;
+          height: 4rpx;
+          background: #fff;
+          border-radius: 20rpx;
+          transition: all 0.6s;
+          opacity: 0.5;
+        }
+
+        .active {
+          opacity: 1;
+        }
+      }
+    }
+    .goodsList{
+      width: 95%;
+      margin: 0 auto;
+      .gheader{
+        font-weight: bold;
+        font-size: 26rpx;
+        display: flex;
+        height: 100rpx;
+        align-items: center;
+      }
+      .goods{
+        display: flex;
+        position: relative;
+        padding-bottom: 20rpx;
+        margin-bottom: 20rpx;
+        .left{
+          flex: 0 0 30%;
+          display: flex;
+          .image{
+            width: 140rpx;
+            height: 140rpx;
+            background-color: #f5f5f5;
+            border-radius: 6rpx;
+            overflow: hidden;
+            position: relative;
+            .icon{
+              position: absolute;
+              top: 0;
+              left: 0;
+            }
+            .none{
+              position: absolute;
+              top: 0;
+              left: 0;
+              width: 100%;
+              height: 100%;
+              background-color: rgba(255,255,255,.6);
+              display: flex;
+              align-items: center;
+              justify-content: center;
+              font-size: 26rpx;
+              color: #999;
+            }
+          }
+        }
+        .right{
+          flex: 0 0 70%;
+          .title{
+            color:#343434;
+            font-size:26rpx;
+            font-weight:bold;
+          }
+          .intro{
+            color:#999;
+            font-size:24rpx;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            display: -webkit-box;
+            -webkit-line-clamp: 2;
+            -webkit-box-orient: vertical;
+            padding-top: 4rpx;
+          }
+          .box{
+            display:flex;
+            align-items:center;
+            padding-top: 10rpx;
+            position: relative;
+            .price{
+              color:#343434;
+              font-size:28rpx;
+              font-weight:bold;
+              flex: 0 0 50%
+            }
+            .button{
+              flex: 0 0 50%;
+              display: flex;
+              justify-content: flex-end;
+              .text{
+                background-color: #d3aa79;
+                color: #fff;
+                font-size: 24rpx;
+                padding: 4rpx 16rpx;
+                border-radius: 100rpx;
+              }
+            }
+          }
+        }
+
+      }
+    }
+  }
+}
+.footer{
+  position:fixed;
+  bottom: 140rpx;
+  width:92%;
+  left:0;
+  right: 0;
+  height:80rpx;
+  margin: 0 auto;
+  border-radius: 100rpx;
+  background-color:#fff;
+  display:flex;
+  align-items:center;
+  z-index:899;
+  box-shadow: 0 0 20rpx rgba(0,0,0,.05);
+  .label{
+    color: #fff;
+    width: 100%;
+    height: 100%;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
+  .left{
+    flex: 0 0 70%;
+    display: flex;
+    align-items: center;
+    justify-content: flex-end;
+    height: 100%;
+    .cart{
+      position: absolute;
+      width: 180rpx;
+      height: 100%;
+      left: 0;
+      color: #343434;
+      font-size: 26rpx;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      icon{
+        padding-right: 8rpx;
+      }
+      text{
+        position: absolute;
+        top: -8rpx;
+        right: -12rpx;
+        background-color: #d3aa79;
+        border-radius: 100%;
+        width: 36rpx;
+        height: 36rpx;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        color: #fff;
+        font-size: 24rpx;
+      }
+    }
+    .price{
+      color:#343434;
+      font-size:30rpx;
+      padding-right: 30rpx;
+      font-weight: bold;
+    }
+  }
+  .right{
+    flex: 0 0 30%;
+    height: 100%;
+    border-top-right-radius: 100rpx;
+    border-bottom-right-radius: 100rpx;
+    overflow: hidden;
+    .button{
+      width: 100%;
+      height: 100%;
+      color: #FFFFFF;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      background-color:#d3aa79;
+    }
+    .none{
+      background-color:#bbbbbb;
+    }
+  }
+}
+.footerX{
+  bottom: 166rpx;
+}
+
+.showPopBox{
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background-color: rgba(0,0,0,.5);
+  z-index: 970;
+  transition: all 0.3s;
+  .bg{
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    z-index: 971;
+  }
+  .showContent{
+    position: absolute;
+    z-index: 972;
+    width: 100%;
+    max-height: 600rpx;
+    bottom: 120rpx;
+    background-color: #fff;
+    left: 0;
+    .sheade{
+      width: 100%;
+      background-color: #f2f2f2;
+      font-size: 24rpx;
+      height: 56rpx;
+      display: flex;
+      align-items: center;
+      .left{
+        flex: 0 0 50%;
+        .text{
+          color: #999;
+          padding-left: 20rpx;
+        }
+      }
+      .right{
+        flex: 0 0 50%;
+        .text{
+          color: #999;
+          display: flex;
+          align-items: center;
+          justify-content: flex-end;
+          padding-right: 20rpx;
+          icon{
+            padding-right: 6rpx;
+          }
+        }
+      }
+    }
+    .sconten{
+      max-height: 544rpx;
+      overflow-y: scroll;
+      .goods{
+        width: 95%;
+        margin: 0 auto;
+        display: flex;
+        align-items: center;
+        border-bottom: 1px dashed #f5f5f5;
+        height: 110rpx;
+        .left{
+          flex: 0 0 60%;
+          .title{
+            color:#343434;
+          }
+          .label{
+            color:#999;
+            font-size: 24rpx;
+          }
+        }
+        .right{
+          flex: 0 0 40%;
+          display: flex;
+          align-items: center;
+          justify-content: flex-end;
+          .price{
+            flex: 0 0 40%;
+            color:#343434;
+          }
+          .buy{
+            display: flex;
+            align-items: center;
+            justify-content: center;
+            flex: 0 0 60%;
+            input{
+              text-align: center;
+              color:#343434;
+            }
+            text{
+              color: #999;
+              font-size: 24rpx;
+            }
+          }
+        }
+      }
+    }
+  }
+  .infoContent{
+    position: absolute;
+    z-index: 972;
+    width: 100%;
+    max-height: 55vh;
+    top: 130rpx;
+    background-color: #fff;
+    left: 0;
+    overflow-y: scroll;
+    padding-bottom: 20rpx;
+    padding-top: 10rpx;
+    .label{
+      width: 95%;
+      margin: 0 auto;
+      padding: 12rpx 0;
+      .title{
+        color: #343434;
+        font-size: 26rpx;
+      }
+      .text{
+        color: #999;
+        font-size: 24rpx;
+        padding-top: 4rpx;
+      }
+    }
+    .images{
+      display: flex;
+      align-items: center;
+      flex-wrap: wrap;
+      padding-top: 6rpx;
+      .image{
+        width: 200rpx;
+        height: 200rpx;
+        border: 2rpx solid #f5f5f5;
+        background-color: #f5f5f5;
+        margin-right: 20rpx;
+        position: relative;
+        .text{
+          position: absolute;
+          bottom: 0;
+          left: 0;
+          width: 100%;
+          background-color: rgba(255,255,255,.6);
+          height: 50rpx;
+          display: flex;
+          align-items: center;
+          justify-content: center;
+          color: #666;
+          font-size: 26rpx;
+        }
+      }
+    }
+  }
+  .goodsConten{
+    position: absolute;
+    z-index: 972;
+    width: 80%;
+    background-color: #fff;
+    border-radius: 10rpx;
+    padding-bottom: 20rpx;
+    margin-top: -5vh;
+    box-shadow: 0 10rpx 20rpx rgba(0,0,0,.06);
+    .image{
+      width: 100%;
+      height: 320rpx;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      position: relative;
+      icon{
+        position: absolute;
+      }
+    }
+    .title{
+      width: 90%;
+      margin: 0 auto;
+      padding-top: 10rpx;
+      padding-bottom: 10rpx;
+      color: #343434;
+      font-weight: bold;
+    }
+    .moreBox{
+      width: 90%;
+      margin: 0 auto;
+      .label{
+        padding-bottom: 10rpx;
+        .stitle{
+          padding-bottom: 10rpx;
+          text{
+            color: #999;
+            font-size: 26rpx;
+          }
+        }
+        .specBox{
+          display: flex;
+          flex-wrap: wrap;
+          .spec{
+            border: 1px solid #eee;
+            padding: 8rpx 20rpx;
+            margin-right: 12rpx;
+            font-size: 24rpx;
+            color: #999999;
+          }
+          .active{
+            color: #FFFFFF;
+          }
+        }
+      }
+      .more{
+        padding-bottom: 20rpx;
+        .labtit{
+          color: #999;
+          font-size: 26rpx;
+          padding-top: 10rpx;
+        }
+        .intro{
+          color: #999;
+          font-size: 24rpx;
+        }
+      }
+    }
+    .gfooter{
+      border-top: 1px solid #f5f5f5;
+      padding-top: 20rpx;
+      .price{
+        width: 90%;
+        margin: 0 auto;
+        display: flex;
+        padding: 10rpx 0;
+        align-items: center;
+        justify-content: center;
+        .left{
+          flex: 0 0 65%;
+          .text{
+            color: #d3aa79;
+            font-size: 32rpx;
+            font-weight: bold;
+            display: flex;
+            align-items: center;
+            text{
+              text-decoration: line-through;
+              color: #999;
+              font-size: 26rpx;
+              margin-left: 10rpx;
+              font-weight: normal;
+            }
+          }
+          .label{
+            color: #999;
+            font-size: 24rpx;
+          }
+        }
+        .right{
+          flex: 0 0 35%;
+          display: flex;
+          justify-content: flex-end;
+          .buy{
+            display: flex;
+            align-items: center;
+            input{
+              text-align: center;
+              color:#343434;
+            }
+          }
+        }
+      }
+      .button{
+        width: 90%;
+        margin: 0 auto;
+        margin-top: 20rpx;
+        background-color: #d3aa79;
+        color: #fff;
+        height: 66rpx;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        border-radius: 100rpx;
+        font-size: 26rpx;
+      }
+      .none{
+        background-color: #cccccc;
+      }
+    }
+  }
+}
+.couponsIcon{
+  position: fixed;
+  bottom: 230rpx;
+  width: 100rpx;
+  height: 100rpx;
+  left: 60rpx;
+}
+.showCoupons{
+  position: fixed;
+  width: 100%;
+  height: 100%;
+  top: 0;
+  left: 0;
+  background-color: rgba(0,0,0,.5);
+  z-index: 999;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  .bg{
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    top: 0;
+    left: 0;
+    z-index: 1000;
+  }
+  .coupons{
+    position: absolute;
+    width: 600rpx;
+    height: 568rpx;
+    border-radius: 10rpx;
+    z-index: 1001;
+    transition: all 0.6s;
+    margin-top: -10%;
+    .headerTitle{
+      position: absolute;
+      top: 76rpx;
+      width: 100%;
+      text-align: center;
+      color: #af8859;
+      font-size: 26rpx;
+    }
+    .listBox{
+      width: 72%;
+      margin: 0 auto;
+      margin-top: 50rpx;
+      position: absolute;
+      left: 0;
+      right: 0;
+      top: 100rpx;
+      height: 260rpx;
+      border-bottom-left-radius: 20%;
+      border-bottom-right-radius: 20%;
+      overflow: hidden;
+      .list{
+        display:flex;
+        align-items:center;
+        width:99%;
+        height:120rpx;
+        justify-content:center;
+        border-radius:4rpx;
+        position: relative;
+        overflow:hidden;
+        padding: 2rpx;
+        margin: 0 auto;
+        margin-bottom: 20rpx;
+        .left{
+          width:35%;
+          display:flex;
+          flex-direction:column;
+          align-items:center;
+          justify-content:center;
+          height:120rpx;
+          border:2rpx solid #f5f5f5;
+          border-right:none;
+          .price{
+            color:#d3aa79;
+            font-size:42rpx;
+            font-weight:500;
+            display:flex;
+            text{
+              font-size:26rpx;
+              padding-top:6rpx;
+              padding-right:2rpx;
+            }
+          }
+          .text{
+            color:#999;
+            font-size:22rpx;
+          }
+        }
+        .active{
+          position:absolute;
+          width:2rpx;
+          height:80rpx;
+          left:34%;
+          border-right:2rpx dashed #eee;
+          display:flex;
+          align-items:center;
+          justify-content:center;
+          .top{
+            width:20rpx;
+            height:20rpx;
+            background-color:#fff;
+            border-radius:100%;
+            position:absolute;
+            top:-30rpx;
+            border:2rpx solid #f5f5f5;
+          }
+          .buttom{
+            width:20rpx;
+            height:20rpx;
+            background-color:#fff;
+            border-radius:100%;
+            position:absolute;
+            bottom:-30rpx;
+            border:2rpx solid #f5f5f5;;
+          }
+        }
+        .right{
+          width:65%;
+          height:120rpx;
+          display:flex;
+          flex-direction:column;
+          justify-content:center;
+          border:2rpx solid #f5f5f5;
+          border-left:none;
+          .title{
+            color:#343434;
+            font-weight:500;
+            font-size:26rpx;
+            width:90%;
+            margin:0 auto;
+            overflow:hidden;
+            text-overflow:ellipsis;
+            white-space:nowrap;
+          }
+          .times{
+            color:#999;
+            font-size:24rpx;
+            padding-top:10rpx;
+            width:90%;
+            margin:0 auto;
+            overflow:hidden;
+            text-overflow:ellipsis;
+            white-space:nowrap;
+          }
+        }
+      }
+    }
+    .buttonBox{
+      width: 80%;
+      margin: 0 auto;
+      height: 70rpx;
+      display:flex;
+      align-items:flex-end;
+      justify-content:center;
+      position: absolute;
+      bottom: 36rpx;
+      left: 0;
+      right: 0;
+      .button{
+        background-color:#af8859;
+        width:100%;
+        height:100%;
+        display:flex;
+        align-items:center;
+        justify-content:center;
+        color:#fff;
+        border-radius:4rpx;
+        font-size: 26rpx;
+      }
+    }
+    .close{
+      position: absolute;
+      left: 0;
+      right: 0;
+      margin: 0 auto;
+      width: 100rpx;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      height: 100rpx;
+    }
+  }
+}
+.showShare{
+  position: fixed;
+  width: 100%;
+  height: 100%;
+  top: 0;
+  left: 0;
+  background-color: rgba(0,0,0,.5);
+  z-index: 999;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  .bg{
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    top: 0;
+    left: 0;
+    z-index: 1000;
+  }
+  .share{
+    position: absolute;
+    width: 500rpx;
+    background-color: #FFFFFF;
+    border-radius: 10rpx;
+    z-index: 1001;
+    transition: all 0.6s;
+    .title{
+      font-weight: bold;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      padding: 38rpx 0 30rpx;
+    }
+    .box{
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      padding-bottom: 38rpx;
+      .label{
+        flex: 0 0 45%;
+        display: flex;
+        align-items: center;
+        flex-direction: column;
+        justify-content: center;
+        position: relative;
+        .text{
+          font-size: 24rpx;
+        }
+        button{
+          position: absolute;
+          top: 0;
+          left: 0;
+          width: 100%;
+          height: 100%;
+          opacity: 0;
+        }
+      }
+    }
+    .haibao{
+      width: 90%;
+      margin: 0 auto;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      image{
+        width: 400rpx;
+        height: 600rpx;
+        border: 1px solid #f5f5f5;
+        border-radius: 6rpx;
+      }
+      .save{
+        color: #FFFFFF;
+        width: 280rpx;
+        height: 60rpx;
+        border-radius: 100rpx;
+        font-size: 24rpx;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        margin: 30rpx 0;
+      }
+    }
+  }
+}
+
+
+
+
+
+.container {
+  display: flex;
+}
+.left-menu {
+  flex: 1;
+}
+.right-content {
+  flex: 2;
+}
+.menu-item {
+  padding: 10px;
+  border-bottom: 1px solid #ccc;
+  color: #333;
+}
+.menu-item.active {
+  color: red; /* 激活状态的颜色 */
+}
+.product-item {
+  padding: 10px;
+  border-bottom: 1px solid #ccc;
+}
+
+
+.order-footer {
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  background-color: #333;
+  color: #fff;
+  padding: 10px;
+}
+
+.discount-info {
+  font-size: 14px;
+}
+
+.order-action {
+  display: flex;
+}
+
+.order-detail {
+  background-color: #666;
+  padding: 15px 20px; /* 增加了padding */
+  border-radius: 20px 0 0 20px; /* 增加了圆角半径 */
+  font-size: 16px; /* 增加了字体大小 */
+}
+
+.pay-button {
+  background-color: #ff6700;
+  padding: 15px 20px; /* 增加了padding */
+  border-radius: 0 20px 20px 0; /* 增加了圆角半径 */
+  font-size: 18px; /* 增加了字体大小 */
+}
+
+
+
+
+.review-container {
+  padding: 20rpx;
+  background-color: #f7f7f7;
+  .add-review-btn {
+    margin-top: 20rpx;
+    background-color: #07c160;
+    color: #fff;
+    font-size: 28rpx;
+    text-align: center;
+    padding: 20rpx;
+    border-radius: 10rpx;
+  }
+
+  .review-modal {
+    background-color: #fff;
+    padding: 30rpx;
+
+    .modal-header {
+      font-size: 36rpx;
+      font-weight: bold;
+      text-align: center;
+      margin-bottom: 30rpx;
+    }
+
+    .modal-content {
+      margin-bottom: 30rpx;
+    }
+
+    .modal-footer {
+      text-align: right;
+    }
+}
+}
+
+.header {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  margin-bottom: 20rpx;
+
+  .title {
+    font-size: 32rpx;
+    font-weight: bold;
+  }
+
+  .filter {
+    font-size: 26rpx;
+    color: #666;
+  }
+}
+
+.review-list {
+  background-color: #fff;
+  border-radius: 10rpx;
+  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
+  padding: 20rpx;
+}
+
+.review-item {
+  padding: 20rpx 0;
+  border-bottom: 1px solid #eee;
+
+  &:last-child {
+    border-bottom: none;
+  }
+
+  .item-header {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-bottom: 10rpx;
+
+    .user-info {
+      display: flex;
+      align-items: center;
+
+      .avatar {
+        width: 60rpx;
+        height: 60rpx;
+        border-radius: 50%;
+        margin-right: 10rpx;
+      }
+
+      .username {
+        font-size: 28rpx;
+        color: #333;
+      }
+    }
+
+    .rating {
+      font-size: 24rpx;
+      color: #ffd21e;
+    }
+  }
+
+  .review-content {
+    font-size: 26rpx;
+    color: #666;
+    line-height: 1.5;
+    margin-bottom: 10rpx;
+  }
+
+  .item-footer {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+
+    .date {
+      font-size: 24rpx;
+      color: #999;
+    }
+
+    .actions {
+      .van-icon-like-o,
+      .van-icon-warning-o {
+        font-size: 24rpx;
+        margin-left: 10rpx;
+        color: #999;
+      }
+
+      .liked {
+        color: #ff6600;
+      }
+    }
+  }
+}
+.monitor-view {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  height: 500rpx;
+}
+
+.monitor-video {
+  width: 100%;
+  height: 300rpx;
+}
+
+.monitor-info {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  margin-top: 20rpx;
+}
+
+.monitor-img {
+  width: 200rpx;
+  height: 200rpx;
+}
+
+.monitor-text {
+  margin-top: 30rpx;
+  font-size: 50rpx;
+  color: #666;
+}
+</style>

文件差異過大導致無法顯示
+ 0 - 0
uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


文件差異過大導致無法顯示
+ 0 - 0
uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


文件差異過大導致無法顯示
+ 0 - 0
uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


文件差異過大導致無法顯示
+ 0 - 0
uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/components/my-grid/my-grid.js.map


文件差異過大導致無法顯示
+ 0 - 0
uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/components/my-login/my-login.js.map


文件差異過大導致無法顯示
+ 0 - 0
uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/components/my-userinfo/my-userinfo.js.map


文件差異過大導致無法顯示
+ 0 - 0
uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/home/home.js.map


文件差異過大導致無法顯示
+ 0 - 0
uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


文件差異過大導致無法顯示
+ 0 - 0
uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/pages/shop/shop.js.map


文件差異過大導致無法顯示
+ 0 - 0
uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/login/login.js.map


文件差異過大導致無法顯示
+ 0 - 0
uniapp/unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/order/order.js.map


+ 7 - 3
uniapp/unpackage/dist/dev/mp-weixin/app.json

@@ -5,13 +5,17 @@
     "pages/home/home",
     "subpkg/login/login",
     "subpkg/order/order",
-    "subpkg/search/search"
+    "subpkg/search/search",
+    "subpkg/shopdetail/shopdetail",
+    "subpkg/payment/payment",
+    "subpkg/addAddress/addAddress",
+    "subpkg/setting/setting"
   ],
   "subPackages": [],
   "window": {
+    "navigationBarBackgroundColor": "#FFFFFF",
     "navigationBarTextStyle": "black",
-    "navigationBarTitleText": "uni-app",
-    "navigationBarBackgroundColor": "#F8F8F8",
+    "navigationBarTitleText": "果蔬农贸",
     "backgroundColor": "#F8F8F8"
   },
   "tabBar": {

文件差異過大導致無法顯示
+ 25 - 16
uniapp/unpackage/dist/dev/mp-weixin/common/main.js


+ 9 - 0
uniapp/unpackage/dist/dev/mp-weixin/common/main.wxss

@@ -10,8 +10,17 @@
 
 
 
+
+
+
+
+
+
+
+
 
 
 
 /*每个页面公共css */
 
+

+ 2 - 2
uniapp/unpackage/dist/dev/mp-weixin/common/runtime.js

@@ -105,11 +105,11 @@
 /******/
 /******/
 /******/ 		// mini-css-extract-plugin CSS loading
-/******/ 		var cssChunks = {"components/my-grid/my-grid":1,"components/my-login/my-login":1,"components/my-userinfo/my-userinfo":1};
+/******/ 		var cssChunks = {"components/shop-card/shop-card":1,"components/my-login/my-login":1,"components/my-userinfo/my-userinfo":1,"components/order-list/order-list":1,"components/my-card/my-card":1};
 /******/ 		if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
 /******/ 		else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
 /******/ 			promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {
-/******/ 				var href = "" + ({"components/my-grid/my-grid":"components/my-grid/my-grid","components/my-login/my-login":"components/my-login/my-login","components/my-userinfo/my-userinfo":"components/my-userinfo/my-userinfo","components/order-type/order-type":"components/order-type/order-type","components/orders/order-all/order-all":"components/orders/order-all/order-all","components/orders/order-card/order-card":"components/orders/order-card/order-card"}[chunkId]||chunkId) + ".wxss";
+/******/ 				var href = "" + ({"components/shop-card/shop-card":"components/shop-card/shop-card","components/my-login/my-login":"components/my-login/my-login","components/my-userinfo/my-userinfo":"components/my-userinfo/my-userinfo","components/order-list/order-list":"components/order-list/order-list","components/orders/order-all/order-all":"components/orders/order-all/order-all","components/my-card/my-card":"components/my-card/my-card","components/orders/order-card/order-card":"components/orders/order-card/order-card"}[chunkId]||chunkId) + ".wxss";
 /******/ 				var fullhref = __webpack_require__.p + href;
 /******/ 				var existingLinkTags = document.getElementsByTagName("link");
 /******/ 				for(var i = 0; i < existingLinkTags.length; i++) {

文件差異過大導致無法顯示
+ 581 - 548
uniapp/unpackage/dist/dev/mp-weixin/common/vendor.js


文件差異過大導致無法顯示
+ 0 - 11
uniapp/unpackage/dist/dev/mp-weixin/components/my-grid/my-grid.js


+ 1 - 1
uniapp/unpackage/dist/dev/mp-weixin/components/my-grid/my-grid.wxml

@@ -1 +1 @@
-<view><van-grid vue-id="313c4bf2-1" column-num="2" gutter="{{10}}" data-com-type="wx" bind:__l="__l" vue-slots="{{['default']}}"><block wx:for="{{$root.l0}}" wx:for-item="item" wx:for-index="idx" wx:key="idx"><van-grid-item vue-id="{{('313c4bf2-2-'+idx)+','+('313c4bf2-1')}}" icon="photo-o" text="{{item.$orig.text}}" use-slot="{{true}}" data-com-type="wx" bind:__l="__l" vue-slots="{{['default']}}"><block wx:if="{{$slots.icon}}"><slot name="icon"></slot></block><block wx:else><image class="itemImg" src="/static/logo.png"></image></block><block wx:if="{{$slots.text}}"><slot name="text"></slot><scoped-slots-text item="{{item.$orig}}" class="scoped-ref" bind:__l="__l"></scoped-slots-text></block><block wx:else><block wx:if="{{idx%2}}"><view style="background-color:red;">去摸鱼儿Isaac查看啊啊啊啊</view></block></block><view>{{"描述信息:"+item.$orig.description}}</view></van-grid-item></block></van-grid></view>
+<view><van-grid vue-id="313c4bf2-1" column-num="2" gutter="{{10}}" data-com-type="wx" bind:__l="__l" vue-slots="{{['default']}}"><block wx:for="{{$root.l0}}" wx:for-item="item" wx:for-index="idx" wx:key="idx"><van-grid-item vue-id="{{('313c4bf2-2-'+idx)+','+('313c4bf2-1')}}" icon="photo-o" text="{{item.$orig.text}}" use-slot="{{true}}" data-event-opts="{{[['^click',[['nevigateToDetail',['$0'],[[['shops','',idx]]]]]]]}}" data-com-type="wx" bind:click="__e" bind:__l="__l" vue-slots="{{['default']}}"><block wx:if="{{$slots.icon}}"><slot name="icon"></slot></block><block wx:else><image class="itemImg" src="{{item.$orig.imgUrl}}"></image></block><block wx:if="{{$slots.text}}"><slot name="text"></slot><scoped-slots-text item="{{item.$orig}}" class="scoped-ref" bind:__l="__l"></scoped-slots-text></block><block wx:else><view>{{item.f0}}</view></block></van-grid-item></block></van-grid></view>

+ 2 - 2
uniapp/unpackage/dist/dev/mp-weixin/components/my-grid/my-grid.wxss

@@ -25,7 +25,7 @@
 /* 透明度 */
 /* 文章场景相关 */
 .itemImg {
-  width: 250rpx;
-  height: 170rpx;
+  width: 300rpx;
+  height: 300rpx;
 }
 

文件差異過大導致無法顯示
+ 55 - 156
uniapp/unpackage/dist/dev/mp-weixin/components/my-login/my-login.js


文件差異過大導致無法顯示
+ 0 - 1
uniapp/unpackage/dist/dev/mp-weixin/components/my-login/my-login.wxml


+ 97 - 25
uniapp/unpackage/dist/dev/mp-weixin/components/my-login/my-login.wxss

@@ -24,37 +24,109 @@
 /* 垂直间距 */
 /* 透明度 */
 /* 文章场景相关 */
-.login-container {
+.bgImg {
+  position: absolute;
+  width: 100%;
+}
+.panel-list {
+  padding: 0 10px;
+  position: relative;
+  top: -10px;
+}
+.panel-list .panel {
+  background-color: white;
+  border-radius: 10px;
+  margin-bottom: 8px;
+}
+.panel-list .panel .panel-title {
+  line-height: 40px;
+  padding-left: 10px;
+  font-size: 15px;
+  border-bottom: 1px solid #f4f4f4;
+}
+.panel-list .panel .panel-body {
+  display: flex;
+  justify-content: space-around;
+}
+.panel-list .panel .panel-body .panel-item {
   display: flex;
   flex-direction: column;
-  justify-content: center;
   align-items: center;
-  height: 750rpx;
-  background-color: #f8f8f8;
+  justify-content: space-around;
+  padding: 10px 0;
+  font-size: 13px;
+}
+.panel-list .panel .panel-body .panel-item .icon {
+  width: 35px;
+  height: 35px;
+}
+.panel-list-item {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  font-size: 15px;
+  padding: 0 10px;
+  line-height: 45px;
+}
+.home-page .head {
   position: relative;
-  overflow: hidden;
 }
-.login-container::after {
-  content: ' ';
-  display: block;
+.home-page .head .bgImg {
+  top: 0;
   width: 100%;
-  height: 40px;
-  background-color: white;
+  height: 400rpx;
+}
+.home-page .head .top-info {
+  position: absolute;
+  top: 60rpx;
+  left: 30rpx;
+  right: 30rpx;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
+.home-page .head .top-info .avatar image {
+  width: 120rpx;
+  height: 120rpx;
+  border-radius: 50%;
+}
+.home-page .head .top-info .user-info .username {
+  font-size: 36rpx;
+  font-weight: bold;
+}
+.home-page .head .top-info .user-info .vip-info {
+  font-size: 24rpx;
+  color: #999;
+}
+.home-page .head .top-info .setting image {
+  width: 50rpx;
+  height: 50rpx;
+}
+.home-page .head .first-panel {
   position: absolute;
-  bottom: 0;
-  left: 0;
-  border-radius: 100%;
-  -webkit-transform: translateY(50%);
-          transform: translateY(50%);
-}
-.login-container .btn-login {
-  width: 90%;
-  border-radius: 100px;
-  margin: 15px 0;
-  background-color: #c00000;
-}
-.login-container .tips-text {
-  font-size: 12px;
-  color: gray;
+  bottom: -350rpx;
+  left: 50%;
+  -webkit-transform: translateX(-50%);
+          transform: translateX(-50%);
+  display: flex;
+  justify-content: space-around;
+  width: 95%;
+  background-color: #fff;
+  border-radius: 20rpx;
+  padding: 20rpx 0;
+  box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.1);
+}
+.home-page .head .first-panel .panel-item {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  font-size: 24rpx;
+}
+.home-page .head .first-panel .panel-item image {
+  width: 50rpx;
+  height: 50rpx;
+}
+.home-page .head .first-panel .panel-item text {
+  margin-top: 10rpx;
 }
 

文件差異過大導致無法顯示
+ 91 - 102
uniapp/unpackage/dist/dev/mp-weixin/components/my-userinfo/my-userinfo.js


文件差異過大導致無法顯示
+ 0 - 0
uniapp/unpackage/dist/dev/mp-weixin/components/my-userinfo/my-userinfo.wxml


+ 62 - 12
uniapp/unpackage/dist/dev/mp-weixin/components/my-userinfo/my-userinfo.wxss

@@ -24,20 +24,9 @@
 /* 垂直间距 */
 /* 透明度 */
 /* 文章场景相关 */
-.my-grid {
-  position: absolute;
-  background-color: antiquewhite;
-  width: 90%;
-  left: 5%;
-  height: 200px;
-  border-radius: 100px;
-  margin-top: 10px;
-}
 .bgImg {
   position: absolute;
-  width: 95%;
-  left: 2.5%;
-  top: 1%;
+  width: 100%;
 }
 .panel-list {
   padding: 0 10px;
@@ -79,4 +68,65 @@
   padding: 0 10px;
   line-height: 45px;
 }
+.home-page .head {
+  position: relative;
+}
+.home-page .head .bgImg {
+  top: 0;
+  width: 100%;
+  height: 400rpx;
+}
+.home-page .head .top-info {
+  position: absolute;
+  top: 60rpx;
+  left: 30rpx;
+  right: 30rpx;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
+.home-page .head .top-info .avatar image {
+  width: 120rpx;
+  height: 120rpx;
+  border-radius: 50%;
+}
+.home-page .head .top-info .user-info .username {
+  font-size: 36rpx;
+  font-weight: bold;
+}
+.home-page .head .top-info .user-info .vip-info {
+  font-size: 24rpx;
+  color: #999;
+}
+.home-page .head .top-info .setting image {
+  width: 50rpx;
+  height: 50rpx;
+}
+.home-page .head .first-panel {
+  position: absolute;
+  bottom: -350rpx;
+  left: 50%;
+  -webkit-transform: translateX(-50%);
+          transform: translateX(-50%);
+  display: flex;
+  justify-content: space-around;
+  width: 95%;
+  background-color: #fff;
+  border-radius: 20rpx;
+  padding: 20rpx 0;
+  box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.1);
+}
+.home-page .head .first-panel .panel-item {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  font-size: 24rpx;
+}
+.home-page .head .first-panel .panel-item image {
+  width: 50rpx;
+  height: 50rpx;
+}
+.home-page .head .first-panel .panel-item text {
+  margin-top: 10rpx;
+}
 

+ 1 - 168
uniapp/unpackage/dist/dev/mp-weixin/components/order-type/order-type.js

@@ -1,168 +1 @@
-(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["components/order-type/order-type"],{
-
-/***/ 107:
-/*!********************************************************************************************!*\
-  !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/order-type/order-type.vue ***!
-  \********************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _order_type_vue_vue_type_template_id_aaaffbb8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./order-type.vue?vue&type=template&id=aaaffbb8& */ 108);
-/* harmony import */ var _order_type_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./order-type.vue?vue&type=script&lang=js& */ 110);
-/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _order_type_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _order_type_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 32);
-
-var renderjs
-
-
-
-
-/* normalize component */
-
-var component = Object(_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
-  _order_type_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
-  _order_type_vue_vue_type_template_id_aaaffbb8___WEBPACK_IMPORTED_MODULE_0__["render"],
-  _order_type_vue_vue_type_template_id_aaaffbb8___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
-  false,
-  null,
-  null,
-  null,
-  false,
-  _order_type_vue_vue_type_template_id_aaaffbb8___WEBPACK_IMPORTED_MODULE_0__["components"],
-  renderjs
-)
-
-component.options.__file = "components/order-type/order-type.vue"
-/* harmony default export */ __webpack_exports__["default"] = (component.exports);
-
-/***/ }),
-
-/***/ 108:
-/*!***************************************************************************************************************************!*\
-  !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/order-type/order-type.vue?vue&type=template&id=aaaffbb8& ***!
-  \***************************************************************************************************************************/
-/*! exports provided: render, staticRenderFns, recyclableRender, components */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_type_vue_vue_type_template_id_aaaffbb8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./order-type.vue?vue&type=template&id=aaaffbb8& */ 109);
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_type_vue_vue_type_template_id_aaaffbb8___WEBPACK_IMPORTED_MODULE_0__["render"]; });
-
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_type_vue_vue_type_template_id_aaaffbb8___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
-
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_type_vue_vue_type_template_id_aaaffbb8___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
-
-/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_type_vue_vue_type_template_id_aaaffbb8___WEBPACK_IMPORTED_MODULE_0__["components"]; });
-
-
-
-/***/ }),
-
-/***/ 109:
-/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
-  !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/order-type/order-type.vue?vue&type=template&id=aaaffbb8& ***!
-  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
-/*! exports provided: render, staticRenderFns, recyclableRender, components */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
-var components
-var render = function () {
-  var _vm = this
-  var _h = _vm.$createElement
-  var _c = _vm._self._c || _h
-}
-var recyclableRender = false
-var staticRenderFns = []
-render._withStripped = true
-
-
-
-/***/ }),
-
-/***/ 110:
-/*!*********************************************************************************************************************!*\
-  !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/order-type/order-type.vue?vue&type=script&lang=js& ***!
-  \*********************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_type_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./order-type.vue?vue&type=script&lang=js& */ 111);
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_type_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_type_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
-/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_type_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_type_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony default export */ __webpack_exports__["default"] = (_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_type_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); 
-
-/***/ }),
-
-/***/ 111:
-/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
-  !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/order-type/order-type.vue?vue&type=script&lang=js& ***!
-  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.default = void 0;
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-var _default = {
-  data: function data() {
-    return {
-      imageURL: 'https://img.yzcdn.cn/vant/ipad.jpeg'
-    };
-  },
-  props: {
-    OrderData: []
-  }
-};
-exports.default = _default;
-
-/***/ })
-
-}]);
-//# sourceMappingURL=../../../.sourcemap/mp-weixin/components/order-type/order-type.js.map
-;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
-    'components/order-type/order-type-create-component',
-    {
-        'components/order-type/order-type-create-component':(function(module, exports, __webpack_require__){
-            __webpack_require__('2')['createComponent'](__webpack_require__(107))
-        })
-    },
-    [['components/order-type/order-type-create-component']]
-]);
+Component({})

+ 12 - 12
uniapp/unpackage/dist/dev/mp-weixin/components/orders/order-all/order-all.js

@@ -1,6 +1,6 @@
 (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["components/orders/order-all/order-all"],{
 
-/***/ 112:
+/***/ 150:
 /*!*************************************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/orders/order-all/order-all.vue ***!
   \*************************************************************************************************/
@@ -9,10 +9,10 @@
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _order_all_vue_vue_type_template_id_84056574___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./order-all.vue?vue&type=template&id=84056574& */ 113);
-/* harmony import */ var _order_all_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./order-all.vue?vue&type=script&lang=js& */ 115);
+/* harmony import */ var _order_all_vue_vue_type_template_id_84056574___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./order-all.vue?vue&type=template&id=84056574& */ 151);
+/* harmony import */ var _order_all_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./order-all.vue?vue&type=script&lang=js& */ 153);
 /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _order_all_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _order_all_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 32);
+/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 33);
 
 var renderjs
 
@@ -39,7 +39,7 @@ component.options.__file = "components/orders/order-all/order-all.vue"
 
 /***/ }),
 
-/***/ 113:
+/***/ 151:
 /*!********************************************************************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/orders/order-all/order-all.vue?vue&type=template&id=84056574& ***!
   \********************************************************************************************************************************/
@@ -48,7 +48,7 @@ component.options.__file = "components/orders/order-all/order-all.vue"
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_all_vue_vue_type_template_id_84056574___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./order-all.vue?vue&type=template&id=84056574& */ 114);
+/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_all_vue_vue_type_template_id_84056574___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./order-all.vue?vue&type=template&id=84056574& */ 152);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_all_vue_vue_type_template_id_84056574___WEBPACK_IMPORTED_MODULE_0__["render"]; });
 
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_all_vue_vue_type_template_id_84056574___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
@@ -61,7 +61,7 @@ __webpack_require__.r(__webpack_exports__);
 
 /***/ }),
 
-/***/ 114:
+/***/ 152:
 /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
   !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/orders/order-all/order-all.vue?vue&type=template&id=84056574& ***!
   \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@@ -88,7 +88,7 @@ render._withStripped = true
 
 /***/ }),
 
-/***/ 115:
+/***/ 153:
 /*!**************************************************************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/orders/order-all/order-all.vue?vue&type=script&lang=js& ***!
   \**************************************************************************************************************************/
@@ -97,14 +97,14 @@ render._withStripped = true
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_all_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./order-all.vue?vue&type=script&lang=js& */ 116);
+/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_all_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./order-all.vue?vue&type=script&lang=js& */ 154);
 /* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_all_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_all_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
 /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_all_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_all_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  /* harmony default export */ __webpack_exports__["default"] = (_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_all_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); 
 
 /***/ }),
 
-/***/ 116:
+/***/ 154:
 /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
   !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/orders/order-all/order-all.vue?vue&type=script&lang=js& ***!
   \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@@ -120,7 +120,7 @@ Object.defineProperty(exports, "__esModule", {
 exports.default = void 0;
 var OrderCard = function OrderCard() {
   __webpack_require__.e(/*! require.ensure | components/orders/order-card/order-card */ "components/orders/order-card/order-card").then((function () {
-    return resolve(__webpack_require__(/*! @/components/orders/order-card/order-card.vue */ 117));
+    return resolve(__webpack_require__(/*! @/components/orders/order-card/order-card.vue */ 162));
   }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
 };
 var _default = {
@@ -144,7 +144,7 @@ exports.default = _default;
     'components/orders/order-all/order-all-create-component',
     {
         'components/orders/order-all/order-all-create-component':(function(module, exports, __webpack_require__){
-            __webpack_require__('2')['createComponent'](__webpack_require__(112))
+            __webpack_require__('2')['createComponent'](__webpack_require__(150))
         })
     },
     [['components/orders/order-all/order-all-create-component']]

+ 11 - 11
uniapp/unpackage/dist/dev/mp-weixin/components/orders/order-card/order-card.js

@@ -1,6 +1,6 @@
 (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["components/orders/order-card/order-card"],{
 
-/***/ 117:
+/***/ 162:
 /*!***************************************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/orders/order-card/order-card.vue ***!
   \***************************************************************************************************/
@@ -9,10 +9,10 @@
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _order_card_vue_vue_type_template_id_e8f296c0___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./order-card.vue?vue&type=template&id=e8f296c0& */ 118);
-/* harmony import */ var _order_card_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./order-card.vue?vue&type=script&lang=js& */ 120);
+/* harmony import */ var _order_card_vue_vue_type_template_id_e8f296c0___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./order-card.vue?vue&type=template&id=e8f296c0& */ 163);
+/* harmony import */ var _order_card_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./order-card.vue?vue&type=script&lang=js& */ 165);
 /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _order_card_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _order_card_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 32);
+/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 33);
 
 var renderjs
 
@@ -39,7 +39,7 @@ component.options.__file = "components/orders/order-card/order-card.vue"
 
 /***/ }),
 
-/***/ 118:
+/***/ 163:
 /*!**********************************************************************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/orders/order-card/order-card.vue?vue&type=template&id=e8f296c0& ***!
   \**********************************************************************************************************************************/
@@ -48,7 +48,7 @@ component.options.__file = "components/orders/order-card/order-card.vue"
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_card_vue_vue_type_template_id_e8f296c0___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./order-card.vue?vue&type=template&id=e8f296c0& */ 119);
+/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_card_vue_vue_type_template_id_e8f296c0___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./order-card.vue?vue&type=template&id=e8f296c0& */ 164);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_card_vue_vue_type_template_id_e8f296c0___WEBPACK_IMPORTED_MODULE_0__["render"]; });
 
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_card_vue_vue_type_template_id_e8f296c0___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
@@ -61,7 +61,7 @@ __webpack_require__.r(__webpack_exports__);
 
 /***/ }),
 
-/***/ 119:
+/***/ 164:
 /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
   !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/orders/order-card/order-card.vue?vue&type=template&id=e8f296c0& ***!
   \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@@ -88,7 +88,7 @@ render._withStripped = true
 
 /***/ }),
 
-/***/ 120:
+/***/ 165:
 /*!****************************************************************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/orders/order-card/order-card.vue?vue&type=script&lang=js& ***!
   \****************************************************************************************************************************/
@@ -97,14 +97,14 @@ render._withStripped = true
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_card_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./order-card.vue?vue&type=script&lang=js& */ 121);
+/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_card_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./order-card.vue?vue&type=script&lang=js& */ 166);
 /* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_card_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_card_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
 /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_card_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_card_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  /* harmony default export */ __webpack_exports__["default"] = (_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_order_card_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); 
 
 /***/ }),
 
-/***/ 121:
+/***/ 166:
 /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
   !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!G:/project/Hbuilder/git/AgricultureSmart/uniapp/components/orders/order-card/order-card.vue?vue&type=script&lang=js& ***!
   \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@@ -173,7 +173,7 @@ exports.default = _default;
     'components/orders/order-card/order-card-create-component',
     {
         'components/orders/order-card/order-card-create-component':(function(module, exports, __webpack_require__){
-            __webpack_require__('2')['createComponent'](__webpack_require__(117))
+            __webpack_require__('2')['createComponent'](__webpack_require__(162))
         })
     },
     [['components/orders/order-card/order-card-create-component']]

文件差異過大導致無法顯示
+ 24 - 18
uniapp/unpackage/dist/dev/mp-weixin/pages/home/home.js


+ 1 - 1
uniapp/unpackage/dist/dev/mp-weixin/pages/home/home.wxml

@@ -1 +1 @@
-<view class="home"><button type="primary" data-event-opts="{{[['tap',[['setToken',['$event']]]]]}}" bindtap="__e">一键登录</button><block wx:if="{{!token}}"><view><my-login vue-id="1da55560-1" bind:__l="__l"></my-login></view></block><block wx:else><view><my-userinfo vue-id="1da55560-2" bind:__l="__l"></my-userinfo></view></block></view>
+<view class="home"><block wx:if="{{!token}}"><view><my-login vue-id="1da55560-1" bind:__l="__l"></my-login></view></block><block wx:else><view><my-userinfo vue-id="1da55560-2" bind:__l="__l"></my-userinfo></view></block></view>

文件差異過大導致無法顯示
+ 115 - 92
uniapp/unpackage/dist/dev/mp-weixin/pages/index/index.js


+ 1 - 1
uniapp/unpackage/dist/dev/mp-weixin/pages/index/index.json

@@ -1,6 +1,6 @@
 {
   "navigationBarTitleText": "uni-app",
   "usingComponents": {
-    "my-grid": "/components/my-grid/my-grid"
+    "shop-card": "/components/shop-card/shop-card"
   }
 }

文件差異過大導致無法顯示
+ 0 - 1
uniapp/unpackage/dist/dev/mp-weixin/pages/index/index.wxml


+ 19 - 15
uniapp/unpackage/dist/dev/mp-weixin/pages/index/index.wxss

@@ -24,21 +24,6 @@
 /* 垂直间距 */
 /* 透明度 */
 /* 文章场景相关 */
-swiper {
-  height: 330rpx;
-  width: 95%;
-}
-swiper .swiper-item,
-swiper image {
-  width: 100%;
-  height: 100%;
-}
-.content {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
-}
 .logo {
   height: 200rpx;
   width: 200rpx;
@@ -55,4 +40,23 @@ swiper image {
   font-size: 36rpx;
   color: #8f8f94;
 }
+.swiper {
+  position: relative;
+}
+.swiper-item {
+  position: relative;
+}
+.swiper-image {
+  display: block;
+}
+.shop-info-container {
+  position: absolute;
+  height: 40px;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  background-color: rgba(0, 0, 0, 0.5);
+  padding: 10rpx;
+  text-align: center;
+}
 

+ 75 - 15
uniapp/unpackage/dist/dev/mp-weixin/pages/shop/shop.js

@@ -1,6 +1,6 @@
 (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/shop/shop"],{
 
-/***/ 48:
+/***/ 53:
 /*!**********************************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/main.js?{"page":"pages%2Fshop%2Fshop"} ***!
   \**********************************************************************************************/
@@ -13,7 +13,7 @@
 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
 __webpack_require__(/*! uni-pages */ 26);
 var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 25));
-var _shop = _interopRequireDefault(__webpack_require__(/*! ./pages/shop/shop.vue */ 49));
+var _shop = _interopRequireDefault(__webpack_require__(/*! ./pages/shop/shop.vue */ 54));
 // @ts-ignore
 wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
 createPage(_shop.default);
@@ -21,7 +21,7 @@ createPage(_shop.default);
 
 /***/ }),
 
-/***/ 49:
+/***/ 54:
 /*!***************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/pages/shop/shop.vue ***!
   \***************************************************************************/
@@ -30,10 +30,10 @@ createPage(_shop.default);
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _shop_vue_vue_type_template_id_71bf3ec6___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./shop.vue?vue&type=template&id=71bf3ec6& */ 50);
-/* harmony import */ var _shop_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./shop.vue?vue&type=script&lang=js& */ 52);
+/* harmony import */ var _shop_vue_vue_type_template_id_71bf3ec6___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./shop.vue?vue&type=template&id=71bf3ec6& */ 55);
+/* harmony import */ var _shop_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./shop.vue?vue&type=script&lang=js& */ 57);
 /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _shop_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _shop_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 32);
+/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 33);
 
 var renderjs
 
@@ -60,7 +60,7 @@ component.options.__file = "pages/shop/shop.vue"
 
 /***/ }),
 
-/***/ 50:
+/***/ 55:
 /*!**********************************************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/pages/shop/shop.vue?vue&type=template&id=71bf3ec6& ***!
   \**********************************************************************************************************/
@@ -69,7 +69,7 @@ component.options.__file = "pages/shop/shop.vue"
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_shop_vue_vue_type_template_id_71bf3ec6___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./shop.vue?vue&type=template&id=71bf3ec6& */ 51);
+/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_shop_vue_vue_type_template_id_71bf3ec6___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./shop.vue?vue&type=template&id=71bf3ec6& */ 56);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_shop_vue_vue_type_template_id_71bf3ec6___WEBPACK_IMPORTED_MODULE_0__["render"]; });
 
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_shop_vue_vue_type_template_id_71bf3ec6___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
@@ -82,7 +82,7 @@ __webpack_require__.r(__webpack_exports__);
 
 /***/ }),
 
-/***/ 51:
+/***/ 56:
 /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
   !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!G:/project/Hbuilder/git/AgricultureSmart/uniapp/pages/shop/shop.vue?vue&type=template&id=71bf3ec6& ***!
   \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@@ -109,7 +109,7 @@ render._withStripped = true
 
 /***/ }),
 
-/***/ 52:
+/***/ 57:
 /*!****************************************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/pages/shop/shop.vue?vue&type=script&lang=js& ***!
   \****************************************************************************************************/
@@ -118,14 +118,14 @@ render._withStripped = true
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_shop_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./shop.vue?vue&type=script&lang=js& */ 53);
+/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_shop_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./shop.vue?vue&type=script&lang=js& */ 58);
 /* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_shop_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_shop_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
 /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_shop_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_shop_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  /* harmony default export */ __webpack_exports__["default"] = (_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_shop_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); 
 
 /***/ }),
 
-/***/ 53:
+/***/ 58:
 /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
   !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!G:/project/Hbuilder/git/AgricultureSmart/uniapp/pages/shop/shop.vue?vue&type=script&lang=js& ***!
   \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@@ -133,7 +133,7 @@ __webpack_require__.r(__webpack_exports__);
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-
+/* WEBPACK VAR INJECTION */(function(uni) {
 
 Object.defineProperty(exports, "__esModule", {
   value: true
@@ -145,14 +145,74 @@ exports.default = void 0;
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
 var _default = {
   data: function data() {
-    return {};
+    return {
+      src: '',
+      danmuList: [{
+        text: '第 1s 出现的弹幕',
+        color: '#ff0000',
+        time: 1
+      }, {
+        text: '第 3s 出现的弹幕',
+        color: '#ff00ff',
+        time: 3
+      }],
+      danmuValue: ''
+    };
+  },
+  onReady: function onReady(res) {
+    this.videoContext = uni.createVideoContext('myVideo');
+  },
+  methods: {
+    sendDanmu: function sendDanmu() {
+      this.videoContext.sendDanmu({
+        text: this.danmuValue,
+        color: this.getRandomColor()
+      });
+      this.danmuValue = '';
+    },
+    videoErrorCallback: function videoErrorCallback(e) {
+      uni.showModal({
+        content: e.target.errMsg,
+        showCancel: false
+      });
+    },
+    getRandomColor: function getRandomColor() {
+      var rgb = [];
+      for (var i = 0; i < 3; ++i) {
+        var color = Math.floor(Math.random() * 256).toString(16);
+        color = color.length == 1 ? '0' + color : color;
+        rgb.push(color);
+      }
+      return '#' + rgb.join('');
+    }
   }
 };
 exports.default = _default;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
 
 /***/ })
 
-},[[48,"common/runtime","common/vendor"]]]);
+},[[53,"common/runtime","common/vendor"]]]);
 //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/shop/shop.js.map

+ 1 - 1
uniapp/unpackage/dist/dev/mp-weixin/pages/shop/shop.wxml

@@ -1 +1 @@
-<view></view>
+<view><web-view src="@/hybrid/html/local.html"></web-view></view>

文件差異過大導致無法顯示
+ 35 - 85
uniapp/unpackage/dist/dev/mp-weixin/subpkg/login/login.js


+ 1 - 1
uniapp/unpackage/dist/dev/mp-weixin/subpkg/login/login.wxml

@@ -1 +1 @@
-<view><van-cell vue-id="6da3a178-1" title="头像" data-com-type="wx" bind:__l="__l" vue-slots="{{['right-icon']}}"><button class="avatar-wrapper" slot="right-icon" open-type="chooseAvatar" data-event-opts="{{[['chooseavatar',[['onChooseAvatar',['$event']]]]]}}" bindchooseavatar="__e"><image class="avatar" src="{{avatarUrl}}"></image></button></van-cell><van-cell vue-id="6da3a178-2" title="昵称" data-com-type="wx" bind:__l="__l" vue-slots="{{['default']}}"><input class="weui-input" type="nickname" placeholder="请输入昵称" data-event-opts="{{[['input',[['__set_model',['','nickName','$event',[]]]]]]}}" value="{{nickName}}" bindinput="__e"/></van-cell><view class="confirm"><van-button class="van-center-enter-active" vue-id="6da3a178-3" round="{{true}}" type="info" color="#7232dd" data-event-opts="{{[['^click',[['confirmLogin']]]]}}" data-com-type="wx" bind:click="__e" bind:__l="__l" vue-slots="{{['default']}}">确认信息</van-button></view></view>
+<view class="login-page"><view class="login-container"><view class="login-header"><text class="login-title">欢迎使用</text></view><view class="login-body"><van-button vue-id="6da3a178-1" round="{{true}}" type="info" size="large" loading="{{loading}}" data-event-opts="{{[['^click',[['handleAuthorize']]]]}}" data-com-type="wx" bind:click="__e" bind:__l="__l" vue-slots="{{['default']}}">一键授权登录</van-button></view><block wx:if="{{loading}}"><view class="loading-container"><view class="loading-spinner"></view><text class="loading-text">正在登录...</text></view></block></view></view>

+ 59 - 9
uniapp/unpackage/dist/dev/mp-weixin/subpkg/login/login.wxss

@@ -24,21 +24,71 @@
 /* 垂直间距 */
 /* 透明度 */
 /* 文章场景相关 */
-van-cell {
+.login-page {
+  background: linear-gradient(135deg, #6a82fb, #fc5c7d);
+  height: 100vh;
   display: flex;
   justify-content: center;
+  align-items: center;
 }
-.avatar-wrapper {
+.login-page .login-container {
+  background-color: #fff;
+  border-radius: 12px;
+  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
+  padding: 24px;
+  width: 80%;
+  max-width: 400px;
+}
+.login-page .login-container .login-header {
+  text-align: center;
+  margin-bottom: 24px;
+}
+.login-page .login-container .login-header .login-title {
+  font-size: 24px;
+  font-weight: bold;
+  color: #333;
+}
+.login-page .login-container .login-body {
+  text-align: center;
+}
+.login-page .login-container .loading-container {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  margin-top: 24px;
+}
+.login-page .login-container .loading-container .loading-spinner {
   width: 30px;
   height: 30px;
-  padding: 0;
+  border: 4px solid #fc5c7d;
+  border-top-color: transparent;
+  border-radius: 50%;
+  -webkit-animation: spin 1s linear infinite;
+          animation: spin 1s linear infinite;
 }
-.avatar-wrapper .avatar {
-  width: 100%;
-  height: 100%;
+.login-page .login-container .loading-container .loading-text {
+  margin-top: 8px;
+  color: #666;
+  font-size: 14px;
+}
+@-webkit-keyframes spin {
+from {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg);
+}
+to {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg);
+}
+}
+@keyframes spin {
+from {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg);
+}
+to {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg);
 }
-.confirm {
-  display: flex;
-  justify-content: center;
 }
 

文件差異過大導致無法顯示
+ 98 - 20
uniapp/unpackage/dist/dev/mp-weixin/subpkg/order/order.js


+ 1 - 1
uniapp/unpackage/dist/dev/mp-weixin/subpkg/order/order.json

@@ -2,7 +2,7 @@
   "navigationBarTitleText": "",
   "enablePullDownRefresh": false,
   "usingComponents": {
-    "order-type": "/components/order-type/order-type",
+    "order-list": "/components/order-list/order-list",
     "order-all": "/components/orders/order-all/order-all"
   }
 }

+ 1 - 1
uniapp/unpackage/dist/dev/mp-weixin/subpkg/order/order.wxml

@@ -1 +1 @@
-<view><van-tabs vue-id="744d27ae-1" active="{{active}}" swipeable="{{true}}" sticky="{{true}}" ellipsis="{{false}}" data-event-opts="{{[['^change',[['onChange']]]]}}" data-com-type="wx" bind:change="__e" bind:__l="__l" vue-slots="{{['default']}}"><van-tab vue-id="{{('744d27ae-2')+','+('744d27ae-1')}}" title="全部" data-com-type="wx" bind:__l="__l" vue-slots="{{['default']}}"><order-all vue-id="{{('744d27ae-3')+','+('744d27ae-2')}}" bind:__l="__l"></order-all></van-tab><van-tab vue-id="{{('744d27ae-4')+','+('744d27ae-1')}}" title="待付款" data-com-type="wx" bind:__l="__l" vue-slots="{{['default']}}"><order-type vue-id="{{('744d27ae-5')+','+('744d27ae-4')}}" OrderData="{{[1,2,3]}}" bind:__l="__l"></order-type></van-tab><van-tab vue-id="{{('744d27ae-6')+','+('744d27ae-1')}}" title="待收货" data-com-type="wx" bind:__l="__l"></van-tab><van-tab vue-id="{{('744d27ae-7')+','+('744d27ae-1')}}" title="退款/售后" data-com-type="wx" bind:__l="__l" vue-slots="{{['default']}}">内容 4</van-tab><van-tab vue-id="{{('744d27ae-8')+','+('744d27ae-1')}}" title="待评价" data-com-type="wx" bind:__l="__l" vue-slots="{{['default']}}">内容 4</van-tab></van-tabs></view>
+<view><van-tabs vue-id="744d27ae-1" active="{{active}}" swipeable="{{true}}" sticky="{{true}}" ellipsis="{{false}}" data-event-opts="{{[['^change',[['onChange']]]]}}" data-com-type="wx" bind:change="__e" bind:__l="__l" vue-slots="{{['default']}}"><van-tab vue-id="{{('744d27ae-2')+','+('744d27ae-1')}}" title="全部" data-com-type="wx" bind:__l="__l" vue-slots="{{['default']}}"><order-list vue-id="{{('744d27ae-3')+','+('744d27ae-2')}}" orders="{{allOrders}}" bind:__l="__l"></order-list></van-tab><van-tab vue-id="{{('744d27ae-4')+','+('744d27ae-1')}}" title="待付款" data-com-type="wx" bind:__l="__l" vue-slots="{{['default']}}"><order-list vue-id="{{('744d27ae-5')+','+('744d27ae-4')}}" orders="{{unpaidOrders}}" bind:__l="__l"></order-list></van-tab><van-tab vue-id="{{('744d27ae-6')+','+('744d27ae-1')}}" title="待送达" data-com-type="wx" bind:__l="__l" vue-slots="{{['default']}}"><order-list vue-id="{{('744d27ae-7')+','+('744d27ae-6')}}" orders="{{unreceivedOrders}}" bind:__l="__l"></order-list></van-tab><van-tab vue-id="{{('744d27ae-8')+','+('744d27ae-1')}}" title="已送达" data-com-type="wx" bind:__l="__l" vue-slots="{{['default']}}"><order-list vue-id="{{('744d27ae-9')+','+('744d27ae-8')}}" orders="{{refundOrders}}" bind:__l="__l"></order-list></van-tab><van-tab vue-id="{{('744d27ae-10')+','+('744d27ae-1')}}" title="已完成" data-com-type="wx" bind:__l="__l" vue-slots="{{['default']}}"><order-list vue-id="{{('744d27ae-11')+','+('744d27ae-10')}}" orders="{{completedOrders}}" bind:__l="__l"></order-list></van-tab></van-tabs></view>

+ 13 - 13
uniapp/unpackage/dist/dev/mp-weixin/subpkg/search/search.js

@@ -1,6 +1,6 @@
 (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["subpkg/search/search"],{
 
-/***/ 81:
+/***/ 83:
 /*!***************************************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/main.js?{"page":"subpkg%2Fsearch%2Fsearch"} ***!
   \***************************************************************************************************/
@@ -13,7 +13,7 @@
 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
 __webpack_require__(/*! uni-pages */ 26);
 var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 25));
-var _search = _interopRequireDefault(__webpack_require__(/*! ./subpkg/search/search.vue */ 82));
+var _search = _interopRequireDefault(__webpack_require__(/*! ./subpkg/search/search.vue */ 84));
 // @ts-ignore
 wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
 createPage(_search.default);
@@ -21,7 +21,7 @@ createPage(_search.default);
 
 /***/ }),
 
-/***/ 82:
+/***/ 84:
 /*!********************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/subpkg/search/search.vue ***!
   \********************************************************************************/
@@ -30,10 +30,10 @@ createPage(_search.default);
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _search_vue_vue_type_template_id_1480e53a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./search.vue?vue&type=template&id=1480e53a& */ 83);
-/* harmony import */ var _search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./search.vue?vue&type=script&lang=js& */ 85);
+/* harmony import */ var _search_vue_vue_type_template_id_1480e53a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./search.vue?vue&type=template&id=1480e53a& */ 85);
+/* harmony import */ var _search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./search.vue?vue&type=script&lang=js& */ 87);
 /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 32);
+/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 33);
 
 var renderjs
 
@@ -60,7 +60,7 @@ component.options.__file = "subpkg/search/search.vue"
 
 /***/ }),
 
-/***/ 83:
+/***/ 85:
 /*!***************************************************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/subpkg/search/search.vue?vue&type=template&id=1480e53a& ***!
   \***************************************************************************************************************/
@@ -69,7 +69,7 @@ component.options.__file = "subpkg/search/search.vue"
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_search_vue_vue_type_template_id_1480e53a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./search.vue?vue&type=template&id=1480e53a& */ 84);
+/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_search_vue_vue_type_template_id_1480e53a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./search.vue?vue&type=template&id=1480e53a& */ 86);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_search_vue_vue_type_template_id_1480e53a___WEBPACK_IMPORTED_MODULE_0__["render"]; });
 
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_search_vue_vue_type_template_id_1480e53a___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
@@ -82,7 +82,7 @@ __webpack_require__.r(__webpack_exports__);
 
 /***/ }),
 
-/***/ 84:
+/***/ 86:
 /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
   !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!G:/project/Hbuilder/git/AgricultureSmart/uniapp/subpkg/search/search.vue?vue&type=template&id=1480e53a& ***!
   \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@@ -109,7 +109,7 @@ render._withStripped = true
 
 /***/ }),
 
-/***/ 85:
+/***/ 87:
 /*!*********************************************************************************************************!*\
   !*** G:/project/Hbuilder/git/AgricultureSmart/uniapp/subpkg/search/search.vue?vue&type=script&lang=js& ***!
   \*********************************************************************************************************/
@@ -118,14 +118,14 @@ render._withStripped = true
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./search.vue?vue&type=script&lang=js& */ 86);
+/* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./search.vue?vue&type=script&lang=js& */ 88);
 /* harmony import */ var _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
 /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  /* harmony default export */ __webpack_exports__["default"] = (_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_E_HBuilderX_4_08_2024040127_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_search_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); 
 
 /***/ }),
 
-/***/ 86:
+/***/ 88:
 /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
   !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!G:/project/Hbuilder/git/AgricultureSmart/uniapp/subpkg/search/search.vue?vue&type=script&lang=js& ***!
   \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@@ -154,5 +154,5 @@ exports.default = _default;
 
 /***/ })
 
-},[[81,"common/runtime","common/vendor"]]]);
+},[[83,"common/runtime","common/vendor"]]]);
 //# sourceMappingURL=../../../.sourcemap/mp-weixin/subpkg/search/search.js.map

部分文件因文件數量過多而無法顯示