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

【字号: 日期:2022-12-17浏览:20作者:雯心

问题描述

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

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

问题解答

回答1:

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

回答2:

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

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

相关文章: