首先,我使用MVVM
i made a DioFactory class for get dio object
This class for dependency injection and i call the initialAppModuleClass() before the runApp method
This class for route Generator and i call the dependency injection method for every page before build it
This For App Preferences for data in shared Preference
When login is success i store the token in shared Preference
当转到主屏幕时,我使用令牌调用了任何API,但它不工作,它没有获得令牌,尽管它存储在共享首选项中,并在dio中获取_headers的第一个对象,但它仍然为空。
1条答案
按热度按时间q43xntqr1#
因为您在创建Dio工厂时初始化令牌,即使sharedPrefs中的令牌发生更改,但Dio工厂中的值仍与您第一次添加时相同。解决方案是为API头传递令牌。如果您使用的是改型包,则可以执行此操作
@Header("user-token") String token
,然后在API调用中,您可以使用sharedPrefs将令牌传递给头