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你想要验证的值是否设置成功。
网友评论