提交 9c6fe63b authored 作者: yueweilu's avatar yueweilu

格式化代码

上级 9254a4f2
......@@ -9,6 +9,7 @@ import 'package:flutter_book/utils/index.dart';
import 'package:get/get.dart';
import 'apis/index.dart';
class Global {
static Future<void> init() async {
// 确保 Flutter 绑定已经初始化
......@@ -20,7 +21,7 @@ class Global {
// 检测网络变化
Connectivity().onConnectivityChanged.listen((ConnectivityResult result) {
Console.log('网络变化--------------------------------$result');
if(result !=ConnectivityResult.none && UserStore.to.isLogin){
if (result != ConnectivityResult.none && UserStore.to.isLogin) {
upload();
}
});
......@@ -31,54 +32,53 @@ class Global {
// 配置存储
Get.putAsync<StorageService>(() => StorageService().init()),
]).whenComplete(() {
// 网络
Get.put<HttpService>(HttpService());
//配置基本设置
Get.put<ConfigStore>(ConfigStore());
//
Get.put<UserStore>(UserStore());
});
}
static void upload() async{
static void upload() async {
List<Map<String, dynamic>> data = await SqlManager.queryNoUploadData();
List<Map<String, dynamic>> finalData = List<Map<String, dynamic>>.from(data);
List<Map<String, dynamic>> finalData =
List<Map<String, dynamic>>.from(data);
Console.log('Sql-----查询到的数据-----------------------$data');
if(data.isNotEmpty){
for (int i = 0; i < data.length; i ++){
if (data.isNotEmpty) {
for (int i = 0; i < data.length; i++) {
Map<String, dynamic> temp = data[i];
// for (Map<String, dynamic> temp in data){
// 如果是笔记
if (temp['types'] == 3){
if (temp['types'] == 3) {
// 存储url的数组
List<String> finalAudios = [];
// 存储url的数组
List<String> finalImages = [];
Map<String,dynamic> contentMap = jsonDecode(temp['note_content']);
Map<String, dynamic> contentMap = jsonDecode(temp['note_content']);
List<dynamic> audios = contentMap['audio'];
if(audios.isNotEmpty){
for(String path in audios){
if (audios.isNotEmpty) {
for (String path in audios) {
final url = await uploadSource(path: path);
finalAudios.add(url);
}
}
List<dynamic> images = contentMap['image'];
if(images.isNotEmpty){
for(String path in images){
if (images.isNotEmpty) {
for (String path in images) {
final url = await uploadSource(path: path);
finalImages.add(url);
}
}
Map<String,dynamic> finalContentMap = {
'text':contentMap['text'],
Map<String, dynamic> finalContentMap = {
'text': contentMap['text'],
'audio': finalAudios,
'image': finalImages
};
finalData[i] = Map<String,dynamic>.from(temp);
finalData[i] = Map<String, dynamic>.from(temp);
finalData[i]['note_content'] = jsonEncode(finalContentMap);
}
}
......@@ -90,12 +90,10 @@ class Global {
SqlManager.updateNotesId(result);
}
}
}
// 上传文件
static Future<String> uploadSource({
required String path
}) async {
static Future<String> uploadSource({required String path}) async {
// String result = await CommonAPI.upload(path:path,fileTypes: 'comment');
// return result;
OssTool tool = OssTool('zxts-comment-file');
......@@ -103,14 +101,14 @@ class Global {
Console.log('------response--------------------------${response.realUri}');
return response.realUri.toString();
}
}
/// 生命周期类
class AppLifecycleObserver extends WidgetsBindingObserver {
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
if (state == AppLifecycleState.paused || state == AppLifecycleState.detached) {
if (state == AppLifecycleState.paused ||
state == AppLifecycleState.detached) {
SqlManager.closeDatabase(); // 应用进入后台时关闭数据库连接
}
}
......
......@@ -36,7 +36,7 @@ void main() {
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}): super(key: key);
const MyApp({Key? key}) : super(key: key);
// This widget is the root of your application.
@override
......@@ -59,7 +59,8 @@ class MyApp extends StatelessWidget {
child: OKToast(
radius: 8.0,
backgroundColor: const Color(0xFF000000).withOpacity(0.2),
textPadding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 10.0),
textPadding: const EdgeInsets.symmetric(
horizontal: 16.0, vertical: 10.0),
position: ToastPosition.bottom,
// textStyle: ,
child: child ?? const Material(),
......@@ -84,7 +85,6 @@ class MyApp extends StatelessWidget {
}
}
class _NoShadowScrollBehavior extends ScrollBehavior {
@override
Widget buildOverscrollIndicator(
......@@ -117,5 +117,3 @@ class _NoShadowScrollBehavior extends ScrollBehavior {
}
}
}
......@@ -22,7 +22,7 @@ class StorageService extends GetxService {
}
///存储list类型
Future<bool> setList(String key, List<String> value) async{
Future<bool> setList(String key, List<String> value) async {
return await _prefs.setStringList(key, value);
}
......@@ -45,6 +45,7 @@ class StorageService extends GetxService {
List<String> getList(String key) {
return _prefs.getStringList(key) ?? [];
}
/// 获取object
Map? getObject(String key) {
String? data = _prefs.getString(key);
......@@ -55,12 +56,4 @@ class StorageService extends GetxService {
Future<bool> remove(String key) async {
return await _prefs.remove(key);
}
}
......@@ -7,7 +7,6 @@ class ConfigStore extends GetxController {
void onInit() {
super.onInit();
_initThemeMode();
}
/// 主题模式
......
part of store;
class UserStore extends GetxController{
class UserStore extends GetxController {
// 获取 UserStore 实例
static UserStore get to => Get.find();
......@@ -8,24 +8,25 @@ class UserStore extends GetxController{
bool _isLogin = false;
String _token = '';
String get token => _token;
String get token => _token;
String _accessToken = '';
String get accessToken => _accessToken;
bool get isLogin => _isLogin;
bool get isLogin=> _isLogin;
bool get hasToken => _token.isNotEmpty;
UserModel _info = UserModel();
UserModel get info => _info;
// 是否需要登录
final ValueNotifier<bool> _needLogin = ValueNotifier<bool>(false);
ValueNotifier<bool> get needLogin => _needLogin;
ValueNotifier<bool> get needLogin => _needLogin;
@override
void onInit() {
......@@ -33,17 +34,20 @@ class UserStore extends GetxController{
_token = StorageService.to.getString(kLocalToken);
}
Future<void>login(UserModel value) async{
_token = value.token??'';
_accessToken = value.accessToken??'';
await StorageService.to.setString(kLocalToken,_token);
await StorageService.to.setString(kLocalAccessToken, value.accessToken??'');
await StorageService.to.setString(kLocalUserInfo, jsonEncode(value.toJson()));
Future<void> login(UserModel value) async {
_token = value.token ?? '';
_accessToken = value.accessToken ?? '';
await StorageService.to.setString(kLocalToken, _token);
await StorageService.to
.setString(kLocalAccessToken, value.accessToken ?? '');
await StorageService.to
.setString(kLocalUserInfo, jsonEncode(value.toJson()));
_needLogin.value = false;
_info = value;
_isLogin = true;
update();
}
Future<void> setToken(String value) async {
await StorageService.to.setString(kLocalToken, value);
_token = value;
......@@ -55,7 +59,8 @@ class UserStore extends GetxController{
}
Future<void> setInfo(UserModel value) async {
await StorageService.to.setString(kLocalUserInfo, jsonEncode(value.toJson()));
await StorageService.to
.setString(kLocalUserInfo, jsonEncode(value.toJson()));
_needLogin.value = false;
_info = value;
}
......@@ -71,11 +76,8 @@ class UserStore extends GetxController{
}
Future<void> profile() async {
if (!hasToken) return;
_isLogin = true;
update();
}
}
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_book/utils/index.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
abstract class AppTheme {
// 应用程序默认边距
static final margin = 10.0.w;
// 主要/主题颜色的常量
static const primary = Color(0xFFAB1941);
// 成功状态的颜色
static const success = Color(0xFF23A757);
// 警告状态的颜色
static const warning = Color(0xFFFF1843);
// 错误状态的颜色
static const error = Color(0xFFDA1414);
// 信息/提示状态的颜色
static const info = Color(0xFF2E5AAC);
......@@ -31,8 +33,7 @@ abstract class AppTheme {
statusBarIconBrightness: Brightness.dark,
systemNavigationBarDividerColor: Colors.transparent,
systemNavigationBarColor: Colors.white,
systemNavigationBarIconBrightness: Brightness.dark
);
systemNavigationBarIconBrightness: Brightness.dark);
// 亮色主题
static SystemUiOverlayStyle get systemStyleLight => systemStyle.copyWith(
......@@ -87,6 +88,7 @@ abstract class AppTheme {
);
return _getTheme(scheme);
}
static ThemeData get dark {
var scheme = ColorScheme.dark(
background: const Color(0xFF0D0D0D),
......@@ -186,8 +188,9 @@ abstract class AppTheme {
backgroundColor: Colors.white,
unselectedItemColor: const Color(0xFF666666),
selectedItemColor: scheme.primary,
unselectedLabelStyle: TextStyle(fontSize: 11.w,fontWeight: Fonts.medium),
selectedLabelStyle: TextStyle(fontSize: 11.w,fontWeight: Fonts.medium),
unselectedLabelStyle:
TextStyle(fontSize: 11.w, fontWeight: Fonts.medium),
selectedLabelStyle: TextStyle(fontSize: 11.w, fontWeight: Fonts.medium),
unselectedIconTheme: IconThemeData(
size: 15.w,
color: scheme.onBackground.withOpacity(0.5),
......@@ -269,8 +272,4 @@ abstract class AppTheme {
),
);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论