Toggle navigation
Toggle navigation
This project
Loading...
Sign in
OnePoem
/
OnePoem-App
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
reason
2022-05-25 22:44:40 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
bfacb12f644529c9e937fff203889c3126fc998f
bfacb12f
1 parent
03047727
显示我的作品
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
403 additions
and
312 deletions
lib/account/models/my_videos_entity.dart
lib/account/page/account_page.dart
lib/generated/json/base/json_convert_content.dart
lib/generated/json/home_entity.g.dart
lib/generated/json/my_videos_entity.g.dart
lib/home/models/home_entity.dart
lib/net/http_api.dart
lib/poem/page/poem_page.dart
lib/account/models/my_videos_entity.dart
0 → 100644
View file @
bfacb12
import
'dart:convert'
;
import
'package:Parlando/generated/json/base/json_field.dart'
;
import
'package:Parlando/generated/json/my_videos_entity.g.dart'
;
@JsonSerializable
()
class
MyVideosEntity
{
String
?
status
;
int
?
code
;
String
?
message
;
List
<
MyVideosData
>?
data
;
MyVideosError
?
error
;
MyVideosEntity
();
factory
MyVideosEntity
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
=>
$MyVideosEntityFromJson
(
json
);
Map
<
String
,
dynamic
>
toJson
()
=>
$MyVideosEntityToJson
(
this
);
@override
String
toString
()
{
return
jsonEncode
(
this
);
}
}
@JsonSerializable
()
class
MyVideosData
{
int
?
id
;
@JSONField
(
name:
"user_id"
)
int
?
userId
;
String
?
title
;
String
?
content
;
String
?
url
;
int
?
type
;
String
?
duration
;
String
?
size
;
@JSONField
(
name:
"poem_id"
)
int
?
poemId
;
@JSONField
(
name:
"temp_id"
)
int
?
tempId
;
String
?
thumbnail
;
dynamic
bgm
;
String
?
praise
;
String
?
view
;
String
?
collect
;
String
?
share
;
String
?
comment
;
String
?
state
;
@JSONField
(
name:
"is_publish"
)
String
?
isPublish
;
@JSONField
(
name:
"is_check"
)
String
?
isCheck
;
@JSONField
(
name:
"created_at"
)
String
?
createdAt
;
@JSONField
(
name:
"updated_at"
)
String
?
updatedAt
;
MyVideosData
();
factory
MyVideosData
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
=>
$MyVideosDataFromJson
(
json
);
Map
<
String
,
dynamic
>
toJson
()
=>
$MyVideosDataToJson
(
this
);
@override
String
toString
()
{
return
jsonEncode
(
this
);
}
}
@JsonSerializable
()
class
MyVideosError
{
MyVideosError
();
factory
MyVideosError
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
=>
$MyVideosErrorFromJson
(
json
);
Map
<
String
,
dynamic
>
toJson
()
=>
$MyVideosErrorToJson
(
this
);
@override
String
toString
()
{
return
jsonEncode
(
this
);
}
}
lib/account/page/account_page.dart
View file @
bfacb12
import
'package:Parlando/account/models/my_videos_entity.dart'
;
import
'package:Parlando/account/models/user_entity.dart'
;
import
'package:Parlando/account/view_models/account_view_model.dart'
;
import
'package:Parlando/apis/api_response.dart'
;
import
'package:Parlando/login/login_router.dart'
;
import
'package:Parlando/net/dio_utils.dart'
;
import
'package:Parlando/net/http_api.dart'
;
import
'package:Parlando/res/constant.dart'
;
import
'package:Parlando/routers/routers.dart'
;
import
'package:cached_network_image/cached_network_image.dart'
;
...
...
@@ -12,6 +15,7 @@ import 'package:Parlando/poem/poem_router.dart';
import
'package:Parlando/routers/fluro_navigator.dart'
;
import
'package:Parlando/setting/setting_router.dart'
;
import
'package:Parlando/tiktok/style/style.dart'
;
import
'package:getwidget/getwidget.dart'
;
import
'package:provider/provider.dart'
;
import
'package:tapped/tapped.dart'
;
import
'package:flutter_gen/gen_l10n/Parlando_localizations.dart'
;
...
...
@@ -35,10 +39,13 @@ class AccountPage extends StatefulWidget {
final
Function
?
onSwitch
;
@override
_AccountPageState
createState
()
=>
_
AccountPageState
();
AccountPageState
createState
()
=>
AccountPageState
();
}
class
_AccountPageState
extends
State
<
AccountPage
>
{
class
AccountPageState
extends
State
<
AccountPage
>
{
bool
isLoadMyVideos
=
false
;
List
<
Widget
>
videos
=
<
Widget
>[];
@override
void
initState
()
{
super
.
initState
();
...
...
@@ -48,6 +55,24 @@ class _AccountPageState extends State<AccountPage> {
.
setSelectedAccount
(
null
);
Provider
.
of
<
AccountViewProvider
>(
context
,
listen:
false
)
.
fetchAccountData
(
'0'
);
isLoadMyVideos
=
true
;
// 加载作品
DioUtils
.
instance
.
asyncRequestNetwork
<
MyVideosEntity
>(
Method
.
get
,
HttpApi
.
myVideos
,
params:
[],
onSuccess:
(
data
)
{
for
(
MyVideosData
each
in
data
!.
data
!)
{
videos
.
add
(
_SmallVideo
());
}
isLoadMyVideos
=
false
;
setState
(()
{});
},
onError:
(
code
,
msg
)
{
isLoadMyVideos
=
false
;
},
);
}
else
{
NavigatorUtils
.
push
(
context
,
LoginRouter
.
loginPage
,
replace:
true
);
}
...
...
@@ -61,7 +86,7 @@ class _AccountPageState extends State<AccountPage> {
case
Status
.
LOADING
:
return
const
Center
(
child:
CircularProgressIndicator
());
case
Status
.
COMPLETED
:
UserData
_
user
=
apiResponse
.
data
as
UserData
;
UserData
user
=
apiResponse
.
data
as
UserData
;
Widget
likeButton
=
Container
(
color:
ColorPlate
.
white
,
child:
Row
(
...
...
@@ -105,16 +130,13 @@ class _AccountPageState extends State<AccountPage> {
placeholder:
(
context
,
url
)
=>
const
CircularProgressIndicator
(),
errorWidget:
(
context
,
url
,
error
)
=>
const
Icon
(
Icons
.
error
),
imageUrl:
_
user
.
avatar
!,
imageUrl:
user
.
avatar
!,
),
),
),
),
);
Widget
body
=
ListView
(
physics:
const
BouncingScrollPhysics
(
parent:
AlwaysScrollableScrollPhysics
(),
),
children:
<
Widget
>[
Stack
(
alignment:
Alignment
.
bottomLeft
,
...
...
@@ -140,6 +162,30 @@ class _AccountPageState extends State<AccountPage> {
},
),
),
Positioned
(
right:
5
.
px
,
top:
10
.
px
,
child:
Container
(
alignment:
Alignment
.
centerRight
,
height:
64
.
px
,
width:
64
.
px
,
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
end
,
children:
[
IconButton
(
icon:
const
Icon
(
Icons
.
settings_outlined
,
color:
Colors
.
black54
,
),
onPressed:
()
{
NavigatorUtils
.
push
(
context
,
SettingRouter
.
settingPage
);
},
),
],
),
),
),
],
),
Container
(
...
...
@@ -153,7 +199,7 @@ class _AccountPageState extends State<AccountPage> {
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
<
Widget
>[
Text
(
_
user
.
email
??
'@唐宋八大家TOP8'
,
user
.
email
??
'@唐宋八大家TOP8'
,
style:
StandardTextStyle
.
big
,
),
Container
(
height:
8
.
px
),
...
...
@@ -203,7 +249,20 @@ class _AccountPageState extends State<AccountPage> {
),
),
),
const
_UserVideoTable
(),
SizedBox
(
width:
double
.
infinity
,
height:
500
,
child:
isLoadMyVideos
?
const
GFLoader
()
:
GridView
(
gridDelegate:
const
SliverGridDelegateWithFixedCrossAxisCount
(
crossAxisCount:
3
,
//横轴三个子widget
childAspectRatio:
1.0
//宽高比为1时,子widget
),
children:
videos
,
),
),
],
),
),
...
...
@@ -211,44 +270,7 @@ class _AccountPageState extends State<AccountPage> {
);
return
Scaffold
(
body:
Container
(
decoration:
const
BoxDecoration
(
image:
DecorationImage
(
image:
AssetImage
(
"assets/images/poem/poem_background.png"
),
fit:
BoxFit
.
fill
,
),
),
child:
Stack
(
alignment:
Alignment
.
topCenter
,
children:
<
Widget
>[
Container
(
margin:
const
EdgeInsets
.
only
(
top:
500
),
height:
double
.
infinity
,
width:
double
.
infinity
,
color:
ColorPlate
.
white
,
),
body
,
Container
(
alignment:
Alignment
.
centerRight
,
height:
64
.
px
,
width:
double
.
infinity
,
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
end
,
children:
[
IconButton
(
icon:
const
Icon
(
Icons
.
settings_outlined
,
color:
Colors
.
black54
,
),
onPressed:
()
{
NavigatorUtils
.
push
(
context
,
SettingRouter
.
settingPage
);
},
),
],
),
),
],
),
child:
body
,
),
bottomNavigationBar:
Consumer
(
builder:
(
_
,
provider
,
__
)
{
...
...
@@ -298,7 +320,7 @@ class _AccountPageState extends State<AccountPage> {
);
case
Status
.
ERROR
:
return
Center
(
child:
Text
(
'暂时无法获取数据,请稍候再试!
'
+
apiResponse
.
message
.
toString
()
),
child:
Text
(
'暂时无法获取数据,请稍候再试!
${apiResponse.message}
'
),
);
case
Status
.
INITIAL
:
default
:
...
...
@@ -326,14 +348,14 @@ class _MembershipButton extends StatelessWidget {
),
margin:
EdgeInsets
.
all
(
8
.
px
),
alignment:
Alignment
.
center
,
child:
Text
(
title
,
style:
const
TextStyle
(
color:
ColorPlate
.
orange
),
),
decoration:
BoxDecoration
(
border:
Border
.
all
(
color:
ColorPlate
.
orange
),
borderRadius:
BorderRadius
.
circular
(
4
.
px
),
),
child:
Text
(
title
,
style:
const
TextStyle
(
color:
ColorPlate
.
orange
),
),
);
}
}
...
...
@@ -466,12 +488,11 @@ class _PointSelectTextButton extends StatelessWidget {
final
String
title
;
final
Function
?
onTap
;
const
_PointSelectTextButton
(
this
.
isSelect
,
this
.
title
,
{
Key
?
key
,
this
.
onTap
,
})
:
super
(
key:
key
);
const
_PointSelectTextButton
(
this
.
isSelect
,
this
.
title
,
{
Key
?
key
,
this
.
onTap
,
})
:
super
(
key:
key
);
@override
Widget
build
(
BuildContext
context
)
{
...
...
@@ -481,13 +502,13 @@ class _PointSelectTextButton extends StatelessWidget {
children:
<
Widget
>[
isSelect
?
Container
(
width:
6
.
px
,
height:
6
.
px
,
decoration:
BoxDecoration
(
color:
ColorPlate
.
orange
,
borderRadius:
BorderRadius
.
circular
(
3
),
),
)
width:
6
.
px
,
height:
6
.
px
,
decoration:
BoxDecoration
(
color:
ColorPlate
.
orange
,
borderRadius:
BorderRadius
.
circular
(
3
),
),
)
:
Container
(),
Container
(
padding:
const
EdgeInsets
.
only
(
left:
2
),
...
...
@@ -506,12 +527,11 @@ class TextGroup extends StatelessWidget {
final
String
title
,
tag
;
final
Color
?
color
;
const
TextGroup
(
this
.
title
,
this
.
tag
,
{
Key
?
key
,
this
.
color
,
})
:
super
(
key:
key
);
const
TextGroup
(
this
.
title
,
this
.
tag
,
{
Key
?
key
,
this
.
color
,
})
:
super
(
key:
key
);
@override
Widget
build
(
BuildContext
context
)
{
...
...
lib/generated/json/base/json_convert_content.dart
View file @
bfacb12
...
...
@@ -4,6 +4,7 @@
// This file is automatically generated. DO NOT EDIT, all your changes would be lost.
import
'package:flutter/material.dart'
;
import
'package:Parlando/account/models/my_videos_entity.dart'
;
import
'package:Parlando/account/models/upload_avatar_entity.dart'
;
import
'package:Parlando/account/models/user_entity.dart'
;
import
'package:Parlando/category/models/category_entity.dart'
;
...
...
@@ -21,6 +22,9 @@ typedef JsonConvertFunction<T> = T Function(Map<String, dynamic> json);
class
JsonConvert
{
static
final
Map
<
String
,
JsonConvertFunction
>
_convertFuncMap
=
{
(
MyVideosEntity
).
toString
():
MyVideosEntity
.
fromJson
,
(
MyVideosData
).
toString
():
MyVideosData
.
fromJson
,
(
MyVideosError
).
toString
():
MyVideosError
.
fromJson
,
(
UploadAvatarEntity
).
toString
():
UploadAvatarEntity
.
fromJson
,
(
UploadAvatarData
).
toString
():
UploadAvatarData
.
fromJson
,
(
UploadAvatarError
).
toString
():
UploadAvatarError
.
fromJson
,
...
...
@@ -38,9 +42,6 @@ class JsonConvert {
(
CategoryItemEntity
).
toString
():
CategoryItemEntity
.
fromJson
,
(
HomeEntity
).
toString
():
HomeEntity
.
fromJson
,
(
HomeData
).
toString
():
HomeData
.
fromJson
,
(
HomeDataData
).
toString
():
HomeDataData
.
fromJson
,
(
HomeDataMeta
).
toString
():
HomeDataMeta
.
fromJson
,
(
HomeDataMetaPagination
).
toString
():
HomeDataMetaPagination
.
fromJson
,
(
HomeError
).
toString
():
HomeError
.
fromJson
,
(
SettingEntity
).
toString
():
SettingEntity
.
fromJson
,
(
SettingData
).
toString
():
SettingData
.
fromJson
,
...
...
@@ -134,6 +135,24 @@ class JsonConvert {
//list is returned by type
static
M
?
_getListChildType
<
M
>(
List
<
Map
<
String
,
dynamic
>>
data
)
{
if
(<
MyVideosEntity
>[]
is
M
)
{
return
data
.
map
<
MyVideosEntity
>(
(
Map
<
String
,
dynamic
>
e
)
=>
MyVideosEntity
.
fromJson
(
e
))
.
toList
()
as
M
;
}
if
(<
MyVideosData
>[]
is
M
)
{
return
data
.
map
<
MyVideosData
>(
(
Map
<
String
,
dynamic
>
e
)
=>
MyVideosData
.
fromJson
(
e
))
.
toList
()
as
M
;
}
if
(<
MyVideosError
>[]
is
M
)
{
return
data
.
map
<
MyVideosError
>(
(
Map
<
String
,
dynamic
>
e
)
=>
MyVideosError
.
fromJson
(
e
))
.
toList
()
as
M
;
}
if
(<
UploadAvatarEntity
>[]
is
M
)
{
return
data
.
map
<
UploadAvatarEntity
>(
...
...
@@ -225,24 +244,6 @@ class JsonConvert {
.
map
<
HomeData
>((
Map
<
String
,
dynamic
>
e
)
=>
HomeData
.
fromJson
(
e
))
.
toList
()
as
M
;
}
if
(<
HomeDataData
>[]
is
M
)
{
return
data
.
map
<
HomeDataData
>(
(
Map
<
String
,
dynamic
>
e
)
=>
HomeDataData
.
fromJson
(
e
))
.
toList
()
as
M
;
}
if
(<
HomeDataMeta
>[]
is
M
)
{
return
data
.
map
<
HomeDataMeta
>(
(
Map
<
String
,
dynamic
>
e
)
=>
HomeDataMeta
.
fromJson
(
e
))
.
toList
()
as
M
;
}
if
(<
HomeDataMetaPagination
>[]
is
M
)
{
return
data
.
map
<
HomeDataMetaPagination
>(
(
Map
<
String
,
dynamic
>
e
)
=>
HomeDataMetaPagination
.
fromJson
(
e
))
.
toList
()
as
M
;
}
if
(<
HomeError
>[]
is
M
)
{
return
data
.
map
<
HomeError
>((
Map
<
String
,
dynamic
>
e
)
=>
HomeError
.
fromJson
(
e
))
...
...
lib/generated/json/home_entity.g.dart
View file @
bfacb12
...
...
@@ -15,7 +15,8 @@ HomeEntity $HomeEntityFromJson(Map<String, dynamic> json) {
if
(
message
!=
null
)
{
homeEntity
.
message
=
message
;
}
final
HomeData
?
data
=
jsonConvert
.
convert
<
HomeData
>(
json
[
'data'
]);
final
List
<
HomeData
>?
data
=
jsonConvert
.
convertListNotNull
<
HomeData
>(
json
[
'data'
]);
if
(
data
!=
null
)
{
homeEntity
.
data
=
data
;
}
...
...
@@ -31,126 +32,69 @@ Map<String, dynamic> $HomeEntityToJson(HomeEntity entity) {
data
[
'status'
]
=
entity
.
status
;
data
[
'code'
]
=
entity
.
code
;
data
[
'message'
]
=
entity
.
message
;
data
[
'data'
]
=
entity
.
data
?.
toJson
();
data
[
'data'
]
=
entity
.
data
?.
map
((
v
)
=>
v
.
toJson
()).
toList
();
data
[
'error'
]
=
entity
.
error
?.
toJson
();
return
data
;
}
HomeData
$HomeDataFromJson
(
Map
<
String
,
dynamic
>
json
)
{
final
HomeData
homeData
=
HomeData
();
final
List
<
HomeDataData
>?
data
=
jsonConvert
.
convertListNotNull
<
HomeDataData
>(
json
[
'data'
]);
if
(
data
!=
null
)
{
homeData
.
data
=
data
;
}
final
HomeDataMeta
?
meta
=
jsonConvert
.
convert
<
HomeDataMeta
>(
json
[
'meta'
]);
if
(
meta
!=
null
)
{
homeData
.
meta
=
meta
;
}
return
homeData
;
}
Map
<
String
,
dynamic
>
$HomeDataToJson
(
HomeData
entity
)
{
final
Map
<
String
,
dynamic
>
data
=
<
String
,
dynamic
>{};
data
[
'data'
]
=
entity
.
data
?.
map
((
v
)
=>
v
.
toJson
()).
toList
();
data
[
'meta'
]
=
entity
.
meta
?.
toJson
();
return
data
;
}
HomeDataData
$HomeDataDataFromJson
(
Map
<
String
,
dynamic
>
json
)
{
final
HomeDataData
homeDataData
=
HomeDataData
();
final
int
?
id
=
jsonConvert
.
convert
<
int
>(
json
[
'id'
]);
if
(
id
!=
null
)
{
homeData
Data
.
id
=
id
;
homeData
.
id
=
id
;
}
final
String
?
userId
=
jsonConvert
.
convert
<
String
>(
json
[
'user_id'
]);
final
int
?
userId
=
jsonConvert
.
convert
<
int
>(
json
[
'user_id'
]);
if
(
userId
!=
null
)
{
homeData
Data
.
userId
=
userId
;
homeData
.
userId
=
userId
;
}
final
String
?
title
=
jsonConvert
.
convert
<
String
>(
json
[
'title'
]);
if
(
title
!=
null
)
{
homeData
Data
.
title
=
title
;
homeData
.
title
=
title
;
}
final
String
?
content
=
jsonConvert
.
convert
<
String
>(
json
[
'content'
]);
if
(
content
!=
null
)
{
homeData
Data
.
content
=
content
;
homeData
.
content
=
content
;
}
final
String
?
url
=
jsonConvert
.
convert
<
String
>(
json
[
'url'
]);
if
(
url
!=
null
)
{
homeData
Data
.
url
=
url
;
homeData
.
url
=
url
;
}
final
String
?
type
=
jsonConvert
.
convert
<
String
>(
json
[
'type'
]);
final
int
?
type
=
jsonConvert
.
convert
<
int
>(
json
[
'type'
]);
if
(
type
!=
null
)
{
homeDataData
.
type
=
type
;
}
final
String
?
duration
=
jsonConvert
.
convert
<
String
>(
json
[
'duration'
]);
if
(
duration
!=
null
)
{
homeDataData
.
duration
=
duration
;
}
final
String
?
size
=
jsonConvert
.
convert
<
String
>(
json
[
'size'
]);
if
(
size
!=
null
)
{
homeDataData
.
size
=
size
;
homeData
.
type
=
type
;
}
final
String
?
poemId
=
jsonConvert
.
convert
<
String
>(
json
[
'poem_id'
]);
final
int
?
poemId
=
jsonConvert
.
convert
<
int
>(
json
[
'poem_id'
]);
if
(
poemId
!=
null
)
{
homeData
Data
.
poemId
=
poemId
;
homeData
.
poemId
=
poemId
;
}
final
String
?
tempId
=
jsonConvert
.
convert
<
String
>(
json
[
'temp_id'
]);
final
int
?
tempId
=
jsonConvert
.
convert
<
int
>(
json
[
'temp_id'
]);
if
(
tempId
!=
null
)
{
homeDataData
.
tempId
=
tempId
;
}
final
String
?
thumbnail
=
jsonConvert
.
convert
<
String
>(
json
[
'thumbnail'
]);
if
(
thumbnail
!=
null
)
{
homeDataData
.
thumbnail
=
thumbnail
;
homeData
.
tempId
=
tempId
;
}
final
String
?
bgm
=
jsonConvert
.
convert
<
String
>(
json
[
'bgm'
]);
if
(
bgm
!=
null
)
{
homeData
Data
.
bgm
=
bgm
;
homeData
.
bgm
=
bgm
;
}
final
String
?
praise
=
jsonConvert
.
convert
<
String
>(
json
[
'praise'
]);
if
(
praise
!=
null
)
{
homeData
Data
.
praise
=
praise
;
homeData
.
praise
=
praise
;
}
final
String
?
view
=
jsonConvert
.
convert
<
String
>(
json
[
'view'
]);
if
(
view
!=
null
)
{
homeData
Data
.
view
=
view
;
homeData
.
view
=
view
;
}
final
String
?
collect
=
jsonConvert
.
convert
<
String
>(
json
[
'collect'
]);
if
(
collect
!=
null
)
{
homeData
Data
.
collect
=
collect
;
homeData
.
collect
=
collect
;
}
final
String
?
share
=
jsonConvert
.
convert
<
String
>(
json
[
'share'
]);
if
(
share
!=
null
)
{
homeDataData
.
share
=
share
;
}
final
String
?
comment
=
jsonConvert
.
convert
<
String
>(
json
[
'comment'
]);
if
(
comment
!=
null
)
{
homeDataData
.
comment
=
comment
;
}
final
String
?
state
=
jsonConvert
.
convert
<
String
>(
json
[
'state'
]);
if
(
state
!=
null
)
{
homeDataData
.
state
=
state
;
}
final
String
?
isPublish
=
jsonConvert
.
convert
<
String
>(
json
[
'is_publish'
]);
if
(
isPublish
!=
null
)
{
homeDataData
.
isPublish
=
isPublish
;
homeData
.
share
=
share
;
}
final
String
?
isCheck
=
jsonConvert
.
convert
<
String
>(
json
[
'is_check'
]);
if
(
isCheck
!=
null
)
{
homeDataData
.
isCheck
=
isCheck
;
}
final
String
?
createdAt
=
jsonConvert
.
convert
<
String
>(
json
[
'created_at'
]);
if
(
createdAt
!=
null
)
{
homeDataData
.
createdAt
=
createdAt
;
}
final
String
?
updatedAt
=
jsonConvert
.
convert
<
String
>(
json
[
'updated_at'
]);
if
(
updatedAt
!=
null
)
{
homeDataData
.
updatedAt
=
updatedAt
;
}
return
homeDataData
;
return
homeData
;
}
Map
<
String
,
dynamic
>
$HomeData
DataToJson
(
HomeData
Data
entity
)
{
Map
<
String
,
dynamic
>
$HomeData
ToJson
(
Home
Data
entity
)
{
final
Map
<
String
,
dynamic
>
data
=
<
String
,
dynamic
>{};
data
[
'id'
]
=
entity
.
id
;
data
[
'user_id'
]
=
entity
.
userId
;
...
...
@@ -158,71 +102,13 @@ Map<String, dynamic> $HomeDataDataToJson(HomeDataData entity) {
data
[
'content'
]
=
entity
.
content
;
data
[
'url'
]
=
entity
.
url
;
data
[
'type'
]
=
entity
.
type
;
data
[
'duration'
]
=
entity
.
duration
;
data
[
'size'
]
=
entity
.
size
;
data
[
'poem_id'
]
=
entity
.
poemId
;
data
[
'temp_id'
]
=
entity
.
tempId
;
data
[
'thumbnail'
]
=
entity
.
thumbnail
;
data
[
'bgm'
]
=
entity
.
bgm
;
data
[
'praise'
]
=
entity
.
praise
;
data
[
'view'
]
=
entity
.
view
;
data
[
'collect'
]
=
entity
.
collect
;
data
[
'share'
]
=
entity
.
share
;
data
[
'comment'
]
=
entity
.
comment
;
data
[
'state'
]
=
entity
.
state
;
data
[
'is_publish'
]
=
entity
.
isPublish
;
data
[
'is_check'
]
=
entity
.
isCheck
;
data
[
'created_at'
]
=
entity
.
createdAt
;
data
[
'updated_at'
]
=
entity
.
updatedAt
;
return
data
;
}
HomeDataMeta
$HomeDataMetaFromJson
(
Map
<
String
,
dynamic
>
json
)
{
final
HomeDataMeta
homeDataMeta
=
HomeDataMeta
();
final
HomeDataMetaPagination
?
pagination
=
jsonConvert
.
convert
<
HomeDataMetaPagination
>(
json
[
'pagination'
]);
if
(
pagination
!=
null
)
{
homeDataMeta
.
pagination
=
pagination
;
}
return
homeDataMeta
;
}
Map
<
String
,
dynamic
>
$HomeDataMetaToJson
(
HomeDataMeta
entity
)
{
final
Map
<
String
,
dynamic
>
data
=
<
String
,
dynamic
>{};
data
[
'pagination'
]
=
entity
.
pagination
?.
toJson
();
return
data
;
}
HomeDataMetaPagination
$HomeDataMetaPaginationFromJson
(
Map
<
String
,
dynamic
>
json
)
{
final
HomeDataMetaPagination
homeDataMetaPagination
=
HomeDataMetaPagination
();
final
int
?
total
=
jsonConvert
.
convert
<
int
>(
json
[
'total'
]);
if
(
total
!=
null
)
{
homeDataMetaPagination
.
total
=
total
;
}
final
int
?
count
=
jsonConvert
.
convert
<
int
>(
json
[
'count'
]);
if
(
count
!=
null
)
{
homeDataMetaPagination
.
count
=
count
;
}
final
int
?
perPage
=
jsonConvert
.
convert
<
int
>(
json
[
'per_page'
]);
if
(
perPage
!=
null
)
{
homeDataMetaPagination
.
perPage
=
perPage
;
}
final
int
?
currentPage
=
jsonConvert
.
convert
<
int
>(
json
[
'current_page'
]);
if
(
currentPage
!=
null
)
{
homeDataMetaPagination
.
currentPage
=
currentPage
;
}
return
homeDataMetaPagination
;
}
Map
<
String
,
dynamic
>
$HomeDataMetaPaginationToJson
(
HomeDataMetaPagination
entity
)
{
final
Map
<
String
,
dynamic
>
data
=
<
String
,
dynamic
>{};
data
[
'total'
]
=
entity
.
total
;
data
[
'count'
]
=
entity
.
count
;
data
[
'per_page'
]
=
entity
.
perPage
;
data
[
'current_page'
]
=
entity
.
currentPage
;
return
data
;
}
...
...
@@ -234,4 +120,4 @@ HomeError $HomeErrorFromJson(Map<String, dynamic> json) {
Map
<
String
,
dynamic
>
$HomeErrorToJson
(
HomeError
entity
)
{
final
Map
<
String
,
dynamic
>
data
=
<
String
,
dynamic
>{};
return
data
;
}
}
\ No newline at end of file
...
...
lib/generated/json/my_videos_entity.g.dart
0 → 100644
View file @
bfacb12
import
'package:Parlando/generated/json/base/json_convert_content.dart'
;
import
'package:Parlando/account/models/my_videos_entity.dart'
;
MyVideosEntity
$MyVideosEntityFromJson
(
Map
<
String
,
dynamic
>
json
)
{
final
MyVideosEntity
myVideosEntity
=
MyVideosEntity
();
final
String
?
status
=
jsonConvert
.
convert
<
String
>(
json
[
'status'
]);
if
(
status
!=
null
)
{
myVideosEntity
.
status
=
status
;
}
final
int
?
code
=
jsonConvert
.
convert
<
int
>(
json
[
'code'
]);
if
(
code
!=
null
)
{
myVideosEntity
.
code
=
code
;
}
final
String
?
message
=
jsonConvert
.
convert
<
String
>(
json
[
'message'
]);
if
(
message
!=
null
)
{
myVideosEntity
.
message
=
message
;
}
final
List
<
MyVideosData
>?
data
=
jsonConvert
.
convertListNotNull
<
MyVideosData
>(
json
[
'data'
]);
if
(
data
!=
null
)
{
myVideosEntity
.
data
=
data
;
}
final
MyVideosError
?
error
=
jsonConvert
.
convert
<
MyVideosError
>(
json
[
'error'
]);
if
(
error
!=
null
)
{
myVideosEntity
.
error
=
error
;
}
return
myVideosEntity
;
}
Map
<
String
,
dynamic
>
$MyVideosEntityToJson
(
MyVideosEntity
entity
)
{
final
Map
<
String
,
dynamic
>
data
=
<
String
,
dynamic
>{};
data
[
'status'
]
=
entity
.
status
;
data
[
'code'
]
=
entity
.
code
;
data
[
'message'
]
=
entity
.
message
;
data
[
'data'
]
=
entity
.
data
?.
map
((
v
)
=>
v
.
toJson
()).
toList
();
data
[
'error'
]
=
entity
.
error
?.
toJson
();
return
data
;
}
MyVideosData
$MyVideosDataFromJson
(
Map
<
String
,
dynamic
>
json
)
{
final
MyVideosData
myVideosData
=
MyVideosData
();
final
int
?
id
=
jsonConvert
.
convert
<
int
>(
json
[
'id'
]);
if
(
id
!=
null
)
{
myVideosData
.
id
=
id
;
}
final
int
?
userId
=
jsonConvert
.
convert
<
int
>(
json
[
'user_id'
]);
if
(
userId
!=
null
)
{
myVideosData
.
userId
=
userId
;
}
final
String
?
title
=
jsonConvert
.
convert
<
String
>(
json
[
'title'
]);
if
(
title
!=
null
)
{
myVideosData
.
title
=
title
;
}
final
String
?
content
=
jsonConvert
.
convert
<
String
>(
json
[
'content'
]);
if
(
content
!=
null
)
{
myVideosData
.
content
=
content
;
}
final
String
?
url
=
jsonConvert
.
convert
<
String
>(
json
[
'url'
]);
if
(
url
!=
null
)
{
myVideosData
.
url
=
url
;
}
final
int
?
type
=
jsonConvert
.
convert
<
int
>(
json
[
'type'
]);
if
(
type
!=
null
)
{
myVideosData
.
type
=
type
;
}
final
String
?
duration
=
jsonConvert
.
convert
<
String
>(
json
[
'duration'
]);
if
(
duration
!=
null
)
{
myVideosData
.
duration
=
duration
;
}
final
String
?
size
=
jsonConvert
.
convert
<
String
>(
json
[
'size'
]);
if
(
size
!=
null
)
{
myVideosData
.
size
=
size
;
}
final
int
?
poemId
=
jsonConvert
.
convert
<
int
>(
json
[
'poem_id'
]);
if
(
poemId
!=
null
)
{
myVideosData
.
poemId
=
poemId
;
}
final
int
?
tempId
=
jsonConvert
.
convert
<
int
>(
json
[
'temp_id'
]);
if
(
tempId
!=
null
)
{
myVideosData
.
tempId
=
tempId
;
}
final
String
?
thumbnail
=
jsonConvert
.
convert
<
String
>(
json
[
'thumbnail'
]);
if
(
thumbnail
!=
null
)
{
myVideosData
.
thumbnail
=
thumbnail
;
}
final
dynamic
?
bgm
=
jsonConvert
.
convert
<
dynamic
>(
json
[
'bgm'
]);
if
(
bgm
!=
null
)
{
myVideosData
.
bgm
=
bgm
;
}
final
String
?
praise
=
jsonConvert
.
convert
<
String
>(
json
[
'praise'
]);
if
(
praise
!=
null
)
{
myVideosData
.
praise
=
praise
;
}
final
String
?
view
=
jsonConvert
.
convert
<
String
>(
json
[
'view'
]);
if
(
view
!=
null
)
{
myVideosData
.
view
=
view
;
}
final
String
?
collect
=
jsonConvert
.
convert
<
String
>(
json
[
'collect'
]);
if
(
collect
!=
null
)
{
myVideosData
.
collect
=
collect
;
}
final
String
?
share
=
jsonConvert
.
convert
<
String
>(
json
[
'share'
]);
if
(
share
!=
null
)
{
myVideosData
.
share
=
share
;
}
final
String
?
comment
=
jsonConvert
.
convert
<
String
>(
json
[
'comment'
]);
if
(
comment
!=
null
)
{
myVideosData
.
comment
=
comment
;
}
final
String
?
state
=
jsonConvert
.
convert
<
String
>(
json
[
'state'
]);
if
(
state
!=
null
)
{
myVideosData
.
state
=
state
;
}
final
String
?
isPublish
=
jsonConvert
.
convert
<
String
>(
json
[
'is_publish'
]);
if
(
isPublish
!=
null
)
{
myVideosData
.
isPublish
=
isPublish
;
}
final
String
?
isCheck
=
jsonConvert
.
convert
<
String
>(
json
[
'is_check'
]);
if
(
isCheck
!=
null
)
{
myVideosData
.
isCheck
=
isCheck
;
}
final
String
?
createdAt
=
jsonConvert
.
convert
<
String
>(
json
[
'created_at'
]);
if
(
createdAt
!=
null
)
{
myVideosData
.
createdAt
=
createdAt
;
}
final
String
?
updatedAt
=
jsonConvert
.
convert
<
String
>(
json
[
'updated_at'
]);
if
(
updatedAt
!=
null
)
{
myVideosData
.
updatedAt
=
updatedAt
;
}
return
myVideosData
;
}
Map
<
String
,
dynamic
>
$MyVideosDataToJson
(
MyVideosData
entity
)
{
final
Map
<
String
,
dynamic
>
data
=
<
String
,
dynamic
>{};
data
[
'id'
]
=
entity
.
id
;
data
[
'user_id'
]
=
entity
.
userId
;
data
[
'title'
]
=
entity
.
title
;
data
[
'content'
]
=
entity
.
content
;
data
[
'url'
]
=
entity
.
url
;
data
[
'type'
]
=
entity
.
type
;
data
[
'duration'
]
=
entity
.
duration
;
data
[
'size'
]
=
entity
.
size
;
data
[
'poem_id'
]
=
entity
.
poemId
;
data
[
'temp_id'
]
=
entity
.
tempId
;
data
[
'thumbnail'
]
=
entity
.
thumbnail
;
data
[
'bgm'
]
=
entity
.
bgm
;
data
[
'praise'
]
=
entity
.
praise
;
data
[
'view'
]
=
entity
.
view
;
data
[
'collect'
]
=
entity
.
collect
;
data
[
'share'
]
=
entity
.
share
;
data
[
'comment'
]
=
entity
.
comment
;
data
[
'state'
]
=
entity
.
state
;
data
[
'is_publish'
]
=
entity
.
isPublish
;
data
[
'is_check'
]
=
entity
.
isCheck
;
data
[
'created_at'
]
=
entity
.
createdAt
;
data
[
'updated_at'
]
=
entity
.
updatedAt
;
return
data
;
}
MyVideosError
$MyVideosErrorFromJson
(
Map
<
String
,
dynamic
>
json
)
{
final
MyVideosError
myVideosError
=
MyVideosError
();
return
myVideosError
;
}
Map
<
String
,
dynamic
>
$MyVideosErrorToJson
(
MyVideosError
entity
)
{
final
Map
<
String
,
dynamic
>
data
=
<
String
,
dynamic
>{};
return
data
;
}
lib/home/models/home_entity.dart
View file @
bfacb12
...
...
@@ -7,7 +7,7 @@ class HomeEntity {
String
?
status
;
int
?
code
;
String
?
message
;
HomeData
?
data
;
List
<
HomeData
>
?
data
;
HomeError
?
error
;
HomeEntity
();
...
...
@@ -25,99 +25,29 @@ class HomeEntity {
@JsonSerializable
()
class
HomeData
{
List
<
HomeDataData
>?
data
;
HomeDataMeta
?
meta
;
HomeData
();
factory
HomeData
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
=>
$HomeDataFromJson
(
json
);
Map
<
String
,
dynamic
>
toJson
()
=>
$HomeDataToJson
(
this
);
@override
String
toString
()
{
return
jsonEncode
(
this
);
}
}
@JsonSerializable
()
class
HomeDataData
{
int
?
id
;
@JSONField
(
name:
"user_id"
)
String
?
userId
;
int
?
userId
;
String
?
title
;
String
?
content
;
String
?
url
;
String
?
type
;
String
?
duration
;
String
?
size
;
int
?
type
;
@JSONField
(
name:
"poem_id"
)
String
?
poemId
;
int
?
poemId
;
@JSONField
(
name:
"temp_id"
)
String
?
tempId
;
String
?
thumbnail
;
int
?
tempId
;
String
?
bgm
;
String
?
praise
;
String
?
view
;
String
?
collect
;
String
?
share
;
String
?
comment
;
String
?
state
;
@JSONField
(
name:
"is_publish"
)
String
?
isPublish
;
@JSONField
(
name:
"is_check"
)
String
?
isCheck
;
@JSONField
(
name:
"created_at"
)
String
?
createdAt
;
@JSONField
(
name:
"updated_at"
)
String
?
updatedAt
;
HomeDataData
();
factory
HomeDataData
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
=>
$HomeDataDataFromJson
(
json
);
Map
<
String
,
dynamic
>
toJson
()
=>
$HomeDataDataToJson
(
this
);
@override
String
toString
()
{
return
jsonEncode
(
this
);
}
}
@JsonSerializable
()
class
HomeDataMeta
{
HomeDataMetaPagination
?
pagination
;
HomeDataMeta
();
factory
HomeDataMeta
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
=>
$HomeDataMetaFromJson
(
json
);
Map
<
String
,
dynamic
>
toJson
()
=>
$HomeDataMetaToJson
(
this
);
@override
String
toString
()
{
return
jsonEncode
(
this
);
}
}
@JsonSerializable
()
class
HomeDataMetaPagination
{
int
?
total
;
int
?
count
;
@JSONField
(
name:
"per_page"
)
int
?
perPage
;
@JSONField
(
name:
"current_page"
)
int
?
currentPage
;
HomeDataMetaPagination
();
HomeData
();
factory
HomeData
MetaPagination
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
=>
$HomeData
MetaPagination
FromJson
(
json
);
factory
HomeData
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
=>
$HomeDataFromJson
(
json
);
Map
<
String
,
dynamic
>
toJson
()
=>
$HomeData
MetaPagination
ToJson
(
this
);
Map
<
String
,
dynamic
>
toJson
()
=>
$HomeDataToJson
(
this
);
@override
String
toString
()
{
...
...
@@ -138,4 +68,4 @@ class HomeError {
String
toString
()
{
return
jsonEncode
(
this
);
}
}
}
\ No newline at end of file
...
...
lib/net/http_api.dart
View file @
bfacb12
...
...
@@ -10,6 +10,7 @@ class HttpApi {
static
const
String
avatar
=
'avatar'
;
static
const
String
user
=
'user'
;
static
const
String
home
=
'home'
;
static
const
String
myVideos
=
'/my/videos'
;
static
const
String
search
=
'search/repositories'
;
static
const
String
subscriptions
=
'users/simplezhli/subscriptions'
;
static
const
String
upload
=
'uuc/upload-inco'
;
...
...
lib/poem/page/poem_page.dart
View file @
bfacb12
...
...
@@ -73,12 +73,12 @@ class PoemPageState extends State<PoemPage> with WidgetsBindingObserver {
DioUtils
.
instance
.
asyncRequestNetwork
<
HomeEntity
>(
Method
.
get
,
HttpApi
.
home
,
params:
[]
,
params:
{
'page_size'
:
80
}
,
onSuccess:
(
data
)
{
isLoading
=
false
;
setState
(()
{});
List
<
UserVideo
>
videoDataList
=
<
UserVideo
>[];
for
(
HomeData
Data
data
in
data
!.
data
!.
data
!)
{
for
(
HomeData
data
in
data
!.
data
!)
{
videoDataList
.
add
(
UserVideo
(
image:
''
,
...
...
@@ -224,7 +224,7 @@ class PoemPageState extends State<PoemPage> with WidgetsBindingObserver {
Widget
poem
=
TikTokVidePoem
(
title:
"每日一言"
,
poem:
"清晨入古寺,初日照高林。
\n
曲径通幽处,禅房花木深。
\n
山光悦鸟性,潭影空人心。
\n
万籁此都寂,但余钟磬音。
\n
"
,
"清晨入古寺,初日照高林。
\n
曲径通幽处,禅房花木深。
\n
山光悦鸟性,潭影空人心。
\n
万籁此都寂,但余钟磬音。
\n
"
,
author:
"----《题破山寺后禅院》常建"
,
onShowDetail:
()
{
tkController
.
animateToPage
(
TikTokPagePosition
.
right
);
...
...
Please
register
or
login
to post a comment