export,export default 和import的区别和用法

关于return

后台请求接口封装

    
        <script>
        export const host = 'https://xxx.com'; // 域名
        let lock =true
        export default function request(opt){ 
        return new Promise((resolve,reject)=>{
        if (opt.isLock) {
          if (!lock) return;
          lock = false;
        }
        // 默认开启loading
        if (!opt.isLocking) {
          wx.showLoading({
            title: '加载中...'
          });
        }
        wx.request({
          url: `${host}${opt.url}`,
          method:opt.method||'post',
          data:opt.data||{},
          header:{
            'content-type': opt.hedaer || 'application/json', // 默认值
            'token': wx.getStorageSync('token')
          },
          success:function(res){
            resolve(res)
          },
          fail:function(res){
            reject(res)
          },
          complete:function(res){
            if (!opt.isLocking) {
              wx.hideLoading();
            }  
            if (opt.isLock) {
                lock=true
            }    
           }
          })
         })
        }
        </script>
       
    

按钮锁的使用

     
        <script>
        // 保存地址
        savaData() {
          if(isPhone(this.data.tel)==false){
            Notify('请输入正确的手机号');
            return    
          }else{
            request({
              url: '/api/Address/AddAddress',
              isLock: true,//默认按钮是不受控制的,通过进行判断,如果数据还没有请求到就不给点击,避免按钮点击过快造成的重复提交;
              //就好比地铁站的闸机吧?就没控制好,还没关好又可以刷下一个了,意思就是你才把锁打开了,但是还没执行关锁,又开始执行开
              //锁了,现在加这个变量就是为了解决这个问题,现在就是请求完毕之后,所有代码执行完毕,你可以理解为已关锁,然后关锁之后
              //把变量改成true,然后再点击才能执行开锁,isLock只是控制需不需要解决这个问题,而达到这个目的的变量是lock
              data: {
                name: this.data.name,
                tel: this.data.tel,
                provice: this.data.provice,
                city: this.data.city,
                county: this.data.county,
                detail_address: this.data.address,
                is_default: this.data.isDefault
              }
            }).then(res => {
              if (res.data.code == 200) {
                wx.showToast({
                  title: '保存成功',
                })
                wx.navigateTo({
                  url: '../../../personalCenter/pages/addressManagement/addressManagement',
                })
              } else {
                Notify(res.data.msg);
              }
      
            })  
          }
         
        }
        </script>
     
 
发布时间:2019-09-29