浏览代码

拆包提交

743180155@qq.com 1 年之前
父节点
当前提交
4e47200e5f

+ 33 - 15
README.md

@@ -54,7 +54,7 @@ https://js.design/ti?c=fMpU7uE9B48CA8a/ // ui图
 | |----pages(主包)
 | |		|----login(登录)
 | |     |		|----login(微信登陆)
-| |     |		|----phoneLogin(手机号邓丽)
+| |     |		|----phoneLogin(手机号登录)
 | |		|----tabbar(底部导航栏)
 | |		|		|----home(首页)
 | |		|		|----community(社区)
@@ -64,18 +64,36 @@ https://js.design/ti?c=fMpU7uE9B48CA8a/ // ui图
 | |		|----webview(外部链接)
 | |		|		|----index(隐私等)
 | |----pagesHome(首页分包-->二级页面)
-| |
-| |
-| |
-| |
-| |
-| |
-| |
-| |
-| |
-| |
-| |
-| |
-| |
-| |
+| |		|----home(热门&附近商家更多列表)
+| |		|	    |----nearbyBusiness(附近商家)
+| |		|	    |----popularRecommend(热门推荐)
+| |		|----marketer(商家商品)
+| |		|	    |----index(商家详情)
+| |		|	    |----productDetail(商品详情)
+| |     |       |----settleOrder(确认订单)
+| |		|	    |----settleStatus(支付状态)
+| |----pagesCustomer(社区分包-->二级页面)
+| |		|	    |----communityPostReview(发布评论)
+| |----pagesMessage(消息分包-->二级页面)
+| |		|	    |----orderNotify(订单通知)
+| |		|	    |----commentNotify(评论通知)
+| |		|		|----kudosNotify(点赞通知)
+| |		|		|----benefitsNotify(优惠福利)
+| |----PageMine(我的分包-->二级页面)
+| |		|		|----orderModules(我的订单)
+| |		|		|		|----index(我的订单)
+| |		|		|		|----orderDetail(订单详情)
+| |		|		|		|----orderComment(订单评论)
+| |		|
+| |		|
+| |		|
+| |		|
+| |		|
+| |		|
+| |		|
+| |		|
+| |		|
+| |		|
+| |		|
+| |		|
 ```

+ 339 - 0
src/PageMine/orderModules/index.vue

@@ -0,0 +1,339 @@
+<template>
+	<view class="container">
+		<u-sticky style="margin-top: 15rpx; margin-left: 20rpx" bgColor="#fff">
+			<u-tabs lineWidth="40" :list="list" :current="current" @change="handlerChangeItem"
+				itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;" />
+		</u-sticky>
+
+		<!-- 订单 -->
+		<view class="order">
+			<view class="order-box">
+				<view class="order-item" v-for="(item, index) of init_list" :key="index">
+					<view class="" @click="handlerSkipDetail(item)">
+						<view class="item-top">
+							<view class="top-left gray-color">订单编号 : {{ item.orderSn }}</view>
+							<view class="top-right">{{ type_name }}</view>
+						</view>
+						<view class="item-top">
+							<view class="top-left gray-color">支付时间 : {{ item.createTimeText }}</view>
+							<view class="top-right"></view>
+						</view>
+					</view>
+
+					<u-line margin="20rpx 0"></u-line>
+
+					<view class="item-center" :key="idx" v-for="(itm, idx) of item.goodsInfo">
+						<view class="center-left">
+							<image :src="itm.goodsPic" class="img"></image>
+						</view>
+						<view class="center-right">
+							<view class="r-l">
+								<view class="right-name"> {{ itm.goodsName }} </view>
+								<view class="right-descript"> 测试商品描述111 </view>
+								<view class="l-box">
+									<view class="right-price"> ¥{{ itm.goodsPrice }} </view>
+									<view class="right-numb"> ×{{ itm.goodsQuantity }} </view>
+								</view>
+							</view>
+							<view class="r-r">
+								<view class="r-item" @click.stop="handlerSkipComment(item, itm)"
+									v-if="type == 4 && itm.assessStatus == 0">
+									<u-icon name="chat" color="#000" size="28"></u-icon>
+									<span>评价</span>
+								</view>
+							</view>
+						</view>
+					</view>
+
+					<u-line margin="20rpx 0" dashed="true"></u-line>
+
+					<view class="item-allnumb-box">
+						<view class="allnumb-left"> {{ item.allNumb }}件商品 </view>
+						<view class="allnumb-right">
+							<span class="r-text">共计</span>¥{{ item.allPrice }}
+						</view>
+					</view>
+
+					<view class="item-bottom">
+						<button class="btn" v-if="current == 0" @click='handlerCancelOrder(item)'>取消订单</button>
+						<!-- <button class="btn" v-if='current == 1' @click='handlerOrderBtn(1)'>申请退款</button> -->
+						<!-- <button class="btn" v-if='current == 2' @click='handlerOrderBtn(2)'>售后</button> -->
+					</view>
+				</view>
+			</view>
+			<view v-if="init_list.length == 0" style="margin-top: 40rpx">
+				<u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		userOrdersApi,
+		getUserOrderList,
+		cancelOrder
+	} from '@/api/client/order';
+	export default {
+		data() {
+			return {
+				current: 0,
+				type: 0,
+				type_name: '',
+				size: 20,
+				// 订单状态:0->待付款;1->已付款;2->已发货;3->已完成;4->已关闭;5->无效订单
+				list: [{
+						name: '待付款',
+						type: 0,
+					},
+					{
+						name: '已付款',
+						type: 1,
+					},
+					{
+						name: '待发货',
+						type: 2,
+					},
+					{
+						name: '已发货',
+						type: 3,
+					},
+					{
+						name: '已完成',
+						type: 4,
+					},
+					{
+						name: '已关闭',
+						type: 5,
+					}
+					// ,
+					//       {
+					//         name: '无效订单',
+					//         type: 5,
+					//       },
+				],
+				init_list: [],
+			};
+		},
+		mounted() {
+			// this.userOrdersPage();
+		},
+		onShow() {
+			let cur = this.$store.state.order.skip_order_type.type;
+			switch (cur) {
+				case 0:
+					this.current = 0;
+					this.userOrdersPage(cur);
+					break;
+				case 1:
+					this.current = 2;
+					this.userOrdersPage(cur);
+					break;
+				case 2:
+					this.current = 3;
+					this.userOrdersPage(cur);
+					break;
+			}
+		},
+		computed: {
+			allNumber() {
+				this.init_list.map(rs => {
+					let sum = 0;
+					let price = 0;
+					rs.goodsInfo.map(rc => {
+						sum += rc.goodsQuantity;
+						price += rc.goodsPrice;
+					});
+					rs.allNumb = sum;
+					rs.allPrice = price;
+				});
+				return;
+			},
+		},
+		methods: {
+			handlerChangeItem(data) {
+				this.current = data.index;
+				this.type = data.type;
+				this.type_name = data.name;
+				this.userOrdersPage(this.type);
+			},
+
+			async userOrdersPage(type) {
+				let orderStatus = type == undefined ? 0 : `${type}`;
+				let res = await getUserOrderList({
+					status: orderStatus,
+					paging: '1,20',
+				});
+				if ((res.code = 200 && res.data)) {
+					this.init_list = res.data.records;
+					this.init_list.map(rs => {
+						rs.createTimeText = uni.$u.timeFormat(rs.createTime, 'yyyy-mm-dd hh:MM:ss');
+					})
+				}
+			},
+
+			// 跳转到订单详情
+			handlerSkipDetail(e) {
+				uni.navigateTo({
+					url: `/PageMine/orderModules/orderDetail?orderList=${JSON.stringify(e)}`,
+				});
+			},
+			// 取消订单
+			handlerCancelOrder(e) {
+				cancelOrder(e.id).then(res => {
+					if (res.code == 'OK') {
+						uni.showToast({
+							title: '订单取消成功',
+							icon: 'none',
+						});
+						this.userOrdersPage(this.type);
+					} else {
+						uni.showToast({
+							title: res.message,
+							icon: 'none',
+						});
+						return
+					}
+				});
+			},
+			// 点击跳转到商品评价
+			handlerSkipComment(item, itm) {
+				uni.navigateTo({
+					url: `/PageMine/orderModules/orderComment?orderList=${JSON.stringify(item)}&goodsList=${JSON.stringify(itm)}`,
+				});
+			},
+		},
+	};
+</script>
+
+<style lang="scss" scoped>
+	.order {
+		margin-top: 10px;
+		padding: 10rpx 20rpx 20rpx;
+		box-sizing: border-box;
+
+		.order-box {
+			.order-item {
+				margin-bottom: 20rpx;
+				background-color: #fff;
+				border-radius: 20rpx;
+				padding: 20rpx;
+				box-shadow: 0 8rpx 15rpx 0 rgba(0, 0, 0, 0.08);
+
+				.item-top {
+					display: flex;
+					justify-content: space-between;
+					margin-bottom: 10rpx;
+				}
+
+				.item-center {
+					display: flex;
+					align-items: center;
+					margin-bottom: 10rpx;
+
+					.center-left {
+						height: 160rpx;
+
+						.img {
+							width: 160rpx;
+							height: 160rpx;
+						}
+					}
+
+					.center-right {
+						width: 100%;
+						height: 160rpx;
+						display: flex;
+						justify-content: space-between;
+						margin-left: 20rpx;
+
+						.r-l {
+							display: flex;
+							flex-direction: column;
+							justify-content: space-around;
+
+							.right-name {
+								color: #4d5671;
+								font-size: 32rpx;
+								font-weight: bold;
+							}
+
+							.right-descript {
+								font-size: 28rpx;
+								color: #858797;
+							}
+
+							.l-box {
+								display: flex;
+								font-size: 24rpx;
+								align-items: center;
+								font-style: italic;
+
+								.right-price {
+									margin-right: 20rpx;
+									font-weight: bold;
+									font-size: 28rpx;
+									color: #f57f32;
+								}
+
+								.right-numb {
+									font-size: 24rpx;
+									color: #858797;
+								}
+							}
+						}
+
+						.r-r {
+							.r-item {
+								align-items: center;
+							}
+						}
+					}
+				}
+
+				.item-allnumb-box {
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+					font-weight: bold;
+
+					.allnumb-left {
+						font-size: 32rpx;
+					}
+
+					.allnumb-right {
+						font-size: 26rpx;
+						color: #f57f32;
+
+						.r-text {
+							color: #000;
+						}
+					}
+				}
+			}
+		}
+	}
+
+	.item-bottom {
+		width: 100%;
+		margin-top: 20rpx;
+
+		.btn {
+			height: 70rpx;
+			background-color: rgba(248, 213, 53, 0.8);
+			color: #4e5059;
+			font-size: 28rpx;
+			text-align: center;
+			line-height: 70rpx;
+			border-radius: 20rpx;
+		}
+	}
+
+	.gray-color {
+		color: #858797;
+	}
+
+	::deep .u-tabs__wrapper__nav__item__text {
+		font-size: 30px;
+	}
+</style>

+ 96 - 0
src/PageMine/orderModules/orderComment.vue

@@ -0,0 +1,96 @@
+<template>
+  <view class="container">
+    <view class="top-box">
+      <view class="top-rate">
+        <view class="title">评价得分:</view>
+        <u-rate count="5" v-model="queryParams.score"></u-rate>
+      </view>
+      <view class="content-box">
+        <view class="title">评价内容:</view>
+        <view class="comment-box">
+          <u--textarea v-model="queryParams.remark" count placeholder="请输入评价内容" ></u--textarea>
+        </view>
+      </view>
+    </view>
+    <button class="btn" @click="handlerContextSumbit">提交</button>
+  </view>
+</template>
+
+<script>
+  import { goodsCommentsAdd  } from "@/api/client/business.js"
+  export default {
+    data(){
+      return{
+        queryParams:{
+          score:0,//评价打分
+          remark:'',//评价内容
+          goodsId: "", // 商品id
+          orderId: "", // 订单id
+          merchantId: "", // 商家id
+        },
+      }
+    },
+    onLoad(option){
+	  let { goodsList , orderList } = option
+      this.queryParams.orderId = goodsList.orderId
+      this.queryParams.goodsId = goodsList.goodsId
+      this.queryParams.merchantId = orderList.merchantId
+    },
+    methods:{
+      // 测试提交
+      handlerContextSumbit(){
+        goodsCommentsAdd(this.queryParams).then(res=>{
+          if(res.code === 'OK'){
+            uni.showToast({
+              title:"评论成功",
+              icon:'none'
+            })
+            setTimeout(()=>{
+              uni.navigateBack(-1)
+            },1500)
+          }else{
+            uni.showToast({
+              title:res.msg,
+              icon:'none'
+            })
+          }
+        })
+      },
+    }
+  }
+</script>
+
+<style lang="scss" scope>
+  .container{
+    padding: 20rpx;
+    .top-box{
+      padding: 20rpx;
+      border-radius: 20rpx;
+      box-shadow: 0 5rpx 12rpx 0 rgba(0,0,0,0.2);
+      background-color: #fff;
+      .top-rate{
+        display: flex;
+        align-items: center;
+      }
+      .content-box{
+        margin-top: 20rpx;
+        .comment-box{
+          margin-top: 20rpx;
+        }
+      }
+      .title{
+        color: #000;
+        font-size: 28rpx;
+      }
+    }
+
+    .btn{
+      margin-top: 20rpx;
+      background-color: #F57F32;
+      color: #fff;
+      font-size:28rpx;
+      border-radius: 20rpx;
+      box-shadow: 0 5rpx 10rpx 0 rgba(245,127,50, 0.8);
+    }
+  }
+</style>

+ 196 - 0
src/PageMine/orderModules/orderDetail.vue

@@ -0,0 +1,196 @@
+<template>
+	<view class="container">
+		<view class="center-box">
+			<view class="top-t">
+				<view class="t-l">
+					<view class="t-b"> </view>
+					<view class="t-name">商品详情</view>
+				</view>
+			</view>
+
+			<u-line margin="20rpx 0"></u-line>
+
+			<view class="item-center" :key="index" v-for="(item, index) of init_list.goodsInfo">
+				<view class="center-left">
+					<image src="@/static/QR57a.jpg" class="img"></image>
+				</view>
+				<view class="center-right">
+					<view class="r-l">
+						<view class="right-name"> {{ item.goodsName }} </view>
+						<view class="right-descript"> 测试商品描述111 </view>
+						<view class="l-box">
+							<view class="right-price"> ¥{{ item.goodsPrice }} </view>
+							<view class="right-numb"> ×{{ item.goodsQuantity }} </view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+
+		<view class="top-box">
+			<view class="top-t">
+				<view class="t-l">
+					<view class="t-b"> </view>
+					<view class="t-name">订单信息</view>
+				</view>
+			</view>
+
+			<u-line margin="20rpx 0"></u-line>
+
+			<view class="top-t2">
+				<view class="t2-item">
+					<p>订单号</p>
+					<p>{{ init_list.orderSn }}</p>
+				</view>
+				<view class="t2-item">
+					<p>下单时间</p>
+					<p>2024-2-25</p>
+				</view>
+				<view class="t2-item">
+					<p>支付方式</p>
+					<p>在线支付</p>
+				</view>
+				<view class="t2-item">
+					<p>商品总额</p>
+					<p>¥{{ allPrice }}</p>
+				</view>
+				<view class="t2-item">
+					<p>优惠券</p>
+					<p>-¥3.90</p>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				init_list: {},
+			};
+		},
+		onLoad(option) {
+			this.init_list = option.orderList;
+		},
+		computed: {
+			allPrice() {
+				let price = 0;
+				this.init_list.goodsInfo.map(rs => {
+					price += rs.goodsPrice;
+				});
+				return price.toFixed(2);
+			},
+		},
+	};
+</script>
+
+<style lang="scss" scoped>
+	.container {
+		padding: 20rpx;
+
+		.top-box,
+		.center-box {
+			padding: 20rpx;
+			background-color: #fff;
+			border-radius: 20rpx;
+			box-shadow: 5rpx 5rpx 5rpx 5rpx rgba(0, 0, 0, 0.2);
+
+			.top-t {
+				display: flex;
+				justify-content: space-between;
+
+				.t-l {
+					display: flex;
+
+					.t-b {
+						width: 12rpx;
+						border-radius: 10rpx;
+						background-color: #f98e23;
+					}
+
+					.t-name {
+						margin-left: 10rpx;
+						font-weight: bold;
+						font-size: 28rpx;
+					}
+				}
+			}
+
+			.top-bottom-text {
+				margin: 10rpx 0;
+			}
+
+			.top-t2 {
+				.t2-item {
+					display: flex;
+					justify-content: space-between;
+					margin-bottom: 20rpx;
+				}
+			}
+		}
+
+		.center-box {
+			margin-bottom: 20rpx;
+		}
+
+		.item-center {
+			display: flex;
+			align-items: center;
+			margin: 10rpx 0;
+
+			.center-left {
+				height: 160rpx;
+
+				.img {
+					width: 160rpx;
+					height: 160rpx;
+				}
+			}
+
+			.center-right {
+				width: 100%;
+				height: 160rpx;
+				display: flex;
+				justify-content: space-between;
+				margin-left: 20rpx;
+
+				.r-l {
+					display: flex;
+					flex-direction: column;
+					justify-content: space-around;
+
+					.right-name {
+						color: #4d5671;
+						font-size: 32rpx;
+						font-weight: bold;
+					}
+
+					.right-descript {
+						font-size: 28rpx;
+						color: #858797;
+					}
+
+					.l-box {
+						display: flex;
+						font-size: 24rpx;
+						align-items: center;
+						font-style: italic;
+
+						.right-price {
+							margin-right: 20rpx;
+							font-weight: bold;
+							font-size: 28rpx;
+							color: #f57f32;
+						}
+
+						.right-numb {
+							font-size: 24rpx;
+							color: #858797;
+						}
+					}
+				}
+			}
+		}
+	}
+</style>

+ 205 - 149
src/pages.json

@@ -1,153 +1,209 @@
 {
-  "easycom": {
-    "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
-  },
-  "pages": [{
-    // 登录 + tabbar + webview
-      "path": "pages/login/login",
-      "style": {
-        "navigationBarTitleText": "登录",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/login/phoneLogin",
-      "style": {
-        "navigationBarTitleText": "账号登录"
-      }
-    },
-    {
-      "path": "pages/webview/index",
-      "style": {
-        "navigationBarTitleText": ""
-      }
-    },
-    {
-      "path": "pages/tabbar/home",
-      "style": {
-        "navigationBarTitleText": "",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/tabbar/community",
-      "style": {
-        "navigationBarTitleText": "",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/tabbar/message",
-      "style": {
-        "navigationBarTitleText": "",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/tabbar/mine",
-      "style": {
-        "navigationBarTitleText": "",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/tabbar/promotionCode",
-      "style": {
-        "navigationBarTitleText": "",
-        "navigationStyle": "custom"
-      }
-    }
-  ],
-  "subPackages": [{
-    // pagesHome 首页及二级页面
-    "root": "pagesHome",
-    "pages": [{
-      "path": "home/popularRecommend",
-      "style": {
-        "navigationBarTitleText": "热门推荐"
-      }
-    },{
-      "path": "home/nearbyBusiness",
-      "style": {
-        "navigationBarTitleText": "附近商家"
-      }
-    },
-    {
-      "path": "marketer/index",
-      "style": {
-        "navigationBarTitleText": "商家详情"
-      }
-    },
-	{
-	  "path": "marketer/productDetail",
-	  "style": {
-	    "navigationBarTitleText": "商品详情"
-	  }
+	"easycom": {
+		"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
 	},
-	{
-	  "path": "marketer/settleOrder",
-	  "style": {
-	    "navigationBarTitleText": "结算订单"
-	  }
+	"pages": [{
+			// 登录 + tabbar + webview
+			"path": "pages/login/login",
+			"style": {
+				"navigationBarTitleText": "登录",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/login/phoneLogin",
+			"style": {
+				"navigationBarTitleText": "账号登录"
+			}
+		},
+		{
+			"path": "pages/webview/index",
+			"style": {
+				"navigationBarTitleText": ""
+			}
+		},
+		{
+			"path": "pages/tabbar/home",
+			"style": {
+				"navigationBarTitleText": "",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/tabbar/community",
+			"style": {
+				"navigationBarTitleText": "",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/tabbar/message",
+			"style": {
+				"navigationBarTitleText": "",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/tabbar/mine",
+			"style": {
+				"navigationBarTitleText": "",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/tabbar/promotionCode",
+			"style": {
+				"navigationBarTitleText": "",
+				"navigationStyle": "custom"
+			}
+		}
+	],
+	"subPackages": [{
+			// pagesHome 首页及二级页面
+			"root": "pagesHome",
+			"pages": [{
+					"path": "home/popularRecommend",
+					"style": {
+						"navigationBarTitleText": "热门推荐"
+					}
+				}, {
+					"path": "home/nearbyBusiness",
+					"style": {
+						"navigationBarTitleText": "附近商家"
+					}
+				},
+				{
+					"path": "marketer/index",
+					"style": {
+						"navigationBarTitleText": "商家详情"
+					}
+				},
+				{
+					"path": "marketer/productDetail",
+					"style": {
+						"navigationBarTitleText": "商品详情"
+					}
+				},
+				{
+					"path": "marketer/settleOrder",
+					"style": {
+						"navigationBarTitleText": "结算订单"
+					}
+				},
+				{
+					"path": "marketer/settleStatus",
+					"style": {
+						"navigationBarTitleText": "结算状态"
+					}
+				}
+			]
+		},
+		{
+			// 社区模块分包
+			"root": "pagesCustomer",
+			"pages": [{
+				"path": "communityPostReview",
+				"style": {
+					"navigationBarTitleText": "发布评论"
+				}
+			}]
+		},
+		{
+			// 消息模块分包
+			"root": "pagesMessage",
+			"pages": [{
+				"path": "orderNotify",
+				"style": {
+					"navigationBarTitleText": "订单通知"
+				}
+			},{
+				"path": "commentNotify",
+				"style": {
+					"navigationBarTitleText": "评论通知"
+				}
+			},{
+				"path": "kudosNotify",
+				"style": {
+					"navigationBarTitleText": "点赞通知"
+				}
+			},{
+				"path": "benefitsNotify",
+				"style": {
+					"navigationBarTitleText": "优惠福利"
+				}
+			}]
+		},
+		{
+			// 我的模块分包
+			"root": "PageMine",
+			"pages": [{
+				"path": "orderModules/index",
+				"style": {
+					"navigationBarTitleText": "我的订单"
+				}
+			},{
+				"path": "orderModules/orderDetail",
+				"style": {
+					"navigationBarTitleText": "订单详情"
+				}
+			},{
+				"path": "orderModules/orderComment",
+				"style": {
+					"navigationBarTitleText": "订单评价"
+				}
+			}]
+		}
+	],
+	"tabBar": {
+		"color": "#999999",
+		"selectedColor": "#42b2fa",
+		"borderStyle": "black",
+		// "backgroundColor": "#ffffff",
+		"list": [{
+				"pagePath": "pages/tabbar/home",
+				"iconPath": "static/images/home.png",
+				"selectedIconPath": "static/images/home-select.png",
+				"text": "首页"
+			},
+			{
+				"pagePath": "pages/tabbar/community",
+				"iconPath": "static/images/community.png",
+				"selectedIconPath": "static/images/community-select.png",
+				"text": "社区"
+			},
+			{
+				"pagePath": "pages/tabbar/promotionCode",
+				"iconPath": "static/images/rqcode.png",
+				"selectedIconPath": "static/images/rqcode-select.png",
+				"text": "推广"
+			},
+			{
+				"pagePath": "pages/tabbar/message",
+				"iconPath": "static/images/message.png",
+				"selectedIconPath": "static/images/message-select.png",
+				"text": "消息"
+			},
+			{
+				"pagePath": "pages/tabbar/mine",
+				"iconPath": "static/images/mine.png",
+				"selectedIconPath": "static/images/mine-select.png",
+				"text": "我的"
+			}
+		]
 	},
-	{
-	  "path": "marketer/settleStatus",
-	  "style": {
-	    "navigationBarTitleText": "结算状态"
-	  }
+	"globalStyle": {
+		"navigationBarTextStyle": "black",
+		"navigationBarTitleText": "uni-app",
+		"navigationBarBackgroundColor": "#F8F8F8",
+		"backgroundColor": "#F8F8F8"
+	},
+	"condition": {
+		//模式配置,仅开发期间生效
+		"current": 0, //当前激活的模式(list 的索引项)
+		"list": [{
+			"name": "", //模式名称
+			"path": "", //启动页面,必选
+			"query": "" //启动参数,在页面的onLoad函数里面得到
+		}]
 	}
-    ]
-  }],
-  "tabBar": {
-    "color": "#999999",
-    "selectedColor": "#42b2fa",
-    "borderStyle": "black",
-    // "backgroundColor": "#ffffff",
-    "list": [{
-        "pagePath": "pages/tabbar/home",
-        "iconPath": "static/images/home.png",
-        "selectedIconPath": "static/images/home-select.png",
-        "text": "首页"
-      },
-      {
-        "pagePath": "pages/tabbar/community",
-        "iconPath": "static/images/community.png",
-        "selectedIconPath": "static/images/community-select.png",
-        "text": "社区"
-      },
-      {
-        "pagePath": "pages/tabbar/promotionCode",
-        "iconPath": "static/images/rqcode.png",
-        "selectedIconPath": "static/images/rqcode-select.png",
-        "text": "推广"
-      },
-      {
-        "pagePath": "pages/tabbar/message",
-        "iconPath": "static/images/message.png",
-        "selectedIconPath": "static/images/message-select.png",
-        "text": "消息"
-      },
-      {
-        "pagePath": "pages/tabbar/mine",
-        "iconPath": "static/images/mine.png",
-        "selectedIconPath": "static/images/mine-select.png",
-        "text": "我的"
-      }
-    ]
-  },
-  "globalStyle": {
-    "navigationBarTextStyle": "black",
-    "navigationBarTitleText": "uni-app",
-    "navigationBarBackgroundColor": "#F8F8F8",
-    "backgroundColor": "#F8F8F8"
-  },
-  "condition": {
-    //模式配置,仅开发期间生效
-    "current": 0, //当前激活的模式(list 的索引项)
-    "list": [{
-      "name": "", //模式名称
-      "path": "", //启动页面,必选
-      "query": "" //启动参数,在页面的onLoad函数里面得到
-    }]
-  }
-}
+}

+ 1 - 1
src/pages/tabbar/community.vue

@@ -160,7 +160,7 @@
       // 发布按钮
       handlerToPublish() {
         uni.navigateTo({
-          url: "/pages/client/clientPackage/communityPublish"
+          url: "/pagesCustomer/communityPostReview"
         })
       },
       // 点赞按钮

+ 119 - 0
src/pages/tabbar/components/TapList.vue

@@ -0,0 +1,119 @@
+<template>
+  <view>
+    <!-- 预约列表 -->
+    <view class="appointList">
+      <template>
+        <u-cell v-for="item in isLinkList1" :key="item.id" :border="false" :icon="item.icon" :title="item.title" isLink
+          :url="item.url" />
+      </template>
+    </view>
+
+    <view class="other-out-box">
+      <u-cell v-for="item in isLinkList2" :key="item.id" :border="false" :icon="item.icon" :title="item.title"
+        :isLink="item.isLink" :url="item.url" @click="handleCellClick(item)" />
+    </view>
+
+    <u-modal :show="showSwitchDialog" :showCancelButton="true" :title="title" :content="content"
+      @confirm="confirmSwitch" @cancel="showSwitchDialog = false"></u-modal>
+  </view>
+</template>
+
+<script>
+  export default {
+    data() {
+      return {
+        isLinkList1: [{
+            id: '0',
+            icon: 'list-dot',
+            title: '预约列表',
+            url: '/pages/client/clientUser/mine/appoint/appoint',
+          }
+          // ,
+          // {
+          //   id: '1',
+          //   icon: 'list',
+          //   title: '询价列表',
+          //   url: '/pages/client/clientUser/inquiryList',
+          // },
+        ],
+        isLinkList2: [{
+            id: '0',
+            icon: 'home-fill',
+            title: '我的店铺',
+            url: '',
+            isLink: false,
+          },
+          {
+            id: '1',
+            icon: 'plus-people-fill',
+            title: '我的团队',
+            url: '/pages/client/clientUser/myGroup',
+            isLink: true,
+          },
+          {
+            id: '2',
+            icon: 'server-man',
+            title: '客服中心',
+            url: '/pages/client/clientUser/serviceCenter',
+            isLink: true,
+          },
+          {
+            id: '3',
+            icon: 'share-square',
+            title: '意见反馈',
+            url: '/pages/client/clientUser/mine/setting/feedback',
+            isLink: true,
+          },
+          {
+            id: '4',
+            icon: 'thumb-up',
+            title: '关于我们',
+            url: '/pages/client/clientUser/mine/setting/aboutMine',
+            isLink: true,
+          },
+        ],
+
+        showSwitchDialog: false,
+        title: '提醒',
+        content: '您确定要从用户端切换到商家端吗?',
+      };
+    },
+
+    methods: {
+      handleCellClick(item) {
+        console.log('item', item);
+        if (item.id == 0) {
+          this.showSwitchDialog = true;
+        } else {
+          console.log('点击了非链接项');
+        }
+      },
+
+    confirmSwitch() {
+      this.showSwitchDialog = false;
+      this.$store.dispatch('SwitchIdentity','MERCHANT')
+      uni.navigateTo({
+        url: '/pages/merchant/mine/index',
+      });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+  .appointList {
+    margin: 20rpx;
+    padding: 20rpx 10rpx;
+    border-radius: 10rpx;
+    background-color: #fff;
+  }
+
+  .other-out-box {
+    margin: 20rpx;
+    padding: 20rpx 10rpx;
+    border-radius: 10rpx;
+    margin-top: 0;
+    box-sizing: border-box;
+    background-color: $uni-bg-color;
+  }
+</style>

+ 11 - 16
src/pages/tabbar/message.vue

@@ -70,7 +70,7 @@
             img: '/static/icon/tools.png',
             name: '订单通知',
             text: '暂无订单通知。',
-            url: '/pages/client/clientPackage/message/orderNotice/index',
+            url: '/pagesMessage/orderNotify',
             numb:0
           },
           // {
@@ -86,7 +86,7 @@
             img: '/static/icon/tools.png',
             name: '评价通知',
             text: '暂无评价通知。',
-            url: '/pages/client/clientPackage/message/evaluateNotice/index',
+            url: '/pagesMessage/commentNotify',
             numb:0
           },
           {
@@ -94,7 +94,7 @@
             img: '/static/icon/tools.png',
             name: '点赞回复',
             text: '暂无点赞回复。',
-            url: '/pages/client/clientPackage/message/LikeReply/index',
+            url: '/pagesMessage/kudosNotify',
             numb:0
           },
           {
@@ -102,7 +102,7 @@
             img: '/static/icon/tools.png',
             name: '优惠福利',
             text: '暂无优惠福利通知。',
-            url: '/pages/client/clientPackage/message/benefits/index',
+            url: '/pagesMessage/benefitsNotify',
             numb:0
           },
         ],
@@ -112,10 +112,6 @@
       };
     },
     onShow() {
-      /* 隐藏原生的tabbar */
-      // uni.hideTabBar({
-      //   animation: false,
-      // });
       this.handlerGetSystemNewInform()
     },
     computed: {
@@ -127,7 +123,7 @@
       // 获取订单详细通知 是否有系统新消息
       handlerGetSystemNewInform() {
         getIsHaveNewInform().then(res => {
-		  let { order , pay , comment , evaluate , coupon} = res.data
+		  let { order , comment , evaluate , coupon} = res.data
           this.orderList[0].numb = order
           order ? this.orderList[0].text = `您有${order}条订单信息` : this.orderList[0].text = '暂无订单通知'
 
@@ -135,13 +131,13 @@
 		  // pay ? this.orderList[1].text = `您有${pay}条订单信息` : this.orderList[1].text = '暂无支付通知'
 
           this.orderList[1].numb = comment
-		  comment ? this.orderList[1].text = `您有${comment}条订单信息` : this.orderList[2].text = '暂无评价通知'
+		  comment ? this.orderList[1].text = `您有${comment}条订单信息` : this.orderList[1].text = '暂无评价通知'
 
           this.orderList[2].numb = evaluate
-		  evaluate ? this.orderList[2].text = `您有${evaluate}条订单信息` : this.orderList[3].text = '暂无点赞回复'
+		  evaluate ? this.orderList[2].text = `您有${evaluate}条订单信息` : this.orderList[2].text = '暂无点赞回复'
 
           this.orderList[3].numb = coupon
-		  coupon ? this.orderList[3].text = `您有${coupon}条订单信息` : this.orderList[4].text = '暂无优惠福利通知'
+		  coupon ? this.orderList[3].text = `您有${coupon}条订单信息` : this.orderList[3].text = '暂无优惠福利通知'
         })
       },
       changeInfo(index) {
@@ -150,11 +146,10 @@
           this.handlerGetSystemNewInform()
         }
       },
-
       notification() {
-        uni.navigateTo({
-          url: `/pages/client/clientPackage/chatRoom/chat`,
-        });
+        // uni.navigateTo({
+        //   url: `/pages/client/clientPackage/chatRoom/chat`,
+        // });
       },
     },
   };

+ 285 - 5
src/pages/tabbar/mine.vue

@@ -1,11 +1,291 @@
 <template>
-  <view class="">
-    我的
-  </view>
+	<view class="container">
+		<view :style="{ height: systemBar + 'px', backgroundColor: '#337bad' }" />
+		<view>
+			<view class="head-info">
+				<view class="head-flex">
+					<view class="flex">
+						<view style="margin-right: 20rpx">
+							<!-- <u-avatar :src="avatar" size="80" @tap="$Router.push('/pages/client/clientUser/personal')" /> -->
+							<u-avatar :src="avatar" size="80" @click='handlerReviewImg' />
+						</view>
+						<view>
+							<view class="nickname">{{ nickname }}</view>
+							<view class="flex">
+								<text class="setAuth" @tap="$Router.push('/pages/client/clientUser/mine/setting')">
+									设置
+								</text>
+								<!-- <text class="setAuth">认证</text> -->
+							</view>
+						</view>
+					</view>
+
+					<view @tap="$Router.push('/pages/client/clientUser/mine/setting')">
+						<u-icon name="setting" color="#ffffff" size="26"></u-icon>
+					</view>
+				</view>
+				<!-- 列表 -->
+				<view class="Collect">
+					<u-grid :border="false" col="4">
+						<u-grid-item v-for="(listItem, listIndex) in collectList" :key="listIndex"
+							@tap="$Router.push(listItem.url)">
+							<u-icon :customStyle="{ paddingTop: 20 + 'rpx' }" :name="listItem.name" :size="28"
+								color="#fff" />
+							<text class="grid-text">{{ listItem.title }}</text>
+						</u-grid-item>
+					</u-grid>
+				</view>
+				<!-- 订单 -->
+				<view class="order-out-box">
+					<view class="order-inner-box">
+						<u-grid :border="false" col="4" style="background-color: #fff">
+							<u-grid-item v-for="(listItem, listIndex) in oderList" :key="listIndex"
+								@tap="gotoOrder(listItem)">
+								<u-icon :name="listItem.name" :size="34" />
+								<text class="grid-text">{{ listItem.title }}</text>
+							</u-grid-item>
+						</u-grid>
+					</view>
+				</view>
+			</view>
+
+			<!-- 我的收益 -->
+			<!-- <view class="income" @click="handlerSkipMyProfit"> -->
+			<view class="income">
+				<!-- <view class="income-head">
+					<text class="my-income">我的钱包</text>
+					<u-icon name="arrow-right" />
+				</view>
+				<view class="income-content">
+					<u-grid :border="false" col="4" bgColor="#fff">
+						<u-grid-item v-for="(listItem, listIndex) in incomeList" :key="listIndex">
+							<view class="num-box">{{ listItem.num }}元</view>
+							<view class="num-title">{{ listItem.title }}</view>
+						</u-grid-item>
+					</u-grid>
+				</view> -->
+
+			</view>
+			<!-- 列表 -->
+			<TapList></TapList>
+
+		</view>
+		<tabbar currentTab="clientMine" />
+	</view>
 </template>
 
 <script>
+	import {
+		mapGetters
+	} from 'vuex';
+	import TapList from './components/TapList.vue';
+	export default {
+		components: {
+			TapList
+		},
+		data() {
+			return {
+				system: {},
+				systemBar: 0,
+				collectList: [{
+						name: 'photo',
+						title: '收藏',
+						url: '/pages/client/clientUser/collectList',
+					},
+					// {
+					//   name: 'lock',
+					//   title: '积分',
+					//   url: '/pages/client/clientUser/myScore/index',
+					// },
+					{
+						name: 'star',
+						title: '购物车',
+						url: '/pages/client/clientUser/cart/index',
+					},
+					{
+						name: 'hourglass',
+						title: '优惠券',
+						url: '/pages/client/clientUser/coupon',
+					},
+				],
+				oderList: [{
+						name: 'order',
+						title: '全部订单',
+						type: 0,
+					},
+					{
+						name: 'bag-fill',
+						title: '已发货',
+						type: 1,
+					},
+					{
+						name: 'car-fill',
+						title: '已完成',
+						type: 2,
+					}
+					// {
+					//   name: 'heart',
+					//   title: '待评价',
+					//   type: 3,
+					// },
+				],
+				incomeList: [{
+						num: '0.00',
+						title: '总收益',
+					},
+					{
+						num: '0.00',
+						title: '本月收益',
+					},
+					{
+						num: '0.00',
+						title: '本周收益',
+					},
+					{
+						num: '0.00',
+						title: '可提现',
+					},
+				]
+			};
+		},
+		computed: {
+			...mapGetters(['userId', 'gender', 'avatar', 'nickname'])
+		},
+		methods: {
+			getHeight() {
+				wx.getSystemInfo({
+					success: res => {
+						this.system = res;
+					},
+				});
+				this.systemBar = this.system.statusBarHeight;
+			},
+			// 点击跳转到全部订单
+			gotoOrder(item) {
+				this.$store.commit('order/GET_ORDER_TYPE', item)
+				uni.navigateTo({
+					url: `/PageMine/orderModules/index`,
+				});
+			},
+			// 点击跳转到我的收益
+			// handlerSkipMyProfit() {
+			// 	uni.navigateTo({
+			// 		url: '/pages/client/clientUser/myProfit',
+			// 	});
+			// },
+			// 点击预览图片
+			handlerReviewImg() {
+				uni.previewImage({
+					urls: [this.avatar],
+				});
+			}
+		},
+		onLoad() {
+			this.getHeight();
+		},
+	};
 </script>
 
-<style>
-</style>
+<style lang="scss" scoped>
+	.container {
+		min-height: 100vh;
+		background-color: #efefef;
+		box-sizing: border-box;
+
+		.flex {
+			display: flex;
+		}
+
+		.head-info {
+			background-color: #337bad;
+			height: 360rpx;
+			padding: 20rpx;
+			position: relative;
+
+			.head-flex {
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+
+				.nickname {
+					font-size: 36rpx;
+					color: #ffffff;
+					margin-bottom: 8rpx;
+					margin-top: 20rpx;
+				}
+
+				.setAuth {
+					width: 90rpx;
+					height: 40rpx;
+					font-size: 24rpx;
+					display: block;
+					cursor: pointer;
+					margin-right: 10rpx;
+					line-height: 40rpx;
+					text-align: center;
+					border-radius: 20rpx;
+					background-color: rgba(255, 255, 255, 0.4);
+				}
+			}
+
+			.Collect {
+				.grid-text {
+					font-size: 30rpx;
+					color: #fff;
+				}
+			}
+
+			.order-out-box {
+				width: 94%;
+				position: absolute;
+				bottom: -80rpx;
+
+				.order-inner-box {
+					padding: 20rpx;
+					font-size: 30rpx;
+					border-radius: 10rpx;
+					background-color: $uni-bg-color;
+				}
+			}
+		}
+
+		.income {
+			padding: 20rpx;
+			border-radius: 10rpx;
+			// margin: 100rpx 20rpx 20rpx 20rpx;
+			margin: 40rpx 20rpx 20rpx 20rpx;
+			// background-color: $uni-bg-color;
+
+			.income-head {
+				display: flex;
+				justify-content: space-between;
+
+				.my-income {
+					color: $uni-color-primary;
+					font-size: 32rpx;
+					font-weight: 600;
+				}
+			}
+
+			.income-content {
+				margin: 15rpx 0;
+
+				.num-box {
+					padding: 20rpx 0;
+					font-size: 36rpx;
+					font-weight: 600;
+					color: $uni-text-color;
+				}
+
+				.num-title {
+					font-size: 28rpx;
+					color: $uni-text-color-grey;
+				}
+			}
+		}
+	}
+
+	.flex {
+		display: flex;
+	}
+</style>

+ 269 - 0
src/pagesCustomer/communityPostReview.vue

@@ -0,0 +1,269 @@
+<template>
+	<view class="container">
+		<view class="top-box">
+			<u--textarea border="none" v-model="textContent" count placeholder="写下自己的感受分享给更多人"></u--textarea>
+			<view class="upload-box">
+				<image class="upd-img" :key="index" v-for="(item, index) of fileList" :src="item" mode="aspectFill">
+				</image>
+				<view class="upload-item" @click="handlerUploadImg" v-if="fileList.length < 9">
+					<image class="img" src="@/static/images/uploadImg.png" mode=""></image>
+				</view>
+			</view>
+		</view>
+		<view class="item-box" @click="handlerGetLocation">
+			<view class="item-left">
+				<u-icon name="map" size="22"></u-icon>
+				<span class="fs-bold">你在哪里</span>
+				<span class="left-text">{{ address }}</span>
+			</view>
+			<view class="item-right">
+				<u-icon name="arrow-right"></u-icon>
+			</view>
+		</view>
+		<view class="btn-box">
+			<button class="btn" @click="handlerPublishBtn">发布</button>
+		</view>
+	</view>
+</template>
+<script>
+	import { addClientContent } from '@/api/client/community.js';
+	import { getCurrentLocation } from '@/api/client/home';
+	import { mapGetters } from "vuex"
+	import { uploadFile } from "@/utils/upload"
+	export default {
+		data() {
+			return {
+				textContent: '',
+				fileList: [],
+				uploadCount: 0,
+				address: '', //当前位置
+				uploadImgList: []
+			};
+		},
+		mounted() {
+			let {
+				latitude,
+				longitude
+			} = this.location
+			this.handlerInitLocation(latitude, longitude)
+		},
+		computed: {
+			...mapGetters(['location', 'userId'])
+		},
+		methods: {
+			// 初始化当前位置
+			handlerInitLocation(latitude, longitude) {
+				let point = `${latitude},${longitude}`
+				getCurrentLocation({
+					point
+				}).then(res => {
+					this.address = res.data.name
+				})
+			},
+			// 手动选择城市	获取位置
+			handlerGetLocation() {
+				uni.chooseLocation({
+					success: res => {
+						this.address = res.name
+					},
+					fail: function(err) {
+						console.log('取消按钮', err)
+					}
+				});
+			},
+			// 点击发布按钮
+			handlerPublishBtn() {
+				let params = {
+					textContent: this.textContent,
+					status: 0, // 状态:0-正常;1-屏蔽
+					type: 'PURE_TEXT', // 动态类型:1-纯文字;2-图片;3-视频 允许值: PURE_TEXT, PHOTO, VIDEO
+					location: this.address, // 定位
+					userId: this.userId,
+				};
+				if (this.fileList.length != 0) {
+					params.type = 'PHOTO';
+					params.list = [];
+					this.uploadImgList.map((rs, idx) => {
+						params.list.push({
+							resourceKey: rs,
+							sort: idx,
+						});
+					});
+				}
+				addClientContent(params).then(res => {
+					if (res.code === 'OK') {
+						uni.showToast({
+							title: '发布成功',
+							icon: 'none',
+						});
+						this.textContent = '';
+						setTimeout(() => {
+							uni.navigateBack(-1);
+						}, 1500);
+						this.uploadImgList = []
+					} else {
+						uni.showToast({
+							title: res.msg,
+							icon: 'none',
+						});
+						return;
+					}
+				});
+			},
+			// 上传头像
+			async handlerUploadImg() {
+				try {
+					const res = await uni.showActionSheet({
+						itemList: ['拍照', '从相册选择'],
+					});
+
+					if (res.tapIndex === 0) {
+						// 用户选择拍照
+						this.takePhoto();
+					} else if (res.tapIndex === 1) {
+						// 用户选择从相册选择
+						this.chooseImage();
+					}
+				} catch (error) {
+					console.error(error);
+				}
+			},
+			// 拍照
+			takePhoto() {
+				uni.chooseImage({
+					sourceType: ['camera'],
+					count: 9 - this.uploadCount,
+					success: res => {
+						const tempFilePaths = res.tempFilePaths;
+						// 调用上传图片的方法
+						tempFilePaths.map(rs => {
+							this.uploadAvatar(rs);
+						});
+					},
+					fail: error => {
+						console.error(error);
+					},
+				});
+			},
+			//从相册中选择
+			chooseImage() {
+				uni.chooseImage({
+					sourceType: ['album'],
+					count: 9 - this.uploadCount,
+					success: res => {
+						const tempFilePaths = res.tempFilePaths;
+						tempFilePaths.map(rs => {
+							this.uploadAvatar(rs);
+						});
+						// 调用上传图片的方法
+					},
+					fail: error => {
+						console.error(error);
+					},
+				});
+			},
+			// 上传头像
+			async uploadAvatar(filePath) {
+				// 在这里实现上传头像的逻辑,将filePath作为参数传入
+				let res = await uploadFile(filePath)
+				let data = JSON.parse(res.data)
+				this.fileList.push(filePath);
+				this.uploadImgList.push(data.data.url)
+				this.uploadCount = this.fileList.length;
+				// this.queryParams.avatar = filePath;
+				this.$forceUpdate(); // 手动触发组件的重新渲染
+			},
+		},
+	};
+</script>
+
+<style lang="scss" scoped>
+	.container {
+		position: relative;
+		background-color: #f5f7f9;
+		height: 100vh;
+
+		.top-box,
+		.item-box {
+			padding: 20rpx;
+			background-color: #fff;
+			border-radius: 20rpx;
+
+			.upload-box {
+				margin-top: 20rpx;
+				display: flex;
+				flex-wrap: wrap;
+
+				.upd-img {
+					width: 140rpx;
+					height: 140rpx;
+					border-radius: 20rpx;
+					margin: 10rpx;
+				}
+
+				.upload-item {
+					width: 140rpx;
+					height: 140rpx;
+					border: 2rpx solid #000;
+					border-radius: 20rpx;
+					display: flex;
+					flex-direction: column;
+					justify-content: center;
+					margin: 10rpx;
+
+					.img {
+						width: 80rpx;
+						height: 80rpx;
+						margin: 0 auto;
+					}
+				}
+			}
+		}
+
+		.item-box {
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			margin-top: 20rpx;
+
+			.item-left {
+				display: flex;
+				align-items: center;
+			}
+		}
+
+		.btn-box {
+			position: absolute;
+			bottom: 0;
+			background-color: #fff;
+			height: 100rpx;
+			padding: 20rpx;
+			width: 95%;
+			display: flex;
+			justify-content: center;
+
+			.btn {
+				width: 80%;
+				border-radius: 20rpx;
+				font-size: 28rpx;
+				color: #000;
+				background-color: #fecf4c;
+				height: 80rpx;
+				line-height: 80rpx;
+			}
+		}
+
+		.fs-bold {
+			font-weight: bold;
+			font-size: 28rpx;
+			color: #000;
+			margin-left: 10rpx;
+		}
+
+		.left-text {
+			color: #a6a7a8;
+			font-size: 28rpx;
+			margin-left: 10rpx;
+		}
+	}
+</style>

+ 11 - 0
src/pagesMessage/benefitsNotify.vue

@@ -0,0 +1,11 @@
+<template>
+	<view class="">
+		福利通知
+	</view>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 11 - 0
src/pagesMessage/commentNotify.vue

@@ -0,0 +1,11 @@
+<template>
+	<view class="">
+		社区通知
+	</view>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 11 - 0
src/pagesMessage/kudosNotify.vue

@@ -0,0 +1,11 @@
+<template>
+	<view class="">
+		点赞通知
+	</view>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 11 - 0
src/pagesMessage/orderNotify.vue

@@ -0,0 +1,11 @@
+<template>
+	<view class="">
+		订单通知
+	</view>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>