webview_flutter设置localStorage、cookie同步登录状态

flutter开发的APP里要嵌进去一个js商城网站Vue框架,商城的后台账号系统是和APP的账号系统打通的。

需求是同步APP和网页商城的登录状态,在APP点击进入商城模块的时候,如果APP是已经登陆的则商城也设置为登录状态,未登录亦然。

已知商城的登录状态是由userName(存在cookie里)、userUuid和authToken(存在localStorage里)

所以APP端webview_flutter需要在加载商城网页的时候把以上三个参数设置进去

重点代码:

在onPageFinished里边用

if (UserManager.instance.isLogin()) {

set Cookie的方法:

_controller

      .evaluateJavascript('document.cookie = "userName=$userName;"')

.then((result) {});

set localStorage的方法:

_controller.evaluateJavascript("(function() { try { window.localStorage.setItem('userUuid', '$userUuid');window.localStorage.setItem('authToken','$authToken');); return window.localStorage.authToken; } catch (err) { return err; } })();").then((result) {});

_controller.evaluateJavascript("document.cookie").then((result) {

print('设置getcookie=$result');

});

}

注意以上代码的引号,即使变量也要用引号括起来。try里边可以return你想要验证的值是否设置成功。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容