微信小程序API~GET

框架提供丰富的微信原生API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等

1. wx.on 开头的 API 是监听某个事件发生的API接口,接受一个 CALLBACK 函数作为参数。当该事件触发时,会调用 CALLBACK 函数

2. 如未特殊约定,其他 API 接口都接受一个OBJECT作为参数

3. OBJECT中可以指定success, fail, complete来接收接口调用结果

这里写图片描述

这里写图片描述

1. wx.request(OBJECT)用来向指定的地址(url)根据指定的方式(method)发送带有参数(data)的请求,并根据(success/fail/complete)来处理获取到的数据

注:发送到服务器的参数data的最终格式是String类型,如果传入的data不是String类型,则会被转换成String

2. wx.getStorageSync(KEY)用来从本地缓存中同步获取指定 key 对应的内容,参数key是指本地缓存中的指定的key

3. wx.navigateTo(OBJECT)用来在保留当前页面的情况下,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面

4. wx.redirectTo(OBJECT)用来关闭当前页面,并跳转到应用内的某个页面

5. wx.navigateBack(OBJECT)用来关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages()) 获取当前的页面栈,决定需要返回几层

6. wx.getUserInfo(OBJECT)用来获取用户信息,withCredentials 为 true 时需要先调用 wx.login 接口

6.1 参数withCredentials表示是否带上登录态信息,当 withCredentials 为 true 时,要求此前有调用过 wx.login 且登录态尚未过期,此时返回的数据会包含 encryptedData, iv 等敏感信息;当 withCredentials 为 false 时,不要求有登录态,返回的数据不包含 encryptedData, iv 等敏感信息

这里写图片描述

7 wx.login(OBJECT)用来获取用户登录态,具体是通过获取登录凭证(code)进而换取用户登录状态信息,包括用户的唯一标识(openid) 及本次登录的会话密钥(session_key)(用来解密之前被加密的用户数据)

这里写图片描述

这里将获取到的’res.code’发送到开发者后台服务器以换取session_key,如果用户是被允许登录的,那么返回的code便为true值,开发者需要将 code 发送到开发者服务器后台,换取所登录的用户的唯一标识符openid

这里写图片描述

通过向指定的接口地址发送code后,获取到的数据格式

这里写图片描述

8. wx.checkSession(OBJECT)用来检测当前用户登录状态是否有效,如果登录过期那么需要调用wx.login重新获取用户的登录态

这里写图片描述

首先用户’wx.login’登录后获取到’res.code’,然后将其发送给开发者服务器,开发者服务器将其再发送给微信服务器来获取用户的openid和sessionkey等绝密信息,开发者服务器会用获取到的openid和sessionkey来生成开发者服务器和小程序之间进行验证的session,最后将这个生成的保存有用户信息的session发送给小程序本地保存,用来在使用’wx.checksession’的时候进行从本地到第三方服务器的session验证,看两者所保存的session是否相同,如果不相同,那么登录验证失败重新回到’wx.login’执行之前的逻辑

这里写图片描述

9. wx.setStorageSync(KEY,DATA)用来将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口

10. wx.showToast(OBJECT)用来显示消息提示框

11. wx.showLoading(OBJECT)用来显示 loading 提示框, 需主动调用 wx.hideLoading 才能关闭提示框

这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406867.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用DOS命令批量删除文件?(_desktop.ini 或 thumbs.db)

如何用DOS命令批量删除文件?比如viking蠕虫病毒会在系统里产生大量的“_desktop.ini”文件,虽然杀毒后系统无问题了,但看着总归不爽。我们可使用DOS命令批量删除“_desktop.ini”。 点击“开始”→“运行”,输入:“CMD…

Vue CLI3 开启gzip压缩

gizp压缩是一种http请求优化方式,通过减少文件体积来提高加载速度。html、js、css文件甚至json数据都可以用它压缩,可以减小60%以上的体积。 webpack在打包时可以借助 compression webpack plugin 实现gzip压缩,首先需要安装该插件&#xff…

让Sql Server也能出现如VS一样的智能提示工具--资源更新

一个非常实用的小插件,适合Sql Server2005以上版本,免费、无须注册。下面的图片是效果: http://rzhh.com.cn/down/sqlassc.rar 刚刚资源出错了,现在已经更新了资源,请大家下载。 转载于:https://www.cnblogs.com/zhang…

据库中事务、会话、线程这几个概念是什么关系

1、会话可以创建多个事务比如:使用客端连接数据库,这样你就可以执行很多个事务了2、一个事务只能由一个会话产生在数据库里的事务,如果在执行的SQL都是由会话发起的,哪怕是自动执行的JOB也是由系统会话发起的3、一个事务可能会产生…

什么是虚拟化,虚拟化的现状

什么事虚拟化 虚拟化是一个比较广义的概念,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行;也可以说是一种解决方案,为了简化管理,最大化利用现有资源。例如:现有有一台服务器,平…

Wireshark数据包分析(一)——使用入门

Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一。在SecTools安全社区里颇受欢迎,曾一度超越Metasploit、Nessus、Aircrack-ng等强悍工具。该软件在网络安全与取证分析中起到了很大作用,作为一款…

给控件做数字签名

参考: http://babyt.cnblogs.com/archive/2005/03/14/118302.html http://babyt.cnblogs.com/archive/2005/03/14/118309.html 在控件(.ocx)开发完成后,一般需要将其打成cab包并发布出去,这样当用户的机器上无此控件时,浏览器…

不使用任何路由协议使3台路由器通信

R1---------R2---------R3R2上什么都不能做。。。3台路由不能做任何的路由协议。。让R1和R3通信。。。。。配置如下:路由器0配置:enconf thost R1int s0/0ip add 192.168.1.1 255.255.255.0no shexitip default-gateway 192.168.1.2(默认网关…

[转]根据时间(NSDate)获取具体的信息:月份、星期、天等

[iPhone类代码]计算时间,month,week and day,hour , minutes and second //initializtion parameterNSCalendar *calendar [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];NSDate *now;NSDateComponents *comps [[NSDateComponents alloc]…

微信小程序 禁止弹框下面的内容滑动 弹窗禁止底部内容滚动

我们需要解决的问题:当弹框显示的时候,弹框下面的内容不能滚动 小程序的弹框特别多,像下面这样,弹框的底部是一个可以下拉的页面,但是当弹框出现的时候,需要禁止底部的滚动,那么怎么做呢? 解决…

[转]给控件做数字签名

From: http://www.mzwu.com/article.asp?id1118 我做了一个WebRtf的控件,主要是封装了RichtextBox控件,增加一些方法,如打印等,用来实现在Web上显示RTF文档的功能。 编译成WebRtf.ocx,在VB中测试成功,为了…

Mybatis使用详解

简介 MyBatis是一款优秀的持久层框架,它支持普通SQL查询,存储过程和高级映射。MyBatis通过简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Ordinary Java Object,普通的Java对象)映射成数据…

linux ubuntu 安装jdk

junluobjjunluobj:~$sudo mkdir /usr/lib/jvmwww.linuxidc.comlinuxidc:~$tar zvxf jdk-8u20-linux-x64.tar.gzwww.linuxidc.comlinuxidc:~$sudo mv jdk1.8.0_20/ /usr/lib/jvm/ 设置JDK环境变量: www.linuxidc.comlinuxidc:~$sudo vim ~/.profile #set jdk envex…

学***先学什么?

我是一个新人,有老人能跟我说下学***要先学什么东西么?本人好学上进。希望有人可以指教下,在此谢过转载于:https://blog.51cto.com/access/171983

前端布局之网格gird布局(简单易懂)

grid网格布局 前言 弹性布局的文章很多,但是它是解决一维布局的,面对二维就显得无力了,此时我们就需要用到网格布局。(ps:一维就是一列或者一行的布局,当你遇到九宫盒布局,此时涉及到列与行&am…

SAFEARRAY使用方法示例

From: http://blog.csdn.net/absurd/article/details/786822 SAFEARRAY使用方法示例 SAFEARRAY不是很好用,一些函数不太直观,一不小心就着了它的道。上次学习编写Google桌面插件时就遇到了麻烦,本来应该是vsa.vt VT_ARRAY | VT_BSTR&#xf…