Browse Source

获取基本信息

Xiao_123 1 year ago
parent
commit
0815e3dcc9

+ 2 - 2
pages/order/list.vue

@@ -9,8 +9,8 @@
         :current="state.currentTab"
       />
     </su-sticky>
-    <s-empty v-if="state.pagination.total === 0" icon="/static/order-empty.png" text="暂无订单" />
-    <view v-if="state.pagination.total > 0">
+    <s-empty v-if="!state.pagination.list.length" icon="/static/order-empty.png" text="暂无订单" />
+    <view v-else>
       <view
         class="bg-white order-list-card-box ss-r-10 ss-m-t-14 ss-m-20"
         v-for="order in state.pagination.list"

+ 9 - 10
pages/user/info.vue

@@ -15,7 +15,7 @@
             class="content-img"
             isPreview
             :current="0"
-            :src="state.model?.avatar"
+            :src="state.model?.avatar || sheep.$url.static('/static/img/shop/default_avatar.png')"
             :height="160"
             :width="160"
             :radius="80"
@@ -40,10 +40,10 @@
 
       <view class="bg-white ss-p-x-30">
         <!-- 昵称 + 性别 -->
-        <uni-forms-item name="name" label="昵称">
+        <uni-forms-item name="nickname" label="昵称">
           <uni-easyinput
-            v-model="state.model.name"
-            type="name"
+            v-model="state.model.nickname"
+            type="nickname"
             placeholder="设置昵称"
             :inputBorder="false"
             :placeholderStyle="placeholderStyle"
@@ -58,7 +58,7 @@
                     :value="item.value"
                     color="var(--ui-BG-Main)"
                     style="transform: scale(0.8)"
-                    :checked="item.value === state.model?.sex"
+                    :checked="parseInt(item.value) === state.model?.sex"
                   />
                   <view class="gender-name">{{ item.name }}</view>
                 </view>
@@ -67,7 +67,7 @@
           </view>
         </uni-forms-item>
 
-        <uni-forms-item name="phone" label="手机号" @tap="onChangeMobile">
+        <!-- <uni-forms-item name="phone" label="手机号" @tap="onChangeMobile">
           <uni-easyinput
             v-model="userInfo.phone"
             placeholder="请绑定手机号"
@@ -86,7 +86,7 @@
               </view>
             </template>
           </uni-easyinput>
-        </uni-forms-item>
+        </uni-forms-item> -->
 
         <!-- <uni-forms-item name="password" label="登录密码" @tap="onSetPassword">
           <uni-easyinput
@@ -280,19 +280,18 @@
   async function onSubmit() {
     const { code } = await UserApi.updateUser({
       avatar: state.model.avatar,
-      name: state.model.name,
+      nickname: state.model.nickname,
       sex: state.model.sex,
     });
     if (code === 0) {
       await getUserInfo();
     }
   }
-
   // 获得用户信息
   const getUserInfo = async () => {
     // 个人信息
     const userInfo = await sheep.$store('user').getInfo();
-    state.model = clone(userInfo);
+    state.model = clone(userInfo)
 
     // 获得社交用户的信息
     if (sheep.$platform.name !== 'H5') {

+ 1 - 2
sheep/api/member/user.js

@@ -4,8 +4,7 @@ const UserApi = {
   // 获得基本信息
   getUserInfo: (params) => {
     return request({
-      // url: '/member/user/get',
-      url: '/menduner/system/person/get',
+      url: '/member/user/get',
       method: 'GET',
       params,
       custom: {

+ 3 - 2
sheep/components/s-auth-modal/components/account-login.vue

@@ -9,7 +9,7 @@
         </view>
         <view class="head-title ss-m-r-40 head-title-animation">账号登录</view>
       </view>
-      <view class="head-subtitle">如果未设置过密码,请点击忘记密码</view>
+      <!-- <view class="head-subtitle">如果未设置过密码,请点击忘记密码</view> -->
     </view>
 
     <!-- 表单项 -->
@@ -96,7 +96,8 @@
 
     // 提交数据
     const { code, data } = await AuthUtil.login(state.model);
-    if (data) uni.setStorageSync('accountInfo', JSON.stringify(data))
+    sheep.$store('user').accountInfo = data ? data : {}
+    await sheep.$store('user').getInfo()
     if (code === 0) {
       closeAuthModal();
     }

+ 8 - 7
sheep/components/s-auth-modal/components/sms-login.vue

@@ -21,10 +21,10 @@
       labelWidth="140"
       labelAlign="center"
     >
-      <uni-forms-item name="mobile" label="手机号">
+      <uni-forms-item name="phone" label="手机号">
         <uni-easyinput
           placeholder="请输入手机号"
-          v-model="state.model.mobile"
+          v-model="state.model.phone"
           :inputBorder="false"
           type="number"
         >
@@ -81,18 +81,18 @@
     isMobileEnd: false, // 手机号输入完毕
     codeText: '获取验证码',
     model: {
-      mobile: '', // 手机号
+      phone: '', // 手机号
       code: '', // 验证码
     },
     rules: {
       code,
-      mobile,
+      phone: mobile,
     },
   });
 
   function handleSendCode () {
-    if (!state.model.mobile) return sheep.$helper.toast('请输入手机号');
-    getSmsCode('smsLogin', state.model.mobile)
+    if (!state.model.phone) return sheep.$helper.toast('请输入手机号');
+    getSmsCode('smsLogin', state.model.phone)
   }
 
   // 短信登录
@@ -113,7 +113,8 @@
     }
     // 提交数据
     const { code, data } = await AuthUtil.smsLogin(state.model);
-    if (data) uni.setStorageSync('accountInfo', JSON.stringify(data))
+    sheep.$store('user').accountInfo = data ? data : {}
+    await sheep.$store('user').getInfo()
     if (code === 0) {
       closeAuthModal();
     }

+ 5 - 6
sheep/components/s-user-card/s-user-card.vue

@@ -6,13 +6,13 @@
 				<view class="avatar-box ss-m-r-24">
 					<image class="avatar-img" :src="
               isLogin
-                ? (sheep.$url.cdn(userInfo.avatar) ? sheep.$url.cdn(userInfo.avatar): sheep.$url.static('/static/img/shop/default_avatar.png'))
+                ? (sheep.$url.cdn(userInfo?.avatar) ? sheep.$url.cdn(userInfo?.avatar): sheep.$url.static('/static/img/shop/default_avatar.png'))
                 : sheep.$url.static('/static/img/shop/default_avatar.png')
             " mode="aspectFill"></image>
 				</view>
 				<view>
 					<view class="nickname-box ss-flex ss-col-center">
-						<view class="nick-name ss-m-r-20">{{ userInfo?.name || nickname }}</view>
+						<view class="nick-name ss-m-r-20">{{ isLogin ? userInfo?.nickname : nickname }}</view>
 					</view>
 				</view>
 			</view>
@@ -24,16 +24,16 @@
 		</view>
 
 		<!-- 提示绑定手机号 先隐藏 yudao 需要再修改 -->
-		<view
+		<!-- <view
       class="bind-mobile-box ss-flex ss-row-between ss-col-center"
-      v-if="isLogin && !userInfo.mobile"
+      v-if="isLogin && !userInfo?.mobile"
     >
       <view class="ss-flex">
         <text class="cicon-mobile-o" />
         <view class="mobile-title ss-m-l-20"> 点击绑定手机号确保账户安全 </view>
       </view>
       <button class="ss-reset-button bind-btn" @tap="onBind">去绑定</button>
-    </view>
+    </view> -->
 	</view>
 </template>
 
@@ -64,7 +64,6 @@
 
 	// 用户信息
 	const userInfo = computed(() => sheep.$store('user').userInfo);
-	console.log('用户信息', userInfo)
 
 	// 是否登录
 	const isLogin = computed(() => sheep.$store('user').isLogin);

+ 3 - 3
sheep/components/s-wallet-card/s-wallet-card.vue

@@ -4,7 +4,7 @@
 		<view class="menu-item ss-flex-1 ss-flex-col ss-row-center ss-col-center"
 			@tap="sheep.$router.go('/pages/user/wallet/money')">
 			<view class="value-box ss-flex ss-col-bottom">
-				<view class="value-text ss-line-1">{{ fen2yuan(userWallet.balance) || '0.00' }}</view>
+				<view class="value-text ss-line-1">{{ fen2yuan(userWallet?.balance) || '0.00' }}</view>
 				<view class="unit-text ss-m-l-6">元</view>
 			</view>
 			<view class="menu-title ss-m-t-28">账户余额</view>
@@ -12,7 +12,7 @@
 		<view class="menu-item ss-flex-1 ss-flex-col ss-row-center ss-col-center"
 			@tap="sheep.$router.go('/pages/user/wallet/score')">
 			<view class="value-box ss-flex ss-col-bottom">
-				<view class="value-text">{{ userInfo.point || 0 }}</view>
+				<view class="value-text">{{ userInfo?.point || 0 }}</view>
 				<view class="unit-text ss-m-l-6">个</view>
 			</view>
 			<view class="menu-title ss-m-t-28">积分</view>
@@ -23,7 +23,7 @@
         })
       ">
 			<view class="value-box ss-flex ss-col-bottom">
-				<view class="value-text">{{ numData.unusedCouponCount }}</view>
+				<view class="value-text">{{ numData?.unusedCouponCount || 0 }}</view>
 				<view class="unit-text ss-m-l-6">张</view>
 			</view>
 			<view class="menu-title ss-m-t-28">优惠券</view>

+ 12 - 3
sheep/store/user.js

@@ -18,6 +18,15 @@ const defaultUserInfo = {
   point: 0, // 积分
 };
 
+// 默认账户信息
+const defaultAccountInfo = {
+  accessToken: '',
+  expiresTime: '',
+  openid: '',
+  refreshToken: '',
+  userId: ''
+}
+
 // 默认钱包信息
 const defaultUserWallet = {
   balance: 0, // 余额
@@ -44,7 +53,7 @@ const user = defineStore({
     isLogin: !!uni.getStorageSync('token'), // 登录状态
     numData: cloneDeep(defaultNumData), // 用户其他数据
     lastUpdateTime: 0, // 上次更新时间
-    accountInfo: uni.getStorageSync('accountInfo') ? JSON.parse(uni.getStorageSync('accountInfo')) : {}, // 账号信息
+    accountInfo: cloneDeep(defaultAccountInfo), // 账号信息
   }),
 
   actions: {
@@ -57,7 +66,6 @@ const user = defineStore({
       this.userInfo = data;
       return Promise.resolve(data);
     },
-
     // 获得用户钱包
     async getWallet() {
       const { code, data } = await PayWalletApi.getPayWallet();
@@ -110,7 +118,7 @@ const user = defineStore({
       this.lastUpdateTime = nowTime;
 
       // 获取最新信息
-      await this.getInfo();
+      // await this.getInfo();
       this.getWallet();
       this.getNumData();
       return this.userInfo;
@@ -124,6 +132,7 @@ const user = defineStore({
       this.userInfo = clone(defaultUserInfo);
       this.userWallet = clone(defaultUserWallet);
       this.numData = cloneDeep(defaultNumData);
+      this.accountInfo = cloneDeep(defaultAccountInfo);
       // 清空购物车的缓存
       cart().emptyList();
     },