小程序教程

微信小程序记账应用实例教程(续二)

字号+ 作者: 来源: 2016-11-23 09:49 我要评论( )

步骤1.小程序端通过微信第三方登录,取出nickname向服务端请求登录,成功后本地并缓存uid,accessToken

接口出处:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html

  1. App({
  2.   onLaunch: function() {
  3.     wx.login({
  4.       success: function(res) {
  5.         if (res.code) {
  6.           //发起网络请求
  7.           wx.request({
  8.             url: 'https://test.com/onLogin',
  9.             data: {
  10.               code: res.code
  11.             }
  12.           })
  13.         } else {
  14.           console.log('获取用户登录态失败!' + res.errMsg)
  15.         }
  16.       }
  17.     });
  18.   }
  19. })
复制代码

缓存用户的基本信息

index.js

  1.   onLoad: function(){
  2.         var that = this
  3.         //调用应用实例的方法获取全局数据
  4.         app.getUserInfo(function(userInfo){
  5.           //请求登录
  6.             console.log(userInfo.nickName);
  7.             app.httpService(
  8.                     'user/login',
  9.                     {
  10.                         openid: userInfo.nickName
  11.                     },
  12.                     function(response){
  13.                         //成功回调
  14.                         console.log(response);
  15. //                        本地缓存uid以及accessToken
  16.                         var userinfo = wx.getStorageSync('userinfo') || {};
  17.                         userinfo['uid'] = response.data.uid;
  18.                         userinfo['accessToken'] = response.data.accessToken;
  19.                         console.log(userinfo);
  20.                         wx.setStorageSync('userinfo', userinfo);
  21.                     }
  22.             );
  23.         })
  24.   }
复制代码

app.js

定义一个通用的网络访问函数:

  1.   httpService:function(uri, param, cb) {
  2. //      分别对应相应路径,参数,回调
  3.       wx.request({
  4.             url: 'http://financeapi.applinzi.com/index.php/' + uri,
  5.             data: param,
  6.             header: {
  7.                 'Content-Type': 'application/json'
  8.             },
  9.             success: function(res) {
  10.                 cb(res.data)
  11.             },
  12.             fail: function() {
  13.                 console.log('接口错误');
  14.             }
  15.         })  
  16.   },
复制代码

这里method默认为get,如果设置为其他,比如post,那么服务端怎么也取不到值,于是改动了服务端的取值方式,由$_POST改为$_GET。

在Storage面板中,检查到数据已成功存入


 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 微信小程序 轮播图 swiper图片组件

    微信小程序 轮播图 swiper图片组件

    2016-11-23 09:49

  • 微信小程序 开发 微信开发者工具 快捷键

    微信小程序 开发 微信开发者工具 快捷键

    2016-11-23 09:49

  • 微信小程序 页面跳转 传递参数

    微信小程序 页面跳转 传递参数

    2016-11-23 09:49

  • 微信小程序 如何获取时间

    微信小程序 如何获取时间

    2016-11-23 09:49

网友点评
-