drew 5 лет назад
Родитель
Сommit
76d67235fd
6 измененных файлов с 74 добавлено и 15 удалено
  1. 6 0
      project.config.json
  2. 2 2
      src/App.vue
  3. 9 1
      src/main.js
  4. 6 5
      src/pages/my.vue
  5. 35 7
      src/pages/register.vue
  6. 16 0
      src/pages/testDrive.vue

+ 6 - 0
project.config.json

@@ -90,6 +90,12 @@
                     "name": "登录",
                     "pathName": "pages/login",
                     "scene": null
+                },
+                {
+                    "id": -1,
+                    "name": "试驾",
+                    "pathName": "pages/testDrive",
+                    "scene": null
                 }
             ]
         }

+ 2 - 2
src/App.vue

@@ -3,8 +3,8 @@ export default {
     onLaunch(options) {
         wx.login({
             success: res => {
-                console.log(res.code);
-                return;
+                // console.log(res.code);
+                // return;
                 // eslint-disable-next-line no-unreachable
                 new Promise((resolve, reject) => {
                     wx.request({

+ 9 - 1
src/main.js

@@ -40,7 +40,15 @@ app.$mount();
 export default {
     config: {
         // pages 的首个页面会被编译成首页
-        pages: ['pages/home', 'pages/car', 'pages/tuxiang', 'pages/my', 'pages/register', 'pages/login'],
+        pages: [
+            'pages/home',
+            'pages/car',
+            'pages/tuxiang',
+            'pages/my',
+            'pages/register',
+            'pages/login',
+            'pages/testDrive'
+        ],
         tabBar: {
             color: '#6F6E77',
             selectedColor: '#149A9A',

+ 6 - 5
src/pages/my.vue

@@ -1,9 +1,9 @@
 <template>
     <div>
-        <button open-type="getUserInfo" @getuserinfo="getUserInfo" class="top">
+        <div @click="login" class="top">
             <img src="../static/imgs/user.png" class="avatar" />
             <div class="name">点击登录</div>
-        </button>
+        </div>
         <div class="cell">
             <div class="title">COUPE订单</div>
             <div class="desc"></div>
@@ -33,9 +33,10 @@ export default {
                 phoneNumber: '4000868888'
             });
         },
-        getUserInfo(e) {
-            console.log(e);
-            this.$http.post('/applets/dealuserinfo', { ...e.detail, userInfo: JSON.stringify(e.detail.userInfo) });
+        login(e) {
+            wx.navigateTo({
+                url: '/pages/register'
+            });
         }
     }
 };

+ 35 - 7
src/pages/register.vue

@@ -15,7 +15,9 @@
         <van-field placeholder="确认密码" password @input="password1 = $event.detail" />
         <div class="login" @click="login">已有账号,<span class="link">点击登录</span></div>
         <div style="padding: 0 16px; margin-top: 20px;">
-            <van-button @click="register" :color="$colors.prim" block>立即注册</van-button>
+            <van-button :color="$colors.prim" block open-type="getUserInfo" @getuserinfo="getUserInfo">
+                立即注册
+            </van-button>
         </div>
     </div>
 </template>
@@ -63,7 +65,7 @@ export default {
                     }, 1000);
                 });
         },
-        register() {
+        getUserInfo(e) {
             if (!/^1\d{10}$/.test(this.mobile)) {
                 wx.showToast({
                     icon: 'none',
@@ -96,11 +98,34 @@ export default {
                 title: '',
                 mask: true
             });
-            this.$http
-                .get('/applets/register', {
-                    mobile: this.mobile,
-                    password: this.password,
-                    code: this.code
+            Promise.resolve()
+                .then(() => {
+                    if (this.$store.state.loginInfo && this.$store.state.loginInfo.hasUnionId) {
+                        return Promise.resolve();
+                    } else {
+                        this.$http.post('/applets/dealuserinfo', {
+                            ...e.detail,
+                            userInfo: JSON.stringify(e.detail.userInfo)
+                        });
+                    }
+                })
+                .then(res => {
+                    if (res.code === 200) {
+                        return this.$http.get('/applets/checkmobileexist');
+                    } else {
+                        return Promise.reject(res.message);
+                    }
+                })
+                .then(res => {
+                    if (res.code === 200) {
+                        return this.$http.get('/applets/register', {
+                            mobile: this.mobile,
+                            password: this.password,
+                            code: this.code
+                        });
+                    } else {
+                        return Promise.reject(res.message);
+                    }
                 })
                 .then(res => {
                     console.log(res);
@@ -123,6 +148,9 @@ export default {
                         return Promise.reject(res.message);
                     }
                 })
+                .then(() => {
+                    wx.hideLoading();
+                })
                 .catch(e => {
                     wx.hideLoading();
                     wx.showToast({

+ 16 - 0
src/pages/testDrive.vue

@@ -0,0 +1,16 @@
+<config>
+{
+    "navigationBarTitleText": "预约试驾"
+}
+</config>
+<template>
+    <div></div>
+</template>
+<script>
+export default {
+    data() {
+        return {};
+    }
+};
+</script>
+<style lang="less"></style>