Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
book-app
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
book-app
Commits
84cd181c
提交
84cd181c
authored
3月 08, 2024
作者:
岳维路
浏览文件
操作
浏览文件
下载
差异文件
合并分支 'test' 到 'sim'
Test 查看合并请求 kiwitap/zijing-app!6
上级
a4f8a7f0
869f1134
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
195 行增加
和
35 行删除
+195
-35
account.dart
lib/apis/account.dart
+18
-1
index.dart
lib/apis/index.dart
+5
-1
library.dart
lib/models/library.dart
+8
-1
view.dart
lib/pages/change_pwd/view.dart
+3
-1
discuss_controller.dart
lib/pages/read_web/discuss_controller.dart
+0
-3
view.dart
lib/pages/user_msg/view.dart
+22
-14
awaiting.dart
lib/pages/user_order/widgets/awaiting.dart
+4
-2
coin.dart
lib/pages/user_order/widgets/coin.dart
+68
-5
view.dart
lib/pages/user_security/view.dart
+5
-1
view.dart
lib/pages/user_set/view.dart
+22
-5
routes.dart
lib/routes/routes.dart
+4
-1
pubspec.lock
pubspec.lock
+32
-0
pubspec.yaml
pubspec.yaml
+4
-0
没有找到文件。
lib/apis/account.dart
浏览文件 @
84cd181c
...
@@ -9,6 +9,7 @@ abstract class AccountAPI {
...
@@ -9,6 +9,7 @@ abstract class AccountAPI {
required
String
type
,
required
String
type
,
String
?
password
,
String
?
password
,
String
?
code
,
String
?
code
,
String
?
uuid
,
})
async
{
})
async
{
// assert((password != null && code == null) ||
// assert((password != null && code == null) ||
// (password == null && code != null),
// (password == null && code != null),
...
@@ -26,6 +27,7 @@ abstract class AccountAPI {
...
@@ -26,6 +27,7 @@ abstract class AccountAPI {
// 验证码登录
// 验证码登录
if
(
type
==
'2'
){
if
(
type
==
'2'
){
params
[
'code'
]
=
code
;
params
[
'code'
]
=
code
;
params
[
'uuid'
]
=
uuid
;
}
}
final
result
=
await
HttpService
.
to
.
post
(
final
result
=
await
HttpService
.
to
.
post
(
'/v1/members/login/login'
,
'/v1/members/login/login'
,
...
@@ -70,11 +72,26 @@ abstract class AccountAPI {
...
@@ -70,11 +72,26 @@ abstract class AccountAPI {
required
String
phone
,
required
String
phone
,
required
String
type
,
required
String
type
,
})
async
{
})
async
{
String
uuid
=
''
;
final
DeviceInfoPlugin
device
=
DeviceInfoPlugin
();
if
(
Platform
.
isIOS
){
final
IosDeviceInfo
iosInfo
=
await
device
.
iosInfo
;
uuid
=
iosInfo
.
identifierForVendor
??
''
;
}
else
if
(
Platform
.
isAndroid
){
const
androidIdPlugin
=
AndroidId
();
final
AndroidDeviceInfo
androidInfo
=
await
device
.
androidInfo
;
uuid
=
await
androidIdPlugin
.
getId
()??
''
;
uuid
=
'
$uuid${androidInfo.fingerprint}
'
;
}
final
result
=
await
HttpService
.
to
.
post
(
final
result
=
await
HttpService
.
to
.
post
(
'/v1/members/login/sendCode'
,
'/v1/members/login/sendCode'
,
params:
{
params:
{
'phone'
:
phone
,
'phone'
:
phone
,
'types'
:
type
'types'
:
type
,
'uuid'
:
uuid
},
},
excludeToken:
true
,
excludeToken:
true
,
showLoading:
true
,
showLoading:
true
,
...
...
lib/apis/index.dart
浏览文件 @
84cd181c
library
apis
;
library
apis
;
import
'dart:io'
;
import
'package:android_id/android_id.dart'
;
import
'package:device_info_plus/device_info_plus.dart'
;
import
'../models/index.dart'
;
import
'../models/index.dart'
;
import
'../services/index.dart'
;
import
'../services/index.dart'
;
part
'account.dart'
;
part
'account.dart'
;
part
'mine.dart'
;
part
'mine.dart'
;
part
'course.dart'
;
part
'course.dart'
;
...
...
lib/models/library.dart
浏览文件 @
84cd181c
...
@@ -223,6 +223,8 @@ class BookDetailModel {
...
@@ -223,6 +223,8 @@ class BookDetailModel {
this
.
chapterName
,
this
.
chapterName
,
this
.
readChapterId
,
this
.
readChapterId
,
this
.
introduction
,
this
.
introduction
,
/// 笔记
this
.
commentNum
,
});
});
BookDetailModel
.
fromJson
(
dynamic
json
)
{
BookDetailModel
.
fromJson
(
dynamic
json
)
{
...
@@ -251,6 +253,7 @@ class BookDetailModel {
...
@@ -251,6 +253,7 @@ class BookDetailModel {
chapterName
=
json
[
'chapter_name'
];
chapterName
=
json
[
'chapter_name'
];
readChapterId
=
json
[
'read_chapter_id'
];
readChapterId
=
json
[
'read_chapter_id'
];
introduction
=
json
[
'introduction'
];
introduction
=
json
[
'introduction'
];
commentNum
=
json
[
'comment_num'
];
}
}
num
?
bookId
;
num
?
bookId
;
String
?
bookName
;
String
?
bookName
;
...
@@ -277,6 +280,7 @@ class BookDetailModel {
...
@@ -277,6 +280,7 @@ class BookDetailModel {
String
?
chapterName
;
String
?
chapterName
;
num
?
readChapterId
;
num
?
readChapterId
;
String
?
introduction
;
String
?
introduction
;
num
?
commentNum
;
BookDetailModel
copyWith
({
num
?
bookId
,
BookDetailModel
copyWith
({
num
?
bookId
,
String
?
bookName
,
String
?
bookName
,
String
?
img
,
String
?
img
,
...
@@ -302,6 +306,7 @@ class BookDetailModel {
...
@@ -302,6 +306,7 @@ class BookDetailModel {
String
?
chapterName
,
String
?
chapterName
,
num
?
readChapterId
,
num
?
readChapterId
,
String
?
introduction
,
String
?
introduction
,
num
?
commentNum
,
})
=>
BookDetailModel
(
bookId:
bookId
??
this
.
bookId
,
})
=>
BookDetailModel
(
bookId:
bookId
??
this
.
bookId
,
bookName:
bookName
??
this
.
bookName
,
bookName:
bookName
??
this
.
bookName
,
img:
img
??
this
.
img
,
img:
img
??
this
.
img
,
...
@@ -326,7 +331,8 @@ class BookDetailModel {
...
@@ -326,7 +331,8 @@ class BookDetailModel {
chapterId:
chapterId
??
this
.
chapterId
,
chapterId:
chapterId
??
this
.
chapterId
,
chapterName:
chapterName
??
this
.
chapterName
,
chapterName:
chapterName
??
this
.
chapterName
,
readChapterId:
readChapterId
??
this
.
readChapterId
,
readChapterId:
readChapterId
??
this
.
readChapterId
,
introduction:
introduction
??
this
.
introduction
introduction:
introduction
??
this
.
introduction
,
commentNum:
commentNum
??
this
.
commentNum
,
);
);
Map
<
String
,
dynamic
>
toJson
()
{
Map
<
String
,
dynamic
>
toJson
()
{
final
map
=
<
String
,
dynamic
>{};
final
map
=
<
String
,
dynamic
>{};
...
@@ -355,6 +361,7 @@ class BookDetailModel {
...
@@ -355,6 +361,7 @@ class BookDetailModel {
map
[
'chapter_name'
]
=
chapterName
;
map
[
'chapter_name'
]
=
chapterName
;
map
[
'read_chapter_id'
]
=
readChapterId
;
map
[
'read_chapter_id'
]
=
readChapterId
;
map
[
'introduction'
]
=
introduction
;
map
[
'introduction'
]
=
introduction
;
map
[
'comment_num'
]
=
commentNum
;
return
map
;
return
map
;
}
}
...
...
lib/pages/change_pwd/view.dart
浏览文件 @
84cd181c
...
@@ -2,9 +2,11 @@ part of change_pwd;
...
@@ -2,9 +2,11 @@ part of change_pwd;
class
ChangePwdPage
extends
StatefulWidget
{
class
ChangePwdPage
extends
StatefulWidget
{
final
UserInfoModel
userInfo
;
final
UserInfoModel
userInfo
;
final
String
type
;
const
ChangePwdPage
({
const
ChangePwdPage
({
Key
?
key
,
Key
?
key
,
required
this
.
userInfo
,
required
this
.
userInfo
,
required
this
.
type
})
:
super
(
key:
key
);
})
:
super
(
key:
key
);
// const ResetPwdPage({Key? key}) : super(key: key);
// const ResetPwdPage({Key? key}) : super(key: key);
...
@@ -123,7 +125,7 @@ class _ChangePwdPageState extends State<ChangePwdPage> {
...
@@ -123,7 +125,7 @@ class _ChangePwdPageState extends State<ChangePwdPage> {
Tools
.
unfocus
();
Tools
.
unfocus
();
final
result
=
await
controller
.
changePwd
();
final
result
=
await
controller
.
changePwd
();
if
(
result
){
if
(
result
){
if
(
widget
.
userInfo
.
password
.
toString
().
isNotEmpty
){
if
(
widget
.
type
==
'1'
){
await
UserStore
.
to
.
logout
();
await
UserStore
.
to
.
logout
();
Toast
.
show
(
'修改成功,请重新登录'
);
Toast
.
show
(
'修改成功,请重新登录'
);
if
(
context
.
mounted
)
{
if
(
context
.
mounted
)
{
...
...
lib/pages/read_web/discuss_controller.dart
浏览文件 @
84cd181c
...
@@ -51,9 +51,6 @@ class DiscussController extends GetxController {
...
@@ -51,9 +51,6 @@ class DiscussController extends GetxController {
void
setShow
()
{
void
setShow
()
{
showReply
=
!
showReply
;
showReply
=
!
showReply
;
if
(
showReply
==
false
)
{
replyInput
.
text
=
''
;
}
update
();
update
();
}
}
...
...
lib/pages/user_msg/view.dart
浏览文件 @
84cd181c
...
@@ -107,22 +107,30 @@ class MsgPage extends StatelessWidget {
...
@@ -107,22 +107,30 @@ class MsgPage extends StatelessWidget {
///TODO:
///TODO:
}
else
if
(
model
.
type
==
2
){
}
else
if
(
model
.
type
==
2
){
// 2 购买完成三天未评价(跳转订单列表--已完成)
// 2 购买完成三天未评价(跳转订单列表--已完成)
//
final orderInfo = await controller.getOrderInfo(model.urlId?.orderNum??'');
final
orderInfo
=
await
controller
.
getOrderInfo
(
model
.
urlId
?.
orderNum
??
''
);
//
//
final result = await context.pushNamed(Routes.orderEvaluate,extra:orderInfo,
final
result
=
await
context
.
pushNamed
(
Routes
.
orderEvaluate
,
extra:
orderInfo
,
//
queryParameters: {'orderNum':orderInfo.ordersnum});
queryParameters:
{
'orderNum'
:
orderInfo
.
ordersnum
});
//
final
result
=
await
context
.
pushNamed
(
Routes
.
order
);
//
final result = await context.pushNamed(Routes.order);
if
(
result
==
true
){
//
if (result == true){
// controller.onRefresh();
//
// controller.onRefresh();
}
//
}
///TODO:
///TODO:
}
else
if
(
model
.
type
==
3
){
}
else
if
(
model
.
type
==
3
){
// 3 讨论有人回复的时候 (跳转对应书籍的讨论页面)
// 3 讨论有人回复的时候 (跳转我的讨论详情也)
final
result
=
await
context
.
pushNamed
(
Routes
.
bookDetail
,
queryParameters:
{
'book_id'
:
model
.
urlId
?.
bookId
.
toString
()});
if
(
result
==
true
){
String
bookId
=
model
.
urlId
?.
bookId
.
toString
()??
''
;
// controller.onRefresh();
BookDetailModel
bookDetails
=
await
LibraryAPI
.
details
(
bookId:
bookId
);
}
CourseModel
courseModel
=
CourseModel
(
img:
bookDetails
.
img
,
bookId:
bookDetails
.
bookId
,
bookName:
bookDetails
.
bookName
,
commentNum:
bookDetails
.
commentNum
);
context
.
pushNamed
(
Routes
.
discussDes
,
extra:
courseModel
);
}
}
else
if
(
model
.
type
==
4
){
else
if
(
model
.
type
==
4
){
// 4 订单完成后有新的积分增加(跳转用户积分记录页)
// 4 订单完成后有新的积分增加(跳转用户积分记录页)
...
...
lib/pages/user_order/widgets/awaiting.dart
浏览文件 @
84cd181c
...
@@ -128,7 +128,8 @@ class BuiltAwaiting extends StatelessWidget {
...
@@ -128,7 +128,8 @@ class BuiltAwaiting extends StatelessWidget {
child:
Align
(
child:
Align
(
alignment:
Alignment
.
center
,
alignment:
Alignment
.
center
,
child:
Text
(
child:
Text
(
'
${31 - (DateTime.now().difference(DateTime.parse(model.createTime.toString()))).inMinutes}
分钟'
,
'
${(30 - (DateTime.now().difference(DateTime.parse(model.createTime.toString()))).inMinutes)==0?
1:30 - (DateTime.now().difference(DateTime.parse(model.createTime.toString()))).inMinutes}
分钟'
,
style:
TextStyle
(
style:
TextStyle
(
color:
Colours
.
cC31F4C
,
color:
Colours
.
cC31F4C
,
fontSize:
10
.
w
,
fontSize:
10
.
w
,
...
@@ -273,7 +274,8 @@ class BuiltAwaiting extends StatelessWidget {
...
@@ -273,7 +274,8 @@ class BuiltAwaiting extends StatelessWidget {
child:
Align
(
child:
Align
(
alignment:
Alignment
.
center
,
alignment:
Alignment
.
center
,
child:
Text
(
child:
Text
(
'29分钟'
,
'
${(30 - (DateTime.now().difference(DateTime.parse(model.createTime.toString()))).inMinutes)==0?
1:30 - (DateTime.now().difference(DateTime.parse(model.createTime.toString()))).inMinutes}
分钟'
,
style:
TextStyle
(
style:
TextStyle
(
color:
Colours
.
cC31F4C
,
color:
Colours
.
cC31F4C
,
fontSize:
10
.
w
,
fontSize:
10
.
w
,
...
...
lib/pages/user_order/widgets/coin.dart
浏览文件 @
84cd181c
...
@@ -69,6 +69,7 @@ class BuiltCoin extends StatelessWidget {
...
@@ -69,6 +69,7 @@ class BuiltCoin extends StatelessWidget {
),
),
Expanded
(
Expanded
(
child:
Row
(
child:
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
[
children:
[
Column
(
Column
(
...
@@ -82,7 +83,7 @@ class BuiltCoin extends StatelessWidget {
...
@@ -82,7 +83,7 @@ class BuiltCoin extends StatelessWidget {
style:
TextStyle
(
fontSize:
12
.
w
,
color:
Colours
.
c9
),
style:
TextStyle
(
fontSize:
12
.
w
,
color:
Colours
.
c9
),
),
),
SizedBox
(
SizedBox
(
height:
4
.
w
,
height:
10
.
w
,
),
),
Text
(
Text
(
'充值紫荆币'
,
'充值紫荆币'
,
...
@@ -94,21 +95,83 @@ class BuiltCoin extends StatelessWidget {
...
@@ -94,21 +95,83 @@ class BuiltCoin extends StatelessWidget {
],
],
),
),
Container
(
Container
(
margin:
EdgeInsets
.
only
(
right:
1
5
.
w
),
margin:
EdgeInsets
.
only
(
right:
1
.
w
),
child:
Column
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
end
,
crossAxisAlignment:
CrossAxisAlignment
.
end
,
children:
[
children:
[
SizedBox
(
SizedBox
(
height:
6.5
.
w
,
height:
4.5
.
w
,
),
model
.
status
==
1
?
Align
(
alignment:
Alignment
.
topRight
,
child:
Container
(
margin:
EdgeInsets
.
only
(
right:
4
.
w
),
width:
110
,
height:
20
,
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
// 左半部分的文字
Container
(
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
only
(
topLeft:
Radius
.
circular
(
180
.
w
),
bottomLeft:
Radius
.
circular
(
180
.
w
)),
color:
Colours
.
cC31F4C
,
),
height:
double
.
infinity
,
width:
55
,
child:
Align
(
alignment:
Alignment
.
center
,
child:
Text
(
'等待付款'
,
style:
TextStyle
(
color:
Colors
.
white
,
fontSize:
10
.
w
,
fontWeight:
Fonts
.
medium
,
),
),
),
),
// 右半部分的文字
Container
(
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
only
(
topRight:
Radius
.
circular
(
180
.
w
),
bottomRight:
Radius
.
circular
(
180
.
w
)),
color:
Colours
.
cC31F4C2
,
),
height:
double
.
infinity
,
width:
55
,
child:
Align
(
alignment:
Alignment
.
center
,
child:
Text
(
'
${(30 - (DateTime.now().difference(DateTime.parse(model.createTime.toString()))).inMinutes)==0?
1:30 - (DateTime.now().difference(DateTime.parse(model.createTime.toString()))).inMinutes}
分钟'
,
style:
TextStyle
(
color:
Colours
.
cC31F4C
,
fontSize:
10
.
w
,
fontWeight:
Fonts
.
medium
),
),
),
),
Text
(
status
,
style:
TextStyle
(
fontSize:
13
.
w
,
color:
Colours
.
c9
),),
),
],
),
),
):
Container
(
margin:
EdgeInsets
.
only
(
right:
10
.
w
,
top:
10
.
w
),
child:
Text
(
status
,
style:
TextStyle
(
fontSize:
13
.
w
,
color:
Colours
.
c9
),)),
SizedBox
(
height:
6.5
.
w
,),
SizedBox
(
height:
6.5
.
w
,),
Text
(
Container
(
margin:
EdgeInsets
.
only
(
right:
10
.
w
),
child:
Text
(
'¥
${model.finalTotalPrice}
'
,
'¥
${model.finalTotalPrice}
'
,
style:
TextStyle
(
style:
TextStyle
(
fontSize:
14
.
w
,
fontSize:
14
.
w
,
color:
Colours
.
cAB1941
,
color:
Colours
.
cAB1941
,
fontWeight:
Fonts
.
medium
),
fontWeight:
Fonts
.
medium
),
),
)
)
],
],
),
),
...
...
lib/pages/user_security/view.dart
浏览文件 @
84cd181c
...
@@ -53,7 +53,11 @@ class _UserSecurityPageState extends State<UserSecurityPage> {
...
@@ -53,7 +53,11 @@ class _UserSecurityPageState extends State<UserSecurityPage> {
),
),
GestureDetector
(
GestureDetector
(
onTap:
()
{
onTap:
()
{
context
.
pushNamed
(
Routes
.
changePwd
,
extra:
widget
.
model
);
String
type
=
'1'
;
if
(
widget
.
model
.
password
.
toString
().
isEmpty
){
type
=
'0'
;
}
context
.
pushNamed
(
Routes
.
changePwd
,
extra:
widget
.
model
,
queryParameters:
{
'type'
:
type
});
},
},
child:
_buildItem
(
child:
_buildItem
(
title:
'修改密码'
,
title:
'修改密码'
,
...
...
lib/pages/user_set/view.dart
浏览文件 @
84cd181c
...
@@ -9,8 +9,8 @@ class UserSetPage extends StatefulWidget {
...
@@ -9,8 +9,8 @@ class UserSetPage extends StatefulWidget {
class
_UserSetPageState
extends
State
<
UserSetPage
>
{
class
_UserSetPageState
extends
State
<
UserSetPage
>
{
late
UModel
_getModel
;
late
UModel
_getModel
;
String
url
=
//
String url =
"https://imtt.dd.qq.com/16891/apk/FA48766BA12A41A1D619CB4B152889C6.apk?fsname=com.estrongs.android.pop_4.2.3.3_10089.apk&csr=1bbd"
;
//
"https://imtt.dd.qq.com/16891/apk/FA48766BA12A41A1D619CB4B152889C6.apk?fsname=com.estrongs.android.pop_4.2.3.3_10089.apk&csr=1bbd";
@override
@override
Widget
build
(
BuildContext
context
)
{
Widget
build
(
BuildContext
context
)
{
...
@@ -236,13 +236,30 @@ class _UserSetPageState extends State<UserSetPage> {
...
@@ -236,13 +236,30 @@ class _UserSetPageState extends State<UserSetPage> {
UModel
model
=
await
MineAPI
.
update
();
UModel
model
=
await
MineAPI
.
update
();
_getModel
=
model
;
_getModel
=
model
;
final
packageInfo
=
await
PackageInfo
.
fromPlatform
();
final
packageInfo
=
await
PackageInfo
.
fromPlatform
();
int
getVersion
=
int
.
parse
(
model
.
version
!.
replaceAll
(
'.'
,
''
));
int
update
=
verifyVersion
(
model
.
version
!,
packageInfo
.
version
);
int
localVersion
=
int
.
parse
(
packageInfo
.
version
.
replaceAll
(
'.'
,
''
));
if
(
update
==
1
)
{
if
(
localVersion
<
getVersion
)
{
_showUpdateDialog
(
false
);
_showUpdateDialog
(
false
);
}
}
}
}
int
verifyVersion
(
String
newVersion
,
String
oldVersion
)
{
List
<
String
>
newVersionArr
=
newVersion
.
split
(
'.'
);
List
<
String
>
oldVersionArr
=
oldVersion
.
split
(
'.'
);
for
(
int
i
=
0
;
i
<
3
;
i
++)
{
int
newVersionNumber
=
int
.
parse
(
newVersionArr
[
i
]);
int
oldVersionNumber
=
int
.
parse
(
oldVersionArr
[
i
]);
if
(
newVersionNumber
<
oldVersionNumber
)
{
return
-
1
;
// 新版本小于旧版本
}
else
if
(
newVersionNumber
>
oldVersionNumber
)
{
return
1
;
// 新版本大于旧版本
}
}
return
0
;
// 两个版本号相等
}
///Flutter侧处理升级对话框
///Flutter侧处理升级对话框
///[forcedUpgrade] 是否强制升级
///[forcedUpgrade] 是否强制升级
/*_showUpdateDialog(bool forcedUpgrade) {
/*_showUpdateDialog(bool forcedUpgrade) {
...
...
lib/routes/routes.dart
浏览文件 @
84cd181c
...
@@ -478,7 +478,10 @@ abstract class Routes {
...
@@ -478,7 +478,10 @@ abstract class Routes {
pageBuilder:
(
context
,
state
)
=>
CupertinoPage
(
pageBuilder:
(
context
,
state
)
=>
CupertinoPage
(
name:
state
.
uri
.
toString
(),
name:
state
.
uri
.
toString
(),
key:
state
.
pageKey
,
key:
state
.
pageKey
,
child:
ChangePwdPage
(
userInfo:
state
.
extra
as
UserInfoModel
)
child:
ChangePwdPage
(
userInfo:
state
.
extra
as
UserInfoModel
,
type:
state
.
uri
.
queryParameters
[
'type'
].
toString
(),
)
)
)
),
),
GoRoute
(
GoRoute
(
...
...
pubspec.lock
浏览文件 @
84cd181c
# Generated by pub
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
packages:
android_id:
dependency: "direct main"
description:
name: android_id
sha256: "5c2d3a259afcd173dbe367ba452817bd530c4df75d251d652c69b8d3c8ac0d36"
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.3.6"
archive:
archive:
dependency: "direct main"
dependency: "direct main"
description:
description:
...
@@ -161,6 +169,22 @@ packages:
...
@@ -161,6 +169,22 @@ packages:
url: "https://pub.flutter-io.cn"
url: "https://pub.flutter-io.cn"
source: hosted
source: hosted
version: "2.3.3"
version: "2.3.3"
device_info_plus:
dependency: "direct main"
description:
name: device_info_plus
sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110"
url: "https://pub.flutter-io.cn"
source: hosted
version: "9.1.2"
device_info_plus_platform_interface:
dependency: transitive
description:
name: device_info_plus_platform_interface
sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64
url: "https://pub.flutter-io.cn"
source: hosted
version: "7.0.0"
dio:
dio:
dependency: "direct main"
dependency: "direct main"
description:
description:
...
@@ -1018,6 +1042,14 @@ packages:
...
@@ -1018,6 +1042,14 @@ packages:
url: "https://pub.flutter-io.cn"
url: "https://pub.flutter-io.cn"
source: hosted
source: hosted
version: "5.0.9"
version: "5.0.9"
win32_registry:
dependency: transitive
description:
name: win32_registry
sha256: e4506d60b7244251bc59df15656a3093501c37fb5af02105a944d73eb95be4c9
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.1"
xdg_directories:
xdg_directories:
dependency: transitive
dependency: transitive
description:
description:
...
...
pubspec.yaml
浏览文件 @
84cd181c
...
@@ -115,6 +115,10 @@ dependencies:
...
@@ -115,6 +115,10 @@ dependencies:
connectivity_plus
:
^5.0.2
connectivity_plus
:
^5.0.2
# 数据库
# 数据库
sqflite
:
^2.3.2
sqflite
:
^2.3.2
# 设备信息
device_info_plus
:
^9.1.2
# 安卓
android_id
:
^0.3.6
dev_dependencies
:
dev_dependencies
:
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论