记录 vue3 hooks 数组循环改变一个对象名称

2022-08-23  本文已影响0人  糖醋里脊120625

数组循环改变一个对象名称

if (res.data?.length) {
      categoryList.value = res.data.map((v: Recordable) => ({ ...v, text: v.name }));
    }

可以判断登录按钮禁止点击

const submitted = computed(() => {
  return unref(mobile) && unref(smsCode) && unref(pwd) && unref(pwd2);
});

vue3 hooks

import { reactive, toRefs, unref } from 'vue';
import { Toast } from 'vant';

export function useSmsCode() {
  const state = reactive({
    wenzi:"你好",
    captchaShow: false,
  });
  function onSmsBtnClicked() {
    Toast('请输入手机号信息');
  }
  function dosomething(){
    console.log("nihao")
  }
  return {
    ...toRefs(state),
    onSmsBtnClicked,
    dosomething,
   
  };
}

api代码


import {doRequestAction} from '../utils/request'


export const MAINLINK = 'https://sy-food.net/'
// export const MAINLINK = 'http://172.16.92.54/'
// 声明获取主题首页接口地址并导出


export const MerchantOrder= (params, basicinfo)=>{

  return doRequestAction({
    url: MAINLINK + 'ncppos-api/business/sales-order',
    method:'GET',
    data: {
      beginTime:params.beginTime,
      endTime:params.endTime,
      page:params.page,
      size:params.limit,
      supplierSubjectId:basicinfo.account.subjectId,
    },
    
  })
}

export const addNewCustomer = (params) =>{
  return doRequestAction({
    url: MAINLINK + 'ncppos-api/business/customer',
    method:'POST',
    data:params,
    loadIng:true,
  })
}

// import Taro from '@tarojs/taro'
import { getLocalUserInfo } from './userInfo'


const getRequestHeader = () => {
  let token = getLocalUserInfo() ? getLocalUserInfo().tokenValue : "";
  return token ? {
    "content-type": 'application/json',
    token: token
  } : {
    "content-type": 'application/x-www-form-urlencoded',
    token: ""
  }
}

// 请求传入reqData参数   返回promise对象 因为全局请求我每次返回的类型都是不一样的,所以我直接any
export const doRequestAction = (reqData) => {
  // 将不存在的参数字段使用默认值进行替换
  let req = {  ...reqData }
  return new Promise((resolve, reject) => {
    //检测是否开启loading层 
    if (req.loadIng) {
      wx.showLoading({
        title: "数据加载中",
        icon: "none"
      })
    }
    wx.request({
      url: req.url, //引入我的接口是特殊声明的,所以我就不检测http/https了
      method: req.method,
      data: req.data,
      header: getRequestHeader(),
      success(res) {
        wx.hideLoading()
        const code = res.statusCode
        if(res.data.code==-1){
          wx.showToast({
            icon: 'none',
            title: res.data.message,
          })
        }
        if (code == 200) {  // 请求成功
          resolve(res.data);
        } else if (code == 401) {
          wx.showToast({
            icon: 'none',
            title: 'Token失效,请重新登录',
          })
          wx.redirectTo({
            url: '../login/login',
          })
          reject('运行时错误,请稍后再试')
        } else {
          reject('运行时错误,请稍后再试'); // 其他异常
        }
      },
      fail(err) {
        wx.showToast({
          icon: 'none',
          title: err.errMsg,
        })
        wx.hideLoading()
        // 请求失败
        reject(err)
      }
    })
  })
}


上一篇下一篇

猜你喜欢

热点阅读