Commit 6c2efa65 by Mobile : Jetrin Phuekkaew (N'new)

Merge branch 'develop' of https://gitlab.2fellows.com/art/feelver into develop

parents 0762c3cc 4d86403a
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';
...@@ -12,6 +14,7 @@ import 'package:feelverapp/model/home/home_model.dart'; ...@@ -12,6 +14,7 @@ import 'package:feelverapp/model/home/home_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';
import 'package:feelverapp/model/shoplist/shoplist_Model.dart'; import 'package:feelverapp/model/shoplist/shoplist_Model.dart';
import 'package:feelverapp/model/shoplistdetail/shoplistdetail_Model.dart';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
class Api<T> { class Api<T> {
...@@ -22,6 +25,27 @@ class Api<T> { ...@@ -22,6 +25,27 @@ class Api<T> {
"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvYmFja2VuZC11YXQuZmVlbHZlci5jb21cL2FwaVwvbG9naW4iLCJpYXQiOjE1OTYxMDAzNTgsImV4cCI6MTYwMzMwMDM1OCwibmJmIjoxNTk2MTAwMzU4LCJqdGkiOiJ2YjA2S0FHR1JtZDFseEw1Iiwic3ViIjozNzMsInBydiI6Ijg3ZTBhZjFlZjlmZDE1ODEyZmRlYzk3MTUzYTE0ZTBiMDQ3NTQ2YWEifQ.UkY70AshvW5O4M63XY_Iv2IPBohSUUwnRF1oi46p2zs", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvYmFja2VuZC11YXQuZmVlbHZlci5jb21cL2FwaVwvbG9naW4iLCJpYXQiOjE1OTYxMDAzNTgsImV4cCI6MTYwMzMwMDM1OCwibmJmIjoxNTk2MTAwMzU4LCJqdGkiOiJ2YjA2S0FHR1JtZDFseEw1Iiwic3ViIjozNzMsInBydiI6Ijg3ZTBhZjFlZjlmZDE1ODEyZmRlYzk3MTUzYTE0ZTBiMDQ3NTQ2YWEifQ.UkY70AshvW5O4M63XY_Iv2IPBohSUUwnRF1oi46p2zs",
}; };
Future<Response<T>> homesearch(Object body) async {
var _model;
var _fail;
var result;
// (body as Map)['lang'] = allTranslations.currentLanguage;
await _httpConnection("${this._baseApi}/store/shop-list", this._headerApi, body)
.then((response){
print("ผลลัพ เท่ากับบบบ " + "${response.body}");
if (response.statusCode == 200){
_model = SearchhomeModel.fromJson(json.decode(response.body));
} else {
_fail = FailModel.fromJson(json.decode(response.body));
}
result = new Response<T>(_model, _fail);
});
return result;
}
Future<Response<T>> getprofile(Object body) async { Future<Response<T>> getprofile(Object body) async {
var _model; var _model;
var _fail; var _fail;
...@@ -164,6 +188,23 @@ print("this is body "+body.toString()); ...@@ -164,6 +188,23 @@ print("this is body "+body.toString());
}); });
return result; return result;
} }
Future<Response<T>> shoplistDetail(Object body) async{
var _model;
var _fail;
var result;
await _httpConnection("${this._baseApi}/store/detail", this._headerApi, body).then((response){
print("ผลลัพท์ เท่ากับ " "${response.body}");
if(response.statusCode == 200){
_model = shoplistdetailModel.fromJson(json.decode(response.body));
}else{
_fail = FailModel.fromJson(json.decode(response.body));
}
result = new Response<T>(_model, _fail);
});
return result;
}
///api environment ///api environment
Future<http.Response> _httpConnection( Future<http.Response> _httpConnection(
......
...@@ -19,7 +19,7 @@ class HomePage extends StatefulWidget { ...@@ -19,7 +19,7 @@ class HomePage extends StatefulWidget {
class _HomePageState extends State<HomePage> with TickerProviderStateMixin { class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
HomePresenter presenter; HomePresenter presenter;
...@@ -31,7 +31,9 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -31,7 +31,9 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
presenter.Listitem(); presenter.Listitem();
// presenter.getid(); // presenter.getid();
presenter.getprofile (); presenter.getprofile ();
presenter.Search();
...@@ -41,8 +43,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -41,8 +43,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
void dispose() { void dispose() {
super.dispose(); super.dispose();
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
...@@ -197,11 +199,11 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -197,11 +199,11 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
left: SizeConfig.getPadding(16), left: SizeConfig.getPadding(16),
child: Container( child: Container(
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
showDialog( showDialog(
context: context, context: context,
builder: (BuildContext context) { builder: (BuildContext context) {
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 ,); 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 ,);
}); });
}, },
...@@ -236,13 +238,13 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -236,13 +238,13 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
MaterialPageRoute(builder: (context) => LoginPage()), MaterialPageRoute(builder: (context) => LoginPage()),
); );
}, },
child: presenter.getmodel==null?Container():Container( child: presenter.getmodel==null?Container():Container(
child: ClipRRect( child: ClipRRect(
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(SizeConfig.getWidth(56))), Radius.circular(SizeConfig.getWidth(56))),
child: Image.network( child: Image.network(
presenter.getmodel.result[0].image , presenter.getmodel.result[0].image ,
fit: BoxFit.contain, fit: BoxFit.contain,
width: SizeConfig.getWidth(30), width: SizeConfig.getWidth(30),
height: SizeConfig.getWidth(30), height: SizeConfig.getWidth(30),
......
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';
...@@ -31,6 +32,45 @@ class HomePresenter extends BasePresenter<HomePage> { ...@@ -31,6 +32,45 @@ class HomePresenter extends BasePresenter<HomePage> {
print('res Fail'); print('res Fail');
} }
} }
Search() async{
_api = Api<SearchhomeModel>();
var res = await _api.homesearch({
"keyword_shop" : "spa",
"lang" : "all",
"access" : "portal",
});
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();
}
}
getid() async { getid() async {
SharedPreferences pref = await SharedPreferences.getInstance(); SharedPreferences pref = await SharedPreferences.getInstance();
......
...@@ -13,7 +13,7 @@ class ShopList extends StatefulWidget { ...@@ -13,7 +13,7 @@ class ShopList extends StatefulWidget {
} }
class _ShopListState extends State<ShopList> with TickerProviderStateMixin { class _ShopListState extends State<ShopList> with TickerProviderStateMixin {
var entries = new List<String>.generate(2, (i) => "Item $i"); var entries = new List<String>.generate(1, (i) => "Item $i");
ShoplistPresenter presenter; ShoplistPresenter presenter;
...@@ -277,12 +277,12 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin { ...@@ -277,12 +277,12 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin {
child: new Text( child: new Text(
'Load more ...', 'Load more ...',
style: new TextStyle( style: new TextStyle(
color: Colors.white, color: Colors.black,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
), ),
onPressed: () { onPressed: () {
var nextItems = new List<String>.generate(2, (i) { var nextItems = new List<String>.generate(1, (i) {
var itemId = i + entries.length; var itemId = i + entries.length;
return "Item $itemId"; return "Item $itemId";
}); });
......
import 'package:feelverapp/ui/home/home.dart'; import 'package:feelverapp/ui/home/home.dart';
import 'package:feelverapp/ui/menu/menu.dart'; import 'package:feelverapp/ui/menu/menu.dart';
import 'package:feelverapp/ui/shop/shoplistdetail_presenter.dart';
import 'package:feelverapp/util/SizeConfig.dart'; import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
...@@ -10,6 +11,24 @@ class ShopListDetail extends StatefulWidget { ...@@ -10,6 +11,24 @@ class ShopListDetail extends StatefulWidget {
} }
class _ShopListDetailState extends State<ShopListDetail> { class _ShopListDetailState extends State<ShopListDetail> {
ShoplistdetailPresenter presenter;
@override
void initState() {
super.initState();
presenter = ShoplistdetailPresenter(this);
presenter.Detai();
}
@override
void dispose() {
super.dispose();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
SizeConfig(context); SizeConfig(context);
......
import 'package:feelverapp/model/shoplistdetail/shoplistdetail_Model.dart';
import 'package:feelverapp/service/api.dart';
import 'package:feelverapp/service/base_presenter.dart';
import 'package:feelverapp/ui/shop/shop_list_detail.dart';
import 'package:flutter/material.dart';
class ShoplistdetailPresenter extends BasePresenter<ShopListDetail>{
Api _api;
final formkey = GlobalKey<FormState>();
ShoplistdetailPresenter(State<ShopListDetail> state) : super(state);
Detai() async{
_api = Api<shoplistdetailModel>();
var res = await _api.shoplistDetail({
"id": "406",
});
if (res.fail == null) {
print('res Success');
} else {
print('res Fail');
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment