Merge branch 'master' into mcy
This commit is contained in:
commit
e73fb424a2
|
|
@ -1,6 +1,8 @@
|
||||||
import 'package:dio/dio.dart' hide Headers;
|
import 'package:dio/dio.dart' hide Headers;
|
||||||
import 'package:retrofit/retrofit.dart';
|
import 'package:retrofit/retrofit.dart';
|
||||||
import 'package:school_asignment_app/common/job/common/base_structure_result.dart';
|
import 'package:school_asignment_app/common/job/user_info_detail.dart';
|
||||||
|
import 'package:school_asignment_app/common/job/work_student.dart';
|
||||||
|
import 'package:school_asignment_app/common/job/work_student_params.dart';
|
||||||
|
|
||||||
part 'retrofit_client.g.dart';
|
part 'retrofit_client.g.dart';
|
||||||
|
|
||||||
|
|
@ -10,5 +12,11 @@ abstract class RetrofitClient {
|
||||||
factory RetrofitClient(Dio dio, {String? baseUrl}) = _RetrofitClient;
|
factory RetrofitClient(Dio dio, {String? baseUrl}) = _RetrofitClient;
|
||||||
|
|
||||||
@POST("/api/rbac/Auth/Login")
|
@POST("/api/rbac/Auth/Login")
|
||||||
Future<dynamic> toLogin(@Field() String account, @Field() String password);
|
Future toLogin(@Field() String account, @Field() String password);
|
||||||
|
|
||||||
|
@GET("/api/rbac/User/GetUser")
|
||||||
|
Future<UserInfoDetail> getUser(@Query('userId') String userId);
|
||||||
|
|
||||||
|
@GET("/api/hms/Homework/GetList")
|
||||||
|
Future<WorkStudent> getWorkList(@Queries() WorkStudentParams params);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
import 'package:json_annotation/json_annotation.dart';
|
||||||
|
|
||||||
|
part 'user_info_detail.g.dart';
|
||||||
|
|
||||||
|
@JsonSerializable()
|
||||||
|
class UserInfoDetail extends Object {
|
||||||
|
@JsonKey(name: 'account')
|
||||||
|
String account;
|
||||||
|
|
||||||
|
@JsonKey(name: 'name')
|
||||||
|
String name;
|
||||||
|
|
||||||
|
@JsonKey(name: 'gender')
|
||||||
|
int gender;
|
||||||
|
|
||||||
|
@JsonKey(name: 'schoolId')
|
||||||
|
String schoolId;
|
||||||
|
|
||||||
|
@JsonKey(name: 'schoolName')
|
||||||
|
String schoolName;
|
||||||
|
|
||||||
|
@JsonKey(name: 'lastLoginTime')
|
||||||
|
String lastLoginTime;
|
||||||
|
|
||||||
|
@JsonKey(name: 'isActive')
|
||||||
|
bool isActive;
|
||||||
|
|
||||||
|
@JsonKey(name: 'accessFailedCount')
|
||||||
|
int accessFailedCount;
|
||||||
|
|
||||||
|
@JsonKey(name: 'lockoutEndDate')
|
||||||
|
String lockoutEndDate;
|
||||||
|
|
||||||
|
@JsonKey(name: 'creatorName')
|
||||||
|
String creatorName;
|
||||||
|
|
||||||
|
@JsonKey(name: 'creationTime')
|
||||||
|
String creationTime;
|
||||||
|
|
||||||
|
@JsonKey(name: 'id')
|
||||||
|
String id;
|
||||||
|
|
||||||
|
UserInfoDetail(
|
||||||
|
this.account,
|
||||||
|
this.name,
|
||||||
|
this.gender,
|
||||||
|
this.schoolId,
|
||||||
|
this.schoolName,
|
||||||
|
this.lastLoginTime,
|
||||||
|
this.isActive,
|
||||||
|
this.accessFailedCount,
|
||||||
|
this.lockoutEndDate,
|
||||||
|
this.creatorName,
|
||||||
|
this.creationTime,
|
||||||
|
this.id,
|
||||||
|
);
|
||||||
|
|
||||||
|
factory UserInfoDetail.fromJson(Map<String, dynamic> srcJson) => _$UserInfoDetailFromJson(srcJson);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => _$UserInfoDetailToJson(this);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,98 @@
|
||||||
|
import 'package:json_annotation/json_annotation.dart';
|
||||||
|
|
||||||
|
part 'work_student.g.dart';
|
||||||
|
|
||||||
|
|
||||||
|
@JsonSerializable()
|
||||||
|
class WorkStudent extends Object {
|
||||||
|
|
||||||
|
@JsonKey(name: 'items')
|
||||||
|
List<Items> items;
|
||||||
|
|
||||||
|
@JsonKey(name: 'totalCount')
|
||||||
|
int totalCount;
|
||||||
|
|
||||||
|
WorkStudent(this.items,this.totalCount,);
|
||||||
|
|
||||||
|
factory WorkStudent.fromJson(Map<String, dynamic> srcJson) => _$WorkStudentFromJson(srcJson);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => _$WorkStudentToJson(this);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@JsonSerializable()
|
||||||
|
class Items extends Object {
|
||||||
|
|
||||||
|
@JsonKey(name: 'id')
|
||||||
|
String id;
|
||||||
|
|
||||||
|
@JsonKey(name: 'assessType')
|
||||||
|
int assessType;
|
||||||
|
|
||||||
|
@JsonKey(name: 'name')
|
||||||
|
String name;
|
||||||
|
|
||||||
|
@JsonKey(name: 'grade')
|
||||||
|
int grade;
|
||||||
|
|
||||||
|
@JsonKey(name: 'subject')
|
||||||
|
int subject;
|
||||||
|
|
||||||
|
@JsonKey(name: 'publishTime')
|
||||||
|
String publishTime;
|
||||||
|
|
||||||
|
@JsonKey(name: 'state')
|
||||||
|
int state;
|
||||||
|
|
||||||
|
@JsonKey(name: 'collectRate')
|
||||||
|
int collectRate;
|
||||||
|
|
||||||
|
@JsonKey(name: 'annotateRate')
|
||||||
|
int annotateRate;
|
||||||
|
|
||||||
|
@JsonKey(name: 'classes')
|
||||||
|
List<Classes> classes;
|
||||||
|
|
||||||
|
@JsonKey(name: 'creatorName')
|
||||||
|
String creatorName;
|
||||||
|
|
||||||
|
@JsonKey(name: 'creationTime')
|
||||||
|
String creationTime;
|
||||||
|
|
||||||
|
Items(this.id,this.assessType,this.name,this.grade,this.subject,this.publishTime,this.state,this.collectRate,this.annotateRate,this.classes,this.creatorName,this.creationTime,);
|
||||||
|
|
||||||
|
factory Items.fromJson(Map<String, dynamic> srcJson) => _$ItemsFromJson(srcJson);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => _$ItemsToJson(this);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@JsonSerializable()
|
||||||
|
class Classes extends Object {
|
||||||
|
|
||||||
|
@JsonKey(name: 'schoolId')
|
||||||
|
String schoolId;
|
||||||
|
|
||||||
|
@JsonKey(name: 'schoolName')
|
||||||
|
String schoolName;
|
||||||
|
|
||||||
|
@JsonKey(name: 'classId')
|
||||||
|
String classId;
|
||||||
|
|
||||||
|
@JsonKey(name: 'className')
|
||||||
|
String className;
|
||||||
|
|
||||||
|
@JsonKey(name: 'finishTime')
|
||||||
|
String finishTime;
|
||||||
|
|
||||||
|
Classes(this.schoolId,this.schoolName,this.classId,this.className,this.finishTime,);
|
||||||
|
|
||||||
|
factory Classes.fromJson(Map<String, dynamic> srcJson) => _$ClassesFromJson(srcJson);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => _$ClassesToJson(this);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
import 'package:json_annotation/json_annotation.dart';
|
||||||
|
|
||||||
|
part 'work_student_params.g.dart';
|
||||||
|
|
||||||
|
|
||||||
|
@JsonSerializable()
|
||||||
|
class WorkStudentParams extends Object {
|
||||||
|
|
||||||
|
@JsonKey(name: 'AssessType')
|
||||||
|
int assessType;
|
||||||
|
|
||||||
|
@JsonKey(name: 'Name')
|
||||||
|
String? name;
|
||||||
|
|
||||||
|
@JsonKey(name: 'Grade')
|
||||||
|
int? grade;
|
||||||
|
|
||||||
|
@JsonKey(name: 'Subject')
|
||||||
|
int? subject;
|
||||||
|
|
||||||
|
@JsonKey(name: 'State')
|
||||||
|
int? state;
|
||||||
|
|
||||||
|
@JsonKey(name: 'PublishTimeStart')
|
||||||
|
String? publishTimeStart;
|
||||||
|
|
||||||
|
@JsonKey(name: 'PublishTimeEnd')
|
||||||
|
String? publishTimeEnd;
|
||||||
|
|
||||||
|
@JsonKey(name: 'CreatorId')
|
||||||
|
String? creatorId;
|
||||||
|
|
||||||
|
@JsonKey(name: 'PageNumber')
|
||||||
|
int pageNumber;
|
||||||
|
|
||||||
|
@JsonKey(name: 'PageSize')
|
||||||
|
int pageSize;
|
||||||
|
|
||||||
|
@JsonKey(name: 'Sorting')
|
||||||
|
String? sorting;
|
||||||
|
|
||||||
|
WorkStudentParams({this.assessType = 0,this.name,this.grade,this.subject,this.state,this.publishTimeStart,this.publishTimeEnd,this.creatorId,this.pageNumber = 1,this.pageSize = 10,this.sorting,});
|
||||||
|
|
||||||
|
factory WorkStudentParams.fromJson(Map<String, dynamic> srcJson) => _$WorkStudentParamsFromJson(srcJson);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => _$WorkStudentParamsToJson(this);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -151,8 +151,7 @@ class TheError extends Interceptor {
|
||||||
|
|
||||||
var errorMap = response.data;
|
var errorMap = response.data;
|
||||||
// var runtimeType = errorMap.runtimeType;
|
// var runtimeType = errorMap.runtimeType;
|
||||||
// print(runtimeType);
|
if (errorMap is Map && errorMap['error'] != null) {
|
||||||
if ((errorMap is Map || errorMap is Object) && errorMap['error'] != null) {
|
|
||||||
message = errorMap['error']?['message'] ?? '请求错误,请重试';
|
message = errorMap['error']?['message'] ?? '请求错误,请重试';
|
||||||
} else {
|
} else {
|
||||||
if (statusCode != null) {
|
if (statusCode != null) {
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,13 @@
|
||||||
/// 用户 - 配置信息
|
/// 本地存储信息
|
||||||
|
|
||||||
// ignore_for_file: constant_identifier_names
|
enum AppStorageKey {
|
||||||
class AppStorageKey {
|
token(value: '', label: "登录用户的token"),
|
||||||
/// 登录用户的基本信息
|
xToken(value: '', label: "登录用户的Xtoken,刷新token信息"),
|
||||||
static const String STORAGE_USER_INFO = 'user_info';
|
userMobile(value: '', label: "用户输入过的手机号码"),
|
||||||
|
userInfo(value: '', label: "登录用户的基本信息 及 token过期时间"),
|
||||||
|
userDetailInfo(value: '', label: "用户的详细信息");
|
||||||
|
|
||||||
/// 登录用户的token
|
final String label;
|
||||||
static const String STORAGE_USER_TOKEN = 'APP:TOKEN';
|
final String value;
|
||||||
|
const AppStorageKey({required this.value, required this.label});
|
||||||
/// 登录用户的Xtoken
|
|
||||||
static const String STORAGE_X_TOKEN = 'APP:XTOKEN';
|
|
||||||
|
|
||||||
/// 用户输入过的手机号码
|
|
||||||
static const String STORAGE_USER_MOBILE = 'user_mobile';
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,20 @@
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:school_asignment_app/common/job/user_info.dart';
|
import 'package:school_asignment_app/common/job/user_info.dart';
|
||||||
|
import 'package:school_asignment_app/common/job/user_info_detail.dart';
|
||||||
import 'package:school_asignment_app/common/utils/storage.dart';
|
import 'package:school_asignment_app/common/utils/storage.dart';
|
||||||
import 'package:school_asignment_app/common/store/app_storage_key.dart';
|
import 'package:school_asignment_app/common/store/app_storage_key.dart';
|
||||||
import 'package:school_asignment_app/routes/app_pages.dart';
|
import 'package:school_asignment_app/routes/app_pages.dart';
|
||||||
|
|
||||||
class UserStore extends GetxController {
|
class UserStore extends GetxController {
|
||||||
|
UserStore._privateConstructor() {
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
|
static final UserStore _instance = UserStore._privateConstructor();
|
||||||
|
factory UserStore() {
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
|
||||||
static UserStore get to => Get.find();
|
static UserStore get to => Get.find();
|
||||||
|
|
||||||
/// 是否登录
|
/// 是否登录
|
||||||
|
|
@ -12,15 +22,20 @@ class UserStore extends GetxController {
|
||||||
String? token;
|
String? token;
|
||||||
String? xToken;
|
String? xToken;
|
||||||
|
|
||||||
/// 用户信息
|
/// 用户Token及过期时间信息
|
||||||
Rx<UserInfo?> userInfo = Rx(null);
|
Rx<UserInfo?> userInfo = Rx(null);
|
||||||
|
|
||||||
|
/// 用户详细信息
|
||||||
|
Rx<UserInfoDetail?> userDetailInfo = Rx(null);
|
||||||
|
|
||||||
void init() {
|
void init() {
|
||||||
token = StorageService.to.read(AppStorageKey.STORAGE_USER_TOKEN) ?? '';
|
token = StorageService.to.read(AppStorageKey.token.value) ?? '';
|
||||||
try {
|
try {
|
||||||
userInfo.value = StorageService.to.read(AppStorageKey.STORAGE_USER_INFO);
|
userInfo.value = StorageService.to.read(AppStorageKey.userInfo.value);
|
||||||
|
userDetailInfo.value = StorageService.to.read(AppStorageKey.userDetailInfo.value);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
StorageService.to.remove(AppStorageKey.STORAGE_USER_INFO);
|
StorageService.to.remove(AppStorageKey.userInfo.value);
|
||||||
|
StorageService.to.remove(AppStorageKey.userDetailInfo.value);
|
||||||
}
|
}
|
||||||
if ((token?.isNotEmpty ?? false) && userInfo.value != null) {
|
if ((token?.isNotEmpty ?? false) && userInfo.value != null) {
|
||||||
isLogin.value = true;
|
isLogin.value = true;
|
||||||
|
|
@ -33,17 +48,24 @@ class UserStore extends GetxController {
|
||||||
/// 保存 token
|
/// 保存 token
|
||||||
void setToken(String token) {
|
void setToken(String token) {
|
||||||
token = token;
|
token = token;
|
||||||
StorageService.to.write(AppStorageKey.STORAGE_USER_TOKEN, token);
|
StorageService.to.write(AppStorageKey.token.value, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// 更新Xtoken的匙
|
||||||
void setXToken(String xtoken) {
|
void setXToken(String xtoken) {
|
||||||
xtoken = xtoken;
|
xtoken = xtoken;
|
||||||
StorageService.to.write(AppStorageKey.STORAGE_X_TOKEN, xtoken);
|
StorageService.to.write(AppStorageKey.xToken.value, xtoken);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 保存 token
|
/// 保存 用户信息
|
||||||
void setUserInfo(UserInfo info) {
|
void setUserInfo(UserInfo info) {
|
||||||
userInfo.value = info;
|
userInfo.value = info;
|
||||||
StorageService.to.write(AppStorageKey.STORAGE_USER_INFO, info);
|
StorageService.to.write(AppStorageKey.userInfo.value, info);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 保存 用户信息
|
||||||
|
void setUserDetailInfo(UserInfoDetail info) {
|
||||||
|
userDetailInfo.value = info;
|
||||||
|
StorageService.to.write(AppStorageKey.userDetailInfo.value, info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ void main() async {
|
||||||
/// 初始化本地存储
|
/// 初始化本地存储
|
||||||
StorageService storageService = StorageService(initCall: () async {
|
StorageService storageService = StorageService(initCall: () async {
|
||||||
/// 初始化UserStore
|
/// 初始化UserStore
|
||||||
Get.put<UserStore>(UserStore()..init());
|
Get.put<UserStore>(UserStore());
|
||||||
|
|
||||||
runApp(const MyApp());
|
runApp(const MyApp());
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -7,18 +7,24 @@ import 'package:school_asignment_app/routes/app_pages.dart';
|
||||||
const _items = [
|
const _items = [
|
||||||
{
|
{
|
||||||
'id': 1,
|
'id': 1,
|
||||||
'title': '首页',
|
|
||||||
'img': 'assets/images/ic_home_normal.png',
|
|
||||||
'activeImg': 'assets/images/ic_home_press.png',
|
|
||||||
'route': Routes.home,
|
|
||||||
'isBigger': false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'id': 2,
|
|
||||||
'title': '作业',
|
'title': '作业',
|
||||||
'img': 'assets/images/ic_work_normal.png',
|
'img': 'assets/images/ic_work_normal.png',
|
||||||
'activeImg': 'assets/images/ic_work_press.png',
|
'activeImg': 'assets/images/ic_work_press.png',
|
||||||
'route': Routes.work,
|
'route': Routes.home,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'id': 2,
|
||||||
|
'title': '考试',
|
||||||
|
'img': 'assets/images/ic_work_normal.png',
|
||||||
|
'activeImg': 'assets/images/ic_work_press.png',
|
||||||
|
'route': Routes.home,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'id': 3,
|
||||||
|
'title': '我的',
|
||||||
|
'img': 'assets/images/ic_work_normal.png',
|
||||||
|
'activeImg': 'assets/images/ic_work_press.png',
|
||||||
|
'route': Routes.myInfo,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -34,7 +40,7 @@ class MyBottomNavigationBar extends StatelessWidget {
|
||||||
return Container(
|
return Container(
|
||||||
height: 50.r,
|
height: 50.r,
|
||||||
margin: EdgeInsets.only(bottom: Get.mediaQuery.padding.bottom),
|
margin: EdgeInsets.only(bottom: Get.mediaQuery.padding.bottom),
|
||||||
decoration: BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
color:Colors.white,
|
color:Colors.white,
|
||||||
),
|
),
|
||||||
child: Row(
|
child: Row(
|
||||||
|
|
@ -45,7 +51,7 @@ class MyBottomNavigationBar extends StatelessWidget {
|
||||||
if (active == e['id']) {
|
if (active == e['id']) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Get.offAllNamed(e['route'] as String);
|
Get.offAllNamed(e['route'] as String,arguments: e['id']);
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
width: 60.r,
|
width: 60.r,
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,121 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:package_info/package_info.dart';
|
||||||
|
import 'package:school_asignment_app/page/global_widget/my_text.dart';
|
||||||
|
// 其他页面
|
||||||
|
|
||||||
|
class OhterPage extends StatefulWidget {
|
||||||
|
const OhterPage({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<OhterPage> createState() => _OhterPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _OhterPageState extends State<OhterPage> {
|
||||||
|
RxString localVersion = ''.obs;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
getPageInfo();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取当前版本号
|
||||||
|
getPageInfo() async {
|
||||||
|
PackageInfo packageInfo = await PackageInfo.fromPlatform();
|
||||||
|
localVersion.value = packageInfo.version;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
final personalInfoTitleStly = TextStyle(
|
||||||
|
color: const Color.fromRGBO(80, 87, 103, 1),
|
||||||
|
fontSize: 16.sp,
|
||||||
|
);
|
||||||
|
final personalInfoValStly = TextStyle(
|
||||||
|
color: const Color.fromRGBO(148, 163, 182, 1),
|
||||||
|
fontSize: 16.sp,
|
||||||
|
);
|
||||||
|
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: const Color.fromRGBO(248, 248, 248, 1),
|
||||||
|
appBar: AppBar(
|
||||||
|
backgroundColor: Theme.of(context).primaryColor,
|
||||||
|
title: quickText('其他', color: Colors.white),
|
||||||
|
),
|
||||||
|
body: Stack(
|
||||||
|
alignment: const FractionalOffset(0.5, 0.98),
|
||||||
|
children: [
|
||||||
|
ListView(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
margin: EdgeInsets.symmetric(vertical: 22.h, horizontal: 16.w),
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 22.h, horizontal: 16.w),
|
||||||
|
height: 130.h,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
borderRadius: BorderRadius.all(Radius.circular(6.w)),
|
||||||
|
color: Colors.white,
|
||||||
|
boxShadow: const [
|
||||||
|
BoxShadow(
|
||||||
|
color: Color.fromRGBO(46, 91, 255, 0.1),
|
||||||
|
offset: Offset.zero, //阴影y轴偏移量
|
||||||
|
blurRadius: 20, //阴影模糊程度
|
||||||
|
spreadRadius: 10, //阴影扩散程度
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
InkWell(
|
||||||
|
onTap: () {
|
||||||
|
/* RouterManager.router.navigateTo(
|
||||||
|
context,
|
||||||
|
transition: TransitionType.fadeIn,
|
||||||
|
'${RouterManager.agreementPath}?type=${AGREEMENT_KEY.PRIVACY_GREEMENT.name}',
|
||||||
|
);*/
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
|
padding: EdgeInsets.only(bottom: 4.h),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text('用户隐私协议', style: personalInfoTitleStly),
|
||||||
|
Icon(
|
||||||
|
Icons.arrow_forward_ios,
|
||||||
|
color: const Color.fromRGBO(80, 87, 103, 1),
|
||||||
|
size: 16.sp,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
height: 1.w,
|
||||||
|
color: const Color.fromRGBO(240, 243, 255, 1),
|
||||||
|
),
|
||||||
|
SizedBox(height: 8.h),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text('APP版本', style: personalInfoTitleStly),
|
||||||
|
Obx(() {
|
||||||
|
return quickText(localVersion);
|
||||||
|
})
|
||||||
|
],
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [Text('APP备案号: ', style: personalInfoTitleStly), quickText('渝ICP备17007225号-3A', size: 14.sp)],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -17,15 +17,15 @@ class _StartPageState extends State<StartPage> {
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
String? token = StorageService.to.read(AppStorageKey.STORAGE_USER_TOKEN);
|
String? token = StorageService.to.read(AppStorageKey.token.value);
|
||||||
UserInfo? userInfo;
|
UserInfo? userInfo;
|
||||||
try {
|
try {
|
||||||
var userInfoJson = StorageService.to.read(AppStorageKey.STORAGE_USER_INFO);
|
var userInfoJson = StorageService.to.read(AppStorageKey.userInfo.value);
|
||||||
if (userInfoJson != null) {
|
if (userInfoJson != null) {
|
||||||
userInfo = UserInfo.fromJson(userInfoJson);
|
userInfo = UserInfo.fromJson(userInfoJson);
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
StorageService.to.remove(AppStorageKey.STORAGE_USER_INFO);
|
StorageService.to.remove(AppStorageKey.userInfo.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((token?.isNotEmpty ?? false) && userInfo != null) {
|
if ((token?.isNotEmpty ?? false) && userInfo != null) {
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,11 @@ import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:school_asignment_app/common/job/user_info.dart';
|
||||||
import 'package:school_asignment_app/common/store/app_storage_key.dart';
|
import 'package:school_asignment_app/common/store/app_storage_key.dart';
|
||||||
|
import 'package:school_asignment_app/common/store/user_store.dart';
|
||||||
import 'package:school_asignment_app/common/utils/storage.dart';
|
import 'package:school_asignment_app/common/utils/storage.dart';
|
||||||
|
import 'package:school_asignment_app/page/global_widget/global_scaffold.dart';
|
||||||
import 'package:school_asignment_app/page/global_widget/my_text.dart';
|
import 'package:school_asignment_app/page/global_widget/my_text.dart';
|
||||||
import 'package:school_asignment_app/page/home_page/home_logic.dart';
|
import 'package:school_asignment_app/page/home_page/home_logic.dart';
|
||||||
import 'package:cached_network_image/cached_network_image.dart';
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
|
|
@ -12,8 +15,7 @@ import 'package:school_asignment_app/routes/app_pages.dart';
|
||||||
|
|
||||||
class MyInfo extends StatelessWidget {
|
class MyInfo extends StatelessWidget {
|
||||||
MyInfo({Key? key}) : super(key: key);
|
MyInfo({Key? key}) : super(key: key);
|
||||||
final controller = Get.find<HomeLogic>;
|
late Rx<UserInfo?> userInfo = UserStore.to.userInfo;
|
||||||
final state = Get.find<HomeLogic>().state;
|
|
||||||
|
|
||||||
// 确认对话框
|
// 确认对话框
|
||||||
_showAlertDialog(context1) async {
|
_showAlertDialog(context1) async {
|
||||||
|
|
@ -36,8 +38,8 @@ class MyInfo extends StatelessWidget {
|
||||||
ref.read(markingSubtopicSwitchingProvider.notifier).clean();
|
ref.read(markingSubtopicSwitchingProvider.notifier).clean();
|
||||||
ref.read(userTokenProvider.notifier).clean();
|
ref.read(userTokenProvider.notifier).clean();
|
||||||
ref.read(userProvider.notifier).clean();*/
|
ref.read(userProvider.notifier).clean();*/
|
||||||
StorageService.to.remove(AppStorageKey.STORAGE_USER_TOKEN);
|
StorageService.to.remove(AppStorageKey.token.value);
|
||||||
StorageService.to.remove(AppStorageKey.STORAGE_USER_INFO);
|
StorageService.to.remove(AppStorageKey.userInfo.value);
|
||||||
Navigator.pop(context, "Ok");
|
Navigator.pop(context, "Ok");
|
||||||
Get.offAllNamed(Routes.login);
|
Get.offAllNamed(Routes.login);
|
||||||
})
|
})
|
||||||
|
|
@ -56,271 +58,264 @@ class MyInfo extends StatelessWidget {
|
||||||
fontSize: 16.sp,
|
fontSize: 16.sp,
|
||||||
);
|
);
|
||||||
|
|
||||||
return AnnotatedRegion(
|
return GlobalScaffold(
|
||||||
value: const SystemUiOverlayStyle(
|
active: 3,
|
||||||
statusBarColor: Colors.transparent,
|
body: AnnotatedRegion(
|
||||||
systemNavigationBarIconBrightness: Brightness.light,
|
value: const SystemUiOverlayStyle(
|
||||||
statusBarIconBrightness: Brightness.light,
|
statusBarColor: Colors.transparent,
|
||||||
statusBarBrightness: Brightness.dark,
|
systemNavigationBarIconBrightness: Brightness.light,
|
||||||
),
|
statusBarIconBrightness: Brightness.light,
|
||||||
child: Stack(
|
statusBarBrightness: Brightness.dark,
|
||||||
children: [
|
),
|
||||||
SizedBox(
|
child: Stack(
|
||||||
height: double.infinity,
|
children: [
|
||||||
child: Column(
|
SizedBox(
|
||||||
children: [
|
height: double.infinity,
|
||||||
Container(
|
child: Column(
|
||||||
height: 240.h,
|
|
||||||
width: double.infinity,
|
|
||||||
decoration: const BoxDecoration(
|
|
||||||
image: DecorationImage(
|
|
||||||
image: AssetImage('assets/images/personal_bgi.png'),
|
|
||||||
fit: BoxFit.cover,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Expanded(
|
|
||||||
child: Container(
|
|
||||||
color: const Color.fromRGBO(248, 248, 248, 1),
|
|
||||||
))
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
SafeArea(
|
|
||||||
child: Scaffold(
|
|
||||||
backgroundColor: Colors.transparent,
|
|
||||||
body: Column(
|
|
||||||
children: [
|
children: [
|
||||||
Stack(
|
|
||||||
alignment: const FractionalOffset(0.04, 0.1),
|
|
||||||
children: [
|
|
||||||
Container(
|
|
||||||
height: 200.h,
|
|
||||||
alignment: Alignment.center,
|
|
||||||
child: Column(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
ClipRRect(
|
|
||||||
borderRadius: BorderRadius.circular(80.w),
|
|
||||||
child: Container(
|
|
||||||
width: 80.w,
|
|
||||||
height: 80.w,
|
|
||||||
padding: EdgeInsets.all(4.w),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
border: Border.all(
|
|
||||||
width: 1.w,
|
|
||||||
color: Colors.white,
|
|
||||||
),
|
|
||||||
borderRadius: BorderRadius.all(
|
|
||||||
Radius.circular(40.w),
|
|
||||||
),
|
|
||||||
boxShadow: [
|
|
||||||
BoxShadow(
|
|
||||||
color: const Color.fromRGBO(46, 91, 255, 0.2),
|
|
||||||
offset: Offset(4.w, 6.h), //阴影y轴偏移量
|
|
||||||
blurRadius: 8, //阴影模糊程度
|
|
||||||
spreadRadius: 0.2, //阴影扩散程度
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
child: CachedNetworkImage(
|
|
||||||
fit: BoxFit.cover,
|
|
||||||
imageUrl:'',
|
|
||||||
placeholder: (context, url) => Image.asset('assets/images/default_user_dead.png'),
|
|
||||||
errorWidget: (context, url, error) =>
|
|
||||||
Image.asset('assets/images/default_user_dead.png'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
InkWell(
|
|
||||||
onTap: () {
|
|
||||||
/*if (tokenState == '' || userState.id == '') {
|
|
||||||
toLoginPage(context);
|
|
||||||
}*/
|
|
||||||
},
|
|
||||||
child: Container(
|
|
||||||
margin: EdgeInsets.only(top: 16.h),
|
|
||||||
child: Text(
|
|
||||||
state.userInfo.value!.givenname != '' ? state.userInfo.value!.givenname : '请前往登录',
|
|
||||||
style: TextStyle(fontSize: 16.sp, color: Colors.white),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
InkWell(
|
|
||||||
onTap: () => Get.back(),
|
|
||||||
child: Icon(Icons.arrow_back_ios_new_rounded, color: Colors.white, size: 24.sp),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
SizedBox(height: 14.h),
|
|
||||||
Container(
|
Container(
|
||||||
margin: EdgeInsets.symmetric(vertical: 22.h, horizontal: 16.w),
|
height: 240.h,
|
||||||
padding: EdgeInsets.symmetric(vertical: 22.h, horizontal: 16.w),
|
width: double.infinity,
|
||||||
height: 310.h,
|
decoration: const BoxDecoration(
|
||||||
decoration: BoxDecoration(
|
image: DecorationImage(
|
||||||
borderRadius: BorderRadius.all(Radius.circular(6.w)),
|
image: AssetImage('assets/images/personal_bgi.png'),
|
||||||
color: Colors.white,
|
fit: BoxFit.cover,
|
||||||
boxShadow: const [
|
),
|
||||||
BoxShadow(
|
|
||||||
color: Color.fromRGBO(46, 91, 255, 0.1),
|
|
||||||
offset: Offset.zero, //阴影y轴偏移量
|
|
||||||
blurRadius: 20, //阴影模糊程度
|
|
||||||
spreadRadius: 10, //阴影扩散程度
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
child: Column(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Text('账号', style: personalInfoTitleStly),
|
|
||||||
Text(state.userInfo.value!.givenname, style: personalInfoValStly)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
Container(
|
|
||||||
height: 1.w,
|
|
||||||
color: const Color.fromRGBO(240, 243, 255, 1),
|
|
||||||
),
|
|
||||||
/* Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Text('所在学校', style: personalInfoTitleStly),
|
|
||||||
Text(userState.schoolName, style: personalInfoValStly)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
Container(
|
|
||||||
height: 1.w,
|
|
||||||
color: const Color.fromRGBO(240, 243, 255, 1),
|
|
||||||
),
|
|
||||||
Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Text('担任职位', style: personalInfoTitleStly),
|
|
||||||
SizedBox(width: 20.w),
|
|
||||||
Expanded(
|
|
||||||
child: Text(
|
|
||||||
userState.positionNames.map((e) => e).toList().join(','),
|
|
||||||
maxLines: 2,
|
|
||||||
textAlign: TextAlign.right,
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
style: personalInfoValStly,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
Container(height: 1.w, color: const Color.fromRGBO(240, 243, 255, 1)),
|
|
||||||
Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Text('所授科目', style: personalInfoTitleStly),
|
|
||||||
Expanded(
|
|
||||||
child: Text(
|
|
||||||
userState.subjectIds.map((e) => getSubjectEnumName(e)).toList().join(','),
|
|
||||||
maxLines: 2,
|
|
||||||
textAlign: TextAlign.right,
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
style: personalInfoValStly,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
Container(height: 1.w, color: const Color.fromRGBO(240, 243, 255, 1)),
|
|
||||||
Padding(
|
|
||||||
padding: EdgeInsets.only(top: 10.h),
|
|
||||||
child: InkWell(
|
|
||||||
onTap: () {
|
|
||||||
RouterManager.router.navigateTo(
|
|
||||||
context,
|
|
||||||
RouterManager.ohterMainPagePath,
|
|
||||||
transition: TransitionType.custom,
|
|
||||||
transitionBuilder: (context, animation, secondaryAnimation, child) {
|
|
||||||
return SkewTransition(
|
|
||||||
turns: Tween<double>(
|
|
||||||
begin: -0.06,
|
|
||||||
end: 0.0,
|
|
||||||
).animate(animation),
|
|
||||||
child: child);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
},
|
|
||||||
child: Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Text('其他', style: personalInfoTitleStly),
|
|
||||||
Icon(
|
|
||||||
Icons.arrow_forward_ios,
|
|
||||||
color: const Color.fromRGBO(80, 87, 103, 1),
|
|
||||||
size: 16.sp,
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)*/
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Column(
|
child: Container(
|
||||||
children: [
|
color: const Color.fromRGBO(248, 248, 248, 1),
|
||||||
const Expanded(child: SizedBox()),
|
))
|
||||||
Container(
|
|
||||||
margin: EdgeInsets.only(bottom: 40.h),
|
|
||||||
alignment: Alignment.bottomCenter,
|
|
||||||
child: InkWell(
|
|
||||||
child: Container(
|
|
||||||
padding: EdgeInsets.symmetric(vertical: 14.h),
|
|
||||||
margin: EdgeInsets.only(right: 16.w, left: 16.w),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
borderRadius: BorderRadius.all(
|
|
||||||
Radius.circular(6.w),
|
|
||||||
),
|
|
||||||
color: Colors.white,
|
|
||||||
boxShadow: [
|
|
||||||
BoxShadow(
|
|
||||||
color: const Color.fromRGBO(46, 91, 255, 0.2),
|
|
||||||
offset: Offset(2.w, 2.h), //阴影y轴偏移量
|
|
||||||
blurRadius: 14, //阴影模糊程度
|
|
||||||
spreadRadius: 0.5, //阴影扩散程度
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
child: Row(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
Icon(
|
|
||||||
Icons.exit_to_app_outlined,
|
|
||||||
size: 16.sp,
|
|
||||||
color: const Color.fromRGBO(148, 163, 182, 1),
|
|
||||||
),
|
|
||||||
Container(
|
|
||||||
width: 6.w,
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
'退出登录',
|
|
||||||
style: TextStyle(color: const Color.fromRGBO(148, 163, 182, 1), fontSize: 16.sp),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
onTap: () {
|
|
||||||
_showAlertDialog(context);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
SafeArea(
|
||||||
],
|
child: Scaffold(
|
||||||
|
backgroundColor: Colors.transparent,
|
||||||
|
body: Column(
|
||||||
|
children: [
|
||||||
|
Stack(
|
||||||
|
alignment: const FractionalOffset(0.04, 0.1),
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
height: 200.h,
|
||||||
|
alignment: Alignment.center,
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
ClipRRect(
|
||||||
|
borderRadius: BorderRadius.circular(80.w),
|
||||||
|
child: Container(
|
||||||
|
width: 80.w,
|
||||||
|
height: 80.w,
|
||||||
|
padding: EdgeInsets.all(4.w),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
border: Border.all(
|
||||||
|
width: 1.w,
|
||||||
|
color: Colors.white,
|
||||||
|
),
|
||||||
|
borderRadius: BorderRadius.all(
|
||||||
|
Radius.circular(40.w),
|
||||||
|
),
|
||||||
|
boxShadow: [
|
||||||
|
BoxShadow(
|
||||||
|
color: const Color.fromRGBO(46, 91, 255, 0.2),
|
||||||
|
offset: Offset(4.w, 6.h), //阴影y轴偏移量
|
||||||
|
blurRadius: 8, //阴影模糊程度
|
||||||
|
spreadRadius: 0.2, //阴影扩散程度
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: Image.asset('assets/images/default_user_dead.png')
|
||||||
|
|
||||||
|
/* CachedNetworkImage(
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
imageUrl:'',
|
||||||
|
placeholder: (context, url) => Image.asset('assets/images/default_user_dead.png'),
|
||||||
|
errorWidget: (context, url, error) =>
|
||||||
|
Image.asset('assets/images/default_user_dead.png'),
|
||||||
|
),*/
|
||||||
|
),
|
||||||
|
),
|
||||||
|
InkWell(
|
||||||
|
onTap: () {
|
||||||
|
/*if (tokenState == '' || userState.id == '') {
|
||||||
|
toLoginPage(context);
|
||||||
|
}*/
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
|
margin: EdgeInsets.only(top: 16.h),
|
||||||
|
child: Text(
|
||||||
|
userInfo.value!.givenname != '' ? userInfo.value!.givenname : '请前往登录',
|
||||||
|
style: TextStyle(fontSize: 16.sp, color: Colors.white),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
/* InkWell(
|
||||||
|
onTap: () => Get.back(),
|
||||||
|
child: Icon(Icons.arrow_back_ios_new_rounded, color: Colors.white, size: 24.sp),
|
||||||
|
),*/
|
||||||
|
],
|
||||||
|
),
|
||||||
|
SizedBox(height: 14.h),
|
||||||
|
Container(
|
||||||
|
margin: EdgeInsets.symmetric(vertical: 22.h, horizontal: 16.w),
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 22.h, horizontal: 16.w),
|
||||||
|
height: 310.h,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
borderRadius: BorderRadius.all(Radius.circular(6.w)),
|
||||||
|
color: Colors.white,
|
||||||
|
boxShadow: const [
|
||||||
|
BoxShadow(
|
||||||
|
color: Color.fromRGBO(46, 91, 255, 0.1),
|
||||||
|
offset: Offset.zero, //阴影y轴偏移量
|
||||||
|
blurRadius: 20, //阴影模糊程度
|
||||||
|
spreadRadius: 10, //阴影扩散程度
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text('账号', style: personalInfoTitleStly),
|
||||||
|
Text(userInfo.value!.givenname, style: personalInfoValStly)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
height: 1.w,
|
||||||
|
color: const Color.fromRGBO(240, 243, 255, 1),
|
||||||
|
),
|
||||||
|
/* Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text('所在学校', style: personalInfoTitleStly),
|
||||||
|
Text(userState.schoolName, style: personalInfoValStly)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
height: 1.w,
|
||||||
|
color: const Color.fromRGBO(240, 243, 255, 1),
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text('担任职位', style: personalInfoTitleStly),
|
||||||
|
SizedBox(width: 20.w),
|
||||||
|
Expanded(
|
||||||
|
child: Text(
|
||||||
|
userState.positionNames.map((e) => e).toList().join(','),
|
||||||
|
maxLines: 2,
|
||||||
|
textAlign: TextAlign.right,
|
||||||
|
overflow: TextOverflow.ellipsis,
|
||||||
|
style: personalInfoValStly,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Container(height: 1.w, color: const Color.fromRGBO(240, 243, 255, 1)),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text('所授科目', style: personalInfoTitleStly),
|
||||||
|
Expanded(
|
||||||
|
child: Text(
|
||||||
|
userState.subjectIds.map((e) => getSubjectEnumName(e)).toList().join(','),
|
||||||
|
maxLines: 2,
|
||||||
|
textAlign: TextAlign.right,
|
||||||
|
overflow: TextOverflow.ellipsis,
|
||||||
|
style: personalInfoValStly,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),*/
|
||||||
|
Container(height: 1.w, color: const Color.fromRGBO(240, 243, 255, 1)),
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.only(top: 10.h),
|
||||||
|
child: InkWell(
|
||||||
|
onTap: () {
|
||||||
|
Get.toNamed(Routes.otherPage);
|
||||||
|
},
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text('其他', style: personalInfoTitleStly),
|
||||||
|
Icon(
|
||||||
|
Icons.arrow_forward_ios,
|
||||||
|
color: const Color.fromRGBO(80, 87, 103, 1),
|
||||||
|
size: 16.sp,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
const Expanded(child: SizedBox()),
|
||||||
|
Container(
|
||||||
|
margin: EdgeInsets.only(bottom: 40.h),
|
||||||
|
alignment: Alignment.bottomCenter,
|
||||||
|
child: InkWell(
|
||||||
|
child: Container(
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 14.h),
|
||||||
|
margin: EdgeInsets.only(right: 16.w, left: 16.w),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
borderRadius: BorderRadius.all(
|
||||||
|
Radius.circular(6.w),
|
||||||
|
),
|
||||||
|
color: Colors.white,
|
||||||
|
boxShadow: [
|
||||||
|
BoxShadow(
|
||||||
|
color: const Color.fromRGBO(46, 91, 255, 0.2),
|
||||||
|
offset: Offset(2.w, 2.h), //阴影y轴偏移量
|
||||||
|
blurRadius: 14, //阴影模糊程度
|
||||||
|
spreadRadius: 0.5, //阴影扩散程度
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.exit_to_app_outlined,
|
||||||
|
size: 16.sp,
|
||||||
|
color: const Color.fromRGBO(148, 163, 182, 1),
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
width: 6.w,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
'退出登录',
|
||||||
|
style: TextStyle(color: const Color.fromRGBO(148, 163, 182, 1), fontSize: 16.sp),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onTap: () {
|
||||||
|
_showAlertDialog(context);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,37 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:get_storage/get_storage.dart';
|
||||||
|
import 'package:school_asignment_app/common/job/work_student.dart';
|
||||||
|
import 'package:school_asignment_app/common/job/work_student_params.dart';
|
||||||
|
import 'package:school_asignment_app/common/mixins/request_tool_mixin.dart';
|
||||||
import 'package:school_asignment_app/common/store/user_store.dart';
|
import 'package:school_asignment_app/common/store/user_store.dart';
|
||||||
|
|
||||||
import 'home_state.dart';
|
import 'home_state.dart';
|
||||||
|
|
||||||
class HomeLogic extends GetxController {
|
class HomeLogic extends GetxController with RequestToolMixin,GetTickerProviderStateMixin{
|
||||||
final HomeState state = HomeState();
|
final HomeState state = HomeState();
|
||||||
|
late TabController tabController;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onInit(){
|
void onInit(){
|
||||||
super.onInit();
|
super.onInit();
|
||||||
state.userInfo = UserStore.to.userInfo;
|
state.userInfo = UserStore.to.userInfo;
|
||||||
print(state.userInfo.value.obs);
|
state.active = Get.arguments ?? 1;
|
||||||
|
tabController = TabController(
|
||||||
|
length: 2,
|
||||||
|
vsync: this,
|
||||||
|
);
|
||||||
|
print('state.active=${state.active}');
|
||||||
|
getList();
|
||||||
|
}
|
||||||
|
void getList() async{
|
||||||
|
WorkStudentParams params = WorkStudentParams(assessType: 0,);
|
||||||
|
WorkStudent data = await getClient().getWorkList(params);
|
||||||
|
state.workList.value = data.items;
|
||||||
|
}
|
||||||
|
@override
|
||||||
|
void dispose(){
|
||||||
|
super.dispose();
|
||||||
|
tabController.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:school_asignment_app/common/job/user_info.dart';
|
import 'package:school_asignment_app/common/job/user_info.dart';
|
||||||
|
|
||||||
|
|
@ -7,4 +8,8 @@ class HomeState {
|
||||||
}
|
}
|
||||||
|
|
||||||
late Rx<UserInfo?> userInfo;
|
late Rx<UserInfo?> userInfo;
|
||||||
|
int active = 1;
|
||||||
|
late RxList workList = RxList();
|
||||||
|
late RxInt tabIndex = 0.obs;
|
||||||
|
late bool completedToRefresh = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:get_storage/get_storage.dart';
|
||||||
import 'package:school_asignment_app/common/store/app_storage_key.dart';
|
import 'package:school_asignment_app/common/store/app_storage_key.dart';
|
||||||
import 'package:school_asignment_app/common/utils/storage.dart';
|
import 'package:school_asignment_app/common/utils/storage.dart';
|
||||||
import 'package:school_asignment_app/page/global_widget/global_scaffold.dart';
|
import 'package:school_asignment_app/page/global_widget/global_scaffold.dart';
|
||||||
|
import 'package:school_asignment_app/page/global_widget/my_text.dart';
|
||||||
import 'package:school_asignment_app/page/home_page/widget/top_user_info.dart';
|
import 'package:school_asignment_app/page/home_page/widget/top_user_info.dart';
|
||||||
import 'package:school_asignment_app/routes/app_pages.dart';
|
import 'package:school_asignment_app/routes/app_pages.dart';
|
||||||
|
|
||||||
|
|
@ -18,16 +21,217 @@ class HomePage extends StatefulWidget {
|
||||||
|
|
||||||
class _HomePageState extends State<HomePage> {
|
class _HomePageState extends State<HomePage> {
|
||||||
final logic = Get.find<HomeLogic>();
|
final logic = Get.find<HomeLogic>();
|
||||||
final state = Get.find<HomeLogic>().state;
|
final state = Get
|
||||||
|
.find<HomeLogic>()
|
||||||
|
.state;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return GlobalScaffold(
|
return GlobalScaffold(
|
||||||
active: 1,
|
active: state.active,
|
||||||
body: Column(
|
body: AnnotatedRegion(
|
||||||
children: [
|
value: const SystemUiOverlayStyle(
|
||||||
TopUserInfo(),
|
systemNavigationBarColor: Color(0xFF000000),
|
||||||
],
|
systemNavigationBarDividerColor: null,
|
||||||
|
statusBarColor: Colors.white,
|
||||||
|
systemNavigationBarIconBrightness: Brightness.light,
|
||||||
|
statusBarIconBrightness: Brightness.dark,
|
||||||
|
statusBarBrightness: Brightness.light,
|
||||||
|
),
|
||||||
|
child: Scaffold(
|
||||||
|
backgroundColor: const Color.fromRGBO(244, 244, 244, 1),
|
||||||
|
body: OrientationBuilder(
|
||||||
|
builder: (BuildContext context, Orientation orientation) {
|
||||||
|
return Column(
|
||||||
|
children: <Widget>[
|
||||||
|
Container(
|
||||||
|
color: Colors.white,
|
||||||
|
margin: EdgeInsets.only(top: MediaQuery
|
||||||
|
.of(context)
|
||||||
|
.padding
|
||||||
|
.top),
|
||||||
|
padding: EdgeInsets.only(bottom: 9.h, top: 4.h),
|
||||||
|
child: Row(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Expanded(flex: 1, child: SizedBox()),
|
||||||
|
Expanded(
|
||||||
|
flex: 4,
|
||||||
|
child: Container(
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 2.h),
|
||||||
|
alignment: Alignment.center,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: const Color.fromRGBO(243, 243, 243, 1),
|
||||||
|
borderRadius: BorderRadius.circular(8.r),
|
||||||
|
),
|
||||||
|
child: TabBar(
|
||||||
|
padding: EdgeInsets.zero,
|
||||||
|
indicatorPadding: EdgeInsets.zero,
|
||||||
|
indicatorWeight: 0,
|
||||||
|
labelPadding: EdgeInsets.symmetric(
|
||||||
|
horizontal: 2.w),
|
||||||
|
controller: logic.tabController,
|
||||||
|
unselectedLabelStyle: TextStyle(
|
||||||
|
fontSize: 14.sp,
|
||||||
|
color: const Color.fromRGBO(69, 83, 100, 1),
|
||||||
|
),
|
||||||
|
labelStyle: TextStyle(
|
||||||
|
fontSize: 14.sp,
|
||||||
|
color: const Color.fromRGBO(104, 136, 253, 1),
|
||||||
|
),
|
||||||
|
// labelColor: const Color.fromRGBO(45, 56, 76, 1),
|
||||||
|
indicator: const BoxDecoration(),
|
||||||
|
onTap: (index) {
|
||||||
|
state.tabIndex.value = index;
|
||||||
|
if (index == 1 && state.completedToRefresh) {
|
||||||
|
// 已阅卷
|
||||||
|
// _refreshController2.callRefresh();
|
||||||
|
state.completedToRefresh = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tabs: <Widget>[
|
||||||
|
Tab(
|
||||||
|
iconMargin: EdgeInsets.zero,
|
||||||
|
height: 34.h,
|
||||||
|
child: Obx(() {
|
||||||
|
return Container(
|
||||||
|
width: 140.w,
|
||||||
|
alignment: Alignment.center,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: state.tabIndex.value == 0
|
||||||
|
? const Color.fromRGBO(
|
||||||
|
255, 255, 255, 1)
|
||||||
|
: null,
|
||||||
|
borderRadius: BorderRadius.all(
|
||||||
|
Radius.circular(8.r)),
|
||||||
|
),
|
||||||
|
child: quickText(
|
||||||
|
'待批阅',
|
||||||
|
size: 14.sp,
|
||||||
|
color: state.tabIndex.value == 0
|
||||||
|
? Theme
|
||||||
|
.of(context)
|
||||||
|
.primaryColor
|
||||||
|
: const Color.fromRGBO(
|
||||||
|
80, 94, 110, 1),
|
||||||
|
fontWeight: state.tabIndex.value == 0
|
||||||
|
? FontWeight.bold
|
||||||
|
: null,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
Tab(
|
||||||
|
iconMargin: EdgeInsets.zero,
|
||||||
|
height: 34.h,
|
||||||
|
child: Obx(() {
|
||||||
|
return Container(
|
||||||
|
width: 140.w,
|
||||||
|
alignment: Alignment.center,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: state.tabIndex.value == 1
|
||||||
|
? const Color.fromRGBO(
|
||||||
|
255, 255, 255, 1)
|
||||||
|
: null,
|
||||||
|
borderRadius: BorderRadius.all(
|
||||||
|
Radius.circular(8.r)),
|
||||||
|
),
|
||||||
|
child: quickText(
|
||||||
|
'已批阅',
|
||||||
|
size: 14.sp,
|
||||||
|
color: state.tabIndex.value == 1
|
||||||
|
? Theme
|
||||||
|
.of(context)
|
||||||
|
.primaryColor
|
||||||
|
: const Color.fromRGBO(
|
||||||
|
80, 94, 110, 1),
|
||||||
|
fontWeight: state.tabIndex.value == 1
|
||||||
|
? FontWeight
|
||||||
|
.bold
|
||||||
|
: null,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
flex: 1,
|
||||||
|
child: InkWell(
|
||||||
|
onTap: () {
|
||||||
|
/* RouterManager.router
|
||||||
|
.navigateTo(
|
||||||
|
context, RouterManager.jobStudentGroupPath,
|
||||||
|
transition: getTransition());*/
|
||||||
|
},
|
||||||
|
child: Icon(
|
||||||
|
IconData(0xe63e, fontFamily: "AlibabaIcon"),
|
||||||
|
color: Color.fromRGBO(44, 48, 63, 1),
|
||||||
|
size: 24.sp),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
/* if (state.tabIndex.value == 1)
|
||||||
|
$CompletedJobConditionFilter(
|
||||||
|
controller: _tabController2,
|
||||||
|
jobType: params2.markingType ?? 1,
|
||||||
|
customTime: _tabController2.index != 3 ||
|
||||||
|
(params2.startTime == null && params2.endTime == null)
|
||||||
|
? null
|
||||||
|
: PickerDateRange(
|
||||||
|
params2.startTime == null ? null : DateTime.parse(
|
||||||
|
params2.startTime!),
|
||||||
|
params2.endTime == null ? null : DateTime.parse(params2
|
||||||
|
.endTime!),
|
||||||
|
),
|
||||||
|
onJobTypeTap: (int jobTypeVal) {
|
||||||
|
params2.markingType = jobTypeVal;
|
||||||
|
_refreshController2.callRefresh();
|
||||||
|
},
|
||||||
|
onTimeFilter: (String? startTime, String? endTime) {
|
||||||
|
if (startTime == null && endTime == null &&
|
||||||
|
_tabController2.index == 3) {
|
||||||
|
_tabController2.animateTo(0);
|
||||||
|
}
|
||||||
|
params2.endTime = endTime;
|
||||||
|
params2.startTime = startTime;
|
||||||
|
_refreshController2.callRefresh();
|
||||||
|
},
|
||||||
|
),*/
|
||||||
|
/* Expanded(
|
||||||
|
child: Obx(() {
|
||||||
|
return IndexedStack(
|
||||||
|
index: state.tabIndex.value,
|
||||||
|
children: <Widget>[
|
||||||
|
$EasyRefresh(
|
||||||
|
controller: _refreshController1,
|
||||||
|
params: params1,
|
||||||
|
tab: 1,
|
||||||
|
data: markingDatas1,
|
||||||
|
onLoad: onMyLoad,
|
||||||
|
onRefresh: onMyRefresh,
|
||||||
|
),
|
||||||
|
$EasyRefresh(
|
||||||
|
controller: _refreshController2,
|
||||||
|
params: params2,
|
||||||
|
tab: 2,
|
||||||
|
data: markingDatas2,
|
||||||
|
onLoad: onMyLoad,
|
||||||
|
onRefresh: onMyRefresh,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
),*/
|
||||||
|
],
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,13 @@ class LoginLogic extends GetxController with RequestToolMixin {
|
||||||
EasyLoading.show(status: 'loading...');
|
EasyLoading.show(status: 'loading...');
|
||||||
try {
|
try {
|
||||||
await getClient().toLogin(userName, userPwd);
|
await getClient().toLogin(userName, userPwd);
|
||||||
|
String? nameidentifier = UserStore().userInfo.value?.nameidentifier;
|
||||||
|
if (nameidentifier == null) {
|
||||||
|
throw Exception('用户信息无效,请重试');
|
||||||
|
}
|
||||||
|
var data = await getClient().getUser(nameidentifier);
|
||||||
|
print(data);
|
||||||
|
|
||||||
EasyLoading.dismiss();
|
EasyLoading.dismiss();
|
||||||
Get.offAllNamed(Routes.home);
|
Get.offAllNamed(Routes.home);
|
||||||
// if (resultData.code != 200 || userData?.accessToken == null || userData?.accessToken == '') {
|
// if (resultData.code != 200 || userData?.accessToken == null || userData?.accessToken == '') {
|
||||||
|
|
@ -104,7 +111,7 @@ class LoginLogic extends GetxController with RequestToolMixin {
|
||||||
// FastData.getInstance().cleanShared();
|
// FastData.getInstance().cleanShared();
|
||||||
// return toMsg(msg ?? '登录失败,请重试');
|
// return toMsg(msg ?? '登录失败,请重试');
|
||||||
} finally {
|
} finally {
|
||||||
// EasyLoading.dismiss();
|
state.canLogin.value = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:school_asignment_app/page/global_widget/other_page.dart';
|
||||||
import 'package:school_asignment_app/page/global_widget/start_page.dart';
|
import 'package:school_asignment_app/page/global_widget/start_page.dart';
|
||||||
import 'package:school_asignment_app/page/home_page/children/my_info.dart';
|
import 'package:school_asignment_app/page/home_page/children/my_info.dart';
|
||||||
import 'package:school_asignment_app/page/home_page/home_binding.dart';
|
import 'package:school_asignment_app/page/home_page/home_binding.dart';
|
||||||
|
|
@ -17,5 +18,6 @@ static final pages=[
|
||||||
GetPage(name: Routes.startPage, page: () => const StartPage(), transition: Transition.noTransition),
|
GetPage(name: Routes.startPage, page: () => const StartPage(), transition: Transition.noTransition),
|
||||||
GetPage(name: Routes.myInfo, page: () => MyInfo(), transition: Transition.noTransition),
|
GetPage(name: Routes.myInfo, page: () => MyInfo(), transition: Transition.noTransition),
|
||||||
GetPage(name: Routes.work, page: () => const WorkPage(), binding: WorkBinding(), transition: Transition.noTransition),
|
GetPage(name: Routes.work, page: () => const WorkPage(), binding: WorkBinding(), transition: Transition.noTransition),
|
||||||
|
GetPage(name: Routes.otherPage, page: () => const OhterPage(), transition: Transition.noTransition),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
@ -7,4 +7,5 @@ abstract class Routes {
|
||||||
static const startPage = '/startPage';
|
static const startPage = '/startPage';
|
||||||
static const myInfo = '/myInfo';
|
static const myInfo = '/myInfo';
|
||||||
static const work = '/work';
|
static const work = '/work';
|
||||||
|
static const otherPage = '/otherPage';
|
||||||
}
|
}
|
||||||
220
pubspec.lock
220
pubspec.lock
|
|
@ -6,7 +6,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: _fe_analyzer_shared
|
name: _fe_analyzer_shared
|
||||||
sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051
|
sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "64.0.0"
|
version: "64.0.0"
|
||||||
analyzer:
|
analyzer:
|
||||||
|
|
@ -14,7 +14,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: analyzer
|
name: analyzer
|
||||||
sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893"
|
sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.2.0"
|
version: "6.2.0"
|
||||||
args:
|
args:
|
||||||
|
|
@ -22,7 +22,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: args
|
name: args
|
||||||
sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
|
sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.2"
|
version: "2.4.2"
|
||||||
async:
|
async:
|
||||||
|
|
@ -30,7 +30,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: async
|
name: async
|
||||||
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
|
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.11.0"
|
version: "2.11.0"
|
||||||
boolean_selector:
|
boolean_selector:
|
||||||
|
|
@ -38,7 +38,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: boolean_selector
|
name: boolean_selector
|
||||||
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
|
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.1"
|
||||||
build:
|
build:
|
||||||
|
|
@ -46,7 +46,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: build
|
name: build
|
||||||
sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
|
sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.1"
|
version: "2.4.1"
|
||||||
build_config:
|
build_config:
|
||||||
|
|
@ -54,7 +54,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: build_config
|
name: build_config
|
||||||
sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1
|
sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.1"
|
version: "1.1.1"
|
||||||
build_daemon:
|
build_daemon:
|
||||||
|
|
@ -62,7 +62,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: build_daemon
|
name: build_daemon
|
||||||
sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1"
|
sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.0.1"
|
version: "4.0.1"
|
||||||
build_resolvers:
|
build_resolvers:
|
||||||
|
|
@ -70,7 +70,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: build_resolvers
|
name: build_resolvers
|
||||||
sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a"
|
sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.2"
|
version: "2.4.2"
|
||||||
build_runner:
|
build_runner:
|
||||||
|
|
@ -78,7 +78,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: build_runner
|
name: build_runner
|
||||||
sha256: "3ac61a79bfb6f6cc11f693591063a7f19a7af628dc52f141743edac5c16e8c22"
|
sha256: "3ac61a79bfb6f6cc11f693591063a7f19a7af628dc52f141743edac5c16e8c22"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.9"
|
version: "2.4.9"
|
||||||
build_runner_core:
|
build_runner_core:
|
||||||
|
|
@ -86,7 +86,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: build_runner_core
|
name: build_runner_core
|
||||||
sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799"
|
sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "7.3.0"
|
version: "7.3.0"
|
||||||
built_collection:
|
built_collection:
|
||||||
|
|
@ -94,7 +94,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: built_collection
|
name: built_collection
|
||||||
sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
|
sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.1.1"
|
version: "5.1.1"
|
||||||
built_value:
|
built_value:
|
||||||
|
|
@ -102,7 +102,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: built_value
|
name: built_value
|
||||||
sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e
|
sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "8.9.1"
|
version: "8.9.1"
|
||||||
cached_network_image:
|
cached_network_image:
|
||||||
|
|
@ -110,7 +110,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: cached_network_image
|
name: cached_network_image
|
||||||
sha256: "28ea9690a8207179c319965c13cd8df184d5ee721ae2ce60f398ced1219cea1f"
|
sha256: "28ea9690a8207179c319965c13cd8df184d5ee721ae2ce60f398ced1219cea1f"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.3.1"
|
version: "3.3.1"
|
||||||
cached_network_image_platform_interface:
|
cached_network_image_platform_interface:
|
||||||
|
|
@ -118,7 +118,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: cached_network_image_platform_interface
|
name: cached_network_image_platform_interface
|
||||||
sha256: "9e90e78ae72caa874a323d78fa6301b3fb8fa7ea76a8f96dc5b5bf79f283bf2f"
|
sha256: "9e90e78ae72caa874a323d78fa6301b3fb8fa7ea76a8f96dc5b5bf79f283bf2f"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.0.0"
|
version: "4.0.0"
|
||||||
cached_network_image_web:
|
cached_network_image_web:
|
||||||
|
|
@ -126,7 +126,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: cached_network_image_web
|
name: cached_network_image_web
|
||||||
sha256: "42a835caa27c220d1294311ac409a43361088625a4f23c820b006dd9bffb3316"
|
sha256: "42a835caa27c220d1294311ac409a43361088625a4f23c820b006dd9bffb3316"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.1"
|
version: "1.1.1"
|
||||||
characters:
|
characters:
|
||||||
|
|
@ -134,7 +134,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: characters
|
name: characters
|
||||||
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
|
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.0"
|
version: "1.3.0"
|
||||||
checked_yaml:
|
checked_yaml:
|
||||||
|
|
@ -142,7 +142,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: checked_yaml
|
name: checked_yaml
|
||||||
sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
|
sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "2.0.3"
|
||||||
clock:
|
clock:
|
||||||
|
|
@ -150,7 +150,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: clock
|
name: clock
|
||||||
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
|
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.1"
|
version: "1.1.1"
|
||||||
code_builder:
|
code_builder:
|
||||||
|
|
@ -158,7 +158,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: code_builder
|
name: code_builder
|
||||||
sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37
|
sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.10.0"
|
version: "4.10.0"
|
||||||
collection:
|
collection:
|
||||||
|
|
@ -166,7 +166,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: collection
|
name: collection
|
||||||
sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
|
sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.17.1"
|
version: "1.17.1"
|
||||||
connectivity_plus:
|
connectivity_plus:
|
||||||
|
|
@ -174,7 +174,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: connectivity_plus
|
name: connectivity_plus
|
||||||
sha256: b74247fad72c171381dbe700ca17da24deac637ab6d43c343b42867acb95c991
|
sha256: b74247fad72c171381dbe700ca17da24deac637ab6d43c343b42867acb95c991
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.6"
|
version: "3.0.6"
|
||||||
connectivity_plus_platform_interface:
|
connectivity_plus_platform_interface:
|
||||||
|
|
@ -182,7 +182,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: connectivity_plus_platform_interface
|
name: connectivity_plus_platform_interface
|
||||||
sha256: cf1d1c28f4416f8c654d7dc3cd638ec586076255d407cef3ddbdaf178272a71a
|
sha256: cf1d1c28f4416f8c654d7dc3cd638ec586076255d407cef3ddbdaf178272a71a
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.4"
|
version: "1.2.4"
|
||||||
convert:
|
convert:
|
||||||
|
|
@ -190,7 +190,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: convert
|
name: convert
|
||||||
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
|
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.1"
|
version: "3.1.1"
|
||||||
crypto:
|
crypto:
|
||||||
|
|
@ -198,7 +198,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: crypto
|
name: crypto
|
||||||
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
|
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.3"
|
version: "3.0.3"
|
||||||
csslib:
|
csslib:
|
||||||
|
|
@ -206,7 +206,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: csslib
|
name: csslib
|
||||||
sha256: "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb"
|
sha256: "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.0"
|
version: "1.0.0"
|
||||||
cupertino_icons:
|
cupertino_icons:
|
||||||
|
|
@ -214,7 +214,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: cupertino_icons
|
name: cupertino_icons
|
||||||
sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d
|
sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.6"
|
version: "1.0.6"
|
||||||
dart_style:
|
dart_style:
|
||||||
|
|
@ -222,7 +222,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: dart_style
|
name: dart_style
|
||||||
sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9"
|
sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.6"
|
version: "2.3.6"
|
||||||
dbus:
|
dbus:
|
||||||
|
|
@ -230,7 +230,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: dbus
|
name: dbus
|
||||||
sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
|
sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.7.10"
|
version: "0.7.10"
|
||||||
dio:
|
dio:
|
||||||
|
|
@ -238,7 +238,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: dio
|
name: dio
|
||||||
sha256: "0978e9a3e45305a80a7210dbeaf79d6ee8bee33f70c8e542dc654c952070217f"
|
sha256: "0978e9a3e45305a80a7210dbeaf79d6ee8bee33f70c8e542dc654c952070217f"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.4.2+1"
|
version: "5.4.2+1"
|
||||||
fake_async:
|
fake_async:
|
||||||
|
|
@ -246,7 +246,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: fake_async
|
name: fake_async
|
||||||
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
|
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.1"
|
version: "1.3.1"
|
||||||
ffi:
|
ffi:
|
||||||
|
|
@ -254,7 +254,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: ffi
|
name: ffi
|
||||||
sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878"
|
sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0"
|
version: "2.1.0"
|
||||||
file:
|
file:
|
||||||
|
|
@ -262,7 +262,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: file
|
name: file
|
||||||
sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
|
sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "7.0.0"
|
version: "7.0.0"
|
||||||
fixnum:
|
fixnum:
|
||||||
|
|
@ -270,7 +270,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: fixnum
|
name: fixnum
|
||||||
sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1"
|
sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0"
|
version: "1.1.0"
|
||||||
flutter:
|
flutter:
|
||||||
|
|
@ -283,7 +283,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: flutter_cache_manager
|
name: flutter_cache_manager
|
||||||
sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba"
|
sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.3.1"
|
version: "3.3.1"
|
||||||
flutter_easyloading:
|
flutter_easyloading:
|
||||||
|
|
@ -291,7 +291,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: flutter_easyloading
|
name: flutter_easyloading
|
||||||
sha256: ba21a3c883544e582f9cc455a4a0907556714e1e9cf0eababfcb600da191d17c
|
sha256: ba21a3c883544e582f9cc455a4a0907556714e1e9cf0eababfcb600da191d17c
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.5"
|
version: "3.0.5"
|
||||||
flutter_easyrefresh:
|
flutter_easyrefresh:
|
||||||
|
|
@ -299,7 +299,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: flutter_easyrefresh
|
name: flutter_easyrefresh
|
||||||
sha256: "5d161ee5dcac34da9065116568147d742dd25fb9bff3b10024d9054b195087ad"
|
sha256: "5d161ee5dcac34da9065116568147d742dd25fb9bff3b10024d9054b195087ad"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.2"
|
version: "2.2.2"
|
||||||
flutter_lints:
|
flutter_lints:
|
||||||
|
|
@ -307,7 +307,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "2.0.3"
|
||||||
flutter_screenutil:
|
flutter_screenutil:
|
||||||
|
|
@ -315,7 +315,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: flutter_screenutil
|
name: flutter_screenutil
|
||||||
sha256: "0a122936b450324cbdfd51be0819cc6fcebb093eb65585e9cd92263f7a1a8a39"
|
sha256: "0a122936b450324cbdfd51be0819cc6fcebb093eb65585e9cd92263f7a1a8a39"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.7.0"
|
version: "5.7.0"
|
||||||
flutter_spinkit:
|
flutter_spinkit:
|
||||||
|
|
@ -323,7 +323,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: flutter_spinkit
|
name: flutter_spinkit
|
||||||
sha256: d2696eed13732831414595b98863260e33e8882fc069ee80ec35d4ac9ddb0472
|
sha256: d2696eed13732831414595b98863260e33e8882fc069ee80ec35d4ac9ddb0472
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.2.1"
|
version: "5.2.1"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|
@ -341,7 +341,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: flutter_widget_from_html_core
|
name: flutter_widget_from_html_core
|
||||||
sha256: "22140caa191cb4bba0fe4d5e4ad875c7e8a9ba47d61517f56d733019cf76396d"
|
sha256: "22140caa191cb4bba0fe4d5e4ad875c7e8a9ba47d61517f56d733019cf76396d"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.10.6"
|
version: "0.10.6"
|
||||||
fluttertoast:
|
fluttertoast:
|
||||||
|
|
@ -349,7 +349,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: fluttertoast
|
name: fluttertoast
|
||||||
sha256: dfdde255317af381bfc1c486ed968d5a43a2ded9c931e87cbecd88767d6a71c1
|
sha256: dfdde255317af381bfc1c486ed968d5a43a2ded9c931e87cbecd88767d6a71c1
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "8.2.4"
|
version: "8.2.4"
|
||||||
frontend_server_client:
|
frontend_server_client:
|
||||||
|
|
@ -357,7 +357,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: frontend_server_client
|
name: frontend_server_client
|
||||||
sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
|
sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.0.0"
|
version: "4.0.0"
|
||||||
functional_widget_annotation:
|
functional_widget_annotation:
|
||||||
|
|
@ -365,7 +365,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: functional_widget_annotation
|
name: functional_widget_annotation
|
||||||
sha256: f0612079cb7e226b7be32b473bdaf85fe680370886c0c13ea69a102ccc17a0c7
|
sha256: f0612079cb7e226b7be32b473bdaf85fe680370886c0c13ea69a102ccc17a0c7
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.10.0"
|
version: "0.10.0"
|
||||||
get:
|
get:
|
||||||
|
|
@ -373,7 +373,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: get
|
name: get
|
||||||
sha256: "2ba20a47c8f1f233bed775ba2dd0d3ac97b4cf32fc17731b3dfc672b06b0e92a"
|
sha256: "2ba20a47c8f1f233bed775ba2dd0d3ac97b4cf32fc17731b3dfc672b06b0e92a"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.6.5"
|
version: "4.6.5"
|
||||||
get_storage:
|
get_storage:
|
||||||
|
|
@ -381,7 +381,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: get_storage
|
name: get_storage
|
||||||
sha256: "39db1fffe779d0c22b3a744376e86febe4ade43bf65e06eab5af707dc84185a2"
|
sha256: "39db1fffe779d0c22b3a744376e86febe4ade43bf65e06eab5af707dc84185a2"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.1"
|
||||||
glob:
|
glob:
|
||||||
|
|
@ -389,7 +389,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: glob
|
name: glob
|
||||||
sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63"
|
sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.2"
|
version: "2.1.2"
|
||||||
graphs:
|
graphs:
|
||||||
|
|
@ -397,7 +397,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: graphs
|
name: graphs
|
||||||
sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19
|
sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.1"
|
version: "2.3.1"
|
||||||
html:
|
html:
|
||||||
|
|
@ -405,7 +405,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: html
|
name: html
|
||||||
sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a"
|
sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.15.4"
|
version: "0.15.4"
|
||||||
http:
|
http:
|
||||||
|
|
@ -413,7 +413,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: http
|
name: http
|
||||||
sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525"
|
sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0"
|
version: "1.1.0"
|
||||||
http_multi_server:
|
http_multi_server:
|
||||||
|
|
@ -421,7 +421,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: http_multi_server
|
name: http_multi_server
|
||||||
sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
|
sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.2.1"
|
version: "3.2.1"
|
||||||
http_parser:
|
http_parser:
|
||||||
|
|
@ -429,7 +429,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: http_parser
|
name: http_parser
|
||||||
sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
|
sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.0.2"
|
version: "4.0.2"
|
||||||
io:
|
io:
|
||||||
|
|
@ -437,7 +437,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: io
|
name: io
|
||||||
sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
|
sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.4"
|
version: "1.0.4"
|
||||||
js:
|
js:
|
||||||
|
|
@ -445,7 +445,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: js
|
name: js
|
||||||
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
|
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.7"
|
version: "0.6.7"
|
||||||
json_annotation:
|
json_annotation:
|
||||||
|
|
@ -453,7 +453,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: json_annotation
|
name: json_annotation
|
||||||
sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
|
sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.8.1"
|
version: "4.8.1"
|
||||||
json_serializable:
|
json_serializable:
|
||||||
|
|
@ -461,7 +461,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: json_serializable
|
name: json_serializable
|
||||||
sha256: aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969
|
sha256: aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.7.1"
|
version: "6.7.1"
|
||||||
lints:
|
lints:
|
||||||
|
|
@ -469,7 +469,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.1"
|
||||||
logger:
|
logger:
|
||||||
|
|
@ -477,7 +477,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: logger
|
name: logger
|
||||||
sha256: "7ad7215c15420a102ec687bb320a7312afd449bac63bfb1c60d9787c27b9767f"
|
sha256: "7ad7215c15420a102ec687bb320a7312afd449bac63bfb1c60d9787c27b9767f"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.4.0"
|
version: "1.4.0"
|
||||||
logging:
|
logging:
|
||||||
|
|
@ -485,7 +485,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: logging
|
name: logging
|
||||||
sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
|
sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0"
|
version: "1.2.0"
|
||||||
matcher:
|
matcher:
|
||||||
|
|
@ -493,7 +493,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: matcher
|
name: matcher
|
||||||
sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
|
sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.12.15"
|
version: "0.12.15"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
|
|
@ -501,7 +501,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: material_color_utilities
|
name: material_color_utilities
|
||||||
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
|
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.2.0"
|
version: "0.2.0"
|
||||||
meta:
|
meta:
|
||||||
|
|
@ -509,7 +509,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: meta
|
name: meta
|
||||||
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
|
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.9.1"
|
version: "1.9.1"
|
||||||
mime:
|
mime:
|
||||||
|
|
@ -517,7 +517,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: mime
|
name: mime
|
||||||
sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e
|
sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.4"
|
version: "1.0.4"
|
||||||
nm:
|
nm:
|
||||||
|
|
@ -525,7 +525,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: nm
|
name: nm
|
||||||
sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254"
|
sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.5.0"
|
version: "0.5.0"
|
||||||
octo_image:
|
octo_image:
|
||||||
|
|
@ -533,7 +533,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: octo_image
|
name: octo_image
|
||||||
sha256: "45b40f99622f11901238e18d48f5f12ea36426d8eced9f4cbf58479c7aa2430d"
|
sha256: "45b40f99622f11901238e18d48f5f12ea36426d8eced9f4cbf58479c7aa2430d"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.0"
|
version: "2.0.0"
|
||||||
package_config:
|
package_config:
|
||||||
|
|
@ -541,7 +541,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: package_config
|
name: package_config
|
||||||
sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
|
sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0"
|
version: "2.1.0"
|
||||||
package_info:
|
package_info:
|
||||||
|
|
@ -549,7 +549,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: package_info
|
name: package_info
|
||||||
sha256: "6c07d9d82c69e16afeeeeb6866fe43985a20b3b50df243091bfc4a4ad2b03b75"
|
sha256: "6c07d9d82c69e16afeeeeb6866fe43985a20b3b50df243091bfc4a4ad2b03b75"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.2"
|
version: "2.0.2"
|
||||||
path:
|
path:
|
||||||
|
|
@ -557,7 +557,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: path
|
name: path
|
||||||
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
|
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.8.3"
|
version: "1.8.3"
|
||||||
path_provider:
|
path_provider:
|
||||||
|
|
@ -565,7 +565,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: path_provider
|
name: path_provider
|
||||||
sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b
|
sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.2"
|
version: "2.1.2"
|
||||||
path_provider_android:
|
path_provider_android:
|
||||||
|
|
@ -573,7 +573,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: path_provider_android
|
name: path_provider_android
|
||||||
sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668"
|
sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.2"
|
version: "2.2.2"
|
||||||
path_provider_foundation:
|
path_provider_foundation:
|
||||||
|
|
@ -581,7 +581,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: path_provider_foundation
|
name: path_provider_foundation
|
||||||
sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f"
|
sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.2"
|
version: "2.3.2"
|
||||||
path_provider_linux:
|
path_provider_linux:
|
||||||
|
|
@ -589,7 +589,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: path_provider_linux
|
name: path_provider_linux
|
||||||
sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
|
sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.1"
|
version: "2.2.1"
|
||||||
path_provider_platform_interface:
|
path_provider_platform_interface:
|
||||||
|
|
@ -597,7 +597,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: path_provider_platform_interface
|
name: path_provider_platform_interface
|
||||||
sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
|
sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.2"
|
version: "2.1.2"
|
||||||
path_provider_windows:
|
path_provider_windows:
|
||||||
|
|
@ -605,7 +605,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: path_provider_windows
|
name: path_provider_windows
|
||||||
sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170"
|
sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.1"
|
version: "2.2.1"
|
||||||
petitparser:
|
petitparser:
|
||||||
|
|
@ -613,7 +613,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: petitparser
|
name: petitparser
|
||||||
sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750
|
sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.4.0"
|
version: "5.4.0"
|
||||||
photo_view:
|
photo_view:
|
||||||
|
|
@ -621,7 +621,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: photo_view
|
name: photo_view
|
||||||
sha256: "8036802a00bae2a78fc197af8a158e3e2f7b500561ed23b4c458107685e645bb"
|
sha256: "8036802a00bae2a78fc197af8a158e3e2f7b500561ed23b4c458107685e645bb"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.14.0"
|
version: "0.14.0"
|
||||||
platform:
|
platform:
|
||||||
|
|
@ -629,7 +629,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: platform
|
name: platform
|
||||||
sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec"
|
sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.4"
|
version: "3.1.4"
|
||||||
plugin_platform_interface:
|
plugin_platform_interface:
|
||||||
|
|
@ -637,7 +637,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: plugin_platform_interface
|
name: plugin_platform_interface
|
||||||
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
|
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.8"
|
version: "2.1.8"
|
||||||
pool:
|
pool:
|
||||||
|
|
@ -645,7 +645,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: pool
|
name: pool
|
||||||
sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
|
sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.5.1"
|
version: "1.5.1"
|
||||||
pub_semver:
|
pub_semver:
|
||||||
|
|
@ -653,7 +653,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: pub_semver
|
name: pub_semver
|
||||||
sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
|
sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.4"
|
version: "2.1.4"
|
||||||
pubspec_parse:
|
pubspec_parse:
|
||||||
|
|
@ -661,7 +661,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: pubspec_parse
|
name: pubspec_parse
|
||||||
sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367
|
sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.3"
|
version: "1.2.3"
|
||||||
retrofit:
|
retrofit:
|
||||||
|
|
@ -669,7 +669,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: retrofit
|
name: retrofit
|
||||||
sha256: "13a2865c0d97da580ea4e3c64d412d81f365fd5b26be2a18fca9582e021da37a"
|
sha256: "13a2865c0d97da580ea4e3c64d412d81f365fd5b26be2a18fca9582e021da37a"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.1.0"
|
version: "4.1.0"
|
||||||
retrofit_generator:
|
retrofit_generator:
|
||||||
|
|
@ -677,7 +677,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: retrofit_generator
|
name: retrofit_generator
|
||||||
sha256: "9499eb46b3657a62192ddbc208ff7e6c6b768b19e83c1ee6f6b119c864b99690"
|
sha256: "9499eb46b3657a62192ddbc208ff7e6c6b768b19e83c1ee6f6b119c864b99690"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "7.0.8"
|
version: "7.0.8"
|
||||||
rxdart:
|
rxdart:
|
||||||
|
|
@ -685,7 +685,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: rxdart
|
name: rxdart
|
||||||
sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb"
|
sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.27.7"
|
version: "0.27.7"
|
||||||
shelf:
|
shelf:
|
||||||
|
|
@ -693,7 +693,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: shelf
|
name: shelf
|
||||||
sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4
|
sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.4.1"
|
version: "1.4.1"
|
||||||
shelf_web_socket:
|
shelf_web_socket:
|
||||||
|
|
@ -701,7 +701,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: shelf_web_socket
|
name: shelf_web_socket
|
||||||
sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1"
|
sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.4"
|
version: "1.0.4"
|
||||||
sky_engine:
|
sky_engine:
|
||||||
|
|
@ -714,7 +714,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: source_gen
|
name: source_gen
|
||||||
sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832"
|
sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.5.0"
|
version: "1.5.0"
|
||||||
source_helper:
|
source_helper:
|
||||||
|
|
@ -722,7 +722,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: source_helper
|
name: source_helper
|
||||||
sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd"
|
sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.4"
|
version: "1.3.4"
|
||||||
source_span:
|
source_span:
|
||||||
|
|
@ -730,7 +730,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: source_span
|
name: source_span
|
||||||
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
|
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.9.1"
|
version: "1.9.1"
|
||||||
sprintf:
|
sprintf:
|
||||||
|
|
@ -738,7 +738,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: sprintf
|
name: sprintf
|
||||||
sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
|
sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "7.0.0"
|
version: "7.0.0"
|
||||||
sqflite:
|
sqflite:
|
||||||
|
|
@ -746,7 +746,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: sqflite
|
name: sqflite
|
||||||
sha256: a9016f495c927cb90557c909ff26a6d92d9bd54fc42ba92e19d4e79d61e798c6
|
sha256: a9016f495c927cb90557c909ff26a6d92d9bd54fc42ba92e19d4e79d61e798c6
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.2"
|
version: "2.3.2"
|
||||||
sqflite_common:
|
sqflite_common:
|
||||||
|
|
@ -754,7 +754,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: sqflite_common
|
name: sqflite_common
|
||||||
sha256: "28d8c66baee4968519fb8bd6cdbedad982d6e53359091f0b74544a9f32ec72d5"
|
sha256: "28d8c66baee4968519fb8bd6cdbedad982d6e53359091f0b74544a9f32ec72d5"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.5.3"
|
version: "2.5.3"
|
||||||
stack_trace:
|
stack_trace:
|
||||||
|
|
@ -762,7 +762,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: stack_trace
|
name: stack_trace
|
||||||
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
|
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.11.0"
|
version: "1.11.0"
|
||||||
stream_channel:
|
stream_channel:
|
||||||
|
|
@ -770,7 +770,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: stream_channel
|
name: stream_channel
|
||||||
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
|
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.1"
|
||||||
stream_transform:
|
stream_transform:
|
||||||
|
|
@ -778,7 +778,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: stream_transform
|
name: stream_transform
|
||||||
sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
|
sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0"
|
version: "2.1.0"
|
||||||
string_scanner:
|
string_scanner:
|
||||||
|
|
@ -786,7 +786,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: string_scanner
|
name: string_scanner
|
||||||
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
|
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0"
|
version: "1.2.0"
|
||||||
synchronized:
|
synchronized:
|
||||||
|
|
@ -794,7 +794,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: synchronized
|
name: synchronized
|
||||||
sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558"
|
sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.0+1"
|
version: "3.1.0+1"
|
||||||
term_glyph:
|
term_glyph:
|
||||||
|
|
@ -802,7 +802,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: term_glyph
|
name: term_glyph
|
||||||
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
|
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.1"
|
version: "1.2.1"
|
||||||
test_api:
|
test_api:
|
||||||
|
|
@ -810,7 +810,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: test_api
|
name: test_api
|
||||||
sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
|
sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.5.1"
|
version: "0.5.1"
|
||||||
timing:
|
timing:
|
||||||
|
|
@ -818,7 +818,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: timing
|
name: timing
|
||||||
sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32"
|
sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.1"
|
version: "1.0.1"
|
||||||
tuple:
|
tuple:
|
||||||
|
|
@ -826,7 +826,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: tuple
|
name: tuple
|
||||||
sha256: a97ce2013f240b2f3807bcbaf218765b6f301c3eff91092bcfa23a039e7dd151
|
sha256: a97ce2013f240b2f3807bcbaf218765b6f301c3eff91092bcfa23a039e7dd151
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.2"
|
version: "2.0.2"
|
||||||
typed_data:
|
typed_data:
|
||||||
|
|
@ -834,7 +834,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: typed_data
|
name: typed_data
|
||||||
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
|
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.2"
|
version: "1.3.2"
|
||||||
uuid:
|
uuid:
|
||||||
|
|
@ -842,7 +842,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: uuid
|
name: uuid
|
||||||
sha256: "22c94e5ad1e75f9934b766b53c742572ee2677c56bc871d850a57dad0f82127f"
|
sha256: "22c94e5ad1e75f9934b766b53c742572ee2677c56bc871d850a57dad0f82127f"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.2.2"
|
version: "4.2.2"
|
||||||
vector_math:
|
vector_math:
|
||||||
|
|
@ -850,7 +850,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: vector_math
|
name: vector_math
|
||||||
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
|
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.4"
|
version: "2.1.4"
|
||||||
watcher:
|
watcher:
|
||||||
|
|
@ -858,7 +858,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: watcher
|
name: watcher
|
||||||
sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
|
sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0"
|
version: "1.1.0"
|
||||||
web_socket_channel:
|
web_socket_channel:
|
||||||
|
|
@ -866,7 +866,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: web_socket_channel
|
name: web_socket_channel
|
||||||
sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b
|
sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.0"
|
version: "2.4.0"
|
||||||
win32:
|
win32:
|
||||||
|
|
@ -874,7 +874,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: win32
|
name: win32
|
||||||
sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3"
|
sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.0.9"
|
version: "5.0.9"
|
||||||
xdg_directories:
|
xdg_directories:
|
||||||
|
|
@ -882,7 +882,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: xdg_directories
|
name: xdg_directories
|
||||||
sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d
|
sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.4"
|
version: "1.0.4"
|
||||||
xml:
|
xml:
|
||||||
|
|
@ -890,7 +890,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: xml
|
name: xml
|
||||||
sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84"
|
sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.3.0"
|
version: "6.3.0"
|
||||||
yaml:
|
yaml:
|
||||||
|
|
@ -898,7 +898,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
name: yaml
|
name: yaml
|
||||||
sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
|
sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.2"
|
version: "3.1.2"
|
||||||
sdks:
|
sdks:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue