signOut method
登出
Implementation
Future<void> signOut() async {
final state = await this.getAuthState();
if (state == null) {
/// 本地没有合法的登录态, 不需要执行登出操作
return;
}
if (state.authType == CloudBaseAuthType.ANONYMOUS) {
throw CloudBaseException(
code: CloudBaseExceptionCode.SIGN_OUT_FAILED, message: '匿名用户不支持登出操作');
}
CloudBaseResponse res = await CloudBaseRequest(super.core)
.post('auth.logout', {'refresh_token': state.refreshToken});
// if (res == null) {
// throw CloudBaseException(
// code: CloudBaseExceptionCode.NULL_RESPONES,
// message: "unknown error, res is null");
// }
if (res.code != null) {
throw CloudBaseException(code: res.code!, message: res.message);
}
await cache.removeAllStore();
}