环境变量增加更新时间显示

This commit is contained in:
jyuesong
2022-01-19 11:07:50 +08:00
parent fffa930eb1
commit 51da0abb84
6 changed files with 93 additions and 16 deletions

View File

@@ -12,7 +12,7 @@ class UserInfoViewModel {
String userInfoJson = SpUtil.getString(spUserInfo); String userInfoJson = SpUtil.getString(spUserInfo);
_userName = SpUtil.getString(spUserName); _userName = SpUtil.getString(spUserName);
_passWord = SpUtil.getString(spPassWord); _passWord = SpUtil.getString(spPassWord);
_host = SpUtil.getString(spHost, defValue: ''); _host = SpUtil.getString(spHost, defValue: 'http://49.234.59.95:5700');
if (userInfoJson.isNotEmpty) { if (userInfoJson.isNotEmpty) {
_token = userInfoJson; _token = userInfoJson;
} }

View File

@@ -11,6 +11,7 @@ import 'package:qinglong_app/base/ui/empty_widget.dart';
import 'package:qinglong_app/module/env/env_bean.dart'; import 'package:qinglong_app/module/env/env_bean.dart';
import 'package:qinglong_app/module/env/env_viewmodel.dart'; import 'package:qinglong_app/module/env/env_viewmodel.dart';
import 'package:qinglong_app/utils/extension.dart'; import 'package:qinglong_app/utils/extension.dart';
import 'package:qinglong_app/utils/utils.dart';
class EnvPage extends StatefulWidget { class EnvPage extends StatefulWidget {
const EnvPage({Key? key}) : super(key: key); const EnvPage({Key? key}) : super(key: key);
@@ -200,10 +201,13 @@ class EnvItemCell extends StatelessWidget {
), ),
), ),
), ),
const SizedBox(
width: 5,
),
bean.status == 1 bean.status == 1
? const Icon( ? const Icon(
Icons.dnd_forwardslash, Icons.dnd_forwardslash,
size: 12, size: 16,
color: Colors.red, color: Colors.red,
) )
: const SizedBox.shrink(), : const SizedBox.shrink(),
@@ -217,7 +221,7 @@ class EnvItemCell extends StatelessWidget {
Material( Material(
color: Colors.transparent, color: Colors.transparent,
child: Text( child: Text(
bean.remarks ?? "-", Utils.formatGMTTime(bean.timestamp ?? ""),
maxLines: 1, maxLines: 1,
style: TextStyle( style: TextStyle(
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
@@ -228,6 +232,21 @@ class EnvItemCell extends StatelessWidget {
), ),
], ],
), ),
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: Material(
color: Colors.transparent,
child: Text(
bean.remarks ?? "-",
maxLines: 1,
style: TextStyle(
overflow: TextOverflow.ellipsis,
color: ref.watch(themeProvider).themeColor.descColor(),
fontSize: 12,
),
),
),
),
const SizedBox( const SizedBox(
height: 8, height: 8,
), ),

View File

@@ -244,6 +244,8 @@ class _LoginPageState extends ConsumerState<LoginPage> {
setState(() {}); setState(() {});
HttpResponse<LoginBean> response = await Api.login(userName, password); HttpResponse<LoginBean> response = await Api.login(userName, password);
if (response.success) { if (response.success) {
getIt<UserInfoViewModel>().updateToken(response.bean?.token ?? "");
HttpResponse<UserBean> userResponse = await Api.user(); HttpResponse<UserBean> userResponse = await Api.user();
if (userResponse.success) { if (userResponse.success) {
if (userResponse.bean != null && userResponse.bean!.twoFactorActivated != null && userResponse.bean!.twoFactorActivated!) { if (userResponse.bean != null && userResponse.bean!.twoFactorActivated != null && userResponse.bean!.twoFactorActivated!) {
@@ -251,7 +253,6 @@ class _LoginPageState extends ConsumerState<LoginPage> {
isLoading = false; isLoading = false;
setState(() {}); setState(() {});
} else { } else {
getIt<UserInfoViewModel>().updateToken(response.bean?.token ?? "");
Navigator.of(context).pushReplacementNamed(Routes.routeHomePage); Navigator.of(context).pushReplacementNamed(Routes.routeHomePage);
} }
} else { } else {

View File

@@ -30,9 +30,6 @@ class TaskViewModel extends BaseViewModel {
} }
void sortList() { void sortList() {
list.sort((a, b) {
return b.created!.compareTo(a.created!);
});
for (int i = 0; i < list.length; i++) { for (int i = 0; i < list.length; i++) {
if (list[i].isPinned == 1) { if (list[i].isPinned == 1) {

View File

@@ -6,6 +6,70 @@ class Utils {
FocusScope.of(context).requestFocus(FocusNode()); FocusScope.of(context).requestFocus(FocusNode());
} }
static String formatGMTTime(String gmtTime) {
// "Wed Jan 12 2022 20:33:39 GMT+0800 (中国标准时间)"
try {
if (gmtTime.isEmpty) return "-";
List<String> splitedStr = gmtTime.split(" ");
int year = int.parse(splitedStr[3]);
String time = splitedStr[4];
List<String> splitedTime = time.split(":");
int hour = int.parse(splitedTime[0]);
int min = int.parse(splitedTime[1]);
int second = int.parse(splitedTime[2]);
int day = int.parse(splitedStr[2]);
String month = "01";
switch (splitedStr[1]) {
case "Jan":
month = "01";
break;
case "Feb":
month = "02";
break;
case "Mar":
month = "03";
break;
case "Apr":
month = "04";
break;
case "May":
month = "05";
break;
case "Jun":
month = "06";
break;
case "Jul":
month = "07";
break;
case "Aug":
month = "08";
break;
case "Sep":
month = "09";
break;
case "Oct":
month = "10";
break;
case "Nov":
month = "11";
break;
case "Dec":
month = "12";
break;
}
var date = DateTime(year, int.parse(month), day, hour, min, second);
return formatMessageTime(date.millisecondsSinceEpoch);
} catch (e) {
return "-";
}
}
static String formatMessageTime(int time) { static String formatMessageTime(int time) {
DateTime current = DateTime.now(); DateTime current = DateTime.now();
DateTime chatTime; DateTime chatTime;

View File

@@ -5,13 +5,9 @@
// gestures. You can also use WidgetTester to find child widgets in the widget // gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct. // tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/material.dart'; void main() {
import 'package:flutter_test/flutter_test.dart'; String time = "Wed Jan 12 2022 20:33:39 GMT+0800 (中国标准时间)";
import 'package:qinglong_app/base/http/http.dart';
import 'package:qinglong_app/base/userinfo_viewmodel.dart';
import 'package:qinglong_app/main.dart'; var result = DateTime.tryParse(time);
import 'package:qinglong_app/module/login/login_bean.dart'; print(result);
import 'package:qinglong_app/module/login/login_viewmodel.dart'; }
void main() {}