1.开发准备
首先是小程序注册和开发工具下载,地址如下:
注册小程序
开发工具下载
主要 参考官方文档 写的比较清楚
官方文档
2.建立连接
首先 建立小程序 与服务器的连接(登录)官方流畅图:
简单描述:客户端获取code 传给服务器, 通过用小程序信息和code 传给微信服务器,返回session_key+openid 服务器生成3rd_session 为key session_key+openid 为value 存储,返回给客户端 3rd_session 客户端放入本地存储 每次请求 带上 3rd_session.
代码:
onLogin:
//传递两个参数 方法和方法所需参数 在某个方法调用过程中如果session无效或过期 需要重新登录 再次执行此方法
onLogin: function (fn, e) {
wx.showLoading({ title: '' })
var that = this
wx.login({
success: function (res) {
wx.request({
url:URL ,
data:datas,
success: function (res) {
var value = res.data
//session存到本地缓存
wx.setStorageSync('rd_session', value)
wx.hideToast()
//全局变量 第一个控制首页 是否访问 只有登录成功时 为true
// 第二个 控制重新登录次数 session无效 只允许重新登录一次 登录成功 还原
that.globalData.isRead = true;
that.globalData.loginTime = 0;
console.log('登录成功');
return fn(e)
}
})
}
})
}
onLoad:
onLaunch: function () {
//调用API从本地缓存中获取数据
var rd_session = wx.getStorageSync('rd_session')
var that = this
//获取不到session 进行登录
if (rd_session == null || rd_session == '') {
that.onLogin(that.init());
} else {
wx.checkSession({
success: function () {
//session 未过期,init进行一些初始化操作。
that.init();
},
//获取到session已过期 进行登录
fail: function () {
that.onLogin(that.init());
}
})
}
}
后面的与服务器的交互就靠这个session了 如果session无效或失效,就调用onLoad重新 登录 再次执行。