zoukankan      html  css  js  c++  java
  • 微信公众号开发保持用户登录状态思路

      

    版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源。

      随着微信的快速发展,微信已成为了人们生活中的一部分。通过微信去挖掘客户,服务客户也渐渐被很多公司所应用。其中服务号推广而又最为广泛。下面楼主介绍一下公众号内网页涉及到登录,保证一次登录,下次用户进来不用登录。

      首先看一个流程图

    我们知道,微信开发离不开openid(为了识别用户,每个用户针对每个公众号会产生一个安全的openid).而通常我们获取openid,以及获取用户的基本信息是通过用户授权的方式进行获取。那么ok,怎样通过授权方式获取呢,看上面的流程图中的code(此code是由微信为我们提供,只能使用一次),并且该code只有当我们点配置的菜单时(配置菜单要使用用户授权的方式配置),才能获取到。所以当用户点击菜单时:

    一:我们先判断该code,如果不为null,通过该code获取openid。

    二:拿到openid后,我们去数据库通过openid查询用户信息,如果返回有结果说明该用户已经登录过,将用户信息放置session中,跳转到登录后的页面

    三:拿到openid后,如果我们去数据库没有查询到用户信息,说明该用户没有登录过,跳转到登录页面,让用户登录,登录完将openid与用户信息插入到数据库,并放置session中,跳转到登录后的页面。

    四:如果code为null,我们从session中直接取用户信息(注意session过期的处理),如果取到用户信息,进入到登录后的页面

    五:如果code为null,并且session过期,或者没有获取到用户的信息,跳转到微信授权的地址,重新走流程,形成循环。

    这样,我们就能保证用户一次登录,永久不用登录的效果了,其实最主要还是要搞清openid,每个用户针对同一个公众号,此openid是永远不会变的,哪怕是你取消了重新关注。

  • 相关阅读:
    使用python在SAE上搭建一个微信应用,使用有道翻译的api进行在线翻译
    使用python一步一步搭建微信公众平台(一)
    Socket 多线程FTP软件开发
    (转)SQL NEWID()随机函数
    (转)ip地址,手机ip查询
    (转)webservice 测试窗体只能用于来自本地计算机的请求
    (转)WITH (NOLOCK)
    (转)jquery.url.js 插件的使用
    (转)SQL中的ISNULL函数介绍
    (转) C# Activator.CreateInstance()方法使用
  • 原文地址:https://www.cnblogs.com/xu-lei/p/5864766.html
Copyright © 2011-2022 走看看