微信小程序的js后台只能执行一些简单的逻辑,遇到比较复杂的处理表单数据的功能或者网络功能就需要连接服务器来远程处理,实现方式就是调用小程序的 wx.request() 这一接口。
request请求 就是基本的HTTP请求,可以携带一些表单数据,交给服务器处理。
在小程序中的写法如下:
采用php作为服务器端语言,通过WAMP等框架可以很容易地搭建环境,服务器主要完成对请求数据的处理以及结果数据的返回。
请求数据的获取非常容易,直接访问相应的超全局数组,对于GET方法而言,通过下面的方式即可:
为了方便小程序端数据的处理,结果数据仍通过json格式返回,具体在php中的简单做法就是
这样返回的json数据就为
其中value1,value2等变量可以设置为多维数组,这样通过json_encode() 函数之后就可以得到相应的嵌套的json数据,从而方便处理。
通过php可以很容易地处理微信小程序的request请求,笔者是由于前一段时间需要进行微信小程序的开发,就研究了一下小程序的逻辑,然后尝试用php进行服务端处理,对于简单的请求处理起来觉得还不错,这篇文章可以作为初次接触微信小程序的一个参考。
1、wx.request, https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html2、Promise,Promise 对象有以下两个特点:对象的状态不受外界影响。Promise 对象代表一个异步 *** 作,有三种状态:pending: 初始状态,不是成功或失败状态。fulfilled: 意味着 *** 作成功完成。rejected: 意味着 *** 作失败。
WxRequest(),可以放在小程序启动页app.js里面。也可以重新生成一个js页面。在需要引用的页面引入,如果是放在app.js里面的,在其他页面引入为 const app = getApp(),使用时 app.WxRequest(method,url,data)如果是一个新的js页面。则按照小程序的引入规则引入。使用方法是差不多的。
第一,进入小程序全局先进行获取微信code,用code作为参数请求接口得到用户登录信息,同时判断是否为新用户。第二,请求接口,发生登录失效(token失效)时,自动登录后,再重新请求。
第三,请求接口,当返回未登录(授权)提示时,做兼容。(比如跳到授权页,这个具体看接口的业务逻辑)
在util.js中封装一些登录、请求方法。
1.调用微信登录,获取微信code
2.通过微信code登录,获取用户信息(token,userInfo)
3.请求数据,这里只封装请求数据的参数与方法,不处理各种code
4.封装request请求方法,这里专门处理返回不同code的情况
各个页面中的接口数据请求,都是调用这个方法。
在app.js的onLaunch方法中,判断token和userInfo是否存在,存在就不是新用户,否则根据微信返回的code,去请求后端接口,查看返回的信息,是否为新用户。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)