Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
feelver
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
2F-ART
feelver
Commits
6969e0c2
Commit
6969e0c2
authored
Aug 11, 2020
by
Mobile : Ball (Apprentice)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
4dcf44e2
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
99 additions
and
88 deletions
+99
-88
lib/main.dart
+1
-1
lib/model/home_search/searchhomepage_model.dart
+0
-0
lib/service/api.dart
+5
-7
lib/ui/home/home.dart
+64
-50
lib/ui/home/home_presenter.dart
+29
-30
No files found.
lib/main.dart
View file @
6969e0c2
...
@@ -29,7 +29,7 @@ class MyApp extends StatelessWidget {
...
@@ -29,7 +29,7 @@ class MyApp extends StatelessWidget {
primarySwatch:
Colors
.
blue
,
primarySwatch:
Colors
.
blue
,
),
),
home:
AccountSetting
Page
()
home:
SplashScreen
Page
()
//home: EditProfile(),
//home: EditProfile(),
...
...
lib/home_search/searchhomepage_model.dart
→
lib/
model/
home_search/searchhomepage_model.dart
View file @
6969e0c2
File moved
lib/service/api.dart
View file @
6969e0c2
import
'dart:convert'
;
import
'dart:convert'
;
import
'package:feelverapp/home_search/searchhomepage_model.dart'
;
import
'package:feelverapp/model/Login/login_model.dart'
;
import
'package:feelverapp/model/Login/login_model.dart'
;
import
'package:feelverapp/model/base/base.dart'
;
import
'package:feelverapp/model/base/base.dart'
;
...
@@ -9,7 +9,8 @@ import 'package:feelverapp/model/editprofile/getprofilemodel.dart';
...
@@ -9,7 +9,8 @@ import 'package:feelverapp/model/editprofile/getprofilemodel.dart';
import
'package:feelverapp/model/forgetpassword/forgetpassModel.dart'
;
import
'package:feelverapp/model/forgetpassword/forgetpassModel.dart'
;
import
'package:feelverapp/model/home/home_model.dart'
;
import
'package:feelverapp/model/home_search/searchhomepage_model.dart'
;
import
'package:feelverapp/model/register/register_model.dart'
;
import
'package:feelverapp/model/register/register_model.dart'
;
import
'package:feelverapp/model/category/category_model.dart'
;
import
'package:feelverapp/model/category/category_model.dart'
;
...
@@ -29,7 +30,7 @@ class Api<T> {
...
@@ -29,7 +30,7 @@ class Api<T> {
var
_model
;
var
_model
;
var
_fail
;
var
_fail
;
var
result
;
var
result
;
print
(
"this is body "
+
body
.
toString
());
// (body as Map)['lang'] = allTranslations.currentLanguage;
// (body as Map)['lang'] = allTranslations.currentLanguage;
await
_httpConnection
(
"
${this._baseApi}
/store/shop-list"
,
this
.
_headerApi
,
body
)
await
_httpConnection
(
"
${this._baseApi}
/store/shop-list"
,
this
.
_headerApi
,
body
)
.
then
((
response
){
.
then
((
response
){
...
@@ -154,9 +155,6 @@ print("this is body "+body.toString());
...
@@ -154,9 +155,6 @@ print("this is body "+body.toString());
if
(
response
.
statusCode
==
200
)
{
if
(
response
.
statusCode
==
200
)
{
// Array to Map Json
// Array to Map Json
Map
<
String
,
dynamic
>
myData
=
arrayToJson
(
response
.
body
);
Map
<
String
,
dynamic
>
myData
=
arrayToJson
(
response
.
body
);
print
(
myData
);
_model
=
categoryModel
.
fromJson
(
myData
);
_model
=
categoryModel
.
fromJson
(
myData
);
}
else
{
}
else
{
_fail
=
FailModel
.
fromJson
(
json
.
decode
(
response
.
body
));
_fail
=
FailModel
.
fromJson
(
json
.
decode
(
response
.
body
));
...
@@ -232,7 +230,7 @@ print("this is body "+body.toString());
...
@@ -232,7 +230,7 @@ print("this is body "+body.toString());
Map
<
String
,
dynamic
>
myJson
=
{};
Map
<
String
,
dynamic
>
myJson
=
{};
if
(
data
!=
null
&&
data
.
length
>
0
)
{
if
(
data
!=
null
&&
data
.
length
>
0
)
{
myJson
[
'
data
'
]
=
data
;
myJson
[
'
DATA
'
]
=
data
;
}
}
return
myJson
;
return
myJson
;
...
...
lib/ui/home/home.dart
View file @
6969e0c2
import
'package:feelverapp/model/category/category_model.dart'
;
import
'package:feelverapp/ui/home/home_presenter.dart'
;
import
'package:feelverapp/ui/home/home_presenter.dart'
;
import
'package:feelverapp/ui/login/login.dart'
;
import
'package:feelverapp/ui/login/login.dart'
;
import
'package:feelverapp/ui/menu/menu.dart'
;
import
'package:feelverapp/ui/menu/menu.dart'
;
...
@@ -10,42 +11,40 @@ import 'package:flutter/cupertino.dart';
...
@@ -10,42 +11,40 @@ import 'package:flutter/cupertino.dart';
import
'package:flutter/material.dart'
;
import
'package:flutter/material.dart'
;
class
HomePage
extends
StatefulWidget
{
class
HomePage
extends
StatefulWidget
{
String
id
;
String
id
;
String
image
;
String
image
;
HomePage
({
Key
key
,
this
.
id
,
this
.
image
})
:
super
(
key:
key
);
String
search
;
HomePage
({
Key
key
,
this
.
id
,
this
.
image
,
this
.
search
})
:
super
(
key:
key
);
@override
@override
_HomePageState
createState
()
=>
_HomePageState
();
_HomePageState
createState
()
=>
_HomePageState
();
}
}
class
_HomePageState
extends
State
<
HomePage
>
with
TickerProviderStateMixin
{
class
_HomePageState
extends
State
<
HomePage
>
with
TickerProviderStateMixin
{
TabController
_tabController
;
HomePresenter
presenter
;
HomePresenter
presenter
;
@override
void
initState
()
{
super
.
initState
();
presenter
=
HomePresenter
(
this
);
presenter
.
Listitem
();
// presenter.getid();
presenter
.
getprofile
();
presenter
.
Search
();
@override
void
initState
()
{
super
.
initState
();
presenter
=
HomePresenter
(
this
);
presenter
.
Listitem
();
// presenter.getid();
presenter
.
getprofile
();
presenter
.
getSearch
(
widget
.
search
);
}
}
@override
@override
void
dispose
()
{
void
dispose
()
{
super
.
dispose
();
super
.
dispose
();
_tabController
.
dispose
();
}
}
@override
@override
Widget
build
(
BuildContext
context
)
{
Widget
build
(
BuildContext
context
)
{
SizeConfig
(
context
);
SizeConfig
(
context
);
...
@@ -203,8 +202,14 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
...
@@ -203,8 +202,14 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
showDialog
(
showDialog
(
context:
context
,
context:
context
,
builder:
(
BuildContext
context
)
{
builder:
(
BuildContext
context
)
{
return
presenter
.
getmodel
==
null
return
presenter
.
getmodel
==
null
?
Container
():
NavDrawer
(
name:
presenter
.
getmodel
.
result
[
0
].
user
.
name
,
id:
presenter
.
getmodel
.
result
[
0
].
id
.
toString
(),
image:
presenter
.
getmodel
.
result
[
0
].
image
,);
?
Container
()
:
NavDrawer
(
name:
presenter
.
getmodel
.
result
[
0
].
user
.
name
,
id:
presenter
.
getmodel
.
result
[
0
].
id
.
toString
(),
image:
presenter
.
getmodel
.
result
[
0
].
image
,
);
});
});
},
},
child:
Image
.
asset
(
child:
Image
.
asset
(
...
@@ -233,24 +238,25 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
...
@@ -233,24 +238,25 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
right:
SizeConfig
.
getPadding
(
20
),
right:
SizeConfig
.
getPadding
(
20
),
child:
InkWell
(
child:
InkWell
(
onTap:
()
{
onTap:
()
{
Navigator
.
push
(
Navigator
.
push
(
context
,
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
LoginPage
()),
MaterialPageRoute
(
builder:
(
context
)
=>
LoginPage
()),
);
);
},
},
child:
presenter
.
getmodel
==
null
child:
presenter
.
getmodel
==
null
?
Container
():
Container
(
?
Container
()
child:
ClipRRect
(
:
Container
(
borderRadius:
BorderRadius
.
all
(
child:
ClipRRect
(
Radius
.
circular
(
SizeConfig
.
getWidth
(
56
))),
borderRadius:
BorderRadius
.
all
(
child:
Image
.
network
(
Radius
.
circular
(
SizeConfig
.
getWidth
(
56
))),
presenter
.
getmodel
.
result
[
0
].
image
,
child:
Image
.
network
(
fit:
BoxFit
.
contain
,
presenter
.
getmodel
.
result
[
0
].
image
,
width:
SizeConfig
.
getWidth
(
30
)
,
fit:
BoxFit
.
contain
,
height
:
SizeConfig
.
getWidth
(
30
),
width
:
SizeConfig
.
getWidth
(
30
),
),
height:
SizeConfig
.
getWidth
(
30
),
),
),
),
),
),
),
),
),
),
_searchField
(),
_searchField
(),
...
@@ -258,7 +264,7 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
...
@@ -258,7 +264,7 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
),
),
Expanded
(
Expanded
(
child:
SingleChildScrollView
(
child:
SingleChildScrollView
(
child:
_listView
(),
child:
presenter
.
CatModel
==
null
?
Container
()
:
_listView
(),
),
),
),
),
],
],
...
@@ -275,8 +281,9 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
...
@@ -275,8 +281,9 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
width:
MediaQuery
.
of
(
context
).
size
.
width
,
width:
MediaQuery
.
of
(
context
).
size
.
width
,
fit:
BoxFit
.
fill
,
fit:
BoxFit
.
fill
,
),
),
'SPA'
,
presenter
.
CatModel
.
dATA
[
0
].
name
,
'99 View'
,
ShopList
()),
''
,
ShopList
()),
_listItem
(
_listItem
(
Image
.
asset
(
Image
.
asset
(
'assets/images/banner_massage.png'
,
'assets/images/banner_massage.png'
,
...
@@ -284,8 +291,9 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
...
@@ -284,8 +291,9 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
width:
MediaQuery
.
of
(
context
).
size
.
width
,
width:
MediaQuery
.
of
(
context
).
size
.
width
,
fit:
BoxFit
.
fill
,
fit:
BoxFit
.
fill
,
),
),
'Massage'
,
presenter
.
CatModel
.
dATA
[
1
].
name
,
'99 View'
,
NearmeList
()),
''
,
NearmeList
()),
_listItem
(
_listItem
(
Image
.
asset
(
Image
.
asset
(
'assets/images/banner_beauty.png'
,
'assets/images/banner_beauty.png'
,
...
@@ -293,8 +301,9 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
...
@@ -293,8 +301,9 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
width:
MediaQuery
.
of
(
context
).
size
.
width
,
width:
MediaQuery
.
of
(
context
).
size
.
width
,
fit:
BoxFit
.
fill
,
fit:
BoxFit
.
fill
,
),
),
'BEAUTY'
,
presenter
.
CatModel
.
dATA
[
2
].
name
,
'99 View'
,
NearmeList
()),
''
,
NearmeList
()),
_listItem
(
_listItem
(
Image
.
asset
(
Image
.
asset
(
'assets/images/banner_nearme.png'
,
'assets/images/banner_nearme.png'
,
...
@@ -303,7 +312,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
...
@@ -303,7 +312,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
fit:
BoxFit
.
fill
,
fit:
BoxFit
.
fill
,
),
),
'NEAR ME'
,
'NEAR ME'
,
'99 View'
,
NearmeList
()),
''
,
NearmeList
()),
_listItem
(
_listItem
(
Image
.
asset
(
Image
.
asset
(
'assets/images/banner_promotion.png'
,
'assets/images/banner_promotion.png'
,
...
@@ -312,7 +322,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
...
@@ -312,7 +322,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
fit:
BoxFit
.
fill
,
fit:
BoxFit
.
fill
,
),
),
'PROMOTION'
,
'PROMOTION'
,
'99 View'
,
NearmeList
()),
''
,
NearmeList
()),
_listItem
(
_listItem
(
Image
.
asset
(
Image
.
asset
(
'assets/images/banner_mostpopular.png'
,
'assets/images/banner_mostpopular.png'
,
...
@@ -321,7 +332,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
...
@@ -321,7 +332,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
fit:
BoxFit
.
fill
,
fit:
BoxFit
.
fill
,
),
),
'MOST POPULAR'
,
'MOST POPULAR'
,
'99 Vidw'
,
NearmeList
()),
''
,
NearmeList
()),
_listItem
(
_listItem
(
Image
.
asset
(
Image
.
asset
(
'assets/images/banner_recommended.png'
,
'assets/images/banner_recommended.png'
,
...
@@ -330,7 +342,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
...
@@ -330,7 +342,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
fit:
BoxFit
.
fill
,
fit:
BoxFit
.
fill
,
),
),
'RECOMMEND'
,
'RECOMMEND'
,
'99 View'
,
NearmeList
()),
''
,
NearmeList
()),
SizedBox
(
SizedBox
(
height:
30
,
height:
30
,
),
),
...
@@ -402,6 +415,7 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
...
@@ -402,6 +415,7 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
),
),
height:
55
,
height:
55
,
child:
TextField
(
child:
TextField
(
controller:
presenter
.
searchCtrl
,
decoration:
new
InputDecoration
(
decoration:
new
InputDecoration
(
border:
new
OutlineInputBorder
(
border:
new
OutlineInputBorder
(
borderRadius:
const
BorderRadius
.
all
(
borderRadius:
const
BorderRadius
.
all
(
...
@@ -409,7 +423,7 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
...
@@ -409,7 +423,7 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
),
),
),
),
prefixIcon:
IconButton
(
prefixIcon:
IconButton
(
onPressed:
()
{
onPressed:
()
{
Navigator
.
push
(
Navigator
.
push
(
context
,
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
ShopList
()),
MaterialPageRoute
(
builder:
(
context
)
=>
ShopList
()),
...
...
lib/ui/home/home_presenter.dart
View file @
6969e0c2
import
'package:feelverapp/home_search/searchhomepage_model.dart'
;
import
'package:feelverapp/model/Login/login_model.dart'
;
import
'package:feelverapp/model/Login/login_model.dart'
;
import
'package:feelverapp/model/category/category_model.dart'
;
import
'package:feelverapp/model/category/category_model.dart'
;
import
'package:feelverapp/model/editprofile/getprofilemodel.dart'
;
import
'package:feelverapp/model/editprofile/getprofilemodel.dart'
;
import
'package:feelverapp/model/home/home_model.dart'
;
import
'package:feelverapp/model/home/home_model.dart'
;
import
'package:feelverapp/model/home_search/searchhomepage_model.dart'
;
import
'package:feelverapp/service/Loading.dart'
;
import
'package:feelverapp/service/Loading.dart'
;
import
'package:feelverapp/service/api.dart'
;
import
'package:feelverapp/service/api.dart'
;
...
@@ -15,10 +15,16 @@ import 'package:shared_preferences/shared_preferences.dart';
...
@@ -15,10 +15,16 @@ import 'package:shared_preferences/shared_preferences.dart';
class
HomePresenter
extends
BasePresenter
<
HomePage
>
{
class
HomePresenter
extends
BasePresenter
<
HomePage
>
{
Api
_api
;
Api
_api
;
var
category_model
;
String
uid
;
String
uid
;
final
formkey
=
GlobalKey
<
FormState
>();
final
formkey
=
GlobalKey
<
FormState
>();
GetprofileModel
getmodel
;
GetprofileModel
getmodel
;
LoginModel
logmodel
;
LoginModel
logmodel
;
categoryModel
CatModel
;
TextEditingController
searchCtrl
=
TextEditingController
();
SearchhomeModel
searchhomeModel
;
HomePresenter
(
State
<
HomePage
>
state
)
:
super
(
state
);
HomePresenter
(
State
<
HomePage
>
state
)
:
super
(
state
);
Listitem
()
async
{
Listitem
()
async
{
...
@@ -26,48 +32,39 @@ class HomePresenter extends BasePresenter<HomePage> {
...
@@ -26,48 +32,39 @@ class HomePresenter extends BasePresenter<HomePage> {
var
res
=
await
_api
.
category
({
var
res
=
await
_api
.
category
({
"access_type"
:
"portal"
,
"access_type"
:
"portal"
,
});
});
if
(
res
.
fail
==
null
)
{
if
(
res
.
fail
==
null
){
print
(
'res Success'
);
setState
(()
{
CatModel
=
res
.
success
;
print
(
"dddddddddddddddd"
);
print
(
'
${CatModel.dATA[0].name}
'
);
});
}
else
{
}
else
{
print
(
'res Fail'
);
print
(
'res Fail'
);
}
}
}
}
Search
(
)
async
{
getSearch
(
String
search
)
async
{
_api
=
Api
<
SearchhomeModel
>();
_api
=
Api
<
SearchhomeModel
>();
var
res
=
await
_api
.
homesearch
({
var
res
=
await
_api
.
homesearch
({
"keyword_shop"
:
"spa"
,
"keyword_shop"
:
searchCtrl
.
text
,
"lang"
:
"all"
,
"lang"
:
"all"
,
"access"
:
"portal"
,
"access"
:
"portal"
,
});
});
print
(
'
$searchCtrl
'
);
if
(
res
.
fail
==
null
)
if
(
res
.
success
.
status
)
{
setState
(()
{
searchhomeModel
=
res
.
success
;
category_model
=
res
.
success
;
});
}
else
{
if
(
res
.
fail
==
null
)
{
print
(
'res Success'
);
}
else
{
Alert
(
style:
AlertStyle
(
animationType:
AnimationType
.
fromTop
,
isCloseButton:
false
,
),
context:
state
.
context
,
title:
"ไม่สามารถติดต่อ
\n
เซิร์ฟเวอร์ได้"
,
content:
Icon
(
Icons
.
warning
,
color:
Colors
.
orange
,
size:
80
,
),
buttons:
[
DialogButton
(
color:
Color
.
fromRGBO
(
106
,
179
,
170
,
1
),
onPressed:
()
=>
Navigator
.
pop
(
state
.
context
),
child:
Text
(
"ค้นหาใหม่อีกครั้ง"
,
style:
TextStyle
(
color:
Colors
.
white
,
fontSize:
20
),
),
)
]).
show
();
}
}
}
}
...
@@ -119,4 +116,6 @@ class HomePresenter extends BasePresenter<HomePage> {
...
@@ -119,4 +116,6 @@ class HomePresenter extends BasePresenter<HomePage> {
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment