Ver código fonte

✨ 我的钱包:接入完成

YunaiV 1 ano atrás
pai
commit
56666b4836
5 arquivos alterados com 408 adições e 442 exclusões
  1. 0 88
      pages/user/set.vue
  2. 362 337
      pages/user/wallet/money.vue
  3. 26 0
      sheep/api/pay/wallet.js
  4. 0 7
      sheep/api/user.js
  5. 20 10
      sheep/store/user.js

+ 0 - 88
pages/user/set.vue

@@ -1,88 +0,0 @@
-<template>
-  <s-layout class="set-wrap" title="编辑资料">
-    <view class="header-box ss-flex-col ss-row-center ss-col-center">
-      <image
-        class="logo-img ss-m-b-40"
-        src="/static/img/shop/tabbar/find2.png"
-        mode="aspectFit"
-      ></image>
-      <view class="name ss-m-b-24">SHEEP商城</view>
-      <view class="version">V1.3.0</view>
-    </view>
-
-    <uni-list :border="true">
-      <uni-list-item title="清除缓存" rightText="2M" showArrow></uni-list-item>
-      <uni-list-item title="当前版本" rightText="V1.3.1" showArrow></uni-list-item>
-      <uni-list-item title="意见反馈" showArrow></uni-list-item>
-      <uni-list-item title="关于我们" showArrow></uni-list-item>
-    </uni-list>
-
-    <view class="set-footer ss-flex-col ss-row-center ss-col-center">
-      <view class="agreement-box ss-flex ss-col-center ss-m-b-30">
-        <view class="ss-flex ss-col-center ss-m-b-10">
-          <view class="tcp-text">《用户协议》</view>
-          <view class="agreement-text">与</view>
-          <view class="tcp-text">《隐私协议》</view>
-        </view>
-      </view>
-      <view class="copyright-text ss-m-b-10">******版权所有</view>
-      <view class="copyright-text">Copyright© 2018-2022</view>
-    </view>
-  </s-layout>
-</template>
-
-<script setup></script>
-
-<style lang="scss" scoped>
-  .set-title {
-    margin: 0 30rpx;
-  }
-
-  .header-box {
-    padding: 100rpx 0;
-
-    .logo-img {
-      width: 160rpx;
-      height: 160rpx;
-    }
-
-    .name {
-      font-size: 42rpx;
-      line-height: 42rpx;
-      font-weight: bold;
-      color: $dark-3;
-    }
-
-    .version {
-      font-size: 32rpx;
-      font-weight: 500;
-      line-height: 32rpx;
-      color: $gray-b;
-    }
-  }
-
-  .set-footer {
-    margin: 200rpx 0;
-
-    .copyright-text {
-      font-size: 22rpx;
-      font-weight: 500;
-      color: $gray-c;
-      line-height: 30rpx;
-    }
-
-    .agreement-box {
-      margin: 80rpx auto 0;
-
-      .tcp-text {
-        color: var(--ui-BG-Main);
-      }
-
-      .agreement-text {
-        font-size: 26rpx;
-        font-weight: 500;
-        color: $dark-9;
-      }
-    }
-  }
-</style>

+ 362 - 337
pages/user/wallet/money.vue

@@ -1,345 +1,370 @@
+<!-- 我的钱包 -->
 <template>
-	<s-layout class="wallet-wrap" title="钱包">
-		<!-- 钱包卡片 -->
-		<view class="header-box ss-flex ss-row-center ss-col-center">
-			<view class="card-box ui-BG-Main ui-Shadow-Main">
-				<view class="card-head ss-flex ss-col-center">
-					<view class="card-title ss-m-r-10">钱包余额(元)</view>
-					<view @tap="state.showMoney = !state.showMoney" class="ss-eye-icon"
-						:class="state.showMoney ? 'cicon-eye' : 'cicon-eye-off'"></view>
-				</view>
-				<view class="ss-flex ss-row-between ss-col-center ss-m-t-64">
-					<view class="money-num">{{ state.showMoney ? userInfo.money : '*****' }}</view>
-					<button class="ss-reset-button topup-btn" @tap="sheep.$router.go('/pages/pay/recharge')">
-						充值
-					</button>
-				</view>
-			</view>
-		</view>
-
-		<su-sticky>
-			<!-- 统计 -->
-			<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">
-					<button class="ss-reset-button date-btn">
-						<text>{{ dateFilterText }}</text>
-						<text class="cicon-drop-down ss-seldate-icon"></text>
-					</button>
-				</uni-datetime-picker> -->
-
-				<view class="total-box">
-					<!-- state.pagination.income.toFixed(2) -->
-					<!-- 		<view class="ss-m-b-10">总收入¥{{ }}</view>
-					<view>总支出¥{{  }}</view> -->
-					<!-- (-state.pagination.expense).toFixed(2) -->
-				</view>
-			</view>
-			<su-tabs :list="tabMaps" @change="onChange" :scrollable="false" :current="state.currentTab"></su-tabs>
-		</su-sticky>
-		<s-empty v-if="state.pagination.total === 0" text="暂无数据" icon="/static/data-empty.png" />
-		<!-- 钱包记录 -->
-		<view v-if="state.pagination.total > 0">
-			<view class="wallet-list ss-flex border-bottom" v-for="item in state.pagination.data" :key="item.id">
-				<view class="list-content">
-					<view class="title-box ss-flex ss-row-between ss-m-b-20">
-						<!-- <text class="title ss-line-1">{{ item.event_text }}{{ item.memo ? '-' + item.memo : '' }}</text> -->
-						<text class="title ss-line-1">{{ item.title }}</text>
-						<view class="money">
-							<text v-if="(item.amount >= 0||item.price>=0)"
-								class="add">+{{ item.amount||item.price }}</text>
-							<text v-else class="minus">{{ item.price }}</text>
-						</view>
-					</view>
-					<text class="time">{{ item.createTime }}</text>
-				</view>
-			</view>
-		</view>
-		<uni-load-more v-if="state.pagination.total > 0" :status="state.loadStatus" :content-text="{
+  <s-layout class="wallet-wrap" title="钱包">
+    <!-- 钱包卡片 -->
+    <view class="header-box ss-flex ss-row-center ss-col-center">
+      <view class="card-box ui-BG-Main ui-Shadow-Main">
+        <view class="card-head ss-flex ss-col-center">
+          <view class="card-title ss-m-r-10">钱包余额(元)</view>
+          <view
+            @tap="state.showMoney = !state.showMoney"
+            class="ss-eye-icon"
+            :class="state.showMoney ? 'cicon-eye' : 'cicon-eye-off'"
+          />
+        </view>
+        <view class="ss-flex ss-row-between ss-col-center ss-m-t-64">
+          <view class="money-num">{{ state.showMoney ? fen2yuan(userInfo.money) : '*****' }}</view>
+          <button class="ss-reset-button topup-btn" @tap="sheep.$router.go('/pages/pay/recharge')">
+            充值
+          </button>
+        </view>
+      </view>
+    </view>
+
+    <su-sticky>
+      <!-- 统计 -->
+      <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">
+          <button class="ss-reset-button date-btn">
+            <text>{{ dateFilterText }}</text>
+            <text class="cicon-drop-down ss-seldate-icon"></text>
+          </button>
+        </uni-datetime-picker>
+        <view class="total-box">
+          <view class="ss-m-b-10">总收入¥{{ fen2yuan(state.summary.totalIncome) }}</view>
+          <view>总支出¥{{ fen2yuan(state.summary.totalExpense) }}</view>
+        </view>
+      </view>
+      <su-tabs
+        :list="tabMaps"
+        @change="onChange"
+        :scrollable="false"
+        :current="state.currentTab"
+      ></su-tabs>
+    </su-sticky>
+    <s-empty v-if="state.pagination.total === 0" text="暂无数据" icon="/static/data-empty.png" />
+
+    <!-- 钱包记录 -->
+    <view v-if="state.pagination.total > 0">
+      <view
+        class="wallet-list ss-flex border-bottom"
+        v-for="item in state.pagination.list"
+        :key="item.id"
+      >
+        <view class="list-content">
+          <view class="title-box ss-flex ss-row-between ss-m-b-20">
+            <text class="title ss-line-1">
+              {{ item.title }}
+            </text>
+            <view class="money">
+              <text v-if="item.price >= 0" class="add">+{{ fen2yuan(item.price) }}</text>
+              <text v-else class="minus">{{ fen2yuan(item.price) }}</text>
+            </view>
+          </view>
+          <text class="time">
+            {{ sheep.$helper.timeFormat(state.createTime, 'yyyy-mm-dd hh:MM:ss') }}
+          </text>
+        </view>
+      </view>
+    </view>
+    <uni-load-more
+      v-if="state.pagination.total > 0"
+      :status="state.loadStatus"
+      :content-text="{
         contentdown: '上拉加载更多',
-      }" />
-	</s-layout>
+      }"
+    />
+  </s-layout>
 </template>
 
 <script setup>
-	import {
-		computed,
-		watch,
-		reactive
-	} from 'vue';
-	import {
-		onLoad,
-		onReachBottom
-	} from '@dcloudio/uni-app';
-	import sheep from '@/sheep';
-	import dayjs from 'dayjs';
-	import _ from 'lodash';
-
-	const headerBg = sheep.$url.css('/static/img/shop/user/wallet_card_bg.png');
-
-	const pagination = {
-		data: [],
-		current_page: 1,
-		total: 1,
-		last_page: 1,
-		expense: 0,
-		income: 0,
-	};
-	// 数据
-	const state = reactive({
-		showMoney: false,
-		date: [],
-		currentTab: 0,
-		pagination,
-		loadStatus: '',
-		today: '',
-	});
-
-	const tabMaps = [{
-			name: '全部',
-			// value: 'all',
-		},
-		{
-			name: '收入',
-			value: '1',
-		},
-		{
-			name: '支出',
-			value: '2',
-		},
-	];
-	const userInfo = computed(() => sheep.$store('user').userInfo);
-	console.log(userInfo)
-	const dateFilterText = computed(() => {
-		if (state.date[0] === state.date[1]) {
-			return state.date[0];
-		} else {
-			return state.date.join('~');
-		}
-	});
-
-	async function getLogList(page = 1, list_rows = 8) {
-		// state.loadStatus = 'loading';
-		let res = await sheep.$api.user.wallet.log({
-			// type: 'money',
-			type: tabMaps[state.currentTab].value,
-			pageSize: list_rows,
-			pageNo: page,
-			// date: appendTimeHMS(state.date),
-		});
-		if (res.code === 0) {
-			let list = _.concat(state.pagination.data, res.data.list);
-			state.pagination = {
-				...res.data,
-				data: list,
-				income: res.data.income,
-				expense: res.data.expense,
-			};
-			console.log('交易数据', state.pagination)
-			if (state.pagination.current_page < state.pagination.last_page) {
-				state.loadStatus = 'more';
-			} else {
-				state.loadStatus = 'noMore';
-			}
-		}
-	}
-	onLoad(async (options) => {
-		state.today = dayjs().format('YYYY-MM-DD');
-		state.date = [state.today, state.today];
-		getLogList();
-	});
-
-	function onChange(e) {
-		state.pagination = pagination;
-		state.currentTab = e.index;
-		getLogList();
-	}
-
-	function onChangeTime(e) {
-		state.date[0] = e[0];
-		state.date[1] = e[e.length - 1];
-		state.pagination = pagination;
-		getLogList();
-	}
-
-	function appendTimeHMS(arr) {
-		return [arr[0] + ' 00:00:00', arr[1] + ' 23:59:59'];
-	}
-
-	onReachBottom(() => {
-		if (state.loadStatus !== 'noMore') {
-			getLogList(state.pagination.current_page + 1);
-		}
-	});
+  import { computed, reactive } from 'vue';
+  import { onLoad, onReachBottom } from '@dcloudio/uni-app';
+  import sheep from '@/sheep';
+  import dayjs from 'dayjs';
+  import _ from 'lodash';
+  import PayWalletApi from '@/sheep/api/pay/wallet';
+  import { fen2yuan } from '@/sheep/hooks/useGoods';
+  import { resetPagination } from '@/sheep/util';
+
+  const headerBg = sheep.$url.css('/static/img/shop/user/wallet_card_bg.png');
+
+  // 数据
+  const state = reactive({
+    showMoney: false,
+    date: [], // 筛选的时间段
+    currentTab: 0,
+    pagination: {
+      list: [],
+      total: 0,
+      pageNo: 1,
+      pageSize: 8
+    },
+    summary: {
+      totalIncome: 0,
+      totalExpense: 0,
+    },
+    loadStatus: '',
+    today: '',
+  });
+
+  const tabMaps = [
+    {
+      name: '全部',
+      value: '',
+    },
+    {
+      name: '收入',
+      value: '1',
+    },
+    {
+      name: '支出',
+      value: '2',
+    },
+  ];
+  const userInfo = computed(() => sheep.$store('user').userInfo);
+
+  // 格式化时间段
+  const dateFilterText = computed(() => {
+    if (state.date[0] === state.date[1]) {
+      return state.date[0];
+    } else {
+      return state.date.join('~');
+    }
+  });
+
+  // 获得钱包记录分页
+  async function getLogList() {
+    state.loadStatus = 'loading';
+    const { data, code } = await PayWalletApi.getWalletTransactionPage({
+      pageNo: state.pagination.pageNo,
+      pageSize: state.pagination.pageSize,
+      type: tabMaps[state.currentTab].value,
+      'createTime[0]': state.date[0] + ' 00:00:00',
+      'createTime[1]': state.date[1] + ' 23:59:59',
+    });
+    if (code !== 0) {
+      return;
+    }
+    state.pagination.list = _.concat(state.pagination.list, data.list);
+    state.pagination.total = data.total;
+    state.loadStatus = state.pagination.list.length < state.pagination.total ? 'more' : 'noMore';
+  }
+
+  // 获得钱包统计
+  async function getSummary() {
+    const { data, code } = await PayWalletApi.getWalletTransactionSummary({
+      'createTime': [state.date[0] + ' 00:00:00', state.date[1] + ' 23:59:59'],
+    });
+    if (code !== 0) {
+      return;
+    }
+    state.summary = data;
+  }
+
+  onLoad(() => {
+    state.today = dayjs().format('YYYY-MM-DD');
+    state.date = [state.today, state.today];
+    getLogList();
+    getSummary();
+  });
+
+  // 处理 tab 切换
+  function onChange(e) {
+    state.currentTab = e.index;
+    // 重新加载列表
+    resetPagination(state.pagination);
+    getLogList();
+    getSummary();
+  }
+
+  // 处理时间筛选
+  function onChangeTime(e) {
+    state.date[0] = e[0];
+    state.date[1] = e[e.length - 1];
+    // 重新加载列表
+    resetPagination(state.pagination);
+    getLogList();
+    getSummary();
+  }
+
+  onReachBottom(() => {
+    if (state.loadStatus === 'noMore') {
+      return;
+    }
+    state.pagination.pageNo++;
+    getLogList();
+  });
 </script>
 
 <style lang="scss" scoped>
-	// 钱包
-	.header-box {
-		background-color: $white;
-		padding: 30rpx;
-
-		.card-box {
-			width: 100%;
-			min-height: 300rpx;
-			padding: 40rpx;
-			background-size: 100% 100%;
-			border-radius: 30rpx;
-			overflow: hidden;
-			position: relative;
-			z-index: 1;
-			box-sizing: border-box;
-
-			&::after {
-				content: '';
-				display: block;
-				width: 100%;
-				height: 100%;
-				z-index: 2;
-				position: absolute;
-				top: 0;
-				left: 0;
-				background: v-bind(headerBg) no-repeat;
-				pointer-events: none;
-			}
-
-			.card-head {
-				color: $white;
-				font-size: 30rpx;
-			}
-
-			.ss-eye-icon {
-				font-size: 40rpx;
-				color: $white;
-			}
-
-			.money-num {
-				font-size: 70rpx;
-				line-height: 70rpx;
-				font-weight: 500;
-				color: $white;
-				font-family: OPPOSANS;
-			}
-
-			.reduce-num {
-				font-size: 26rpx;
-				font-weight: 400;
-				color: $white;
-			}
-
-			.topup-btn {
-				width: 120rpx;
-				height: 60rpx;
-				line-height: 60rpx;
-				border-radius: 30px;
-				font-size: 26rpx;
-				font-weight: 500;
-				background-color: $white;
-				color: var(--ui-BG-Main);
-			}
-		}
-	}
-
-	// 筛选
-
-	.filter-box {
-		height: 114rpx;
-		background-color: $bg-page;
-
-		.total-box {
-			font-size: 24rpx;
-			font-weight: 500;
-			color: $dark-9;
-		}
-
-		.date-btn {
-			background-color: $white;
-			line-height: 54rpx;
-			border-radius: 27rpx;
-			padding: 0 20rpx;
-			font-size: 24rpx;
-			font-weight: 500;
-			color: $dark-6;
-
-			.ss-seldate-icon {
-				font-size: 50rpx;
-				color: $dark-9;
-			}
-		}
-	}
-
-	.tabs-box {
-		background: $white;
-		border-bottom: 2rpx solid #eeeeee;
-	}
-
-	// tab
-	.wallet-tab-card {
-		.tab-item {
-			height: 80rpx;
-			position: relative;
-
-			.tab-title {
-				font-size: 30rpx;
-			}
-
-			.cur-tab-title {
-				font-weight: $font-weight-bold;
-			}
-
-			.tab-line {
-				width: 60rpx;
-				height: 6rpx;
-				border-radius: 6rpx;
-				position: absolute;
-				left: 50%;
-				transform: translateX(-50%);
-				bottom: 2rpx;
-				background-color: var(--ui-BG-Main);
-			}
-		}
-	}
-
-	// 钱包记录
-	.wallet-list {
-		padding: 30rpx;
-		background-color: #ffff;
-
-		.head-img {
-			width: 70rpx;
-			height: 70rpx;
-			border-radius: 50%;
-			background: $gray-c;
-		}
-
-		.list-content {
-			justify-content: space-between;
-			align-items: flex-start;
-			flex: 1;
-
-			.title {
-				font-size: 28rpx;
-				color: $dark-3;
-				width: 400rpx;
-			}
-
-			.time {
-				color: $gray-c;
-				font-size: 22rpx;
-			}
-		}
-
-		.money {
-			font-size: 28rpx;
-			font-weight: bold;
-			font-family: OPPOSANS;
-
-			.add {
-				color: var(--ui-BG-Main);
-			}
-
-			.minus {
-				color: $dark-3;
-			}
-		}
-	}
-</style>
+  // 钱包
+  .header-box {
+    background-color: $white;
+    padding: 30rpx;
+
+    .card-box {
+      width: 100%;
+      min-height: 300rpx;
+      padding: 40rpx;
+      background-size: 100% 100%;
+      border-radius: 30rpx;
+      overflow: hidden;
+      position: relative;
+      z-index: 1;
+      box-sizing: border-box;
+
+      &::after {
+        content: '';
+        display: block;
+        width: 100%;
+        height: 100%;
+        z-index: 2;
+        position: absolute;
+        top: 0;
+        left: 0;
+        background: v-bind(headerBg)
+          no-repeat;
+        pointer-events: none;
+      }
+
+      .card-head {
+        color: $white;
+        font-size: 30rpx;
+      }
+
+      .ss-eye-icon {
+        font-size: 40rpx;
+        color: $white;
+      }
+
+      .money-num {
+        font-size: 70rpx;
+        line-height: 70rpx;
+        font-weight: 500;
+        color: $white;
+        font-family: OPPOSANS;
+      }
+
+      .reduce-num {
+        font-size: 26rpx;
+        font-weight: 400;
+        color: $white;
+      }
+
+      .topup-btn {
+        width: 120rpx;
+        height: 60rpx;
+        line-height: 60rpx;
+        border-radius: 30px;
+        font-size: 26rpx;
+        font-weight: 500;
+        background-color: $white;
+        color: var(--ui-BG-Main);
+      }
+    }
+  }
+
+  // 筛选
+
+  .filter-box {
+    height: 114rpx;
+    background-color: $bg-page;
+
+    .total-box {
+      font-size: 24rpx;
+      font-weight: 500;
+      color: $dark-9;
+    }
+
+    .date-btn {
+      background-color: $white;
+      line-height: 54rpx;
+      border-radius: 27rpx;
+      padding: 0 20rpx;
+      font-size: 24rpx;
+      font-weight: 500;
+      color: $dark-6;
+
+      .ss-seldate-icon {
+        font-size: 50rpx;
+        color: $dark-9;
+      }
+    }
+  }
+
+  .tabs-box {
+    background: $white;
+    border-bottom: 2rpx solid #eeeeee;
+  }
+
+  // tab
+  .wallet-tab-card {
+    .tab-item {
+      height: 80rpx;
+      position: relative;
+
+      .tab-title {
+        font-size: 30rpx;
+      }
+
+      .cur-tab-title {
+        font-weight: $font-weight-bold;
+      }
+
+      .tab-line {
+        width: 60rpx;
+        height: 6rpx;
+        border-radius: 6rpx;
+        position: absolute;
+        left: 50%;
+        transform: translateX(-50%);
+        bottom: 2rpx;
+        background-color: var(--ui-BG-Main);
+      }
+    }
+  }
+
+  // 钱包记录
+  .wallet-list {
+    padding: 30rpx;
+    background-color: #ffff;
+
+    .head-img {
+      width: 70rpx;
+      height: 70rpx;
+      border-radius: 50%;
+      background: $gray-c;
+    }
+
+    .list-content {
+      justify-content: space-between;
+      align-items: flex-start;
+      flex: 1;
+
+      .title {
+        font-size: 28rpx;
+        color: $dark-3;
+        width: 400rpx;
+      }
+
+      .time {
+        color: $gray-c;
+        font-size: 22rpx;
+      }
+    }
+
+    .money {
+      font-size: 28rpx;
+      font-weight: bold;
+      font-family: OPPOSANS;
+      .add {
+        color: var(--ui-BG-Main);
+      }
+
+      .minus {
+        color: $dark-3;
+      }
+    }
+  }
+</style>

+ 26 - 0
sheep/api/pay/wallet.js

@@ -0,0 +1,26 @@
+import request from '@/sheep/request';
+
+const PayWalletApi = {
+  // 获得钱包流水分页
+  getWalletTransactionPage: (params) => {
+    const queryString = Object.keys(params)
+      .map((key) => encodeURIComponent(key) + '=' + params[key])
+      .join('&');
+    return request({
+      url: `/app-api/pay/wallet-transaction/page?${queryString}`,
+      method: 'GET'
+    });
+  },
+  // 获得钱包流水统计
+  getWalletTransactionSummary: (params) => {
+    const queryString = `createTime=${params.createTime[0]}&createTime=${params.createTime[1]}`
+    return request({
+      url: `/app-api/pay/wallet-transaction/get-summary?${queryString}`,
+      // url: `/app-api/pay/wallet-transaction/get-summary`,
+      method: 'GET',
+      // params: params
+    });
+  },
+};
+
+export default PayWalletApi;

+ 0 - 7
sheep/api/user.js

@@ -293,13 +293,6 @@ export default {
 				params,
 				custom: {},
 			}),
-		// log: (params) =>
-		// request({
-		// 	url: '/user/api/walletLog',
-		// 	method: 'GET',
-		// 	params,
-		// 	custom: {},
-		// }),
 	},
 	account: {
 		info: (params) =>

+ 20 - 10
sheep/store/user.js

@@ -52,6 +52,7 @@ const user = defineStore({
 
 	actions: {
 		// 获取个人信息
+    // TODO 芋艿:整理下;
 		async getInfo() {
 			const {
 				code,
@@ -65,14 +66,15 @@ const user = defineStore({
 				data: data2
 			} = await userApi.balance();
 			if (code !== 0 || code2 != 0) return;
-			data.money = data2.balance / 100;
+			data.money = data2.balance;
 			this.userInfo = data;
 			console.log(data2, '信息')
 			return Promise.resolve(data);
 		},
 
 		// 获取分销商信息
-		async getAgentInfo() {
+    // TODO 芋艿:整理下;
+    async getAgentInfo() {
 			const res = await commissionApi.agent();
 			if (res.error === 0) {
 				this.agentInfo = res.data;
@@ -81,7 +83,8 @@ const user = defineStore({
 		},
 
 		// 获取订单、优惠券等其他资产信息
-		async getNumData() {
+    // TODO 芋艿:整理下;
+    async getNumData() {
 			const {
 				code,
 				data
@@ -104,7 +107,8 @@ const user = defineStore({
 		},
 
 		// 添加分享记录
-		async addShareLog(params) {
+    // TODO 芋艿:整理下;
+    async addShareLog(params) {
 			const {
 				error
 			} = await userApi.addShareLog(params);
@@ -112,7 +116,8 @@ const user = defineStore({
 		},
 
 		// 设置token
-		setToken(token = '') {
+    // TODO 芋艿:整理下;
+    setToken(token = '') {
 			if (token === '') {
 				this.isLogin = false;
 				uni.removeStorageSync('token');
@@ -125,7 +130,8 @@ const user = defineStore({
 		},
 
 		// 更新用户相关信息 (手动限流 5秒之内不刷新)
-		async updateUserData() {
+    // TODO 芋艿:整理下;
+    async updateUserData() {
 			if (!this.isLogin) {
 				this.resetUserData();
 				return;
@@ -139,7 +145,8 @@ const user = defineStore({
 		},
 
 		// 重置用户默认数据
-		resetUserData() {
+    // TODO 芋艿:整理下;
+    resetUserData() {
 			this.setToken();
 			this.userInfo = clone(defaultUserInfo);
 			this.numData = cloneDeep(defaultNumData);
@@ -148,7 +155,8 @@ const user = defineStore({
 		},
 
 		// 登录后
-		async loginAfter() {
+    // TODO 芋艿:整理下;
+    async loginAfter() {
 			await this.updateUserData();
 			cart().getList();
 			// 登录后设置全局分享参数
@@ -159,7 +167,8 @@ const user = defineStore({
 			// }
 
 			// 添加分享记录
-			const shareLog = uni.getStorageSync('shareLog');
+      // TODO 芋艿:整理下;
+      const shareLog = uni.getStorageSync('shareLog');
 			if (!isEmpty(shareLog)) {
 				this.addShareLog({
 					...shareLog,
@@ -168,7 +177,8 @@ const user = defineStore({
 		},
 
 		// 登出
-		async logout(force = false) {
+    // TODO 芋艿:整理下;
+    async logout(force = false) {
 			if (!force) {
 				const { code } = AuthUtil.logout();
 				if (code === 0) {