第一天加油

1登录页面对手机号的校验

   <van-field
        v-model="phone"
        name="phone"
        label="手机号"
        placeholder="请输入手机号"
        :rules="telRules"
      />
      <van-field
        v-model="sms"
        center
        clearable
        label="短信验证码"
        placeholder="请输入短信验证码"
        :rules="codeRules"
      >


telRules: [
        {
          required: true,
          message: "手机号码不能为空",
          trigger: "onBlur",
        },
        {
          // 自定义校验规则
          validator: (value) => {
            return /^1[3456789]\d{9}$/.test(
              value
            );
          },
          message: "请输入正确格式的手机号码",
          trigger: "onBlur",
        },
      ],
      codeRules: [
        {
          required: true,
          message: "验证码不能为空",
          trigger: "onBlur",
        },
      ],

2:封装http请求  引入了axios使用请求拦截和响应拦截让请求头携带token 当token失效时返回401请求 使用router重新跳转到登录页面。 使用Promise来封装请求 

import axios from 'axios'
import router from '@/router'
import store from '@/store'
axios.defaults.baseURL="https://apif.java.crmeb.net"
axios.interceptors.request.use((config)=>{
    let token = store.state.token.token;
    config.headers['authori-zation']=token;
    return config
})
axios.interceptors.response.use((respones)=>{
    if(respones.data.code == 401){
        router.push({
            path:"/login"
        })
        return respones
    }
    return respones
})
let getHttp = (url)=>{
    return new Promise((resolve,reject)=>{
       axios.get(url).then((res)=>{
          resolve(res)
       })
    })
}
let postHttp =(url,data,header)=>{
    return new Promise((resolve,reject)=>{
        axios.post(url,data,header).then(res=>{
            resolve(res)
        })
    })
}
export {
    getHttp,
    postHttp
}

3:搜索框使用模糊查询 然后利用闭包的原理使用setTimeout来封装了一个防抖

   <div class="search">
    <van-search
      @input="input()()"
      v-model="value"
      placeholder="请输入搜索商品"
    />
  </div>
 methods: {
    input() {
      if (this.time) {
        clearTimeout(this.time);
      }
      let that = this;
      return function () {
        that.time = setTimeout( async() => {
          let res = await searchGethttp(that.value)
          console.log(res);
        }, 2000);
      };
    },
  },

4:使用vant 自带的轮播实现了图片懒加载

<van-swipe :autoplay="3000">
      <van-swipe-item >
        <img class="imge" v-lazy="banner" />
      </van-swipe-item>
    </van-swipe>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值