
步骤1.小程序端通过微信第三方登录,取出nickname向服务端请求登录,成功后本地并缓存uid,accessToken接口出处:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html App({
onLaunch: function() {
wx.login({
success: function(res) {
if (res.code) {
wx.request({
url: 'https://test.com/onLogin',
data: {
code: res.code
}
})
} else {
console.log('获取用户登录态失败!' + res.errMsg)
}
}
});
}
})
缓存用户的基本信息 index.js onLoad: function(){
var that = this
app.getUserInfo(function(userInfo){
console.log(userInfo.nickName);
app.httpService(
'user/login',
{
openid: userInfo.nickName
},
function(response){
console.log(response);
var userinfo = wx.getStorageSync('userinfo') || {};
userinfo['uid'] = response.data.uid;
userinfo['accessToken'] = response.data.accessToken;
console.log(userinfo);
wx.setStorageSync('userinfo', userinfo);
}
);
})
}
app.js 定义一个通用的网络访问函数: httpService:function(uri, param, cb) {
wx.request({
url: 'http://financeapi.applinzi.com/index.php/' + uri,
data: param,
header: {
'Content-Type': 'application/json'
},
success: function(res) {
cb(res.data)
},
fail: function() {
console.log('接口错误');
}
})
},
这里method默认为get,如果设置为其他,比如post,那么服务端怎么也取不到值,于是改动了服务端的取值方式,由$_POST改为$_GET。 在Storage面板中,检查到数据已成功存入 
源码下载:记账应用源码:http://git.oschina.net/dotton/finance。其中master分支为网络版,net分支为单机版 |