vue混合app开发框架_mpvue框架

vue混合app开发框架_mpvue框架1.npm安装npminstallflyio–save.2.src下新建utils/request.js文件importFlyfrom’flyio/dist/npm/wx’constfly=newFly()consthost=’https://rmall.ukelink.net’//添加请求拦截器fly.interceptors.request.use…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1.npm安装

npm install flyio --save.

2.src下新建utils/request.js文件

import Fly from 'flyio/dist/npm/wx'
const fly = new Fly()
const host = 'https://rmall.ukelink.net'
// 添加请求拦截器
fly.interceptors.request.use((request) => { 
   
  wx.showLoading({ 
   
    title: '加载中',
    mask: true
  })
  console.log(request)
  // request.headers["X-Tag"] = "flyio";
  // request.headers['content-type']= 'application/json';
  request.headers = { 
   
    'X-Tag': 'flyio',
    'content-type': 'application/json'
  }
 
  let authParams = { 
   
    // 公共参数
    'categoryType': 'SaleGoodsType@sim',
    'streamNo': 'wxapp153570682909641893',
    'reqSource': 'MALL_H5',
    'appid': 'string',
    'timestamp': new Date().getTime(),
    'sign': 'string'
  }
 
  request.body && Object.keys(request.body).forEach((val) => { 
   
    if (request.body[val] === '') { 
   
      delete request.body[val]
    };
  })
  request.body = { 
   
    ...request.body,
    ...authParams
  }
  return request
})
 
// 添加响应拦截器
fly.interceptors.response.use(
  (response) => { 
   
    wx.hideLoading()
    return response.data // 请求成功之后将返回值返回
  },
  (err) => { 
   
    // 请求出错,根据返回状态码判断出错原因
    console.log(err)
    wx.hideLoading()
    if (err) { 
   
      return '请求失败'
    };
  }
)
 
fly.config.baseURL = host
 
export default fly

3.main中引用到原型

import fly from './utils/request'
Vue.prototype.$fly = fly

4.使用

this.$fly.request({ 
   
      method: 'post', // post/get 请求方式
      url: '/mms/country/queryValidZoneListForMallHome',
      body: { 
   }
    }).then(res => { 
   
      console.log(res)
    })

关于请求拦截

比方说我们每次请求我们自己的服务器接口的时候需要带上appID,用户登陆后需要带上openId


// 请求拦截
fly.interceptors.request.use((request)=>{ 
   
 
  request.body.appId = 'xxx'
    // 用户的openId在获取之后添加到全局变量中如果存在,我们将它添加到请求参数里面
  let openId = Vue.prototype.globalData.openId;
  if(openId){ 
   
    request.body.openId = openId
  }
})

当服务器发生错误,或者用户网络错误导致请求失败的时候,我们可以添加一个响应拦截

// 响应拦截
fly.interceptors.response.use(
  (response) => { 
   
 
 
  },
  (err) => { 
   
    //发生网络错误后会走到这里
    //return Promise.resolve("ssss")
    wx.hideLoading();
    wx.showToast({ 
   
      title:'网络不流畅,请稍后再试!',
      icon:'none',
    });
 
  })
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195969.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 本地tomcat配置外网访问_配置tomcat服务器

    本地tomcat配置外网访问_配置tomcat服务器一、把项目的War包放进webapps二、修改server.xml在红色涂改处输入IP地址或者域名在docBase输入项目名(也就是说设置为默认访问项目)

    2025年9月29日
    2
  • linux ssh代理 –快速搭建代理服务器

    linux ssh代理 –快速搭建代理服务器前言:开发机器IP固定,路由上有限制,不通直连。是个很郁闷的事。有个时间在网上看到的ssh代理转发。命令功能很强大。在这我就对自己了解的画了个间图方便大家理解。本地转发、正向隧道“本机”连上“ssh服务器”,然后把”ssh服务器”能访问的机器地址和端口(当然也包括“ssh服务器”自己)镜像到”本机”的端口上。命令:ssh-L[客户端IP或省略]:[客户端端口]:[服务器侧能访问的IP]:[服

    2022年5月24日
    178
  • 记一次post请求参数太长导致的400报错

    记一次post请求参数太长导致的400报错背景:springboot2.1.1+vue2.6.11+iview3.3.0+axios0.18.1这个接口是接收前台图文编辑器的内容,插入数据库,当接收图文内容的字段过长时,就抛出400网上查了很多解决方案,都是从修改配置方面着手,试过如下:还有说debug源码的,参数格式错的……各种方法试过,大好青春浪费在试错上了。不说了,上答案:只修改了传参方式,结果如下:这里有一个关键,后台传参要用@RequestBody至于原因我就不说了,小伙伴可以自行搜索vueda

    2022年6月1日
    126
  • Codelf 命名神器

    Codelf 命名神器对于刚入职的新手开发小白,英语水平不好的可以使用下面这款变量命名神器地址:https://unbug.github.io/codelf/

    2022年5月4日
    62
  • IntelliJ IDEA 常用设置(配置)吐血整理。首次安装必需「建议收藏」

    idea很强大,但很多设置并不是满足,经常一安装就要捣鼓很久,为此吐血整理初始化设置:切换主题、忽略大小写、自定义注释、自定义代码颜色、滚轮调节字体、鼠标悬停提示、打开当前文件目录、添加双引号

    2022年4月14日
    54
  • java基础菜鸟教程_java基础菜鸟教程大全,java入门「建议收藏」

    java基础菜鸟教程_java基础菜鸟教程大全,java入门「建议收藏」java这个词语相信大家都听的耳朵快要起茧了吧,就算是没学过编程的小伙伴也一定听说过java,谁让它如今几乎火遍大江南北呢。这次我们就来讲解一些常见的java基础,希望能够让你们更加了解java。java基本概念一、什么是程序?为了完成任务,执行一系列有序的指令的集合。指令:命令。二、Java程序设计2.1什么是Java?是撰写跨平台,面向对象的计算机语言。2.2Java能做什么?开发桌面应用…

    2022年5月1日
    77

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号