Browse Source

我的全部订单,待发货-待评价-评价晒单 优惠券列表

落日晚风 1 year ago
parent
commit
16a4fd21b1

+ 239 - 220
pages/coupon/list.vue

@@ -1,242 +1,261 @@
 <!-- 优惠券中心  -->
 <!-- 优惠券中心  -->
 <template>
 <template>
-  <s-layout title="优惠券" :bgStyle="{ color: '#f2f2f2' }">
-    <su-sticky bgColor="#fff">
-      <su-tabs
-        :list="tabMaps"
-        :scrollable="false"
-        @change="onTabsChange"
-        :current="state.currentTab"
-      ></su-tabs>
-    </su-sticky>
-    <s-empty
-      v-if="state.pagination.total === 0"
-      icon="/static/coupon-empty.png"
-      text="暂无优惠券"
-    ></s-empty>
-    <template v-if="state.currentTab == '0'">
-      <view v-for="item in state.pagination.data" :key="item.id">
-        <s-coupon-list
-          :data="item"
-          @tap="
-            sheep.$router.go('/pages/coupon/detail', {
-              id: item.id,
-            })
-          "
-        >
-          <template #default>
-            <button
-              class="ss-reset-button card-btn ss-flex ss-row-center ss-col-center"
-              :class="item.get_status != 'can_get' ? 'border-btn' : ''"
-              @click.stop="getBuy(item.id)"
-              :disabled="item.get_status != 'can_get'"
-            >
-              {{ item.get_status_text }}
-            </button>
-          </template>
-        </s-coupon-list>
-      </view>
-    </template>
-    <template v-else>
-      <view v-for="item in state.pagination.data" :key="item.id">
-        <s-coupon-list
-          :data="item"
-          type="user"
-          @tap="
-            sheep.$router.go('/pages/coupon/detail', {
-              id: item.coupon_id,
-              user_coupon_id: item.id,
-            })
-          "
-        >
-          <template #default>
-            <button
-              class="ss-reset-button card-btn ss-flex ss-row-center ss-col-center"
-              :class="
+	<s-layout title="优惠券" :bgStyle="{ color: '#f2f2f2' }">
+		<su-sticky bgColor="#fff">
+			<su-tabs :list="tabMaps" :scrollable="false" @change="onTabsChange" :current="state.currentTab"></su-tabs>
+		</su-sticky>
+		<s-empty v-if="state.pagination.total === 0" icon="/static/coupon-empty.png" text="暂无优惠券"></s-empty>
+		<template v-if="state.currentTab == '0'">
+			<view v-for="item in state.pagination.list" :key="item.id">
+				<s-coupon-list :data="item">
+					<!-- 	@tap="
+					  sheep.$router.go('/pages/coupon/detail', {
+					    id: item.id,
+					  })
+					" -->
+					<template #default>
+						<button class="ss-reset-button card-btn ss-flex ss-row-center ss-col-center"
+							:class="item.get_status != 'can_get' ? 'border-btn' : ''" @click.stop="getBuy(item.id)"
+							:disabled="item.get_status != 'can_get'">
+							<!-- {{ item.status_text }} -->
+							{{item.status_text|| '立即使用' }}
+						</button>
+					</template>
+				</s-coupon-list>
+			</view>
+		</template>
+		<template v-else>
+			<view v-for="item in state.pagination.list" :key="item.id">
+				<s-coupon-list :data="item" type="user">
+					<!-- 	@tap="
+					            sheep.$router.go('/pages/coupon/detail', {
+					              id: item.id,
+					            })
+					          " -->
+					<template #default>
+						<button class="ss-reset-button card-btn ss-flex ss-row-center ss-col-center" :class="
                 item.status == 'can_get' || item.status == 'can_use'
                 item.status == 'can_get' || item.status == 'can_use'
                   ? ''
                   ? ''
                   : item.status == 'used' || item.status == 'expired'
                   : item.status == 'used' || item.status == 'expired'
                   ? 'disabled-btn'
                   ? 'disabled-btn'
                   : 'border-btn'
                   : 'border-btn'
-              "
-              :disabled="item.status != 'can_get' && item.status != 'can_use'"
-              @click.stop="
+              " :disabled="item.status != 'can_get' && item.status != 'can_use'" @click.stop="
                 sheep.$router.go('/pages/coupon/detail', {
                 sheep.$router.go('/pages/coupon/detail', {
                   id: item.coupon_id,
                   id: item.coupon_id,
                   user_coupon_id: item.id,
                   user_coupon_id: item.id,
                 })
                 })
-              "
-            >
-              {{ item.status_text }}
-            </button>
-          </template>
-        </s-coupon-list>
-      </view>
-    </template>
+              ">
+							<!-- {{ item.status_text }} -->
+							{{item.status_text|| '立即使用' }}
+						</button>
+					</template>
+				</s-coupon-list>
+			</view>
+		</template>
 
 
-    <uni-load-more
-      v-if="state.pagination.total > 0"
-      :status="state.loadStatus"
-      :content-text="{
+		<!-- <uni-load-more v-if="state.pagination.total > 0" :status="state.loadStatus" :content-text="{
         contentdown: '上拉加载更多',
         contentdown: '上拉加载更多',
-      }"
-      @tap="loadmore"
-    />
-  </s-layout>
+      }" @tap="loadmore" /> -->
+	</s-layout>
 </template>
 </template>
 
 
 <script setup>
 <script setup>
-  import sheep from '@/sheep';
-  import { onLoad, onReachBottom } from '@dcloudio/uni-app';
-  import { computed, reactive } from 'vue';
-  import _ from 'lodash';
+	import sheep from '@/sheep';
+	import {
+		onLoad,
+		onReachBottom
+	} from '@dcloudio/uni-app';
+	import {
+		computed,
+		reactive
+	} from 'vue';
+	import _ from 'lodash';
 
 
-  const pagination = {
-    data: [],
-    current_page: 1,
-    total: 1,
-    last_page: 1,
-  };
-  // 数据
-  const state = reactive({
-    currentTab: 0,
-    pagination: {
-      data: [],
-      current_page: 1,
-      total: 1,
-      last_page: 1,
-    },
-    loadStatus: '',
-    type: '',
-  });
+	const pagination = {
+		data: [],
+		current_page: 1,
+		total: 1,
+		last_page: 1,
+	};
+	// 数据
+	const state = reactive({
+		currentTab: 0,
+		pagination: {
+			data: [],
+			current_page: 1,
+			total: 1,
+			last_page: 1,
+		},
+		loadStatus: '',
+		type: '1',
+	});
 
 
-  const tabMaps = [
-    {
-      name: '领券中心',
-      value: 'all',
-    },
-    {
-      name: '已领取',
-      value: 'geted',
-    },
-    {
-      name: '已使用',
-      value: 'used',
-    },
-    {
-      name: '已失效',
-      value: 'expired',
-    },
-  ];
-  function onTabsChange(e) {
-    state.pagination = pagination
-    state.currentTab = e.index;
-    state.type = e.value;
-    if (state.currentTab == 0) {
-      getData();
-    } else {
-      getCoupon();
-    }
-  }
-  async function getData(page = 1, list_rows = 5) {
-    state.loadStatus = 'loading';
-    const res = await sheep.$api.coupon.list({ list_rows, page });
-    if (res.error === 0) {
-      let couponlist = _.concat(state.pagination.data, res.data.data);
-      state.pagination = {
-        ...res.data,
-        data: couponlist,
-      };
-      if (state.pagination.current_page < state.pagination.last_page) {
-        state.loadStatus = 'more';
-      } else {
-        state.loadStatus = 'noMore';
-      }
-    }
-  }
+	const tabMaps = [
+		// {
+		//   name: '领券中心',
+		//   value: 'all',
+		// },
+		{
+			name: '已领取',
+			value: '1',
+		},
+		{
+			name: '已使用',
+			value: '2',
+		},
+		{
+			name: '已失效',
+			value: '3',
+		},
+	];
 
 
-  async function getCoupon(page = 1, list_rows = 5) {
-    state.loadStatus = 'loading';
-    let res = await sheep.$api.coupon.userCoupon({
-      type: state.type,
-      list_rows,
-      page,
-    });
-    if (res.error === 0) {
-      if (page >= 2) {
-        let couponlist = _.concat(state.pagination.data, res.data.data);
-        state.pagination = {
-          ...res.data,
-          data: couponlist,
-        };
-      } else {
-        state.pagination = res.data;
-      }
-      if (state.pagination.current_page < state.pagination.last_page) {
-        state.loadStatus = 'more';
-      } else {
-        state.loadStatus = 'noMore';
-      }
-    }
-  }
-  async function getBuy(id) {
-    const { error, msg } = await sheep.$api.coupon.get(id);
-    if (error === 0) {
-      uni.showToast({
-        title: msg,
-      });
-      setTimeout(() => {
-        state.pagination = pagination
-        getData();
-      }, 1000);
-    }
-  }
+	function onTabsChange(e) {
+		state.pagination = pagination
+		state.currentTab = e.index;
+		state.type = e.value;
+		// if (state.currentTab == 0) {
+		// 	getData();
+		// } else {
+		getCoupon();
+		// }
+	}
+	async function getData(page = 1, list_rows = 5) {
+		state.loadStatus = 'loading';
+		const res = await sheep.$api.coupon.list({
+			list_rows,
+			page
+		});
+		if (res.error === 0) {
+			let couponlist = _.concat(state.pagination.data, res.data.data);
+			state.pagination = {
+				...res.data,
+				data: couponlist,
+			};
+			if (state.pagination.current_page < state.pagination.last_page) {
+				state.loadStatus = 'more';
+			} else {
+				state.loadStatus = 'noMore';
+			}
+		}
+	}
 
 
-  // 加载更多
-  function loadmore() {
-    if (state.loadStatus !== 'noMore') {
-      if (state.currentTab == 0) {
-        getData(state.pagination.current_page + 1);
-      } else {
-        getCoupon(state.pagination.current_page + 1);
-      }
-    }
-  }
-  onLoad((Option) => {
-    if (Option.type === 'all' || !Option.type) {
-      getData();
-    } else {
-      state.type = Option.type;
-      Option.type === 'geted'
-        ? (state.currentTab = 1)
-        : Option.type === 'used'
-        ? (state.currentTab = 2)
-        : (state.currentTab = 3);
-      getCoupon();
-    }
-  });
-  onReachBottom(() => {
-    loadmore();
-  });
+	async function getCoupon(page = 1, list_rows = 5) {
+		state.loadStatus = 'loading';
+		let res = await sheep.$api.coupon.userCoupon({
+			status: state.type,
+			pageSize: list_rows,
+			pageNo: page
+		});
+		if (res.code === 0) {
+			// 拦截修改数据
+			let obj = {
+				1: '可用',
+				2: '已用',
+				3: '过期'
+			}
+			res.data.list = res.data.list.map(item => {
+				return {
+					...item,
+					enough: (item.usePrice / 100).toFixed(2),
+					amount: (item.discountPrice / 100).toFixed(2),
+					use_start_time: sheep.$helper.timeFormat(item.validStartTime, 'yyyy-mm-dd hh:MM:ss'),
+					use_end_time: sheep.$helper.timeFormat(item.validEndTime, 'yyyy-mm-dd hh:MM:ss'),
+					status_text: obj[item.status]
+				}
+			});
+			if (page >= 2) {
+				let couponlist = _.concat(state.pagination.data, res.data.list);
+
+				state.pagination = {
+					...res.data,
+					data: couponlist,
+				};
+				console.log(state.pagination, '拿到的优惠券数据');
+			} else {
+				state.pagination = res.data;
+				console.log(state.pagination, '拿到的优惠券数据');
+			}
+			// if (state.pagination.current_page < state.pagination.last_page) {
+			// 	state.loadStatus = 'more';
+			// } else {
+			// 	state.loadStatus = 'noMore';
+			// }
+		}
+	}
+	async function getBuy(id) {
+		const {
+			error,
+			msg
+		} = await sheep.$api.coupon.get(id);
+		if (error === 0) {
+			uni.showToast({
+				title: msg,
+			});
+			setTimeout(() => {
+				state.pagination = pagination
+				getData();
+			}, 1000);
+		}
+	}
+
+	// 加载更多
+	function loadmore() {
+		if (state.loadStatus !== 'noMore') {
+			if (state.currentTab == 0) {
+				getData(state.pagination.current_page + 1);
+			} else {
+				getCoupon(state.pagination.current_page + 1);
+			}
+		}
+	}
+	onLoad((Option) => {
+		// if (Option.type === 'all' || !Option.type) {
+		// 	getData();
+		// } else {
+		// state.type = Option.type;
+		// Option.type === 'geted' ?
+		// 	() :
+		// 	Option.type === 'used' ?
+		// 	(state.currentTab = 1 && state.type = 2) :
+		// 	(state.currentTab = 2 && state.type = 3);
+
+		if (Option.type == 'geted') {
+			state.currentTab = 0
+			state.type = 1
+		} else if (Option.type == 'used') {
+			state.currentTab = 1
+			state.type = 2
+		} else {
+			state.currentTab = 2
+			state.type = 3
+		}
+		getCoupon();
+		// }
+	});
+	onReachBottom(() => {
+		loadmore();
+	});
 </script>
 </script>
 <style lang="scss" scoped>
 <style lang="scss" scoped>
-  .card-btn {
-    // width: 144rpx;
-    padding: 0 16rpx;
-    height: 50rpx;
-    border-radius: 40rpx;
-    background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
-    color: #ffffff;
-    font-size: 24rpx;
-    font-weight: 400;
-  }
-  .border-btn {
-    background: linear-gradient(90deg, var(--ui-BG-Main-opacity-4), var(--ui-BG-Main-light));
-    color: #fff !important;
-  }
-  .disabled-btn {
-    background: #cccccc;
-    background-color: #cccccc !important;
-    color: #fff !important;
-  }
-</style>
+	.card-btn {
+		// width: 144rpx;
+		padding: 0 16rpx;
+		height: 50rpx;
+		border-radius: 40rpx;
+		background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
+		color: #ffffff;
+		font-size: 24rpx;
+		font-weight: 400;
+	}
+
+	.border-btn {
+		background: linear-gradient(90deg, var(--ui-BG-Main-opacity-4), var(--ui-BG-Main-light));
+		color: #fff !important;
+	}
+
+	.disabled-btn {
+		background: #cccccc;
+		background-color: #cccccc !important;
+		color: #fff !important;
+	}
+</style>

+ 201 - 149
pages/goods/comment/add.vue

@@ -1,157 +1,209 @@
 <!-- 评价  -->
 <!-- 评价  -->
 <template>
 <template>
-  <s-layout title="评价">
-    <view>
-      <view v-for="(item, index) in state.orderInfo.items" :key="item.id">
-        <view v-if="item.btns.includes('comment')">
-          <view class="commont-from-wrap">
-            <!-- 评价商品 -->
-            <s-goods-item
-              :img="item.goods_image"
-              :title="item.goods_title"
-              :skuText="item.goods_sku_text"
-              :price="item.goods_price"
-              :num="item.goods_num"
-            ></s-goods-item>
-          </view>
-
-          <view class="form-item">
-            <!-- 评分 -->
-            <view class="star-box ss-flex ss-col-center">
-              <view class="star-title ss-m-r-40">
-                {{ rateMap[state.commentList[index].level] }}
-              </view>
-              <uni-rate v-model="state.commentList[index].level" />
-            </view>
-            <!-- 评价 -->
-            <view class="area-box">
-              <uni-easyinput
-                :inputBorder="false"
-                type="textarea"
-                maxlength="120"
-                autoHeight
-                v-model="state.commentList[index].content"
-                placeholder="宝贝满足你的期待吗?说说你的使用心得,分享给想买的他们吧~"
-              ></uni-easyinput>
-
-              <view class="img-box">
-                <s-uploader
-                  v-model:url="state.commentList[index].images"
-                  fileMediatype="image"
-                  limit="9"
-                  mode="grid"
-                  :imageStyles="{ width: '168rpx', height: '168rpx' }"
-                />
-              </view>
-            </view>
-          </view>
-        </view>
-      </view>
-    </view>
-
-    <su-fixed bottom placeholder>
-      <view class="foot_box ss-flex ss-row-center ss-col-center">
-        <button class="ss-reset-button post-btn ui-BG-Main-Gradient ui-Shadow-Main" @tap="onSubmit">
-          发布
-        </button>
-      </view>
-    </su-fixed>
-  </s-layout>
+	<s-layout title="评价">
+		<view>
+			<view v-for="(item, index) in state.orderInfo.items" :key="item.id">
+				<view v-if="item.btns.includes('comment')">
+					<view class="commont-from-wrap">
+						<!-- 评价商品 -->
+						<s-goods-item :img="item.goods_image" :title="item.goods_title" :skuText="item.goods_sku_text"
+							:price="item.goods_price" :num="item.goods_num"></s-goods-item>
+					</view>
+
+					<view class="form-item">
+						<!-- 评分 -->
+						<view class="star-box ss-flex ss-col-center">
+							<view class="star-title ss-m-r-40">
+								<!-- {{ rateMap[state.commentList[index].level] }} -->
+								商品质量
+							</view>
+							<uni-rate v-model="state.commentList[index].level" />
+						</view>
+						<view class="star-box ss-flex ss-col-center">
+							<view class="star-title ss-m-r-40">
+								<!-- {{ rateMap[state.commentList[index].level] }} -->
+								服务态度
+							</view>
+							<uni-rate v-model="state.commentList[index].level2" />
+						</view>
+						<!-- 评价 -->
+						<view class="area-box">
+							<uni-easyinput :inputBorder="false" type="textarea" maxlength="120" autoHeight
+								v-model="state.commentList[index].content"
+								placeholder="宝贝满足你的期待吗?说说你的使用心得,分享给想买的他们吧~"></uni-easyinput>
+
+							<view class="img-box">
+								<s-uploader v-model:url="state.commentList[index].images" fileMediatype="image"
+									limit="9" mode="grid" :imageStyles="{ width: '168rpx', height: '168rpx' }" />
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+
+		<su-fixed bottom placeholder>
+			<view class="foot_box ss-flex ss-row-center ss-col-center">
+				<button class="ss-reset-button post-btn ui-BG-Main-Gradient ui-Shadow-Main" @tap="onSubmit">
+					发布
+				</button>
+			</view>
+		</su-fixed>
+	</s-layout>
 </template>
 </template>
 
 
 <script setup>
 <script setup>
-  import sheep from '@/sheep';
-  import { onLoad } from '@dcloudio/uni-app';
-  import { computed, reactive } from 'vue';
-
-  const state = reactive({
-    orderInfo: {},
-    commentList: [],
-  });
-
-  const rateMap = {
-    1: '糟糕',
-    2: '差评',
-    3: '一般',
-    4: '良好',
-    5: '好评',
-  };
-
-  async function onSubmit() {
-    const { error } = await sheep.$api.order.comment(state.orderInfo.id, {
-      comments: state.commentList,
-    });
-    if (error === 0) {
-      sheep.$router.back();
-    }
-  }
-
-  onLoad(async (options) => {
-    let id = '';
-    if (options.orderSN) {
-      id = options.orderSN;
-    }
-    if (options.id) {
-      id = options.id;
-    }
-
-    const { data, error } = await sheep.$api.order.detail(id);
-    if (error === 0) {
-      if (data.btns.includes('comment')) {
-        state.orderInfo = data;
-        state.orderInfo.items.forEach((item) => {
-          if (item.btns.includes('comment')) {
-            state.commentList.push({
-              item_id: item.id,
-              level: 5,
-              content: '',
-              images: [],
-            });
-          }
-        });
-        return;
-      }
-    }
-    sheep.$helper.toast('无待评价订单');
-  });
+	import sheep from '@/sheep';
+	import {
+		onLoad
+	} from '@dcloudio/uni-app';
+	import {
+		computed,
+		reactive
+	} from 'vue';
+
+	const state = reactive({
+		orderInfo: {},
+		commentList: [],
+		orderId: null
+	});
+
+	const rateMap = {
+		1: '糟糕',
+		2: '差评',
+		3: '一般',
+		4: '良好',
+		5: '好评',
+	};
+
+	async function onSubmit() {
+		// 对接商品评价
+		// console.log(state.orderInfo);
+		// return;
+		let obj = {
+			anonymous: false,
+			benefitScores: state.commentList[0].level2,
+			content: state.commentList[0].content,
+			descriptionScores: state.commentList[0].level,
+			orderItemId: state.commentList[0].item_id,
+			picUrls: 'https://t7.baidu.com/it/u=2531125946,3055766435&fm=193&f=GIF'
+		}
+		const {
+			code
+		} = await sheep.$api.order.comment(obj);
+		if (code === 0) {
+			sheep.$router.back();
+		}
+	}
+
+	onLoad(async (options) => {
+		let id = '';
+		if (options.orderSN) {
+			id = options.orderSN;
+		}
+		if (options.id) {
+			id = options.id;
+		}
+		if (options.orderId) {
+			state.orderId = options.orderId
+		}
+
+		const res = await sheep.$api.order.detail(id);
+		if (res.code === 0) {
+			let obj = {
+				10: ['待发货', '等待买家付款', ["apply_refund"]],
+				30: ['待评价', '等待买家评价', ["express", "comment"]]
+			}
+
+			res.data.status_text = obj[res.data.status][0];
+			res.data.status_desc = obj[res.data.status][1];
+			res.data.btns = obj[res.data.status][2];
+			res.data.address = {
+				province_name: res.data.receiverAreaName.split(' ')[0],
+				district_name: res.data.receiverAreaName.split(' ')[2],
+				city_name: res.data.receiverAreaName.split(' ')[1],
+				address: res.data.receiverDetailAddress,
+				consignee: res.data.receiverName,
+				mobile: res.data.receiverMobile,
+			}
+			res.data.pay_fee = res.data.payPrice / 100
+			res.data.create_time = sheep.$helper.timeFormat(res.data.createTime, 'yyyy-mm-dd hh:MM:ss')
+			res.data.order_sn = res.data.no
+			res.data.id = res.data.id
+			res.data.goods_amount = res.data.totalPrice / 100
+			res.data.dispatch_amount = res.data.deliveryPrice / 100
+			res.data.pay_types_text = res.data.payChannelName.split(',')
+			res.data.items = res.data.items.map(ite => {
+				return {
+					...ite,
+					btns: obj[res.data.status][2],
+					goods_title: ite.spuName,
+					goods_num: ite.count,
+					goods_price: ite.price / 100,
+					goods_image: ite.picUrl,
+					goods_sku_text: ite.properties.reduce((it0, it1) => it0 + it1.valueName + ' ', '')
+				}
+			})
+			if (res.data.btns.includes('comment')) {
+				state.orderInfo = res.data;
+				state.orderInfo.items.forEach((item) => {
+					if (item.btns.includes('comment')) {
+						state.commentList.push({
+							item_id: item.id,
+							level: 5,
+							content: '',
+							images: [],
+						});
+					}
+				});
+				console.log(state.orderInfo.items, '循环')
+				return;
+			}
+		}
+		sheep.$helper.toast('无待评价订单');
+	});
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
-  // 评价商品
-  .goods-card {
-    margin: 10rpx 0;
-    padding: 20rpx;
-    background: #fff;
-  }
-
-  // 评论,选择图片
-  .form-item {
-    background: #fff;
-    .star-box {
-      height: 100rpx;
-      padding: 0 25rpx;
-    }
-    .star-title {
-      font-weight: 600;
-    }
-  }
-  .area-box {
-    width: 690rpx;
-    min-height: 306rpx;
-    background: rgba(249, 250, 251, 1);
-    border-radius: 20rpx;
-    padding: 28rpx;
-    margin: auto;
-
-    .img-box {
-      margin-top: 20rpx;
-    }
-  }
-  .post-btn {
-    width: 690rpx;
-    line-height: 80rpx;
-    border-radius: 40rpx;
-    color: rgba(#fff, 0.9);
-    margin-bottom: 20rpx;
-  }
-</style>
+	// 评价商品
+	.goods-card {
+		margin: 10rpx 0;
+		padding: 20rpx;
+		background: #fff;
+	}
+
+	// 评论,选择图片
+	.form-item {
+		background: #fff;
+
+		.star-box {
+			height: 100rpx;
+			padding: 0 25rpx;
+		}
+
+		.star-title {
+			font-weight: 600;
+		}
+	}
+
+	.area-box {
+		width: 690rpx;
+		min-height: 306rpx;
+		background: rgba(249, 250, 251, 1);
+		border-radius: 20rpx;
+		padding: 28rpx;
+		margin: auto;
+
+		.img-box {
+			margin-top: 20rpx;
+		}
+	}
+
+	.post-btn {
+		width: 690rpx;
+		line-height: 80rpx;
+		border-radius: 40rpx;
+		color: rgba(#fff, 0.9);
+		margin-bottom: 20rpx;
+	}
+</style>

+ 7 - 3
pages/order/detail.vue

@@ -200,7 +200,7 @@
 				<button class="ss-reset-button cancel-btn" v-if="state.orderInfo.btns?.includes('confirm')"
 				<button class="ss-reset-button cancel-btn" v-if="state.orderInfo.btns?.includes('confirm')"
 					@tap="onConfirm(state.orderInfo.id)">确认收货</button>
 					@tap="onConfirm(state.orderInfo.id)">确认收货</button>
 				<button class="ss-reset-button cancel-btn" v-if="state.orderInfo.btns?.includes('comment')"
 				<button class="ss-reset-button cancel-btn" v-if="state.orderInfo.btns?.includes('comment')"
-					@tap="onComment(state.orderInfo.order_sn)">评价晒单</button>
+					@tap="onComment(state.orderInfo.id,state.orderInfo)">评价晒单</button>
 				<button v-if="state.orderInfo.btns?.includes('invoice')" class="ss-reset-button cancel-btn"
 				<button v-if="state.orderInfo.btns?.includes('invoice')" class="ss-reset-button cancel-btn"
 					@tap.stop="onOrderInvoice(state.orderInfo.invoice?.id)">
 					@tap.stop="onOrderInvoice(state.orderInfo.invoice?.id)">
 					查看发票
 					查看发票
@@ -389,12 +389,15 @@
 	}
 	}
 
 
 	// 评价
 	// 评价
-	function onComment(orderSN) {
+	function onComment(orderSN, orderId) {
+		console.log(orderId);
+		// return;
 		uni.$once('SELECT_INVOICE', (e) => {
 		uni.$once('SELECT_INVOICE', (e) => {
 			state.invoiceInfo = e.invoiceInfo;
 			state.invoiceInfo = e.invoiceInfo;
 		});
 		});
 		sheep.$router.go('/pages/goods/comment/add', {
 		sheep.$router.go('/pages/goods/comment/add', {
 			orderSN,
 			orderSN,
+			orderId
 		});
 		});
 	}
 	}
 	async function getOrderDetail(id) {
 	async function getOrderDetail(id) {
@@ -410,7 +413,8 @@
 		console.log(res, '我的订单详情数据');
 		console.log(res, '我的订单详情数据');
 		if (res.code === 0) {
 		if (res.code === 0) {
 			let obj = {
 			let obj = {
-				10: ['待发货', '等待买家付款', ["apply_refund"]]
+				10: ['待发货', '等待买家付款', ["apply_refund"]],
+				30: ['待评价', '等待买家评价', ["express", "comment"]]
 			}
 			}
 			res.data.status_text = obj[res.data.status][0];
 			res.data.status_text = obj[res.data.status][0];
 			res.data.status_desc = obj[res.data.status][1];
 			res.data.status_desc = obj[res.data.status][1];

+ 7 - 6
pages/user/wallet/money.vue

@@ -20,7 +20,7 @@
 		<su-sticky>
 		<su-sticky>
 			<!-- 统计 -->
 			<!-- 统计 -->
 			<view class="filter-box ss-p-x-30 ss-flex ss-col-center ss-row-between">
 			<view class="filter-box ss-p-x-30 ss-flex ss-col-center ss-row-between">
-<!-- 				<uni-datetime-picker v-model="state.data" type="daterange" @change="onChangeTime" :end="state.today">
+				<!-- 				<uni-datetime-picker v-model="state.data" type="daterange" @change="onChangeTime" :end="state.today">
 					<button class="ss-reset-button date-btn">
 					<button class="ss-reset-button date-btn">
 						<text>{{ dateFilterText }}</text>
 						<text>{{ dateFilterText }}</text>
 						<text class="cicon-drop-down ss-seldate-icon"></text>
 						<text class="cicon-drop-down ss-seldate-icon"></text>
@@ -28,9 +28,9 @@
 				</uni-datetime-picker> -->
 				</uni-datetime-picker> -->
 
 
 				<view class="total-box">
 				<view class="total-box">
-					 <!-- state.pagination.income.toFixed(2) -->
-					<view class="ss-m-b-10">总收入¥{{ }}</view>
-					<view>总支出¥{{  }}</view>
+					<!-- state.pagination.income.toFixed(2) -->
+					<!-- 		<view class="ss-m-b-10">总收入¥{{ }}</view>
+					<view>总支出¥{{  }}</view> -->
 					<!-- (-state.pagination.expense).toFixed(2) -->
 					<!-- (-state.pagination.expense).toFixed(2) -->
 				</view>
 				</view>
 			</view>
 			</view>
@@ -45,7 +45,8 @@
 						<!-- <text class="title ss-line-1">{{ item.event_text }}{{ item.memo ? '-' + item.memo : '' }}</text> -->
 						<!-- <text class="title ss-line-1">{{ item.event_text }}{{ item.memo ? '-' + item.memo : '' }}</text> -->
 						<text class="title ss-line-1">{{ item.title }}</text>
 						<text class="title ss-line-1">{{ item.title }}</text>
 						<view class="money">
 						<view class="money">
-							<text v-if="(item.amount >= 0||item.price>=0)" class="add">+{{ item.amount||item.price }}</text>
+							<text v-if="(item.amount >= 0||item.price>=0)"
+								class="add">+{{ item.amount||item.price }}</text>
 							<text v-else class="minus">{{ item.price }}</text>
 							<text v-else class="minus">{{ item.price }}</text>
 						</view>
 						</view>
 					</view>
 					</view>
@@ -133,7 +134,7 @@
 				income: res.data.income,
 				income: res.data.income,
 				expense: res.data.expense,
 				expense: res.data.expense,
 			};
 			};
-			console.log('交易数据',state.pagination)
+			console.log('交易数据', state.pagination)
 			if (state.pagination.current_page < state.pagination.last_page) {
 			if (state.pagination.current_page < state.pagination.last_page) {
 				state.loadStatus = 'more';
 				state.loadStatus = 'more';
 			} else {
 			} else {

+ 42 - 35
sheep/api/coupon.js

@@ -1,38 +1,45 @@
 import request from '@/sheep/request';
 import request from '@/sheep/request';
+import request2 from '@/sheep/request2';
 
 
 export default {
 export default {
-  // 我的拼团
-  list: (params) =>
-    request({
-      url: 'coupon',
-      method: 'GET',
-      params,
-      custom: {
-        showLoading: false,
-      },
-    }),
-  userCoupon: (params) =>
-    request({
-      url: 'user/coupon',
-      method: 'GET',
-      params,
-    }),
-  detail: (id, user_coupon_id) =>
-    request({
-      url: 'coupon/' + id,
-      method: 'GET',
-      params: {
-        user_coupon_id,
-      },
-    }),
-  get: (id) =>
-    request({
-      url: 'coupon/get/' + id,
-      method: 'POST',
-    }),
-  listByGoods: (id) =>
-    request({
-      url: 'coupon/listByGoods/' + id,
-      method: 'GET',
-    }),
-};
+	// 我的拼团
+	list: (params) =>
+		request({
+			url: 'coupon',
+			method: 'GET',
+			params,
+			custom: {
+				showLoading: false,
+			},
+		}),
+	userCoupon: (params) =>
+		request2({
+			url: 'promotion/coupon/page',
+			method: 'GET',
+			params,
+		}),
+	// userCoupon: (params) =>
+	//   request({
+	//     url: 'user/coupon',
+	//     method: 'GET',
+	//     params,
+	//   }),
+	detail: (id, user_coupon_id) =>
+		request({
+			url: 'coupon/' + id,
+			method: 'GET',
+			params: {
+				user_coupon_id,
+			},
+		}),
+	get: (id) =>
+		request({
+			url: 'coupon/get/' + id,
+			method: 'POST',
+		}),
+	listByGoods: (id) =>
+		request({
+			url: 'coupon/listByGoods/' + id,
+			method: 'GET',
+		}),
+};

+ 9 - 3
sheep/api/order.js

@@ -107,12 +107,18 @@ export default {
 			method: 'PUT',
 			method: 'PUT',
 		}),
 		}),
 	// 评价订单
 	// 评价订单
-	comment: (id, data) =>
-		request({
-			url: 'order/order/comment/' + id,
+	comment: (data) =>
+		request2({
+			url: 'trade/order/item/create-comment',
 			method: 'POST',
 			method: 'POST',
 			data,
 			data,
 		}),
 		}),
+	// comment: (id, data) =>
+	// 	request({
+	// 		url: 'order/order/comment/' + id,
+	// 		method: 'POST',
+	// 		data,
+	// 	}),
 	// 申请退款
 	// 申请退款
 	applyRefund: (id) =>
 	applyRefund: (id) =>
 		request({
 		request({

+ 70 - 72
sheep/components/s-coupon-card/s-coupon-card.vue

@@ -1,80 +1,78 @@
 <template>
 <template>
-  <view class="ss-coupon-menu-wrap ss-flex ss-col-center">
-    <view
-      class="menu-item ss-flex-col ss-row-center ss-col-center"
-      v-for="item in props.list"
-      :key="item.title"
-      @tap="sheep.$router.go(item.path, { type: item.type })"
-      :class="item.type === 'all' ? 'menu-wallet' : 'ss-flex-1'"
-    >
-      <image class="item-icon" :src="sheep.$url.static(item.icon)" mode="aspectFit"></image>
-      <view class="menu-title ss-m-t-28">{{ item.title }}</view>
-    </view>
-  </view>
+	<view class="ss-coupon-menu-wrap ss-flex ss-col-center">
+		<view class="menu-item ss-flex-col ss-row-center ss-col-center" v-for="item in props.list" :key="item.title"
+			@tap="sheep.$router.go(item.path, { type: item.type })"
+			:class="item.type === 'all' ? 'menu-wallet' : 'ss-flex-1'">
+			<image class="item-icon" :src="sheep.$url.static(item.icon)" mode="aspectFit"></image>
+			<view class="menu-title ss-m-t-28">{{ item.title }}</view>
+		</view>
+	</view>
 </template>
 </template>
 
 
 <script setup>
 <script setup>
-  /**
-   * 装修组件 - 优惠券菜单
-   */
-  import sheep from '@/sheep';
+	/**
+	 * 装修组件 - 优惠券菜单
+	 */
+	import sheep from '@/sheep';
 
 
-  // 接收参数
-  const props = defineProps({
-    list: {
-      type: Array,
-      default() {
-        return [
-          {
-            title: '已领取',
-            value: '0',
-            icon: '/static/img/shop/order/nouse_coupon.png',
-            path: '/pages/coupon/list',
-            type: 'geted',
-          },
-          {
-            title: '已使用',
-            value: '0',
-            icon: '/static/img/shop/order/useend_coupon.png',
-            path: '/pages/coupon/list',
-            type: 'used',
-          },
-          {
-            title: '已失效',
-            value: '0',
-            icon: '/static/img/shop/order/out_coupon.png',
-            path: '/pages/coupon/list',
-            type: 'expired',
-          },
-          {
-            title: '领券中心',
-            value: '0',
-            icon: '/static/img/shop/order/all_coupon.png',
-            path: '/pages/coupon/list',
-            type: 'all',
-          },
-        ];
-      },
-    },
-  });
+	// 接收参数
+	const props = defineProps({
+		list: {
+			type: Array,
+			default () {
+				return [{
+						title: '已领取',
+						value: '0',
+						icon: '/static/img/shop/order/nouse_coupon.png',
+						path: '/pages/coupon/list',
+						type: 'geted',
+					},
+					{
+						title: '已使用',
+						value: '0',
+						icon: '/static/img/shop/order/useend_coupon.png',
+						path: '/pages/coupon/list',
+						type: 'used',
+					},
+					{
+						title: '已失效',
+						value: '0',
+						icon: '/static/img/shop/order/out_coupon.png',
+						path: '/pages/coupon/list',
+						type: 'expired',
+					},
+					// {
+					//   title: '领券中心',
+					//   value: '0',
+					//   icon: '/static/img/shop/order/all_coupon.png',
+					//   path: '/pages/coupon/list',
+					//   type: 'all',
+					// },
+				];
+			},
+		},
+	});
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
-  .ss-coupon-menu-wrap {
-    .menu-item {
-      height: 160rpx;
-      .menu-title {
-        font-size: 24rpx;
-        line-height: 24rpx;
-        color: #333333;
-      }
-      .item-icon {
-        width: 44rpx;
-        height: 44rpx;
-      }
-    }
-    .menu-wallet {
-      width: 144rpx;
-    }
-  }
-</style>
+	.ss-coupon-menu-wrap {
+		.menu-item {
+			height: 160rpx;
+
+			.menu-title {
+				font-size: 24rpx;
+				line-height: 24rpx;
+				color: #333333;
+			}
+
+			.item-icon {
+				width: 44rpx;
+				height: 44rpx;
+			}
+		}
+
+		.menu-wallet {
+			width: 144rpx;
+		}
+	}
+</style>

+ 168 - 165
sheep/components/s-coupon-list/s-coupon-list.vue

@@ -1,192 +1,195 @@
 <template>
 <template>
-  <view class="ss-m-20" :style="{ opacity: disabled ? '0.5' : '1' }">
-    <view class="content">
-      <view
+	<view class="ss-m-20" :style="{ opacity: disabled ? '0.5' : '1' }">
+		<view class="content">
+			<!--      <view
         class="tag ss-flex ss-row-center"
         class="tag ss-flex ss-row-center"
         :class="
         :class="
           data.status == 'expired' || data.status == 'used' ? 'disabled-bg-color' : 'info-bg-color'
           data.status == 'expired' || data.status == 'used' ? 'disabled-bg-color' : 'info-bg-color'
         "
         "
         >{{ data.type_text }}</view
         >{{ data.type_text }}</view
-      >
-      <view class="title ss-m-x-30 ss-p-t-18">
-        <view class="ss-flex ss-row-between">
-          <view
-            class="value-text ss-flex-1 ss-m-r-10"
-            :class="
+      > -->
+			<view class="title ss-m-x-30 ss-p-t-18">
+				<view class="ss-flex ss-row-between">
+					<view class="value-text ss-flex-1 ss-m-r-10" :class="
               data.status == 'expired' || data.status == 'used' ? 'disabled-color' : 'info-color'
               data.status == 'expired' || data.status == 'used' ? 'disabled-color' : 'info-color'
-            "
-            >{{ data.name }}</view
-          >
-          <view>
-            <view
-              class="ss-flex ss-col-bottom"
-              :class="
+            ">{{ data.name }}</view>
+					<view>
+						<view class="ss-flex ss-col-bottom" :class="
                 data.status != 'expired' && data.status != 'used' ? 'price-text' : 'disabled-color'
                 data.status != 'expired' && data.status != 'used' ? 'price-text' : 'disabled-color'
-              "
-            >
-              <view class="value-reduce ss-m-b-10" v-if="data.type === 'reduce'">¥</view>
-              <view class="value-price">{{ data.amount }}</view>
-              <view class="value-discount ss-m-b-10 ss-m-l-4" v-if="data.type === 'discount'"
-                >折</view
-              >
-            </view>
-          </view>
-        </view>
-        <view class="ss-flex ss-row-between ss-m-t-16">
-          <view
-            class="sellby-text"
-            :class="
+              ">
+							<view class="value-reduce ss-m-b-10" v-if="data.type === 'reduce'">¥</view>
+							<view class="value-price">{{ data.amount }}</view>
+							<view class="value-discount ss-m-b-10 ss-m-l-4" v-if="data.type === 'discount'">折</view>
+						</view>
+					</view>
+				</view>
+				<view class="ss-flex ss-row-between ss-m-t-16">
+					<view class="sellby-text" :class="
               data.status == 'expired' || data.status == 'used'
               data.status == 'expired' || data.status == 'used'
                 ? 'disabled-color'
                 ? 'disabled-color'
                 : 'subtitle-color'
                 : 'subtitle-color'
-            "
-          >
-            {{
+            ">
+						{{'有效期:' + data.use_start_time.substring(0, 11) }}至
+						{{ data.use_end_time.substring(0, 11)  }}
+						<!-- 				{{
               type === 'user'
               type === 'user'
                 ? '有效期:' + data.use_start_time.substring(0, 11)
                 ? '有效期:' + data.use_start_time.substring(0, 11)
                 : '领取时间:' + data.get_start_time.substring(0, 11)
                 : '领取时间:' + data.get_start_time.substring(0, 11)
             }}至
             }}至
-            {{
+						{{
               type === 'user'
               type === 'user'
                 ? data.use_end_time.substring(0, 11)
                 ? data.use_end_time.substring(0, 11)
                 : data.get_end_time.substring(0, 11)
                 : data.get_end_time.substring(0, 11)
-            }}
-          </view>
-          <view
-            class="value-enough"
-            :class="
+            }} -->
+					</view>
+					<view class="value-enough" :class="
               data.status == 'expired' || data.status == 'used'
               data.status == 'expired' || data.status == 'used'
                 ? 'disabled-color'
                 ? 'disabled-color'
                 : 'subtitle-color'
                 : 'subtitle-color'
-            "
-            >满{{ data.enough }}可用</view
-          >
-        </view>
-      </view>
-    </view>
-
-    <view class="desc ss-flex ss-row-between">
-      <view>
-        <view class="desc-title">
-          {{ data.description }}
-        </view>
-        <view>
-          <slot name="reason">
-          </slot>
-        </view>
-      </view>
-      <view>
-        <slot></slot>
-      </view>
-    </view>
-  </view>
+            ">满{{ data.enough }}可用</view>
+				</view>
+			</view>
+		</view>
+
+		<view class="desc ss-flex ss-row-between">
+			<view>
+				<view class="desc-title">
+					{{ data.description }}
+				</view>
+				<view>
+					<slot name="reason">
+					</slot>
+				</view>
+			</view>
+			<view>
+				<slot></slot>
+			</view>
+		</view>
+	</view>
 </template>
 </template>
 
 
 <script setup>
 <script setup>
-  import { reactive } from 'vue';
-  import sheep from '@/sheep';
-  const state = reactive({
-    stateMap: {
-      0: '立即领取',
-      1: '去使用',
-    },
-  });
-  // 接受参数
-  const props = defineProps({
-    data: {
-      type: Object,
-      default: {},
-    },
-    disabled: {
-      type: Boolean,
-      default: false,
-    },
-    type: {
-      type: String,
-      default: 'coupon',
-    },
-  });
+	import {
+		reactive
+	} from 'vue';
+	import sheep from '@/sheep';
+	const state = reactive({
+		stateMap: {
+			0: '立即领取',
+			1: '去使用',
+		},
+	});
+	// 接受参数
+	const props = defineProps({
+		data: {
+			type: Object,
+			default: {},
+		},
+		disabled: {
+			type: Boolean,
+			default: false,
+		},
+		type: {
+			type: String,
+			default: 'coupon',
+		},
+	});
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
-  .info-bg-color {
-    background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
-  }
-  .disabled-bg-color {
-    background: #999;
-  }
-  .info-color {
-    color: #333;
-  }
-  .subtitle-color {
-    color: #666;
-  }
-  .disabled-color {
-    color: #999;
-  }
-  .content {
-    width: 100%;
-    background: #fff;
-    border-radius: 20rpx 20rpx 0 0;
-    -webkit-mask: radial-gradient(circle at 12rpx 100%, #0000 12rpx, red 0) -12rpx;
-    box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.04);
-
-    .tag {
-      width: 100rpx;
-
-      color: #fff;
-      height: 40rpx;
-      font-size: 24rpx;
-      border-radius: 20rpx 0 20rpx 0;
-    }
-    .title {
-      padding-bottom: 22rpx;
-      border-bottom: 2rpx dashed #d3d3d3;
-      .value-text {
-        font-size: 32rpx;
-        font-weight: 600;
-      }
-      .sellby-text {
-        font-size: 24rpx;
-        font-weight: 400;
-      }
-      .value-price {
-        font-size: 64rpx;
-        font-weight: 500;
-        line-height: normal;
-        font-family: OPPOSANS;
-      }
-      .value-reduce {
-        line-height: normal;
-        font-size: 32rpx;
-      }
-      .value-discount {
-        line-height: normal;
-        font-size: 28rpx;
-      }
-      .value-enough {
-        font-size: 24rpx;
-        font-weight: 400;
-        font-family: OPPOSANS;
-      }
-    }
-  }
-  .desc {
-    width: 100%;
-    background: #fff;
-    -webkit-mask: radial-gradient(circle at 12rpx 0%, #0000 12rpx, red 0) -12rpx;
-    box-shadow: rgba(#000, 0.1);
-    box-sizing: border-box;
-    padding: 24rpx 30rpx;
-    box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.04);
-    border-radius: 0 0 20rpx 20rpx;
-    .desc-title {
-      font-size: 24rpx;
-      color: #999;
-      font-weight: 400;
-    }
-  }
-  .price-text {
-    color: #ff0000;
-  }
-</style>
+	.info-bg-color {
+		background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
+	}
+
+	.disabled-bg-color {
+		background: #999;
+	}
+
+	.info-color {
+		color: #333;
+	}
+
+	.subtitle-color {
+		color: #666;
+	}
+
+	.disabled-color {
+		color: #999;
+	}
+
+	.content {
+		width: 100%;
+		background: #fff;
+		border-radius: 20rpx 20rpx 0 0;
+		-webkit-mask: radial-gradient(circle at 12rpx 100%, #0000 12rpx, red 0) -12rpx;
+		box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.04);
+
+		.tag {
+			width: 100rpx;
+
+			color: #fff;
+			height: 40rpx;
+			font-size: 24rpx;
+			border-radius: 20rpx 0 20rpx 0;
+		}
+
+		.title {
+			padding-bottom: 22rpx;
+			border-bottom: 2rpx dashed #d3d3d3;
+
+			.value-text {
+				font-size: 32rpx;
+				font-weight: 600;
+			}
+
+			.sellby-text {
+				font-size: 24rpx;
+				font-weight: 400;
+			}
+
+			.value-price {
+				font-size: 64rpx;
+				font-weight: 500;
+				line-height: normal;
+				font-family: OPPOSANS;
+			}
+
+			.value-reduce {
+				line-height: normal;
+				font-size: 32rpx;
+			}
+
+			.value-discount {
+				line-height: normal;
+				font-size: 28rpx;
+			}
+
+			.value-enough {
+				font-size: 24rpx;
+				font-weight: 400;
+				font-family: OPPOSANS;
+			}
+		}
+	}
+
+	.desc {
+		width: 100%;
+		background: #fff;
+		-webkit-mask: radial-gradient(circle at 12rpx 0%, #0000 12rpx, red 0) -12rpx;
+		box-shadow: rgba(#000, 0.1);
+		box-sizing: border-box;
+		padding: 24rpx 30rpx;
+		box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.04);
+		border-radius: 0 0 20rpx 20rpx;
+
+		.desc-title {
+			font-size: 24rpx;
+			color: #999;
+			font-weight: 400;
+		}
+	}
+
+	.price-text {
+		color: #ff0000;
+	}
+</style>

+ 173 - 151
sheep/store/user.js

@@ -1,168 +1,190 @@
-import { defineStore } from 'pinia';
+import {
+	defineStore
+} from 'pinia';
 import userApi from '@/sheep/api/user';
 import userApi from '@/sheep/api/user';
 import commissionApi from '@/sheep/api/commission';
 import commissionApi from '@/sheep/api/commission';
 import $share from '@/sheep/platform/share';
 import $share from '@/sheep/platform/share';
-import { isEmpty, cloneDeep, clone } from 'lodash';
+import {
+	isEmpty,
+	cloneDeep,
+	clone
+} from 'lodash';
 import cart from './cart';
 import cart from './cart';
 import app from './app';
 import app from './app';
-import { showAuthModal } from '@/sheep/hooks/useModal';
+import {
+	showAuthModal
+} from '@/sheep/hooks/useModal';
 
 
 // 默认用户信息
 // 默认用户信息
 const defaultUserInfo = {
 const defaultUserInfo = {
-  avatar: '', // 头像
-  nickname: '', // 昵称
-  gender: 0, // 性别
-  mobile: '', // 手机号
-  money: '--', // 余额
-  commission: '--', // 佣金
-  score: '--', // 积分
-  verification: {}, // 认证字段
+	avatar: '', // 头像
+	nickname: '', // 昵称
+	gender: 0, // 性别
+	mobile: '', // 手机号
+	money: '--', // 余额
+	commission: '--', // 佣金
+	score: '--', // 积分
+	verification: {}, // 认证字段
 };
 };
 
 
 // 默认订单、优惠券等其他资产信息
 // 默认订单、优惠券等其他资产信息
 const defaultNumData = {
 const defaultNumData = {
-  coupons_num: '--',
-  order_num: {
-    aftersale: 0,
-    nocomment: 0,
-    noget: 0,
-    nosend: 0,
-    unpaid: 0,
-  },
+	coupons_num: '--',
+	order_num: {
+		aftersale: 0,
+		nocomment: 0,
+		noget: 0,
+		nosend: 0,
+		unpaid: 0,
+	},
 };
 };
 
 
 const user = defineStore({
 const user = defineStore({
-  id: 'user',
-  state: () => ({
-    userInfo: clone(defaultUserInfo), // 用户信息
-    isLogin: !!uni.getStorageSync('token'), // 登录状态
-    numData: cloneDeep(defaultNumData), // 用户其他数据
-    agentInfo: {}, // 分销商信息
-    lastUpdateTime: 0, // 上次更新时间
-  }),
-
-  actions: {
-    // 获取个人信息
-    async getInfo() {
-      const { code, data } = await userApi.profile();
-	  // 为了兼容 获取用户余额 可能还会用到其他参数
-      const { code:code2, data:data2 } = await userApi.balance();
-      if (code !== 0||code2!=0) return;
-	  data.money=data2.balance/100;
-      this.userInfo = data;
-
-      return Promise.resolve(data);
-    },
-
-    // 获取分销商信息
-    async getAgentInfo() {
-      const res = await commissionApi.agent();
-      if (res.error === 0) {
-        this.agentInfo = res.data;
-      }
-      return Promise.resolve(res);
-    },
-
-    // 获取订单、优惠券等其他资产信息
-    async getNumData() {
-      const { code, data } = await userApi.data();
-      const data2 = await userApi.data2();
-      if (code === 0&&data2.code===0) {
-		  console.log('订单数据',data);
-        this.numData = {order_num:{
-			noget:data.deliveredCount,
-			unpaid:data.unpaidCount,
-			nocomment:data.uncommentedCount,
-			aftersale:data2.data
-		}};
-      }
-    },
-
-    // 添加分享记录
-    async addShareLog(params) {
-      const { error } = await userApi.addShareLog(params);
-      if (error === 0) uni.removeStorageSync('shareLog');
-    },
-
-    // 设置token
-    setToken(token = '') {
-      if (token === '') {
-        this.isLogin = false;
-        uni.removeStorageSync('token');
-      } else {
-        this.isLogin = true;
-        uni.setStorageSync('token', token);
-        this.loginAfter();
-      }
-      return this.isLogin;
-    },
-
-    // 更新用户相关信息 (手动限流 5秒之内不刷新)
-    async updateUserData() {
-      if (!this.isLogin) {
-        this.resetUserData();
-        return;
-      }
-      const nowTime = new Date().getTime();
-      if (this.lastUpdateTime + 5000 > nowTime) return;
-      await this.getInfo();
-      this.getNumData();
-      this.lastUpdateTime = nowTime;
-      return this.userInfo;
-    },
-
-    // 重置用户默认数据
-    resetUserData() {
-      this.setToken();
-      this.userInfo = clone(defaultUserInfo);
-      this.numData = cloneDeep(defaultNumData);
-      this.agentInfo = {};
-      cart().emptyList();
-    },
-
-    // 登录后
-    async loginAfter() {
-      await this.updateUserData();
-      cart().getList();
-      // 登录后设置全局分享参数
-      $share.getShareInfo();
-      // 提醒绑定手机号
-      if (app().platform.bind_mobile && !this.userInfo.verification?.mobile) {
-        showAuthModal('changeMobile');
-      }
-
-      // 添加分享记录
-      const shareLog = uni.getStorageSync('shareLog');
-      if (!isEmpty(shareLog)) {
-        this.addShareLog({
-          ...shareLog,
-        });
-      }
-    },
-
-    // 登出
-    async logout(force = false) {
-      if (!force) {
-        const { error } = await userApi.logout();
-        if (error === 0) {
-          this.resetUserData();
-        }
-      }
-      if (force) {
-        this.resetUserData();
-      }
-
-      return !this.isLogin;
-    },
-  },
-  persist: {
-    enabled: true,
-    strategies: [
-      {
-        key: 'user-store',
-      },
-    ],
-  },
+	id: 'user',
+	state: () => ({
+		userInfo: clone(defaultUserInfo), // 用户信息
+		isLogin: !!uni.getStorageSync('token'), // 登录状态
+		numData: cloneDeep(defaultNumData), // 用户其他数据
+		agentInfo: {}, // 分销商信息
+		lastUpdateTime: 0, // 上次更新时间
+	}),
+
+	actions: {
+		// 获取个人信息
+		async getInfo() {
+			const {
+				code,
+				data
+			} = await userApi.profile();
+			// 为了兼容 获取用户余额 可能还会用到其他参数
+			// 优惠券数量,积分数量 应该在这里
+			const {
+				code: code2,
+				data: data2
+			} = await userApi.balance();
+			if (code !== 0 || code2 != 0) return;
+			data.money = data2.balance / 100;
+			this.userInfo = data;
+			console.log(data2, '信息')
+			return Promise.resolve(data);
+		},
+
+		// 获取分销商信息
+		async getAgentInfo() {
+			const res = await commissionApi.agent();
+			if (res.error === 0) {
+				this.agentInfo = res.data;
+			}
+			return Promise.resolve(res);
+		},
+
+		// 获取订单、优惠券等其他资产信息
+		async getNumData() {
+			const {
+				code,
+				data
+			} = await userApi.data();
+			const data2 = await userApi.data2();
+			if (code === 0 && data2.code === 0) {
+				console.log('订单数据', data);
+				this.numData = {
+					order_num: {
+						noget: data.deliveredCount,
+						unpaid: data.unpaidCount,
+						nocomment: data.uncommentedCount,
+						aftersale: data2.data
+					}
+				};
+			}
+		},
+
+		// 添加分享记录
+		async addShareLog(params) {
+			const {
+				error
+			} = await userApi.addShareLog(params);
+			if (error === 0) uni.removeStorageSync('shareLog');
+		},
+
+		// 设置token
+		setToken(token = '') {
+			if (token === '') {
+				this.isLogin = false;
+				uni.removeStorageSync('token');
+			} else {
+				this.isLogin = true;
+				uni.setStorageSync('token', token);
+				this.loginAfter();
+			}
+			return this.isLogin;
+		},
+
+		// 更新用户相关信息 (手动限流 5秒之内不刷新)
+		async updateUserData() {
+			if (!this.isLogin) {
+				this.resetUserData();
+				return;
+			}
+			const nowTime = new Date().getTime();
+			if (this.lastUpdateTime + 5000 > nowTime) return;
+			await this.getInfo();
+			this.getNumData();
+			this.lastUpdateTime = nowTime;
+			return this.userInfo;
+		},
+
+		// 重置用户默认数据
+		resetUserData() {
+			this.setToken();
+			this.userInfo = clone(defaultUserInfo);
+			this.numData = cloneDeep(defaultNumData);
+			this.agentInfo = {};
+			cart().emptyList();
+		},
+
+		// 登录后
+		async loginAfter() {
+			await this.updateUserData();
+			cart().getList();
+			// 登录后设置全局分享参数
+			$share.getShareInfo();
+			// 提醒绑定手机号
+			if (app().platform.bind_mobile && !this.userInfo.verification?.mobile) {
+				showAuthModal('changeMobile');
+			}
+
+			// 添加分享记录
+			const shareLog = uni.getStorageSync('shareLog');
+			if (!isEmpty(shareLog)) {
+				this.addShareLog({
+					...shareLog,
+				});
+			}
+		},
+
+		// 登出
+		async logout(force = false) {
+			if (!force) {
+				const {
+					error
+				} = await userApi.logout();
+				if (error === 0) {
+					this.resetUserData();
+				}
+			}
+			if (force) {
+				this.resetUserData();
+			}
+
+			return !this.isLogin;
+		},
+	},
+	persist: {
+		enabled: true,
+		strategies: [{
+			key: 'user-store',
+		}, ],
+	},
 });
 });
 
 
-export default user;
+export default user;