提交 15eff61b authored 作者: maodou's avatar maodou

1:搜索页面搜索结果显示

2:我的-帮助中心功能及帮助中心内容显示
上级 e87a8a03
part of apis; part of apis;
abstract class MineAPI { abstract class MineAPI {
/// 1、个人信息以及8个数据 /// 1、个人信息以及8个数据
/// ///
static Future <UserInfoModel> userInfo() async { static Future<UserInfoModel> userInfo() async {
final result = await HttpService.to.post( final result = await HttpService.to.post(
'/v1/members/Information/getMyStatistics', '/v1/members/Information/getMyStatistics',
params: {}, params: {},
); );
if (result.data is! Map ) return UserInfoModel(); if (result.data is! Map) return UserInfoModel();
return UserInfoModel.fromJson(result.data); return UserInfoModel.fromJson(result.data);
} }
/// 2、我的收藏 /// 2、我的收藏
static Future <List<CourseModel>> love({ static Future<List<CourseModel>> love({
int page = 1, int page = 1,
int limit = 10, int limit = 10,
}) async { }) async {
...@@ -26,14 +25,14 @@ abstract class MineAPI { ...@@ -26,14 +25,14 @@ abstract class MineAPI {
}, },
); );
if (result.data is! Map && result.data['list'] is! List) return []; if (result.data is! Map && result.data['list'] is! List) return [];
return List.generate(result.data['list'].length, (index){ return List.generate(result.data['list'].length, (index) {
return CourseModel.fromJson(result.data['list'][index]); return CourseModel.fromJson(result.data['list'][index]);
}); });
} }
/// 3、笔记 /// 3、笔记
/// ///
static Future <List<CourseModel>> note({ static Future<List<CourseModel>> note({
int page = 1, int page = 1,
int limit = 10, int limit = 10,
}) async { }) async {
...@@ -45,14 +44,14 @@ abstract class MineAPI { ...@@ -45,14 +44,14 @@ abstract class MineAPI {
}, },
); );
if (result.data is! Map && result.data['list'] is! List) return []; if (result.data is! Map && result.data['list'] is! List) return [];
return List.generate(result.data['list'].length, (index){ return List.generate(result.data['list'].length, (index) {
return CourseModel.fromJson(result.data['list'][index]); return CourseModel.fromJson(result.data['list'][index]);
}); });
} }
/// 4、错题 /// 4、错题
/// ///
static Future <List<CourseModel>> wrong({ static Future<List<CourseModel>> wrong({
int page = 1, int page = 1,
int limit = 10, int limit = 10,
}) async { }) async {
...@@ -64,14 +63,14 @@ abstract class MineAPI { ...@@ -64,14 +63,14 @@ abstract class MineAPI {
}, },
); );
if (result.data is! Map && result.data['list'] is! List) return []; if (result.data is! Map && result.data['list'] is! List) return [];
return List.generate(result.data['list'].length, (index){ return List.generate(result.data['list'].length, (index) {
return CourseModel.fromJson(result.data['list'][index]); return CourseModel.fromJson(result.data['list'][index]);
}); });
} }
/// 5、紫金币记录 /// 5、紫金币记录
/// ///
static Future <List<RecordModel>> coin({ static Future<List<RecordModel>> coin({
int page = 1, int page = 1,
int limit = 10, int limit = 10,
}) async { }) async {
...@@ -83,14 +82,14 @@ abstract class MineAPI { ...@@ -83,14 +82,14 @@ abstract class MineAPI {
}, },
); );
if (result.data is! Map && result.data['list'] is! List) return []; if (result.data is! Map && result.data['list'] is! List) return [];
return List.generate(result.data['list'].length, (index){ return List.generate(result.data['list'].length, (index) {
return RecordModel.fromJson(result.data['list'][index]); return RecordModel.fromJson(result.data['list'][index]);
}); });
} }
/// 6、积分记录 /// 6、积分记录
/// ///
static Future <List<RecordModel>> point({ static Future<List<RecordModel>> point({
int page = 1, int page = 1,
int limit = 10, int limit = 10,
}) async { }) async {
...@@ -102,14 +101,14 @@ abstract class MineAPI { ...@@ -102,14 +101,14 @@ abstract class MineAPI {
}, },
); );
if (result.data is! Map && result.data['list'] is! List) return []; if (result.data is! Map && result.data['list'] is! List) return [];
return List.generate(result.data['list'].length, (index){ return List.generate(result.data['list'].length, (index) {
return RecordModel.fromJson(result.data['list'][index]); return RecordModel.fromJson(result.data['list'][index]);
}); });
} }
/// 7、讨论 /// 7、讨论
/// ///
static Future <List<CourseModel>> discuss({ static Future<List<CourseModel>> discuss({
int page = 1, int page = 1,
int limit = 10, int limit = 10,
}) async { }) async {
...@@ -121,36 +120,31 @@ abstract class MineAPI { ...@@ -121,36 +120,31 @@ abstract class MineAPI {
}, },
); );
if (result.data is! Map && result.data['list'] is! List) return []; if (result.data is! Map && result.data['list'] is! List) return [];
return List.generate(result.data['list'].length, (index){ return List.generate(result.data['list'].length, (index) {
return CourseModel.fromJson(result.data['list'][index]); return CourseModel.fromJson(result.data['list'][index]);
}); });
} }
/// 8、优惠券列表 /// 8、优惠券列表
/// ///
static Future <List<CouponModel>> coupon({ static Future<List<CouponModel>> coupon({
int page = 1, int page = 1,
int limit = 10, int limit = 10,
required int type, required int type,
}) async { }) async {
final result = await HttpService.to.post( final result = await HttpService.to.post(
'/v1/coupon/Coupon/getCouponRecordListSAll', '/v1/coupon/Coupon/getCouponRecordListSAll',
params: { params: {'page': page, 'page_size': limit, 'type': type},
'page': page,
'page_size': limit,
'type': type
},
); );
if (result.data is! Map && result.data['list'] is! List) return []; if (result.data is! Map && result.data['list'] is! List) return [];
return List.generate(result.data['list'].length, (index){ return List.generate(result.data['list'].length, (index) {
return CouponModel.fromJson(result.data['list'][index]); return CouponModel.fromJson(result.data['list'][index]);
}); });
} }
/// 9、获取最新版本 /// 9、获取最新版本
/// ///
static Future <UModel> update() async { static Future<UModel> update() async {
final result = await HttpService.to.post( final result = await HttpService.to.post(
'/v1/members/Information/getVersion', '/v1/members/Information/getVersion',
params: {}, params: {},
...@@ -160,7 +154,7 @@ abstract class MineAPI { ...@@ -160,7 +154,7 @@ abstract class MineAPI {
} }
/// 10、版本介绍 /// 10、版本介绍
static Future <List<VersionModel>> versions({ static Future<List<VersionModel>> versions({
int page = 1, int page = 1,
int limit = 10, int limit = 10,
}) async { }) async {
...@@ -172,33 +166,28 @@ abstract class MineAPI { ...@@ -172,33 +166,28 @@ abstract class MineAPI {
}, },
); );
if (result.data is! Map && result.data['list'] is! List) return []; if (result.data is! Map && result.data['list'] is! List) return [];
return List.generate(result.data['list'].length, (index){ return List.generate(result.data['list'].length, (index) {
return VersionModel.fromJson(result.data['list'][index]); return VersionModel.fromJson(result.data['list'][index]);
}); });
} }
/// 11、修改用户信息 /// 11、修改用户信息
/// ///
static Future <bool> changeInfo({ static Future<bool> changeInfo(
String? name, {String? name, num? sex, String? headImg}) async {
num? sex, Map<String, dynamic> params = {};
String? headImg if (name != null) {
}) async {
Map<String,dynamic> params = {};
if (name != null){
params['name'] = name; params['name'] = name;
} }
if (sex != null){ if (sex != null) {
params['sex'] = sex; params['sex'] = sex;
} }
if (headImg != null){ if (headImg != null) {
params['head_img'] = headImg; params['head_img'] = headImg;
} }
final result = await HttpService.to.post( final result = await HttpService.to
'/v1/members/Information/editInformation', .post('/v1/members/Information/editInformation', params: params);
params: params if (result.data is Map && result.data['is_success'] == 1) {
);
if (result.data is Map && result.data['is_success'] == 1){
return true; return true;
} }
return false; return false;
...@@ -206,87 +195,102 @@ abstract class MineAPI { ...@@ -206,87 +195,102 @@ abstract class MineAPI {
/// 12、笔记详情列表 /// 12、笔记详情列表
/// ///
static Future <List<NoteModel>> noteList({ static Future<List<NoteModel>> noteList(
int page = 1, {int page = 1,
int limit = 10, int limit = 10,
required String bookId, required String bookId,
required String types required String types}) async {
}) async {
final result = await HttpService.to.post( final result = await HttpService.to.post(
'/v1/members/Information/myBookNotes', '/v1/members/Information/myBookNotes',
params: { params: {
'page': page, 'page': page,
'page_size': limit, 'page_size': limit,
'book_id':bookId, 'book_id': bookId,
'types': types 'types': types
}, },
); );
if (result.data is! Map && result.data['list'] is! List) return []; if (result.data is! Map && result.data['list'] is! List) return [];
return List.generate(result.data['list'].length, (index){ return List.generate(result.data['list'].length, (index) {
return NoteModel.fromJson(result.data['list'][index]); return NoteModel.fromJson(result.data['list'][index]);
}); });
} }
/// 13、笔记详情列表 /// 13、笔记详情列表
/// ///
static Future <List<DiscussModel>> discussList({ static Future<List<DiscussModel>> discussList(
int page = 1, {int page = 1,
int limit = 10, int limit = 10,
required String bookId, required String bookId,
required String types required String types}) async {
}) async {
final result = await HttpService.to.post( final result = await HttpService.to.post(
'/v1/members/Information/myBookComment', '/v1/members/Information/myBookComment',
params: { params: {
'page': page, 'page': page,
'page_size': limit, 'page_size': limit,
'book_id':bookId, 'book_id': bookId,
'types': types 'types': types
}, },
); );
if (result.data is! Map && result.data['list'] is! List) return []; if (result.data is! Map && result.data['list'] is! List) return [];
return List.generate(result.data['list'].length, (index){ return List.generate(result.data['list'].length, (index) {
return DiscussModel.fromJson(result.data['list'][index]); return DiscussModel.fromJson(result.data['list'][index]);
}); });
} }
/// 14、修改密码 /// 14、修改密码
/// ///
static Future <bool> changePwd({ static Future<bool> changePwd(
required String password, {required String password, required String rePassword}) async {
required String rePassword
}) async {
final result = await HttpService.to.post( final result = await HttpService.to.post(
'/v1/members/Information/changePasswd', '/v1/members/Information/changePasswd',
params: { params: {'password': password, 'repassword': rePassword},
'password':password,
'repassword':rePassword
},
); );
if (result.data is Map && result.data['is_success'] == 1){ if (result.data is Map && result.data['is_success'] == 1) {
return true; return true;
} }
return false; return false;
} }
/// 15、修改手机号 /// 15、修改手机号
static Future <bool> changePhone({ static Future<bool> changePhone(
required String phone, {required String phone, required String code}) async {
required String code
}) async {
final result = await HttpService.to.post( final result = await HttpService.to.post(
'/v1/members/Information/editPhone', '/v1/members/Information/editPhone',
params: { params: {'phone': phone, 'code': code},
'phone':phone,
'code':code
},
); );
if (result.data is Map && result.data['is_success'] == 1){ if (result.data is Map && result.data['is_success'] == 1) {
return true; return true;
} }
return false; return false;
} }
/// 16、帮助中心
static Future<List<HelpCenterModel>> helpCenters({
int page = 1,
int limit = 10,
}) async {
final result = await HttpService.to.post(
'/v1/common/Help/getList',
params: {
'page': page,
'page_size': limit,
},
);
if (result.data is! Map && result.data['list'] is! List) return [];
return List.generate(result.data['list'].length, (index) {
return HelpCenterModel.fromJson(result.data['list'][index]);
});
}
/// 17、帮助中心内容
static Future<HelpCenterContentModel> helpCenterContent(String id) async {
final result = await HttpService.to.post(
'/v1/common/Help/getInfoById',
params: {
'id': id,
},
);
if (result.data is! Map) return HelpCenterContentModel();
return HelpCenterContentModel.fromJson(result.data);
}
} }
part of models; part of models;
class ReadModel { class ReadModel {
ReadModel({required this.value, required this.name, this.link, this.icon});
ReadModel({
required this.value,
required this.name,
this.link,
this.icon
});
String value; String value;
String name; String name;
...@@ -15,7 +9,6 @@ class ReadModel { ...@@ -15,7 +9,6 @@ class ReadModel {
String? icon; String? icon;
} }
/// 紫金币 积分 模型 /// 紫金币 积分 模型
/// ///
class RecordModel { class RecordModel {
...@@ -25,7 +18,8 @@ class RecordModel { ...@@ -25,7 +18,8 @@ class RecordModel {
this.numbers, this.numbers,
this.result, this.result,
this.remarks, this.remarks,
this.createTime,}); this.createTime,
});
RecordModel.fromJson(dynamic json) { RecordModel.fromJson(dynamic json) {
integralId = json['integral_id']; integralId = json['integral_id'];
...@@ -35,25 +29,31 @@ class RecordModel { ...@@ -35,25 +29,31 @@ class RecordModel {
remarks = json['remarks']; remarks = json['remarks'];
createTime = json['create_time']; createTime = json['create_time'];
} }
num? integralId; num? integralId;
num? options; num? options;
num? numbers; num? numbers;
num? result; num? result;
String? remarks; String? remarks;
String? createTime; String? createTime;
RecordModel copyWith({ num? integralId,
RecordModel copyWith({
num? integralId,
num? options, num? options,
num? numbers, num? numbers,
num? result, num? result,
String? remarks, String? remarks,
String? createTime, String? createTime,
}) => RecordModel( integralId: integralId ?? this.integralId, }) =>
RecordModel(
integralId: integralId ?? this.integralId,
options: options ?? this.options, options: options ?? this.options,
numbers: numbers ?? this.numbers, numbers: numbers ?? this.numbers,
result: result ?? this.result, result: result ?? this.result,
remarks: remarks ?? this.remarks, remarks: remarks ?? this.remarks,
createTime: createTime ?? this.createTime, createTime: createTime ?? this.createTime,
); );
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final map = <String, dynamic>{}; final map = <String, dynamic>{};
map['integral_id'] = integralId; map['integral_id'] = integralId;
...@@ -64,7 +64,6 @@ class RecordModel { ...@@ -64,7 +64,6 @@ class RecordModel {
map['create_time'] = createTime; map['create_time'] = createTime;
return map; return map;
} }
} }
/// 优惠券模型 /// 优惠券模型
...@@ -77,7 +76,8 @@ class CouponModel { ...@@ -77,7 +76,8 @@ class CouponModel {
this.useStatus, this.useStatus,
this.couponName, this.couponName,
this.normPrice, this.normPrice,
this.reducedPrice,}); this.reducedPrice,
});
CouponModel.fromJson(dynamic json) { CouponModel.fromJson(dynamic json) {
couponRecId = json['coupon_rec_id']; couponRecId = json['coupon_rec_id'];
...@@ -88,6 +88,7 @@ class CouponModel { ...@@ -88,6 +88,7 @@ class CouponModel {
normPrice = json['norm_price']; normPrice = json['norm_price'];
reducedPrice = json['reduced_price']; reducedPrice = json['reduced_price'];
} }
num? couponRecId; num? couponRecId;
String? endTime; String? endTime;
num? couponId; num? couponId;
...@@ -95,14 +96,18 @@ class CouponModel { ...@@ -95,14 +96,18 @@ class CouponModel {
String? couponName; String? couponName;
num? normPrice; num? normPrice;
String? reducedPrice; String? reducedPrice;
CouponModel copyWith({ num? couponRecId,
CouponModel copyWith({
num? couponRecId,
String? endTime, String? endTime,
num? couponId, num? couponId,
num? useStatus, num? useStatus,
String? couponName, String? couponName,
num? normPrice, num? normPrice,
String? reducedPrice, String? reducedPrice,
}) => CouponModel( couponRecId: couponRecId ?? this.couponRecId, }) =>
CouponModel(
couponRecId: couponRecId ?? this.couponRecId,
endTime: endTime ?? this.endTime, endTime: endTime ?? this.endTime,
couponId: couponId ?? this.couponId, couponId: couponId ?? this.couponId,
useStatus: useStatus ?? this.useStatus, useStatus: useStatus ?? this.useStatus,
...@@ -110,6 +115,7 @@ class CouponModel { ...@@ -110,6 +115,7 @@ class CouponModel {
normPrice: normPrice ?? this.normPrice, normPrice: normPrice ?? this.normPrice,
reducedPrice: reducedPrice ?? this.reducedPrice, reducedPrice: reducedPrice ?? this.reducedPrice,
); );
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final map = <String, dynamic>{}; final map = <String, dynamic>{};
map['coupon_rec_id'] = couponRecId; map['coupon_rec_id'] = couponRecId;
...@@ -121,7 +127,6 @@ class CouponModel { ...@@ -121,7 +127,6 @@ class CouponModel {
map['reduced_price'] = reducedPrice; map['reduced_price'] = reducedPrice;
return map; return map;
} }
} }
/// 更新模型 /// 更新模型
...@@ -129,23 +134,30 @@ class UModel { ...@@ -129,23 +134,30 @@ class UModel {
UModel({ UModel({
this.version, this.version,
this.url, this.url,
this.remarks,}); this.remarks,
});
UModel.fromJson(dynamic json) { UModel.fromJson(dynamic json) {
version = json['version']; version = json['version'];
url = json['url']; url = json['url'];
remarks = json['remarks']; remarks = json['remarks'];
} }
String? version; String? version;
String? url; String? url;
String? remarks; String? remarks;
UModel copyWith({ String? version,
UModel copyWith({
String? version,
String? url, String? url,
String? remarks, String? remarks,
}) => UModel( version: version ?? this.version, }) =>
UModel(
version: version ?? this.version,
url: url ?? this.url, url: url ?? this.url,
remarks: remarks ?? this.remarks, remarks: remarks ?? this.remarks,
); );
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final map = <String, dynamic>{}; final map = <String, dynamic>{};
map['version'] = version; map['version'] = version;
...@@ -163,7 +175,8 @@ class VersionModel { ...@@ -163,7 +175,8 @@ class VersionModel {
this.remarks, this.remarks,
this.url, this.url,
this.createTime, this.createTime,
this.updateTime,}); this.updateTime,
});
VersionModel.fromJson(dynamic json) { VersionModel.fromJson(dynamic json) {
id = json['id']; id = json['id'];
...@@ -173,25 +186,31 @@ class VersionModel { ...@@ -173,25 +186,31 @@ class VersionModel {
createTime = json['create_time']; createTime = json['create_time'];
updateTime = json['update_time']; updateTime = json['update_time'];
} }
num? id; num? id;
String? version; String? version;
String? remarks; String? remarks;
String? url; String? url;
String? createTime; String? createTime;
String? updateTime; String? updateTime;
VersionModel copyWith({ num? id,
VersionModel copyWith({
num? id,
String? version, String? version,
String? remarks, String? remarks,
String? url, String? url,
String? createTime, String? createTime,
String? updateTime, String? updateTime,
}) => VersionModel( id: id ?? this.id, }) =>
VersionModel(
id: id ?? this.id,
version: version ?? this.version, version: version ?? this.version,
remarks: remarks ?? this.remarks, remarks: remarks ?? this.remarks,
url: url ?? this.url, url: url ?? this.url,
createTime: createTime ?? this.createTime, createTime: createTime ?? this.createTime,
updateTime: updateTime ?? this.updateTime, updateTime: updateTime ?? this.updateTime,
); );
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final map = <String, dynamic>{}; final map = <String, dynamic>{};
map['id'] = id; map['id'] = id;
...@@ -202,7 +221,6 @@ class VersionModel { ...@@ -202,7 +221,6 @@ class VersionModel {
map['update_time'] = updateTime; map['update_time'] = updateTime;
return map; return map;
} }
} }
/// 用户信息模型 /// 用户信息模型
...@@ -222,7 +240,8 @@ class UserInfoModel { ...@@ -222,7 +240,8 @@ class UserInfoModel {
this.password, this.password,
this.gradeId, this.gradeId,
this.gradeName, this.gradeName,
this.beanNums,}); this.beanNums,
});
UserInfoModel.fromJson(dynamic json) { UserInfoModel.fromJson(dynamic json) {
name = json['name']; name = json['name'];
...@@ -241,6 +260,7 @@ class UserInfoModel { ...@@ -241,6 +260,7 @@ class UserInfoModel {
gradeName = json['grade_name']; gradeName = json['grade_name'];
beanNums = json['bean_nums']; beanNums = json['bean_nums'];
} }
String? name; String? name;
String? headImg; String? headImg;
num? sex; num? sex;
...@@ -256,7 +276,9 @@ class UserInfoModel { ...@@ -256,7 +276,9 @@ class UserInfoModel {
num? gradeId; num? gradeId;
String? gradeName; String? gradeName;
String? beanNums; String? beanNums;
UserInfoModel copyWith({ String? name,
UserInfoModel copyWith({
String? name,
String? headImg, String? headImg,
num? sex, num? sex,
String? phone, String? phone,
...@@ -271,7 +293,9 @@ class UserInfoModel { ...@@ -271,7 +293,9 @@ class UserInfoModel {
num? gradeId, num? gradeId,
String? gradeName, String? gradeName,
String? beanNums, String? beanNums,
}) => UserInfoModel( name: name ?? this.name, }) =>
UserInfoModel(
name: name ?? this.name,
headImg: headImg ?? this.headImg, headImg: headImg ?? this.headImg,
sex: sex ?? this.sex, sex: sex ?? this.sex,
phone: phone ?? this.phone, phone: phone ?? this.phone,
...@@ -287,6 +311,7 @@ class UserInfoModel { ...@@ -287,6 +311,7 @@ class UserInfoModel {
gradeName: gradeName ?? this.gradeName, gradeName: gradeName ?? this.gradeName,
beanNums: beanNums ?? this.beanNums, beanNums: beanNums ?? this.beanNums,
); );
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final map = <String, dynamic>{}; final map = <String, dynamic>{};
map['name'] = name; map['name'] = name;
...@@ -306,7 +331,6 @@ class UserInfoModel { ...@@ -306,7 +331,6 @@ class UserInfoModel {
map['bean_nums'] = beanNums; map['bean_nums'] = beanNums;
return map; return map;
} }
} }
/// 笔记详情模型 /// 笔记详情模型
...@@ -318,7 +342,8 @@ class NoteModel { ...@@ -318,7 +342,8 @@ class NoteModel {
this.positioning, this.positioning,
this.noteContent, this.noteContent,
this.color, this.color,
this.chapterName,}); this.chapterName,
});
NoteModel.fromJson(dynamic json) { NoteModel.fromJson(dynamic json) {
types = json['types']; types = json['types'];
...@@ -329,6 +354,7 @@ class NoteModel { ...@@ -329,6 +354,7 @@ class NoteModel {
color = json['color']; color = json['color'];
chapterName = json['chapter_name']; chapterName = json['chapter_name'];
} }
num? types; num? types;
num? chapterId; num? chapterId;
String? content; String? content;
...@@ -336,14 +362,18 @@ class NoteModel { ...@@ -336,14 +362,18 @@ class NoteModel {
String? noteContent; String? noteContent;
String? color; String? color;
String? chapterName; String? chapterName;
NoteModel copyWith({ num? types,
NoteModel copyWith({
num? types,
num? chapterId, num? chapterId,
String? content, String? content,
String? positioning, String? positioning,
String? noteContent, String? noteContent,
String? color, String? color,
String? chapterName, String? chapterName,
}) => NoteModel( types: types ?? this.types, }) =>
NoteModel(
types: types ?? this.types,
chapterId: chapterId ?? this.chapterId, chapterId: chapterId ?? this.chapterId,
content: content ?? this.content, content: content ?? this.content,
positioning: positioning ?? this.positioning, positioning: positioning ?? this.positioning,
...@@ -351,6 +381,7 @@ class NoteModel { ...@@ -351,6 +381,7 @@ class NoteModel {
color: color ?? this.color, color: color ?? this.color,
chapterName: chapterName ?? this.chapterName, chapterName: chapterName ?? this.chapterName,
); );
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final map = <String, dynamic>{}; final map = <String, dynamic>{};
map['types'] = types; map['types'] = types;
...@@ -362,7 +393,6 @@ class NoteModel { ...@@ -362,7 +393,6 @@ class NoteModel {
map['chapter_name'] = chapterName; map['chapter_name'] = chapterName;
return map; return map;
} }
} }
/// 讨论模型 /// 讨论模型
...@@ -384,7 +414,8 @@ class DiscussModel { ...@@ -384,7 +414,8 @@ class DiscussModel {
this.replacePersonPic, this.replacePersonPic,
this.personName, this.personName,
this.commentAll, this.commentAll,
this.personPic,}); this.personPic,
});
DiscussModel.fromJson(dynamic json) { DiscussModel.fromJson(dynamic json) {
id = json['id']; id = json['id'];
...@@ -410,6 +441,7 @@ class DiscussModel { ...@@ -410,6 +441,7 @@ class DiscussModel {
}); });
} }
} }
num? id; num? id;
num? chapterId; num? chapterId;
String? chapterName; String? chapterName;
...@@ -427,7 +459,9 @@ class DiscussModel { ...@@ -427,7 +459,9 @@ class DiscussModel {
String? personName; String? personName;
String? personPic; String? personPic;
List<DiscussModel>? commentAll; List<DiscussModel>? commentAll;
DiscussModel copyWith({ num? id,
DiscussModel copyWith({
num? id,
num? chapterId, num? chapterId,
String? chapterName, String? chapterName,
String? content, String? content,
...@@ -444,7 +478,9 @@ class DiscussModel { ...@@ -444,7 +478,9 @@ class DiscussModel {
String? personName, String? personName,
String? personPic, String? personPic,
List<DiscussModel>? commentAll, List<DiscussModel>? commentAll,
}) => DiscussModel( id: id ?? this.id, }) =>
DiscussModel(
id: id ?? this.id,
chapterId: chapterId ?? this.chapterId, chapterId: chapterId ?? this.chapterId,
chapterName: chapterName ?? this.chapterName, chapterName: chapterName ?? this.chapterName,
content: content ?? this.content, content: content ?? this.content,
...@@ -462,6 +498,7 @@ class DiscussModel { ...@@ -462,6 +498,7 @@ class DiscussModel {
personPic: personPic ?? this.personPic, personPic: personPic ?? this.personPic,
commentAll: commentAll ?? this.commentAll, commentAll: commentAll ?? this.commentAll,
); );
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final map = <String, dynamic>{}; final map = <String, dynamic>{};
map['id'] = id; map['id'] = id;
...@@ -485,5 +522,93 @@ class DiscussModel { ...@@ -485,5 +522,93 @@ class DiscussModel {
} }
return map; return map;
} }
}
/// 帮助中心模型
class HelpCenterModel {
HelpCenterModel({
this.id,
this.helpTitle,
this.createTime,
});
HelpCenterModel.fromJson(dynamic json) {
id = json['id'];
helpTitle = json['help_title'];
createTime = json['create_time'];
}
num? id;
String? helpTitle;
String? createTime;
HelpCenterModel copyWith({
num? id,
String? helpTitle,
String? createTime,
}) =>
HelpCenterModel(
id: id ?? this.id,
helpTitle: helpTitle ?? this.helpTitle,
createTime: createTime ?? this.createTime,
);
Map<String, dynamic> toJson() {
final map = <String, dynamic>{};
map['id'] = id;
map['help_title'] = helpTitle;
map['create_time'] = createTime;
return map;
}
}
/// 帮助中心内容模型
class HelpCenterContentModel {
HelpCenterContentModel({
this.id,
this.helpTitle,
this.helpContent,
this.createTime,
this.updateTime,
});
HelpCenterContentModel.fromJson(dynamic json) {
id = json['id'];
helpTitle = json['help_title'];
helpContent = json['help_content'];
createTime = json['create_time'];
updateTime = json['update_time'];
}
num? id;
String? helpTitle;
String? helpContent;
String? createTime;
String? updateTime;
HelpCenterContentModel copyWith({
num? id,
String? helpTitle,
String? helpContent,
String? createTime,
String? updateTime,
}) =>
HelpCenterContentModel(
id: id ?? this.id,
helpTitle: helpTitle ?? this.helpTitle,
helpContent: helpContent ?? this.helpContent,
createTime: createTime ?? this.createTime,
updateTime: updateTime ?? this.updateTime,
);
Map<String, dynamic> toJson() {
final map = <String, dynamic>{};
map['id'] = id;
map['help_title'] = helpTitle;
map['help_content'] = helpContent;
map['create_time'] = createTime;
map['update_time'] = updateTime;
return map;
}
} }
part of help_center;
class HelpCenterController extends GetxController {
final EasyRefreshController refreshController = EasyRefreshController(
controlFinishLoad: true,
controlFinishRefresh: true,
);
final int _limit = 10;
int _page = 1;
bool _noMore = false;
List<HelpCenterModel> helpCenters = [];
@override
void onClose() {
refreshController.dispose();
super.onClose();
}
/// 获取课程内图书列表
Future<void> _gethelpCenters([bool isRefresh = false]) async {
if (isRefresh) _page = 1;
// 网路请求
final result = await MineAPI.helpCenters(
page: _page,
limit: _limit
);
// 如果是刷新 清理数据
if (isRefresh) helpCenters.clear();
helpCenters.addAll(result);
_page ++;
_noMore = result.length < _limit;
update();
}
void onRefresh() async {
try {
await _gethelpCenters(true);
refreshController.finishRefresh(IndicatorResult.success);
refreshController.resetFooter();
} catch (error) {
refreshController.finishRefresh(IndicatorResult.fail);
}
}
void onLoading() async {
if (_noMore) {
refreshController.finishLoad(IndicatorResult.noMore);
return;
}
try {
await _gethelpCenters();
refreshController.finishLoad();
} catch (error) {
refreshController.finishLoad(IndicatorResult.fail);
}
}
List<HelpCenterModel> test(){
return [
HelpCenterModel(id: 1,helpTitle: '账号注册'),
HelpCenterModel(id: 2,helpTitle: '如何进行充值'),
HelpCenterModel(id: 3,helpTitle: '如何对内容进行划线'),
];
}
}
\ No newline at end of file
library help_center;
import 'package:easy_refresh/easy_refresh.dart';
import 'package:flutter/material.dart';
import 'package:flutter_book/apis/index.dart';
import 'package:flutter_book/widgets/index.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:go_router/go_router.dart';
import '../../models/index.dart';
import '../../routes/index.dart';
import '../../utils/index.dart';
part 'view.dart';
part 'controller.dart';
part 'widgets/item.dart';
\ No newline at end of file
part of help_center;
class HelpCenterPage extends StatefulWidget {
const HelpCenterPage({Key? key}) : super(key: key);
@override
State<HelpCenterPage> createState() => _HelpCenterPageState();
}
class _HelpCenterPageState extends State<HelpCenterPage> {
@override
Widget build(BuildContext context) {
return GetBuilder<HelpCenterController>(
init: HelpCenterController(),
builder: (controller) => Scaffold(
appBar: AppBar(
centerTitle: true,
title: const Text('帮助中心'),
),
body: CustomPullScrollView(
controller: controller.refreshController,
onRefresh: controller.onRefresh,
onLoading: controller.onLoading,
child: SingleChildScrollView(
child: Container(
margin: EdgeInsets.all(10.w),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.w),
color: Colors.white,
boxShadow: [
BoxShadow(
color: const Color(0xFFC7C7C7).withOpacity(0.5),
offset: Offset(3.w, 0),
blurRadius: 10.w,
spreadRadius: 0.w,
),
],
),
child: ClipRRect(
borderRadius: BorderRadius.circular(8.w),
child: ListView.builder(
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
itemCount: controller.helpCenters.length,
itemBuilder: (BuildContext context, int index){
HelpCenterModel model = controller.helpCenters[index];
return GestureDetector(
child: BuildItem(model: model,),
onTap: (){
context.pushNamed(Routes.helpCenterContent,queryParameters: {'id': model.id.toString()});
},
);
}),
),
),
),
),
));
}
}
part of help_center;
class BuildItem extends StatelessWidget {
final HelpCenterModel model;
const BuildItem({Key? key, required this.model}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
color: Colors.white,
padding: EdgeInsets.only(top: 10.w, right: 15.w, left: 15.w),
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: <Widget>[
Text(
'${model!.id}.',
style: TextStyle(
fontSize: 14.w, height: 1.5.w, color: Colours.c3),
),
Padding(
padding: const EdgeInsets.only(left: 10), // 设置左部间隔
child: Text(
model.helpTitle ?? '',
style: TextStyle(
fontSize: 12.w, height: 1.5.w, color: Colours.c9),
),
),
],
),
Image.asset('assets/images/right_arrow.png')
],
),
Gaps.vGaps10,
Container(
height: 0.5.w,
color: Colours.cF0,
)
],
),
);
}
}
part of help_cneter_content;
class HelpCenterContentController extends GetxController {
final String id;
HelpCenterContentModel helpCenterContentModel = HelpCenterContentModel();
HelpCenterContentController(this.id);
@override
void onReady() {
_getHelpCenterContent(id);
super.onReady();
}
/// 获取帮助中心内容
void _getHelpCenterContent(String id) async {
helpCenterContentModel = await MineAPI.helpCenterContent(id);
update();
}
}
library help_cneter_content;
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get_state_manager/src/simple/get_controllers.dart';
import 'package:get/get_state_manager/src/simple/get_state.dart';
import '../../apis/index.dart';
import '../../models/index.dart';
import '../../utils/index.dart';
part 'view.dart';
part 'controller.dart';
\ No newline at end of file
part of help_cneter_content;
/// 帮助中心-常见问题-内容详情
class HelpCenterContentPage extends StatefulWidget {
final String id;
const HelpCenterContentPage({
Key? key,
required this.id,
}) : super(key: key);
@override
State<HelpCenterContentPage> createState() => _HelpCenterContentPageState();
}
class _HelpCenterContentPageState extends State<HelpCenterContentPage> {
@override
Widget build(BuildContext context) {
return GetBuilder<HelpCenterContentController>(
init: HelpCenterContentController(widget.id),
builder: (controller) => Scaffold(
appBar: AppBar(
centerTitle: true,
title: const Text('常见问题'),
),
body: Container(
width: double.infinity,
margin: EdgeInsets.only(
left: 15.w, top: 10.w, right: 15.w, bottom: 15.w),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start, // 下面的Text靠左
children: [
Align(
alignment: Alignment.topCenter,
child: Text(
controller.helpCenterContentModel.helpTitle ?? '',
style: TextStyle(
fontSize: 16.w, height: 1.5.w, color: Colours.c3),
),
),
SizedBox(height: 15.w), // 添加15dp的间隔,
Text(
controller.helpCenterContentModel.helpContent ?? '',
style: TextStyle(
fontSize: 14.w, height: 1.5.w, color: Colours.c3),
),
],
),
),
));
}
}
/*@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
centerTitle: true,
title: const Text('常见问题'),
),
body: Container(
margin: EdgeInsets.all(15.w),
child: Column(
children: [
Text(
model.helpTitle ?? '',
style: TextStyle(fontSize: 16.w, height: 1.5, color: Colours.c3),
),
Text(
model.helpContent ?? '',
style: TextStyle(fontSize: 14.w, height: 1.5, color: Colours.c3),
),
],
),
),
);
}*/
...@@ -125,6 +125,12 @@ class _MinePageState extends State<MinePage> { ...@@ -125,6 +125,12 @@ class _MinePageState extends State<MinePage> {
}, child: _buildItem('意见反馈') }, child: _buildItem('意见反馈')
), ),
Container(color: Colours.cLine,margin: EdgeInsets.symmetric(horizontal: 15.w),height: 1.w,), Container(color: Colours.cLine,margin: EdgeInsets.symmetric(horizontal: 15.w),height: 1.w,),
GestureDetector(
onTap: (){
context.pushNamed(Routes.helpCenter);
}, child: _buildItem('帮助中心',)
),
Container(color: Colours.cLine,margin: EdgeInsets.symmetric(horizontal: 15.w),height: 1.w,),
GestureDetector( GestureDetector(
onTap: (){ onTap: (){
context.pushNamed(Routes.about); context.pushNamed(Routes.about);
......
part of search; part of search;
class SearchController extends GetxController { class SearchController extends GetxController {
final EasyRefreshController refreshController = EasyRefreshController(
controlFinishLoad: true,
controlFinishRefresh: true,
);
late TextEditingController searchController = TextEditingController(); late TextEditingController searchController = TextEditingController();
// 搜索记录数组 // 搜索记录数组
...@@ -9,6 +12,10 @@ class SearchController extends GetxController { ...@@ -9,6 +12,10 @@ class SearchController extends GetxController {
// 书籍数组 // 书籍数组
List<CourseModel> books = []; List<CourseModel> books = [];
final int _limit = 20;
int _page = 1;
bool _noMore = false;
@override @override
void onReady() { void onReady() {
_getSearchRecords(); _getSearchRecords();
...@@ -43,6 +50,52 @@ class SearchController extends GetxController { ...@@ -43,6 +50,52 @@ class SearchController extends GetxController {
} }
/// 收藏 与 取消收藏
void love({
required String bookId,
required num isCollection
}) async {
if (isCollection == 0){
isCollection = 1;
}
else{
isCollection = 0;
}
bool result = await CommonAPI.love(bookId: bookId, love: isCollection.toString());
if (result) {
onRefresh();
}
}
/// 获取图书列表数据
Future<void> _getBooks([bool isRefresh = false]) async {
if (isRefresh) _page = 1;
// 网路请求
final result = await LibraryAPI.books(
page: _page,
limit: _limit
);
// 如果是刷新 清理数据
if (isRefresh) books.clear();
books.addAll(result);
_page ++;
_noMore = result.length < _limit;
update();
}
void onRefresh() async {
try {
await _getBooks(true);
refreshController.finishRefresh(IndicatorResult.success);
refreshController.resetFooter();
} catch (error) {
refreshController.finishRefresh(IndicatorResult.fail);
}
}
/// 本地搜索历史 /// 本地搜索历史
/* /*
///获取搜索关键字数据 ///获取搜索关键字数据
......
library search; library search;
import 'package:easy_refresh/easy_refresh.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_book/widgets/index.dart'; import 'package:flutter_book/widgets/index.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
...@@ -10,9 +11,11 @@ import 'package:go_router/go_router.dart'; ...@@ -10,9 +11,11 @@ import 'package:go_router/go_router.dart';
import '../../apis/index.dart'; import '../../apis/index.dart';
import '../../models/index.dart'; import '../../models/index.dart';
import '../../routes/index.dart';
import '../../services/index.dart'; import '../../services/index.dart';
import '../../theme.dart'; import '../../theme.dart';
import '../../utils/index.dart'; import '../../utils/index.dart';
import '../library/index.dart';
part 'view.dart'; part 'view.dart';
part 'widgets/history.dart'; part 'widgets/history.dart';
......
...@@ -8,43 +8,87 @@ class SearchPage extends StatefulWidget { ...@@ -8,43 +8,87 @@ class SearchPage extends StatefulWidget {
} }
class _SearchPageState extends State<SearchPage> { class _SearchPageState extends State<SearchPage> {
bool showHistory = true; // 根据条件设置为true或false
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return GetBuilder<SearchController>( return GetBuilder<SearchController>(
init: SearchController(), init: SearchController(),
builder:(controller)=> Scaffold( builder: (controller) => Scaffold(
appBar: CustomAppBar( appBar: CustomAppBar(
automaticallyImplyLeading:false, automaticallyImplyLeading: false,
titleSpacing: 0, titleSpacing: 0,
title: Padding( title: Padding(
padding: EdgeInsets.symmetric(horizontal: AppTheme.margin), padding: EdgeInsets.symmetric(horizontal: AppTheme.margin),
child: CustomInputSearch( child: CustomInputSearch(
controller: controller.searchController, controller: controller.searchController,
readOnly:false, readOnly: false,
hintText: '请输入书籍名称', hintText: '请输入书籍名称',
onTap: () { onTap: () {
// context.pushNamed(Routes.msgs); // context.pushNamed(Routes.msgs);
}, },
onEditingComplete: (){ onEditingComplete: () {
showHistory = false;
controller.search(); controller.search();
// FocusScope.of(context).unfocus();
FocusNode blankNode = FocusNode();
FocusScope.of(context).requestFocus(blankNode); //指定为空白焦点
}, },
), ),
), ),
actions: [ actions: [
GestureDetector( GestureDetector(
onTap: (){ onTap: () {
context.pop(); context.pop();
}, },
child: Container( child: Container(
padding: EdgeInsets.only(left: 10.w,top: 10.w,bottom: 10.w), padding: EdgeInsets.only(left: 10.w, top: 10.w, bottom: 10.w),
child: Text('取消',style: TextStyle(fontSize: 14.w,height: 1.5,color: Colours.c3),), child: Text(
// color: Colors.red, '取消',
style:
TextStyle(fontSize: 14.w, height: 1.5, color: Colours.c3),
),
), ),
) )
], ],
), ),
body: BuildHistory(controller: controller), body: buildListView(controller),
), ),
); );
} }
Widget buildListView(SearchController controller) {
if (showHistory) {
// 如果条件为true,显示历史搜索记录
return BuildHistory(controller: controller);
} else {
// 如果条件为false,显示搜索到的书籍
return ListView.builder(
// shrinkWrap: true,
// physics: NeverScrollableScrollPhysics(),
scrollDirection: Axis.vertical,
itemCount: controller.books.length,
itemBuilder: (BuildContext context, int index) {
CourseModel model = controller.books[index];
return GestureDetector(
onTap: () {
context.pushNamed(Routes.bookDetail,
queryParameters: {'book_id': model.bookId.toString()});
},
child: LibraryCell(
model: model,
onTap: () {
controller.love(
bookId: model.bookId.toString(),
isCollection: model.isCollection!);
},
),
);
});
}
}
hideSoftKeyboard(BuildContext context) {
FocusNode blankNode = FocusNode(); //空白焦点,不赋值给任何输入框的focusNode
FocusScope.of(context).requestFocus(blankNode); //指定为空白焦点
}
} }
...@@ -11,6 +11,8 @@ import 'package:flutter_book/pages/change_phone/index.dart'; ...@@ -11,6 +11,8 @@ import 'package:flutter_book/pages/change_phone/index.dart';
import 'package:flutter_book/pages/change_pwd/index.dart'; import 'package:flutter_book/pages/change_pwd/index.dart';
import 'package:flutter_book/pages/credit_points/index.dart'; import 'package:flutter_book/pages/credit_points/index.dart';
import 'package:flutter_book/pages/forget_pwd/index.dart'; import 'package:flutter_book/pages/forget_pwd/index.dart';
import 'package:flutter_book/pages/help_center/index.dart';
import 'package:flutter_book/pages/help_cneter_content/index.dart';
import 'package:flutter_book/pages/login/index.dart'; import 'package:flutter_book/pages/login/index.dart';
import 'package:flutter_book/pages/main/index.dart'; import 'package:flutter_book/pages/main/index.dart';
import 'package:flutter_book/pages/reset_pwd/index.dart'; import 'package:flutter_book/pages/reset_pwd/index.dart';
......
...@@ -94,6 +94,10 @@ abstract class Routes { ...@@ -94,6 +94,10 @@ abstract class Routes {
static const feedback = 'feedback'; static const feedback = 'feedback';
// 订单评价 // 订单评价
static const orderEvaluate= 'order_evaluate'; static const orderEvaluate= 'order_evaluate';
// 帮助中心
static const helpCenter= 'help_center';
// 帮助中心内容
static const helpCenterContent = 'help_center_content';
...@@ -454,6 +458,24 @@ abstract class Routes { ...@@ -454,6 +458,24 @@ abstract class Routes {
child: const OrderEvaluatePage() child: const OrderEvaluatePage()
) )
), ),
GoRoute( // 帮助中心
path: '/$helpCenter',
name: helpCenter,
pageBuilder: (context, state) =>CupertinoPage(
name: state.uri.toString(),
key: state.pageKey,
child: const HelpCenterPage()
)
),
GoRoute( // 帮助中心内容
path: '/$helpCenterContent',
name: helpCenterContent,
pageBuilder: (context, state) =>CupertinoPage(
name: state.uri.toString(),
key: state.pageKey,
child: HelpCenterContentPage(id: state.uri.queryParameters['id'].toString())
)
),
] ]
); );
......
...@@ -6,7 +6,7 @@ packages: ...@@ -6,7 +6,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"
audio_session: audio_session:
...@@ -14,7 +14,7 @@ packages: ...@@ -14,7 +14,7 @@ packages:
description: description:
name: audio_session name: audio_session
sha256: "6fdf255ed3af86535c96452c33ecff1245990bb25a605bfb1958661ccc3d467f" sha256: "6fdf255ed3af86535c96452c33ecff1245990bb25a605bfb1958661ccc3d467f"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.18" version: "0.1.18"
badges: badges:
...@@ -22,7 +22,7 @@ packages: ...@@ -22,7 +22,7 @@ packages:
description: description:
name: badges name: badges
sha256: a7b6bbd60dce418df0db3058b53f9d083c22cdb5132a052145dc267494df0b84 sha256: a7b6bbd60dce418df0db3058b53f9d083c22cdb5132a052145dc267494df0b84
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.2" version: "3.1.2"
boolean_selector: boolean_selector:
...@@ -30,7 +30,7 @@ packages: ...@@ -30,7 +30,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"
carousel_slider: carousel_slider:
...@@ -38,7 +38,7 @@ packages: ...@@ -38,7 +38,7 @@ packages:
description: description:
name: carousel_slider name: carousel_slider
sha256: "9c695cc963bf1d04a47bd6021f68befce8970bcd61d24938e1fb0918cf5d9c42" sha256: "9c695cc963bf1d04a47bd6021f68befce8970bcd61d24938e1fb0918cf5d9c42"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "4.2.1" version: "4.2.1"
characters: characters:
...@@ -46,7 +46,7 @@ packages: ...@@ -46,7 +46,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"
clock: clock:
...@@ -54,7 +54,7 @@ packages: ...@@ -54,7 +54,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"
collection: collection:
...@@ -62,7 +62,7 @@ packages: ...@@ -62,7 +62,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"
convert: convert:
...@@ -70,7 +70,7 @@ packages: ...@@ -70,7 +70,7 @@ packages:
description: description:
name: convert name: convert
sha256: f08428ad63615f96a27e34221c65e1a451439b5f26030f78d790f461c686d65d sha256: f08428ad63615f96a27e34221c65e1a451439b5f26030f78d790f461c686d65d
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.1" version: "3.0.1"
cross_file: cross_file:
...@@ -78,7 +78,7 @@ packages: ...@@ -78,7 +78,7 @@ packages:
description: description:
name: cross_file name: cross_file
sha256: "2f9d2cbccb76127ba28528cb3ae2c2326a122446a83de5a056aaa3880d3882c5" sha256: "2f9d2cbccb76127ba28528cb3ae2c2326a122446a83de5a056aaa3880d3882c5"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "0.3.3+7" version: "0.3.3+7"
crypto: crypto:
...@@ -86,7 +86,7 @@ packages: ...@@ -86,7 +86,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"
cupertino_icons: cupertino_icons:
...@@ -94,7 +94,7 @@ packages: ...@@ -94,7 +94,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"
decimal: decimal:
...@@ -102,7 +102,7 @@ packages: ...@@ -102,7 +102,7 @@ packages:
description: description:
name: decimal name: decimal
sha256: "24a261d5d5c87e86c7651c417a5dbdf8bcd7080dd592533910e8d0505a279f21" sha256: "24a261d5d5c87e86c7651c417a5dbdf8bcd7080dd592533910e8d0505a279f21"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.3" version: "2.3.3"
dio: dio:
...@@ -110,7 +110,7 @@ packages: ...@@ -110,7 +110,7 @@ packages:
description: description:
name: dio name: dio
sha256: "417e2a6f9d83ab396ec38ff4ea5da6c254da71e4db765ad737a42af6930140b7" sha256: "417e2a6f9d83ab396ec38ff4ea5da6c254da71e4db765ad737a42af6930140b7"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "5.3.3" version: "5.3.3"
easy_refresh: easy_refresh:
...@@ -118,7 +118,7 @@ packages: ...@@ -118,7 +118,7 @@ packages:
description: description:
name: easy_refresh name: easy_refresh
sha256: "77b025ea49f27b5ebc5eef40a6678be52564c293bd97ce91a4088d6646478329" sha256: "77b025ea49f27b5ebc5eef40a6678be52564c293bd97ce91a4088d6646478329"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "3.3.2+1" version: "3.3.2+1"
extended_image: extended_image:
...@@ -126,7 +126,7 @@ packages: ...@@ -126,7 +126,7 @@ packages:
description: description:
name: extended_image name: extended_image
sha256: e77d18f956649ba6e5ecebd0cb68542120886336a75ee673788145bd4c3f0767 sha256: e77d18f956649ba6e5ecebd0cb68542120886336a75ee673788145bd4c3f0767
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "8.0.2" version: "8.0.2"
extended_image_library: extended_image_library:
...@@ -134,7 +134,7 @@ packages: ...@@ -134,7 +134,7 @@ packages:
description: description:
name: extended_image_library name: extended_image_library
sha256: bb8d08c504ebc73d476ec1c99451a61f12e95538869e734fc4f55a3a2d5c98ec sha256: bb8d08c504ebc73d476ec1c99451a61f12e95538869e734fc4f55a3a2d5c98ec
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "3.5.3" version: "3.5.3"
fake_async: fake_async:
...@@ -142,7 +142,7 @@ packages: ...@@ -142,7 +142,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:
...@@ -150,7 +150,7 @@ packages: ...@@ -150,7 +150,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:
...@@ -158,7 +158,7 @@ packages: ...@@ -158,7 +158,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"
flutter: flutter:
...@@ -171,7 +171,7 @@ packages: ...@@ -171,7 +171,7 @@ packages:
description: description:
name: flutter_app_update name: flutter_app_update
sha256: "2202e6e6d49eacc571304e5a6a5404f893382b492029d01d33b3bfb9af1c2f25" sha256: "2202e6e6d49eacc571304e5a6a5404f893382b492029d01d33b3bfb9af1c2f25"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.4" version: "3.0.4"
flutter_easyloading: flutter_easyloading:
...@@ -179,7 +179,7 @@ packages: ...@@ -179,7 +179,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_inappwebview: flutter_inappwebview:
...@@ -187,7 +187,7 @@ packages: ...@@ -187,7 +187,7 @@ packages:
description: description:
name: flutter_inappwebview name: flutter_inappwebview
sha256: d198297060d116b94048301ee6749cd2e7d03c1f2689783f52d210a6b7aba350 sha256: d198297060d116b94048301ee6749cd2e7d03c1f2689783f52d210a6b7aba350
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "5.8.0" version: "5.8.0"
flutter_lints: flutter_lints:
...@@ -195,7 +195,7 @@ packages: ...@@ -195,7 +195,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_localizations: flutter_localizations:
...@@ -208,7 +208,7 @@ packages: ...@@ -208,7 +208,7 @@ packages:
description: description:
name: flutter_plugin_android_lifecycle name: flutter_plugin_android_lifecycle
sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.17" version: "2.0.17"
flutter_screenutil: flutter_screenutil:
...@@ -216,7 +216,7 @@ packages: ...@@ -216,7 +216,7 @@ packages:
description: description:
name: flutter_screenutil name: flutter_screenutil
sha256: b3e155ee4f2cf5b21a2e15182d1c49c848147ed47f62083fc9a9beccb85f59f9 sha256: b3e155ee4f2cf5b21a2e15182d1c49c848147ed47f62083fc9a9beccb85f59f9
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "5.8.2" version: "5.8.2"
flutter_slidable: flutter_slidable:
...@@ -224,7 +224,7 @@ packages: ...@@ -224,7 +224,7 @@ packages:
description: description:
name: flutter_slidable name: flutter_slidable
sha256: "19ed4813003a6ff4e9c6bcce37e792a2a358919d7603b2b31ff200229191e44c" sha256: "19ed4813003a6ff4e9c6bcce37e792a2a358919d7603b2b31ff200229191e44c"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.1" version: "3.0.1"
flutter_sound: flutter_sound:
...@@ -232,7 +232,7 @@ packages: ...@@ -232,7 +232,7 @@ packages:
description: description:
name: flutter_sound name: flutter_sound
sha256: "090a4694b11ecc744c2010621c4ffc5fe7c3079d304ea014961a72c7b72cfe6c" sha256: "090a4694b11ecc744c2010621c4ffc5fe7c3079d304ea014961a72c7b72cfe6c"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "9.2.13" version: "9.2.13"
flutter_sound_platform_interface: flutter_sound_platform_interface:
...@@ -240,7 +240,7 @@ packages: ...@@ -240,7 +240,7 @@ packages:
description: description:
name: flutter_sound_platform_interface name: flutter_sound_platform_interface
sha256: "4537eaeb58a32748c42b621ad6116f7f4c6ee0a8d6ffaa501b165fe1c9df4753" sha256: "4537eaeb58a32748c42b621ad6116f7f4c6ee0a8d6ffaa501b165fe1c9df4753"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "9.2.13" version: "9.2.13"
flutter_sound_web: flutter_sound_web:
...@@ -248,7 +248,7 @@ packages: ...@@ -248,7 +248,7 @@ packages:
description: description:
name: flutter_sound_web name: flutter_sound_web
sha256: ad4ca92671a1879e1f613e900bbbdb8170b20d57d1e4e6363018fe56b055594f sha256: ad4ca92671a1879e1f613e900bbbdb8170b20d57d1e4e6363018fe56b055594f
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "9.2.13" version: "9.2.13"
flutter_spinkit: flutter_spinkit:
...@@ -256,7 +256,7 @@ packages: ...@@ -256,7 +256,7 @@ packages:
description: description:
name: flutter_spinkit name: flutter_spinkit
sha256: b39c753e909d4796906c5696a14daf33639a76e017136c8d82bf3e620ce5bb8e sha256: b39c753e909d4796906c5696a14daf33639a76e017136c8d82bf3e620ce5bb8e
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "5.2.0" version: "5.2.0"
flutter_star: flutter_star:
...@@ -264,7 +264,7 @@ packages: ...@@ -264,7 +264,7 @@ packages:
description: description:
name: flutter_star name: flutter_star
sha256: "7dc10b8b3667ace2aa575a37ea0c00558a7514019cfe7e76322573d85b72a472" sha256: "7dc10b8b3667ace2aa575a37ea0c00558a7514019cfe7e76322573d85b72a472"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.0" version: "1.2.0"
flutter_test: flutter_test:
...@@ -277,7 +277,7 @@ packages: ...@@ -277,7 +277,7 @@ packages:
description: description:
name: flutter_tts name: flutter_tts
sha256: cbb3fd43b946e62398560235469e6113e4fe26c40eab1b7cb5e7c417503fb3a8 sha256: cbb3fd43b946e62398560235469e6113e4fe26c40eab1b7cb5e7c417503fb3a8
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "3.8.5" version: "3.8.5"
flutter_web_plugins: flutter_web_plugins:
...@@ -290,7 +290,7 @@ packages: ...@@ -290,7 +290,7 @@ packages:
description: description:
name: fluwx name: fluwx
sha256: "7a1596e8fad1b2191cf62f4cc80f3c63c01306bd6d8fa4f5c815f5e309da1dba" sha256: "7a1596e8fad1b2191cf62f4cc80f3c63c01306bd6d8fa4f5c815f5e309da1dba"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "4.4.9" version: "4.4.9"
get: get:
...@@ -298,7 +298,7 @@ packages: ...@@ -298,7 +298,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"
go_router: go_router:
...@@ -306,7 +306,7 @@ packages: ...@@ -306,7 +306,7 @@ packages:
description: description:
name: go_router name: go_router
sha256: "2aa884667eeda3a1c461f31e72af1f77984ab0f29450d8fb12ec1f7bc53eea14" sha256: "2aa884667eeda3a1c461f31e72af1f77984ab0f29450d8fb12ec1f7bc53eea14"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "10.1.0" version: "10.1.0"
http: http:
...@@ -314,7 +314,7 @@ packages: ...@@ -314,7 +314,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_client_helper: http_client_helper:
...@@ -322,7 +322,7 @@ packages: ...@@ -322,7 +322,7 @@ packages:
description: description:
name: http_client_helper name: http_client_helper
sha256: "8a9127650734da86b5c73760de2b404494c968a3fd55602045ffec789dac3cb1" sha256: "8a9127650734da86b5c73760de2b404494c968a3fd55602045ffec789dac3cb1"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.0" version: "3.0.0"
http_parser: http_parser:
...@@ -330,7 +330,7 @@ packages: ...@@ -330,7 +330,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"
image_picker: image_picker:
...@@ -338,7 +338,7 @@ packages: ...@@ -338,7 +338,7 @@ packages:
description: description:
name: image_picker name: image_picker
sha256: "9978d3510af4e6a902e545ce19229b926e6de6a1828d6134d3aab2e129a4d270" sha256: "9978d3510af4e6a902e545ce19229b926e6de6a1828d6134d3aab2e129a4d270"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "0.8.7+5" version: "0.8.7+5"
image_picker_android: image_picker_android:
...@@ -346,7 +346,7 @@ packages: ...@@ -346,7 +346,7 @@ packages:
description: description:
name: image_picker_android name: image_picker_android
sha256: "39f2bfe497e495450c81abcd44b62f56c2a36a37a175da7d137b4454977b51b1" sha256: "39f2bfe497e495450c81abcd44b62f56c2a36a37a175da7d137b4454977b51b1"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "0.8.9+3" version: "0.8.9+3"
image_picker_for_web: image_picker_for_web:
...@@ -354,7 +354,7 @@ packages: ...@@ -354,7 +354,7 @@ packages:
description: description:
name: image_picker_for_web name: image_picker_for_web
sha256: "869fe8a64771b7afbc99fc433a5f7be2fea4d1cb3d7c11a48b6b579eb9c797f0" sha256: "869fe8a64771b7afbc99fc433a5f7be2fea4d1cb3d7c11a48b6b579eb9c797f0"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.0" version: "2.2.0"
image_picker_ios: image_picker_ios:
...@@ -362,7 +362,7 @@ packages: ...@@ -362,7 +362,7 @@ packages:
description: description:
name: image_picker_ios name: image_picker_ios
sha256: fadafce49e8569257a0cad56d24438a6fa1f0cbd7ee0af9b631f7492818a4ca3 sha256: fadafce49e8569257a0cad56d24438a6fa1f0cbd7ee0af9b631f7492818a4ca3
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "0.8.9+1" version: "0.8.9+1"
image_picker_platform_interface: image_picker_platform_interface:
...@@ -370,7 +370,7 @@ packages: ...@@ -370,7 +370,7 @@ packages:
description: description:
name: image_picker_platform_interface name: image_picker_platform_interface
sha256: fa4e815e6fcada50e35718727d83ba1c92f1edf95c0b4436554cec301b56233b sha256: fa4e815e6fcada50e35718727d83ba1c92f1edf95c0b4436554cec301b56233b
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.9.3" version: "2.9.3"
intl: intl:
...@@ -378,7 +378,7 @@ packages: ...@@ -378,7 +378,7 @@ packages:
description: description:
name: intl name: intl
sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "0.18.0" version: "0.18.0"
ionicons: ionicons:
...@@ -386,7 +386,7 @@ packages: ...@@ -386,7 +386,7 @@ packages:
description: description:
name: ionicons name: ionicons
sha256: "5496bc65a16115ecf05b15b78f494ee4a8869504357668f0a11d689e970523cf" sha256: "5496bc65a16115ecf05b15b78f494ee4a8869504357668f0a11d689e970523cf"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "0.2.2" version: "0.2.2"
js: js:
...@@ -394,7 +394,7 @@ packages: ...@@ -394,7 +394,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"
lints: lints:
...@@ -402,7 +402,7 @@ packages: ...@@ -402,7 +402,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:
...@@ -410,7 +410,7 @@ packages: ...@@ -410,7 +410,7 @@ packages:
description: description:
name: logger name: logger
sha256: db2ff852ed77090ba9f62d3611e4208a3d11dfa35991a81ae724c113fcb3e3f7 sha256: db2ff852ed77090ba9f62d3611e4208a3d11dfa35991a81ae724c113fcb3e3f7
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.0" version: "1.3.0"
logging: logging:
...@@ -418,7 +418,7 @@ packages: ...@@ -418,7 +418,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:
...@@ -426,7 +426,7 @@ packages: ...@@ -426,7 +426,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:
...@@ -434,7 +434,7 @@ packages: ...@@ -434,7 +434,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:
...@@ -442,7 +442,7 @@ packages: ...@@ -442,7 +442,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:
...@@ -450,7 +450,7 @@ packages: ...@@ -450,7 +450,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"
nested: nested:
...@@ -458,7 +458,7 @@ packages: ...@@ -458,7 +458,7 @@ packages:
description: description:
name: nested name: nested
sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.0" version: "1.0.0"
oktoast: oktoast:
...@@ -466,7 +466,7 @@ packages: ...@@ -466,7 +466,7 @@ packages:
description: description:
name: oktoast name: oktoast
sha256: f1366c5c793ddfb8f55bc6fc3e45db43c45debf173b765fb4c5ec096cbdeb84a sha256: f1366c5c793ddfb8f55bc6fc3e45db43c45debf173b765fb4c5ec096cbdeb84a
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "3.4.0" version: "3.4.0"
package_info_plus: package_info_plus:
...@@ -474,7 +474,7 @@ packages: ...@@ -474,7 +474,7 @@ packages:
description: description:
name: package_info_plus name: package_info_plus
sha256: "7e76fad405b3e4016cd39d08f455a4eb5199723cf594cd1b8916d47140d93017" sha256: "7e76fad405b3e4016cd39d08f455a4eb5199723cf594cd1b8916d47140d93017"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "4.2.0" version: "4.2.0"
package_info_plus_platform_interface: package_info_plus_platform_interface:
...@@ -482,7 +482,7 @@ packages: ...@@ -482,7 +482,7 @@ packages:
description: description:
name: package_info_plus_platform_interface name: package_info_plus_platform_interface
sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.1" version: "2.0.1"
path: path:
...@@ -490,7 +490,7 @@ packages: ...@@ -490,7 +490,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_drawing: path_drawing:
...@@ -498,7 +498,7 @@ packages: ...@@ -498,7 +498,7 @@ packages:
description: description:
name: path_drawing name: path_drawing
sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977 sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.1" version: "1.0.1"
path_parsing: path_parsing:
...@@ -506,7 +506,7 @@ packages: ...@@ -506,7 +506,7 @@ packages:
description: description:
name: path_parsing name: path_parsing
sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.1" version: "1.0.1"
path_provider: path_provider:
...@@ -514,7 +514,7 @@ packages: ...@@ -514,7 +514,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:
...@@ -522,7 +522,7 @@ packages: ...@@ -522,7 +522,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:
...@@ -530,7 +530,7 @@ packages: ...@@ -530,7 +530,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:
...@@ -538,7 +538,7 @@ packages: ...@@ -538,7 +538,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:
...@@ -546,7 +546,7 @@ packages: ...@@ -546,7 +546,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:
...@@ -554,7 +554,7 @@ packages: ...@@ -554,7 +554,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"
permission_handler: permission_handler:
...@@ -562,7 +562,7 @@ packages: ...@@ -562,7 +562,7 @@ packages:
description: description:
name: permission_handler name: permission_handler
sha256: "284a66179cabdf942f838543e10413246f06424d960c92ba95c84439154fcac8" sha256: "284a66179cabdf942f838543e10413246f06424d960c92ba95c84439154fcac8"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "11.0.1" version: "11.0.1"
permission_handler_android: permission_handler_android:
...@@ -570,7 +570,7 @@ packages: ...@@ -570,7 +570,7 @@ packages:
description: description:
name: permission_handler_android name: permission_handler_android
sha256: f9fddd3b46109bd69ff3f9efa5006d2d309b7aec0f3c1c5637a60a2d5659e76e sha256: f9fddd3b46109bd69ff3f9efa5006d2d309b7aec0f3c1c5637a60a2d5659e76e
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "11.1.0" version: "11.1.0"
permission_handler_apple: permission_handler_apple:
...@@ -578,7 +578,7 @@ packages: ...@@ -578,7 +578,7 @@ packages:
description: description:
name: permission_handler_apple name: permission_handler_apple
sha256: "99e220bce3f8877c78e4ace901082fb29fa1b4ebde529ad0932d8d664b34f3f5" sha256: "99e220bce3f8877c78e4ace901082fb29fa1b4ebde529ad0932d8d664b34f3f5"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "9.1.4" version: "9.1.4"
permission_handler_platform_interface: permission_handler_platform_interface:
...@@ -586,7 +586,7 @@ packages: ...@@ -586,7 +586,7 @@ packages:
description: description:
name: permission_handler_platform_interface name: permission_handler_platform_interface
sha256: "6760eb5ef34589224771010805bea6054ad28453906936f843a8cc4d3a55c4a4" sha256: "6760eb5ef34589224771010805bea6054ad28453906936f843a8cc4d3a55c4a4"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "3.12.0" version: "3.12.0"
permission_handler_windows: permission_handler_windows:
...@@ -594,7 +594,7 @@ packages: ...@@ -594,7 +594,7 @@ packages:
description: description:
name: permission_handler_windows name: permission_handler_windows
sha256: cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098 sha256: cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.3" version: "0.1.3"
platform: platform:
...@@ -602,7 +602,7 @@ packages: ...@@ -602,7 +602,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:
...@@ -610,7 +610,7 @@ packages: ...@@ -610,7 +610,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"
provider: provider:
...@@ -618,7 +618,7 @@ packages: ...@@ -618,7 +618,7 @@ packages:
description: description:
name: provider name: provider
sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096" sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.1" version: "6.1.1"
pull_to_refresh_flutter3: pull_to_refresh_flutter3:
...@@ -626,7 +626,7 @@ packages: ...@@ -626,7 +626,7 @@ packages:
description: description:
name: pull_to_refresh_flutter3 name: pull_to_refresh_flutter3
sha256: "223a6241067162dc15cf8c46c05af998ce7aa85e0703d8f696101eb1b5629d76" sha256: "223a6241067162dc15cf8c46c05af998ce7aa85e0703d8f696101eb1b5629d76"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.1" version: "2.0.1"
rational: rational:
...@@ -634,7 +634,7 @@ packages: ...@@ -634,7 +634,7 @@ packages:
description: description:
name: rational name: rational
sha256: ba58e9e18df9abde280e8b10051e4bce85091e41e8e7e411b6cde2e738d357cf sha256: ba58e9e18df9abde280e8b10051e4bce85091e41e8e7e411b6cde2e738d357cf
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.2" version: "2.2.2"
recase: recase:
...@@ -642,7 +642,7 @@ packages: ...@@ -642,7 +642,7 @@ packages:
description: description:
name: recase name: recase
sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "4.1.0" version: "4.1.0"
rxdart: rxdart:
...@@ -650,7 +650,7 @@ packages: ...@@ -650,7 +650,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"
shared_preferences: shared_preferences:
...@@ -658,7 +658,7 @@ packages: ...@@ -658,7 +658,7 @@ packages:
description: description:
name: shared_preferences name: shared_preferences
sha256: "16d3fb6b3692ad244a695c0183fca18cf81fd4b821664394a781de42386bf022" sha256: "16d3fb6b3692ad244a695c0183fca18cf81fd4b821664394a781de42386bf022"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.1" version: "2.1.1"
shared_preferences_android: shared_preferences_android:
...@@ -666,7 +666,7 @@ packages: ...@@ -666,7 +666,7 @@ packages:
description: description:
name: shared_preferences_android name: shared_preferences_android
sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06" sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.1" version: "2.2.1"
shared_preferences_foundation: shared_preferences_foundation:
...@@ -674,7 +674,7 @@ packages: ...@@ -674,7 +674,7 @@ packages:
description: description:
name: shared_preferences_foundation name: shared_preferences_foundation
sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c" sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.5" version: "2.3.5"
shared_preferences_linux: shared_preferences_linux:
...@@ -682,7 +682,7 @@ packages: ...@@ -682,7 +682,7 @@ packages:
description: description:
name: shared_preferences_linux name: shared_preferences_linux
sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa" sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.2" version: "2.3.2"
shared_preferences_platform_interface: shared_preferences_platform_interface:
...@@ -690,7 +690,7 @@ packages: ...@@ -690,7 +690,7 @@ packages:
description: description:
name: shared_preferences_platform_interface name: shared_preferences_platform_interface
sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b" sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.2" version: "2.3.2"
shared_preferences_web: shared_preferences_web:
...@@ -698,7 +698,7 @@ packages: ...@@ -698,7 +698,7 @@ packages:
description: description:
name: shared_preferences_web name: shared_preferences_web
sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.1" version: "2.2.1"
shared_preferences_windows: shared_preferences_windows:
...@@ -706,7 +706,7 @@ packages: ...@@ -706,7 +706,7 @@ packages:
description: description:
name: shared_preferences_windows name: shared_preferences_windows
sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59" sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.2" version: "2.3.2"
sky_engine: sky_engine:
...@@ -719,7 +719,7 @@ packages: ...@@ -719,7 +719,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"
stack_trace: stack_trace:
...@@ -727,7 +727,7 @@ packages: ...@@ -727,7 +727,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:
...@@ -735,7 +735,7 @@ packages: ...@@ -735,7 +735,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"
string_scanner: string_scanner:
...@@ -743,7 +743,7 @@ packages: ...@@ -743,7 +743,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:
...@@ -751,7 +751,7 @@ packages: ...@@ -751,7 +751,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:
...@@ -759,7 +759,7 @@ packages: ...@@ -759,7 +759,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:
...@@ -767,7 +767,7 @@ packages: ...@@ -767,7 +767,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"
typed_data: typed_data:
...@@ -775,7 +775,7 @@ packages: ...@@ -775,7 +775,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:
...@@ -783,7 +783,7 @@ packages: ...@@ -783,7 +783,7 @@ packages:
description: description:
name: uuid name: uuid
sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313" sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313"
url: "https://pub.flutter-io.cn" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.7" version: "3.0.7"
vector_math: vector_math:
...@@ -791,7 +791,7 @@ packages: ...@@ -791,7 +791,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"
win32: win32:
...@@ -799,7 +799,7 @@ packages: ...@@ -799,7 +799,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:
...@@ -807,7 +807,7 @@ packages: ...@@ -807,7 +807,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"
sdks: sdks:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论