登陆/注册

第一步 : 我的页面

<template>
     <div class="home">
       <!-- 头部 -->
       <van-nav-bar style="background-color:#2F8FEA" :border="false">
         <template #title>
           <div style="color:#fff">
           我的
           </div>
         </template>
         <template #left>
           <div>
             <van-icon name="arrow-left"  color="#fff" />
           </div>
         </template>
       </van-nav-bar>
     <!-- 登录 -->
       <div class="box" @click="goto">
       <div class="box-left"><van-image width="50" round height="50" src="https://img.yzcdn.cn/vant/cat.jpeg" /></div>
       <div class="box-center">
         <p  v-if="username==''" style="font-size:20px;">登录/注册</p>
         <p v-else style="font-size:20px;">{{username}}</p>
         <p class="iconfont icon-shouji" style="font-size:13px">暂无绑定手机号</p>
       </div>
       <div class="box-right">
         <van-icon name="arrow" />
       </div>
        </div>
    <!-- 宫格 -->
     
   <van-row class="text">
     <van-col span="8">
       <p><span class="jin" style="color: #FA9C2D;">00.0</span></p>
       <p class="text-p">我的余额</p>
     </van-col>
     <van-col span="8">
       <p><span class="jin" style=" color:#EE724F ;">0</span></p>
       <p class="text-p">我的优惠</p>
     </van-col>
     <van-col span="8">
       <p><span class="jin" style="color:green">0</span></p>
       <p class="text-p">我的积分</p>
     </van-col>
   </van-row>
   
   <!-- 单元格 -->
          <div class="group">
             <van-cell-group>
             <van-cell title="我的订单"  icon="records"  is-link   />
             </van-cell-group>
             <van-cell-group>
               <van-cell title="积分商城"  icon="bag"  is-link   />
             </van-cell-group>
             <van-cell-group>
               <van-cell title="饿了么会员卡"  icon="diamond"  is-link   />
             </van-cell-group>
          </div>
          <div>
             <van-cell-group>
              <van-cell title="服务中心"  icon="card"  is-link   />
             </van-cell-group>
             <van-cell-group>
              <van-cell title="下载饿了么APP"  icon="replay"  is-link   />
             </van-cell-group>
         </div>
         <van-tabbar>
           <van-tabbar-item icon="home-o" style="color:#000" >外卖</van-tabbar-item>
           <van-tabbar-item icon="search">搜索</van-tabbar-item>
           <van-tabbar-item icon="friends-o">订单</van-tabbar-item>
           <van-tabbar-item icon="setting-o" style="color:#1989fa">我的</van-tabbar-item>
         </van-tabbar>
   </div>
 </template>
   
 <script>
export default {
     data(){
       return{
         username:''
       }
     },
     created(){
       let user= sessionStorage.user
       if(user){
         this.username = user
       }
     },
     methods:{
      goto(){
        if(this.username == ''){
          this.$router.push({
          path:"/endty"
        })
        }else{
            this.$router.push({
          path:"/user" 
        })
        }
        
      }
     }
     
     
   };
 </script>
 <style scoped>
   .home{
     background:#F6F6F5 ;
   }
   .box{
     width: 100%;
     height: 80px;
     background:#2F8FEA ;
     display: flex;
     align-items: center;
     color:#fff;
   }
   .box-left{
     margin-left: 10px;
   }
   .box-center{
     width: 70%;
     margin-left: 10px;
   }
   .text{
     text-align: center;
      padding:20px  0px;
      font-size: 13px;
      background: #fff;
   }
   .text-p{
     
     color:gray;
   }
   .jin{
     font-size: 20px;
   }
   .group{
     margin: 10px 0px;
   }
</style>

在这里插入图片描述

点击登陆/注册 ,如果未登录跳转到登陆页

<template>
  <div class="endty">
      <van-nav-bar style="background-color:#2F8FEA" :border="false" @click-left="goto">
         <template #title>
           <div style="color:#fff">
           登录
           </div>
         </template>
         <template #left>
           <div>
             <van-icon name="arrow-left"  color="#fff" />
           </div>
         </template>
       </van-nav-bar>
      <div class="main">
        <van-cell-group>
            <van-field
              v-model="username"
              label="用户名"
              placeholder="请输入手机号"
              :rules="[{required:true,message:'请填写用户名'},{pattern:/^[1][3,6,5,7,8,9][0-9]{9}$/ , message:'请输入正确的手机号'}]"
            />
            <van-field
              type="password"
              v-model="password "
              label="密码"
              placeholder="请输入密码"
                :rules="[{required:true,message:'请填写密码'},{pattern:/^\w{6,}$/ , message:'密码不得少于6位'}]"
            />
         </van-cell-group>
         <van-button type="primary" block @click="noSubmit">登录</van-button>
         <router-link to="/reg" style="margin-left: 75%;padding-top: 20px;">新用户注册</router-link>
       </div>
  </div>
</template>
  

<script>
export default {
  data() {
    return {
      username:"",
      password:""
    }
  },
  methods: {
    goto(){
      this.$router.push({
        path:"/"
      })
    },
    noSubmit(){
      if(this.username.trim() == "" && this.password.tirm() == ""){
        return
      }
      if(this.username.match(/^[1][3,6,5,7,8,9][0-9]{9}$/) && this.password.match(/^\w{6,}$/)){
        return
      }
      let users = localStorage.users;
      if(users){
        users = JSON.parse(users)
        let isLogin= false
        users.map(item=>{
          if(item.username == this.username && item.password == this.password){
              isLogin =true
              return
          }
        })

        if(isLogin){
          sessionStorage.user= this.username
          this.$router.push({
            path:'/'
          })
        }else{
          this.$notify({
          type:"danger",
          message:"输入账号或密码有误!!!"
        })
        }
      }else{
        this.$notify({
          type:"danger",
          message:"用户不存在!!!"
        })
      }

    }
  },
}
</script>

<style scoped>
.endty{
  height: 635px;
  width: 100%;
  background:#c7c7c4;
}
.main{
  margin-top: 10px;
  height: 300px;
  width: 100%;
  background: #fff;
}

</style>

在这里插入图片描述

未注册请点击新用户注册跳转到注册页面

<template>
  <div class="endty">
      <van-nav-bar style="background-color:#2F8FEA" :border="false" @click-left="goto">
         <template #title>
           <div style="color:#fff">
           注册页
           </div>
         </template>
         <template #left>
           <div>
             <van-icon name="arrow-left"  color="#fff" />
           </div>
         </template>
       </van-nav-bar>
         <div class="main">
        <van-cell-group>
            <van-field
              v-model="username"
              label="用户名"
              placeholder="请输入手机号"
              :rules="[{required:true,message:'请填写用户名'},{pattern:/^[1][3,6,5,7,8,9][0-9]{9}$/ , message:'请输入正确的手机号'}]"
            />
            <van-field
              type="password"
              v-model="password "
              label="密码"
              placeholder="请输入密码"
                :rules="[{required:true,message:'请填写密码'},{pattern:/^\w[6,]$/ , message:'密码不得少于6位'}]"
            />
         </van-cell-group>
         <van-button type="primary" block @click="noSubmit">注册</van-button>
         <router-link to="/endty" style="margin-left: 80%;padding-top: 20px;">立即登录</router-link>
       </div>
  </div>
</template>

<script>
export default {
   data() {
    return {
      username:"",
      password:"",

    }
  },
  methods: {
     goto(){
      this.$router.push({
        path:"/endty"
      })
    },
     noSubmit(){
      if(this.username.trim() == "" && this.password.tirm() == ""){
        return
      }
      if(this.username.match(/^[1][3,6,5,7,8,9][0-9]{9}$/) && this.password.match(/^\w[6,]$/)){
        return
      }
      let users = localStorage.users;
      if(users){
        users = JSON.parse(users)
      }else{
        users=[]
      }

      users.push({
        username:this.username,
        password:this.password
      })
      localStorage.users = JSON.stringify(users)
      this.$notify({
        type:"success",
        message:"新用户注册成功"
      })
      setTimeout(()=>{
        this.$router.push({
          path:"/endty"
        })
      },2000)
  },
  }
}
</script>

<style scoped>
.endty{
  height: 635px;
  width: 100%;
  background:#c7c7c4;
}
.main{
  margin-top: 10px;
  height: 300px;
  width: 100%;
  background: #fff;
}

</style>

在这里插入图片描述

如果已登录点击登陆/注册跳转信息页

<template>
  <div class="users">
       <van-nav-bar style="background-color:#2F8FEA" :border="false">
         <template #title>
           <div style="color:#fff">
           账户信息
           </div>
         </template>
         <template #left>
           <div>
             <van-icon name="arrow-left"  color="#fff" />
           </div>
         </template>
       </van-nav-bar>
        <div class="group">
             <van-cell-group>
             <van-cell title="头像" is-link center>
               <template #default>
                 <div>
                   <van-image width="50" round height="50" src="https://img.yzcdn.cn/vant/cat.jpeg" />
                 </div>
               </template>
             </van-cell>
             </van-cell-group>
             <van-cell-group>
               <van-cell title="用户名" is-link :value="username"/>
             </van-cell-group>
             <van-cell-group>
               <van-cell title="收货地址" is-link />
             </van-cell-group>
          </div>
        <p class="title">账号绑定</p>
         <van-cell-group style="margin-top:10px ;">
               <van-cell title="手机" class="iconfont icon-shouji" is-link />
         </van-cell-group>
          <p class="title">安全设置</p>
         <van-cell-group style="margin:10px 0px ;">
               <van-cell title="登录密码"  value="修改" is-link />
         </van-cell-group>
         <van-button type="danger" block @click="black">退出登录</van-button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      username:""
    }
  },
  created(){
    let username = sessionStorage.user
    if(username){
      this.username = JSON.parse(username)
    }
  },
  methods: {
  goto(){
      this.$router.push({
          path:"/"
        })
  },
  black(){
    this.$dialog.confirm({
      message:"确定要退出吗?"
    }).then(()=>{
      sessionStorage.removeItem('user')
       this.$router.push({
          path:"/"
        })
    })

  }
},
}
</script>

<style scoped>
.group{
  margin: 10px 0px;
  
}
.users{
  height: 635px;
  width: 100%;
  background:#c7c7c4;
}
.title{
  margin-left: 20px;
  font-size: 13px;
}
</style>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小商贩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值