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

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

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

阅读 1.6k
评论 2017-07-02 提问
    3 个回答

    让服务器端那边从菜单入手解决了

    评论 赞赏 2017-08-29
      追寻
      • 276

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

      评论 赞赏 2017-07-03

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

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

        评论 赞赏 2017-07-03
          撰写回答

          登录后参与交流、获取后续更新提醒