框架提供丰富的微信原生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 才能关闭提示框