webview_flutter設(shè)置localStorage、cookie同步登錄狀態(tài)

flutter開發(fā)的APP里要嵌進(jìn)去一個(gè)js商城網(wǎng)站Vue框架,商城的后臺(tái)賬號(hào)系統(tǒng)是和APP的賬號(hào)系統(tǒng)打通的。

需求是同步APP和網(wǎng)頁(yè)商城的登錄狀態(tài),在APP點(diǎn)擊進(jìn)入商城模塊的時(shí)候,如果APP是已經(jīng)登陸的則商城也設(shè)置為登錄狀態(tài),未登錄亦然。

已知商城的登錄狀態(tài)是由userName(存在cookie里)、userUuid和authToken(存在localStorage里)

所以APP端webview_flutter需要在加載商城網(wǎng)頁(yè)的時(shí)候把以上三個(gè)參數(shù)設(shè)置進(jìn)去

重點(diǎn)代碼:

在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('設(shè)置getcookie=$result');

});

}

注意以上代碼的引號(hào),即使變量也要用引號(hào)括起來(lái)。try里邊可以return你想要驗(yàn)證的值是否設(shè)置成功。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容