File tree Expand file tree Collapse file tree 4 files changed +24
-1
lines changed Expand file tree Collapse file tree 4 files changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -72,6 +72,12 @@ class DatabaseProvider {
72
72
return User .fromJson (users[0 ]);
73
73
}
74
74
75
+ Future <bool > saveUser (User user) async {
76
+ final db = await database;
77
+ var index = await db.insert ("user" , user.toJson ());
78
+ return index > 0 ;
79
+ }
80
+
75
81
Future <List <Habit >> getAllHabits () async {
76
82
final db = await database;
77
83
var habits = await db.query ('habits' );
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ import 'package:data_plugin/bmob/table/bmob_user.dart';
7
7
import 'package:flutter/material.dart' ;
8
8
import 'package:flutter/services.dart' ;
9
9
import 'package:timefly/db/database_provider.dart' ;
10
+ import 'package:timefly/models/user.dart' ;
10
11
import 'package:timefly/utils/flash_helper.dart' ;
11
12
import 'package:timefly/utils/system_util.dart' ;
12
13
import 'package:timefly/widget/custom_edit_field.dart' ;
@@ -222,7 +223,9 @@ class _LoginPageState extends State<LoginPage>
222
223
bmobUserRegister.mobilePhoneNumber = phone;
223
224
bmobUserRegister.loginBySms (code).then ((BmobUser bmobUser) {
224
225
FlashHelper .toast (context, '登录成功' );
225
-
226
+ DatabaseProvider .db.saveUser (User (bmobUser.objectId,
227
+ bmobUser.username, bmobUser.mobilePhoneNumber));
228
+ SessionUtils .init ();
226
229
Navigator .of (context).pop ();
227
230
}).catchError ((e) {
228
231
FlashHelper .toast (context, BmobError .convert (e).error);
Original file line number Diff line number Diff line change @@ -28,6 +28,14 @@ class SessionUtils {
28
28
currentUser = await DatabaseProvider .db.getCurrentUser ();
29
29
}
30
30
31
+ static void login (User user) {
32
+ currentUser = user;
33
+ }
34
+
35
+ static void logout () {
36
+ currentUser = null ;
37
+ }
38
+
31
39
static bool isLogin () {
32
40
return currentUser != null ;
33
41
}
Original file line number Diff line number Diff line change @@ -281,4 +281,10 @@ class Name {
281
281
///
282
282
/// 软著 用户政策 隐私协议
283
283
///
284
+ /// 云数据存储
285
+ /// 提供同步数据接口
286
+ /// 登录成功之后 若本地的habit userId不存在,说明是第一次登录,并将本地数据更新 userId字段,同步上传本地数据,之后拉去远端数据,更新本地数据
287
+ /// 换账号登录,若本地habit userId与登录userId不一样,删除本地数据,全部从云端拉取,并保存在本地。
288
+ ///
289
+ /// 每次打开APP都会上传同步一次
284
290
///
You can’t perform that action at this time.
0 commit comments