美文网首页
taro 框架总结

taro 框架总结

作者: zhanghongzhen | 来源:发表于2023-12-14 17:53 被阅读0次

1.taro 初始化项目时选择 taro-ui 库 ,在使用时任然需要 npm install taro-ui 

2.taro 封装拦截器 三个文件

httpService.js 文件内容 ======

import Taro from '@tarojs/taro';

import apiConfig from './apiConfig'

//网络请求拦截器

const interceptor = function (chain) {

  const requestParams = chain.requestParams

  const { method, data, url } = requestParams

  let token = Taro.getStorageSync('TOKEN')//拿到本地缓存中存的token

  requestParams.header = {

    ...requestParams.header,

    Authorization: 'Bearer ' + token //将token添加到头部

  }

  return chain.proceed(requestParams).then(res => { return res })

}

Taro.addInterceptor(interceptor)

const request = async (method, url, params) => {

  //由于post请求时习惯性query参数使用params,body参数使用data,而taro只有data参数,使用contentType作为区分,因此此处需要做一个判断

  let accessToken = ''

  try {

    var value = Taro.getStorageSync('userInfo')

    if (value) {

      accessToken = value?.accessToken;

    }

  } catch (e) {

    // Do something when catch errorlll

  }

  let contentType = params?.data ? 'application/json' : 'application/x-www-form-urlencoded';

  if (params) contentType = params?.headers?.contentType || contentType;

  const option = {

    method,

    isShowLoading: false,

    url: apiConfig.baseUrl + url,

    data: params,

    header: {

      'content-type': 'application/json',

      "H-AUTH-TOKEN": accessToken ,//|| '16523120400030311701659288049'

      "H-PLATFORM-INFO": "wechat"

    },

    success(res) {

      //根据不同返回状态值3进行操作

      switch (res?.statusCode) {

        case 503: {

          console.log(503);

        }

          console.log(res?.statusCode);

        default:

          break;

      }

    },

    error(e) {

      console.log('api', '请求接口出现问题', e);

    }

  }

  const resp = await Taro.request(option);

  return resp.data;//根据个人需要返回

}

export default {

  get: (url, config) => {

    return request('GET', url, config);

  },

  post: (url, config) => {

    return request('POST', url, config);

  },

  put: (url, config) => {

    return request('PUT', url, config);

  },

  delete: (url, config) => {

    return request('DELETE', url, config);

  },

  patch: (url, config) => {

    return request('PATCH', url, config);

  },

}

apiConfig.js 文件内容

let baseUrlPrefix = ''

const env = process.env.NODE_ENV === 'development' ? 'development' : 'production'

console.log('编译环境:',process.env.NODE_ENV)

switch (env) {

  case 'development':

    // baseUrlPrefix = 'http://192.168.2.40:3000'

    baseUrlPrefix = 'https://appdev.sg-chain.com'

    break

  case 'production':

    baseUrlPrefix = 'https://app.sg-chain.com'

    break

}

const api = {

  baseUrl: baseUrlPrefix,

//其他相关变量

}

export default api

index.js api 接口统一接口

//可根据不同模块区分文件请求

import httpService from './httpService';

function login( params) {

  return httpService.post(`/api/wechat/account/loginByMobile`,

    params

  )

}

export default {

    logi

}

相关文章

  • Taro小程序dva框架开发学习

    Taro小程序dva框架开发学习 本篇介绍的是Taro小程序开发,仅供学习参考。使用的框架是Taro(3.3.9)...

  • Taro 框架小程序开发

    Taro 简介:Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 微...

  • Taro框架的使用

    背景 Taro是继Wepy、Mpvue之后,为解决终端碎片化问题的又一框架 Taro安装 Taro 是一个基于 N...

  • 用Taro做个微信小程序Todo, 小白工作记录

    用Taro做个微信小程序Todo, 小白工作记录 微信小程序框架: Taro 做微信小程序的框架, 几个比较主流的...

  • Taro框架

    Taro与React的本质区别: React中:一切皆组件Taro中:小程序端区分页面与组件。配上页面路由的是页面...

  • Taro避坑指南

    1.简介 2.框架支持 3.UI - Taro UI[https://taro-ui.jd.com/] # Ta...

  • 和taro一起做SPA 5.taro环境搭建

    这章我们正式开始搭建taro的开发框架 1.搭建taro脚手架项目 首先,让我们搭建taro的脚手架,这个例子里我...

  • 基于Taro Next(React)的微信小程序渲染

    Taro[https://github.com/NervJS/taro] 是一个开放式跨端跨框架解决方案,支持使用...

  • Taro3无埋点的探索与实践

    引言 对于Taro框架,相信大多数小程序开发者都是有一定了解的。借助Taro框架,开发者们可以使用React进行小...

  • Taro:taro框架开发小程序

    前言:taro是一个可以很好实现一次开发,多端统一的框架,本文只介绍它小程序端开发的一些内容。 使用taro框架需...

网友评论

      本文标题:taro 框架总结

      本文链接:https://www.haomeiwen.com/subject/tohwgdtx.html