上一篇文章微信小程序搭建mpvue+vant已经介绍了如何搭起mpvue项目及引入vant,本篇文章继续在它的基础上,引入flyio,并做一些封装,目的是为了在小程序发起请求。
这时读者会有些疑问,小程序已经有了request,为什么还用flyio?这不是造轮子吗?我是这么想的,其实现在不管是mpvue,还是wepy都好像还不能完美编译出微信小程序和h5版本。为了以后应对老板有创建h5版本的想法,我们应该为以后复用小程序代码做好准备工作。既然h5也会有ajax,flyio也支持小程序和h5的,所以干脆把flyio引进来,再做一些封装,两边都能用,岂不美哉?
文章末尾,附文章教程步骤创建的项目mpvue+vant+flyio,需要学习的同学,拿走不谢。
第一步:将flyio加入项目
我的项目路径:/Users/hrz/myworkspace/lawyer-card-wxss
$ cd /Users/hrz/myworkspace/lawyer-card-wxss
$ cnpm i flyio -S --production
第二步:二次封装
创建api文件夹,并在下面新建两个文件api.js,httpRequest.js
api.js 用来给各页面调用,是一个汇总各类ajax方法的集合
import requestService from './httpRequest'
const PROD_SERVICE = 'https://我的线上产品域名/lawyer-card-service'
const DEV_SERVICE = 'http://localhost:8081/lawyer-card-service'
httpRequest.js是对flyio对二次封装,是ajax的核心
import {getStorageSync, hideLoading, showLoading, showNotify} from '../utils/index'
var Fly = require('flyio/dist/npm/wx')
var fly = new Fly()
大家看到,httpRequest.js里引用一些工具类,其实里面主要是一些加载的提示,及弹框。为什么我要把他放在工具类里?正如我最开头导语说的,为了方便以后应对h5版本,H5版本的加载、弹框、操作缓存和小程序的代码不一样,所以我统一放在工具类里管理了,以后要做h5开发,我只要改工具类就行了。下面是小程序里工具类的代码。
import Notify from 'vant-weapp/dist/notify/notify'
第三步:写个Demo发送请求
<template>
<div>
{{msg}}
</div>
</template>
<script>
import Api from '../../apis/api'
export default {
data () {
return {
msg: null
}
},
methods: {},
onLoad () {
let that = this
let token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxIiwiaWF0IjoxNTU0MjA0NDI0LCJleHAiOjE1NTQ4MDkyMjR9.VdlhGXOxIA97_G_u_a3GJxmWdD9t_jb_a1aodTJ75ESNgxchx8M0mRBSx-s_er8Da4MzZY1zBW4UfY5ELC9fgA'
Api.checkToken({'token': token}, function (res) {
console.log(res)
that.msg = res.data.msg
})
}
}
</script>
<style scoped>
</style>
运行npm run dev起来,去小程序开发工具看效果
已经成功发送请求,还是不错的!
我创建了名字为mpvue-vant-flyio项目,除了项目名称不同,步骤都是相同的。项目源码
请发表评论