登录

angular.js - angular如何在公众号开发中保持openid的状态?

在使用微信公众号中遇到个持久化openid的问题,目前项目中采用服务器端获取openid后存在session中然后返回到前端,在angular有个公用的base.js的文件异步获取openid并写入到localStorage中以便其它页面调用。

现在的问题是第一次进入页面获取到openid后可以正常在页面中使用,页面间跳转也可以获取到,但一旦从后台关闭微信再进入点击公众号菜单又会去获取一次openid,然后又重定向到redirect_url中定义的页面,导致用户无法正常的进入相应的菜单,不知道是angular这边获取openid的方式不对还是服务器端那边的做法不对,望指教!

# AngularJS
ringa_lee ringa_lee 2478 天前 1124 次浏览

全部回复(2) 我要回复

  • 滿天的星座

    滿天的星座2017-07-04 13:46:38

    这个问题描述的不太清楚。如果要获取openid,必须通过微信的网页授权,先拿到授权code,然后拿openid。所以openid尽量缓存下来。

    回复
    0
  • 怪我咯

    怪我咯2017-07-04 13:46:38

    按理说程序是运行在微信提供的浏览器中的,微信推出了,程序肯定也关闭了。在此进入的时候,又一次去服务端获取,一切都是新的了。其实可以把openId保存在service中,没必要保存在localstorage中。

    没明白你说的什么意思,你再整理下。

    回复
    0
  • 取消 回复 发送