yizhiyang 1 год назад
Родитель
Сommit
1e2c6dac54
5 измененных файлов с 142 добавлено и 43 удалено
  1. 0 16
      src/api/home.js
  2. 30 0
      src/api/tabbar/home.js
  3. 17 7
      src/pages/login/index.vue
  4. 13 6
      src/pages/tabbar/home/index.vue
  5. 82 14
      src/pages/tabbar/mine/index.vue

+ 0 - 16
src/api/home.js

@@ -1,16 +0,0 @@
-import { request } from '@/utils/request';
-
-/**
- * 获取首页
- * @returns
- */
-export function getHomePage(data) {
-  return request({
-    url: '/maintain/customer/index',
-    method: 'get',
-    data: data,
-    header: {
-      'content-type': 'application/x-www-form-urlencoded',
-    },
-  });
-}

+ 30 - 0
src/api/tabbar/home.js

@@ -0,0 +1,30 @@
+import { request } from '@/utils/request';
+
+/**
+ * 获取首页
+ * @returns
+ */
+export function getHomePageApi(data) {
+  return request({
+    url: '/maintain/customer/index',
+    method: 'get',
+    data: data,
+    header: {
+      'content-type': 'application/x-www-form-urlencoded',
+    },
+  });
+}
+
+/**
+ *@description 获取首页分类的数据
+ */
+
+export function getCategoriesApi() {
+  return request({
+    url: '/maintain/categories',
+    methods: get,
+    header: {
+      'content-type': 'application/x-www-form-urlencoded',
+    },
+  });
+}

+ 17 - 7
src/pages/login/index.vue

@@ -2,8 +2,15 @@
   <view class="container">
     <u-image src="@/static/logo.png" mode="widthFix"></u-image>
     <view class="login-btn-wrap">
-      <u-button shape="circle" type="primary" :loading="loading" @tap="login">微信用户一键登录</u-button>
-      <u-button shape="circle" :customStyle="{ 'margin-top': '20rpx' }" @tap="$Router.push('/pages/login/phoneLogin')">手机号登录/注册</u-button>
+      <u-button shape="circle" type="primary" :loading="loading" @tap="login"
+        >微信用户一键登录</u-button
+      >
+      <u-button
+        shape="circle"
+        :customStyle="{ 'margin-top': '20rpx' }"
+        @tap="$Router.push('/pages/login/phoneLogin')"
+        >手机号登录/注册</u-button
+      >
     </view>
     <view>
       我已阅读并同意
@@ -37,11 +44,14 @@ export default {
         .then(() => {
           this.loading = false;
           uni.$u.toast('登录成功');
-          this.$store.dispatch('GetUserInfo').then(()=>{
-            this.$Router.pushTab('/pages/tabbar/home/index');
-          }).catch(err=>{
-            console.log(err);
-          })
+          this.$store
+            .dispatch('GetUserInfo')
+            .then(() => {
+              this.$Router.pushTab('/pages/tabbar/home/index');
+            })
+            .catch(err => {
+              console.log(err);
+            });
         })
         .catch(() => {
           this.loading = false;

+ 13 - 6
src/pages/tabbar/home/index.vue

@@ -67,7 +67,7 @@
       >
         <view slot="title" class="hot-title"> 热门推荐 </view>
       </u-cell>
-      <block v-if="homeData.recommends&&homeData.recommends.length > 0">
+      <block v-if="homeData.recommends && homeData.recommends.length > 0">
         <view>
           <u-grid :border="false" col="2">
             <u-grid-item
@@ -99,7 +99,7 @@
       >
         <view slot="title" class="near-title"> 附近商家 </view>
       </u-cell>
-      <block v-if="homeData.nears&&homeData.nears.length > 0">
+      <block v-if="homeData.nears && homeData.nears.length > 0">
         <view>
           <u-grid :border="false" col="2">
             <u-grid-item
@@ -125,10 +125,10 @@
 </template>
 
 <script>
-import { getHomePage } from '@/api/home';
 import { mapGetters } from 'vuex';
 import RecommendItem from '@/components/merchant/RecommendItem.vue';
 import HotItem from '@/components/merchant/HotItem.vue';
+import { getHomePageApi, getCategoriesApi } from '@/api/tabbar/home';
 
 export default {
   components: {
@@ -208,7 +208,7 @@ export default {
         },
       ],
       homeData: {
-        categories:[],
+        categories: [],
         nears: [],
         recommends: [],
       },
@@ -251,6 +251,7 @@ export default {
         this.manualGetLocation();
       },
     });
+    this.getCategories();
   },
   methods: {
     change() {},
@@ -258,11 +259,11 @@ export default {
       this.$refs.uToast.success(`点击了第${name}个`);
     },
     getHomeData(location) {
-      getHomePage(location)
+      getHomePageApi(location)
         .then(res => {
           this.homeData = res.data;
           // 将分类数据做缓存处理
-          this.$store.commit('SET_CATEGORIES',this.homeData.categories)
+          this.$store.commit('SET_CATEGORIES', this.homeData.categories);
         })
         .catch(err => {
           console.log(err);
@@ -278,6 +279,12 @@ export default {
         },
       });
     },
+
+    /* 分类数据的请求 */
+    async getCategories() {
+      let res = await getCategoriesApi;
+      console.log(res, 'uuuuuuuu');
+    },
   },
   watch: {
     location: {

+ 82 - 14
src/pages/tabbar/mine/index.vue

@@ -2,7 +2,10 @@
   <view class="container">
     <view class="head-wrap">
       <view class="content">
-        <view class="avatar-wrap" @tap="$Router.push('/pages/my/personalCenter/index')">
+        <view
+          class="avatar-wrap"
+          @tap="$Router.push('/pages/my/personalCenter/index')"
+        >
           <u-avatar :src="user_info.avatar" size="80"></u-avatar>
         </view>
         <view>
@@ -10,13 +13,21 @@
           <view class="user-base" v-if="user_info.nickname">
             <view class="user-nickname">{{ user_info.nickname }}</view>
             <view class="btn-wrap">
-              <view class="btn-content" @tap="$Router.push('/pages/my/settings/index')">设置</view>
+              <view
+                class="btn-content"
+                @tap="$Router.push('/pages/my/settings/index')"
+                >设置</view
+              >
               <view class="btn-content">认证</view>
             </view>
           </view>
 
           <!-- 未登录 -->
-          <view class="clickLogin" v-else @tap="$Router.push('/pages/login/index')">
+          <view
+            class="clickLogin"
+            v-else
+            @tap="$Router.push('/pages/login/index')"
+          >
             点击登录
           </view>
         </view>
@@ -25,19 +36,38 @@
       <!-- 收藏 -->
       <view class="Collect">
         <u-grid :border="false" col="4">
-          <u-grid-item v-for="(listItem, listIndex) in list1" :key="listIndex" @tap="$Router.push(listItem.url)">
-            <u-icon :customStyle="{ paddingTop: 20 + 'rpx' }" :name="listItem.name" :size="24" color="#fff" />
+          <u-grid-item
+            v-for="(listItem, listIndex) in list1"
+            :key="listIndex"
+            @tap="$Router.push(listItem.url)"
+          >
+            <u-icon
+              :customStyle="{ paddingTop: 20 + 'rpx' }"
+              :name="listItem.name"
+              :size="24"
+              color="#fff"
+            />
             <text class="grid-text">{{ listItem.title }}</text>
           </u-grid-item>
         </u-grid>
       </view>
 
       <!-- 我的订单 -->
-      <view class="order-out-box" @tap="$Router.push('/pages/my/myOrder/index')">
+      <view
+        class="order-out-box"
+        @tap="$Router.push('/pages/my/myOrder/index')"
+      >
         <view class="order-inner-box">
           <u-grid :border="false" col="4" style="background-color: #fff">
-            <u-grid-item v-for="(listItem, listIndex) in list2" :key="listIndex">
-              <u-icon :customStyle="{ paddingTop: 20 + 'rpx' }" :name="listItem.name" :size="34"></u-icon>
+            <u-grid-item
+              v-for="(listItem, listIndex) in list2"
+              :key="listIndex"
+            >
+              <u-icon
+                :customStyle="{ paddingTop: 20 + 'rpx' }"
+                :name="listItem.name"
+                :size="34"
+              ></u-icon>
               <text class="grid-text">{{ listItem.title }}</text>
             </u-grid-item>
           </u-grid>
@@ -54,7 +84,10 @@
         </view>
         <view class="income-content">
           <u-grid :border="false" col="4" bgColor="#fff">
-            <u-grid-item v-for="(listItem, listIndex) in incomeList" :key="listIndex">
+            <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>
@@ -65,16 +98,49 @@
 
     <!-- 预约列表 -->
     <view class="appointList">
-      <u-cell icon="setting-fill" title="预约列表" isLink url="/pages/my/appoint/index" />
+      <u-cell
+        icon="setting-fill"
+        title="预约列表"
+        isLink
+        url="/pages/my/appoint/index"
+      />
     </view>
 
     <view class="other-out-box">
       <view class="other-inner-box">
         <u-cell-group :border="false">
-          <u-cell size="large" :border="false" icon="setting-fill" title="我的团队" isLink url=""></u-cell>
-          <u-cell size="large" :border="false" icon="setting-fill" title="关于我们" isLink url=""></u-cell>
-          <u-cell size="large" :border="false" icon="setting-fill" title="隐私条款" isLink url=""></u-cell>
-          <u-cell size="large" :border="false" icon="setting-fill" title="客服中心" isLink url=""></u-cell>
+          <u-cell
+            size="large"
+            :border="false"
+            icon="setting-fill"
+            title="我的团队"
+            isLink
+            url=""
+          ></u-cell>
+          <u-cell
+            size="large"
+            :border="false"
+            icon="setting-fill"
+            title="关于我们"
+            isLink
+            url=""
+          ></u-cell>
+          <u-cell
+            size="large"
+            :border="false"
+            icon="setting-fill"
+            title="隐私条款"
+            isLink
+            url=""
+          ></u-cell>
+          <u-cell
+            size="large"
+            :border="false"
+            icon="setting-fill"
+            title="客服中心"
+            isLink
+            url=""
+          ></u-cell>
         </u-cell-group>
       </view>
     </view>
@@ -170,6 +236,8 @@ export default {
     .clickLogin {
       font-size: 48rpx;
       color: #ffffff;
+      margin-top: 40rpx;
+      margin-left: 20rpx;
     }
 
     .avatar-wrap {