找回密码
 立即注册

扫一扫,访问微社区

查看: 12102|回复: 31

微信小程序学习用demo:微信登录

 火... [复制链接]
发表于 2017-3-3 14:33:49 | 显示全部楼层 |阅读模式





[mw_shl_code=html,true]var cfg_js=require('cfg.js');

//用户登录
function getNewSession(saveSesionOk){
    wx.login({
      success: function(res) {
          wx.request({
            url: cfg_js.gets('loginURI'),
            data: {code: res.code},
            success: function(res){
                var new_session=res.data.session;
                wx.setStorage({
                  key:"session",
                  data:new_session,
                  success:function(res){
                      saveSesionOk(res)
                  }
                })
            }
          })
      }
    });
}



//set本地存储
function setStrg(key,value,success){
  wx.setStorage({
    key:key,
    data:value,
    success: function(res){
      success(res)
    }
  })
}

//get本地存储
function getStrg(key,success,fail){
  wx.getStorage({
    key: key,
    success: function(res){
      success(res)
    },
    fail: function(res) {
      fail(res)
    }
  })
}


//封装post请求
function post(url,data,success){
   wx.request({
        url: url,
        data:data,
        method: 'POST',
        header: {'content-type': 'application/x-www-form-urlencoded'},
        success: function(res) {
          success(res)
        }
    })
}

//封装get请求
function got(url,data,success){
   wx.request({
        url: url,
        data:data,
        header: {'content-type': 'application/json'},
        success: function(res) {
          success(res)
        }
    })
}


//3rd_session检测
function sessionCheck(session,success){
    //0代表不合法,1代表ok
    var url= cfg_js.gets('sessionCheckURI')+"&session="+session;
    post(url,{},function(res){
        success(res)
    })
}


//第一次验证。一般情况下,登录只需要在程序开始的第页面验证一次就好
function firstReqest(sessionCheckOk){
        // ---------------------------------验证登录开始------------------------------
        getStrg("session",function(res){
          //获取本地seesin成功
            var session=res.data;
            sessionCheck(session,function(res){
                 var status=res.data;
                 status=1;//假设验证成功(本地的3rd_session和服务器的3rd_session一致)
                //与后台匹配失败
                if(status==0){
                      //重新登录
                      getNewSession(function(res){
                          getStrg("session",function(res){
                              //获取本地session成功
                                var session=res.data;
                                sessionCheckOk(session)
                          },null)
                      })
                }else{
                  sessionCheckOk(session)
                }
            })
        },function(res){
          //获取本地seesin失败
             getNewSession(function(res){
                  getStrg("session",function(res){
                        var session=res.data;
                        sessionCheckOk(session)
                  },null)
              })
        })
        // ---------------------------------结束---------------------------
}

module.exports = {
  getNewSession: getNewSession,
  setStrg:setStrg,
  getStrg:getStrg,
  post:post,
  got:got,
  sessionCheck:sessionCheck,
  firstReqest:firstReqest
}[/mw_shl_code]


游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

0

主题

4

回帖

46

金钱

新人求带

积分
0
发表于 2017-3-3 16:32:48 | 显示全部楼层
不错,一直需要

0

主题

52

回帖

73

金钱

新人求带

积分
0
发表于 2017-3-14 17:54:35 | 显示全部楼层
啥也不说了,感谢楼主分享哇!

0

主题

3

回帖

20

金钱

新人求带

积分
0
发表于 2017-8-9 02:05:03 | 显示全部楼层
正是我要找的,先看看

0

主题

1

回帖

14

金钱

新人求带

积分
0
发表于 2017-8-28 23:27:51 | 显示全部楼层
回复看看是神马~

0

主题

3

回帖

143

金钱

新人求带

积分
0
发表于 2017-8-29 15:26:23 | 显示全部楼层
怎么加到小程序里

0

主题

6

回帖

162

金钱

新人求带

积分
0
发表于 2017-8-29 15:44:57 | 显示全部楼层
回复看看是神马~

0

主题

182

回帖

4323

金钱

新人求带

积分
0
发表于 2017-8-29 20:52:43 | 显示全部楼层
想看一下。。。。
回复

使用道具 举报

0

主题

2

回帖

17

金钱

新人求带

积分
0
发表于 2017-8-29 21:39:30 | 显示全部楼层
实打实大苏打

0

主题

5

回帖

30

金钱

新人求带

积分
0
发表于 2017-8-30 11:04:35 | 显示全部楼层
看看这个 学习一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|微信小程序开发|教程|文档|资源汇总_即速论坛 ( 粤ICP备14097199号-1  

GMT+8, 2024-3-29 15:39 , Processed in 0.136921 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表