h5 登入模块重构,关联 userId 和 openId

util 工具函数的修改( isLogin、goLogin )

util = {
    isLogin: function () {
        if( this.isWeixin() ) {
            return ( /appid\=\w+/.text( document.cookie ) && /sid\=\w+/.test( document.cookie ) )
        } else {
            return /sid\=\w+/.test( document.cookie )
        }
    }
    ,goLogin: function (clearHistory) {
        //...
        
        if ( this.isInYuantuApp() ) {
            // App 端的老机制
        } else if( this.isWeixin() ) {
            // 根据 sessionStorage 中的 appId 生成授权链接,并设置好接受 code 的回调地址至微信免登页面( 一个新页面,专门用来处理微信的免登 )
            
        } else {
           // 浏览器端的老机制
        }
    }
    ,isTelLogin() { // 新增
        return /sid\=\w+/.test( document.cookie )
    }
}

微信登入处理页面

  1. 把获取到的 code 和 appId 传给后台( 后台去获取 openId )后台返回免登是否成功,成功跳 5
  2. 判断手机号是否已经登入,成功跳 4( isTelLogin )
  3. 进入 signIn 登入模块,进行登入
  4. 发起绑定请求,传 code 和 appId ( 关联 openId 和 userId )
  5. 登入成功,返回应用

你可能感兴趣的:(h5 登入模块重构,关联 userId 和 openId)