Commit 456dbfdd by Mobile : Art

update

parent 4dcf44e2
...@@ -29,7 +29,7 @@ class MyApp extends StatelessWidget { ...@@ -29,7 +29,7 @@ class MyApp extends StatelessWidget {
primarySwatch: Colors.blue, primarySwatch: Colors.blue,
), ),
home: AccountSettingPage() home: HomePage()
//home: EditProfile(), //home: EditProfile(),
......
...@@ -5,7 +5,7 @@ class categoryModel { ...@@ -5,7 +5,7 @@ class categoryModel {
categoryModel({this.dATA}); categoryModel({this.dATA});
categoryModel.fromJson(Map<String, dynamic> json) { categoryModel.fromJson(Map<String, dynamic> json) {
if (json['DATA'] != null) { if (json['data'] != null) {
dATA = new List<DATA>(); dATA = new List<DATA>();
json['DATA'].forEach((v) { json['DATA'].forEach((v) {
dATA.add(new DATA.fromJson(v)); dATA.add(new DATA.fromJson(v));
...@@ -16,7 +16,7 @@ class categoryModel { ...@@ -16,7 +16,7 @@ class categoryModel {
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>(); final Map<String, dynamic> data = new Map<String, dynamic>();
if (this.dATA != null) { if (this.dATA != null) {
data['DATA'] = this.dATA.map((v) => v.toJson()).toList(); data['data'] = this.dATA.map((v) => v.toJson()).toList();
} }
return data; return data;
} }
......
import 'dart:convert'; import 'dart:convert';
import 'package:feelverapp/home_search/searchhomepage_model.dart'; 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';
...@@ -10,6 +9,7 @@ import 'package:feelverapp/model/editprofile/getprofilemodel.dart'; ...@@ -10,6 +9,7 @@ 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/home_model.dart';
import 'package:feelverapp/model/nearme/nearme_list_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';
...@@ -31,10 +31,11 @@ class Api<T> { ...@@ -31,10 +31,11 @@ class Api<T> {
var result; var result;
// (body as Map)['lang'] = allTranslations.currentLanguage; // (body as Map)['lang'] = allTranslations.currentLanguage;
await _httpConnection("${this._baseApi}/store/shop-list", this._headerApi, body) await _httpConnection(
.then((response){ "${this._baseApi}/store/shop-list", this._headerApi, body)
.then((response) {
print("ผลลัพ เท่ากับบบบ " + "${response.body}"); print("ผลลัพ เท่ากับบบบ " + "${response.body}");
if (response.statusCode == 200){ if (response.statusCode == 200) {
_model = SearchhomeModel.fromJson(json.decode(response.body)); _model = SearchhomeModel.fromJson(json.decode(response.body));
} else { } else {
_fail = FailModel.fromJson(json.decode(response.body)); _fail = FailModel.fromJson(json.decode(response.body));
...@@ -44,13 +45,11 @@ class Api<T> { ...@@ -44,13 +45,11 @@ class Api<T> {
return result; return result;
} }
Future<Response<T>> getprofile(Object body) async { Future<Response<T>> getprofile(Object body) async {
var _model; var _model;
var _fail; var _fail;
var result; var result;
print("this is body "+body.toString()); print("this is body " + body.toString());
// (body as Map)['lang'] = allTranslations.currentLanguage; // (body as Map)['lang'] = allTranslations.currentLanguage;
await _httpConnection( await _httpConnection(
"${this._baseApi}/customer/info", this._headerApi, body) "${this._baseApi}/customer/info", this._headerApi, body)
...@@ -66,12 +65,43 @@ print("this is body "+body.toString()); ...@@ -66,12 +65,43 @@ print("this is body "+body.toString());
return result; return result;
} }
Future<Response<T>> getNearList(Object body) async{
var _model;
var _fail;
var result;
print("this is body " + body.toString());
// (body as Map)['lang'] = allTranslations.currentLanguage;
await http.get(Uri.encodeFull("https://backend-uat.feelver.com/api/product/getListsStoreFormat?near_location=13.7913772,100.5408628&page=1&is_paginate=1"), headers: this._headerApi ).then((response) {
print("ผลลัพ เท่ากับบบบ2 " + "${response.body}");
print("statusCode=${response.statusCode}");
if (response.statusCode == 200) {
print("INif");
print(json.decode(response.body));
_model = NearMeListModel.fromJson(json.decode(response.body));
} else {
_fail = FailModel.fromJson(json.decode(response.body));
}
print("return");
result = new Response<T>(_model, _fail);
});
return result;
// await _httpConnection(
// "${this._baseApi}product/getListsStoreFormat", this._headerApi, body)
}
Future<Response<T>> editProfile(Object body) async { Future<Response<T>> editProfile(Object body) async {
var _model; var _model;
var _fail; var _fail;
var result; var result;
print("This is body "+body.toString()); print("This is body " + body.toString());
await _httpConnection( await _httpConnection(
"${this._baseApi}/customer/edit", this._headerApi, body) "${this._baseApi}/customer/edit", this._headerApi, body)
.then((response) { .then((response) {
...@@ -85,6 +115,7 @@ print("this is body "+body.toString()); ...@@ -85,6 +115,7 @@ print("this is body "+body.toString());
}); });
return result; return result;
} }
Future<Response<T>> forgetPassword(Object body) async { Future<Response<T>> forgetPassword(Object body) async {
var _model; var _model;
var _fail; var _fail;
...@@ -150,7 +181,7 @@ print("this is body "+body.toString()); ...@@ -150,7 +181,7 @@ print("this is body "+body.toString());
await _httpConnection("${this._baseApi}/category", this._headerApi, body) await _httpConnection("${this._baseApi}/category", this._headerApi, body)
.then((response) { .then((response) {
print("ผลลัพท์ เท่ากับ " "${response.body}"); print("ผลลัพท์ เท่ากับ55555 " "${response.body}");
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);
...@@ -158,6 +189,9 @@ print("this is body "+body.toString()); ...@@ -158,6 +189,9 @@ print("this is body "+body.toString());
print(myData); print(myData);
_model = categoryModel.fromJson(myData); _model = categoryModel.fromJson(myData);
print('myModel ' + _model);
} else { } else {
_fail = FailModel.fromJson(json.decode(response.body)); _fail = FailModel.fromJson(json.decode(response.body));
} }
...@@ -166,22 +200,22 @@ print("this is body "+body.toString()); ...@@ -166,22 +200,22 @@ print("this is body "+body.toString());
return result; return result;
} }
Future<Response<T>> shoplist(Object body) async {
Future<Response<T>> shoplist(Object body) async{
var _model; var _model;
var _fail; var _fail;
var result; var result;
await _httpConnection("${this._baseApi}/store", this._headerApi, body).then((response){ await _httpConnection("${this._baseApi}/store", this._headerApi, body)
.then((response) {
print("ผลลัพท์ เท่ากับ " "${response.body}"); print("ผลลัพท์ เท่ากับ " "${response.body}");
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); // print(myData);
_model = shoplistModel.fromJson(myData); _model = shoplistModel.fromJson(myData);
}else{ } else {
_fail = FailModel.fromJson(json.decode(response.body)); _fail = FailModel.fromJson(json.decode(response.body));
} }
result = new Response<T>(_model, _fail); result = new Response<T>(_model, _fail);
...@@ -189,16 +223,18 @@ print("this is body "+body.toString()); ...@@ -189,16 +223,18 @@ print("this is body "+body.toString());
return result; return result;
} }
Future<Response<T>> shoplistDetail(Object body) async{ Future<Response<T>> shoplistDetail(Object body) async {
var _model; var _model;
var _fail; var _fail;
var result; var result;
await _httpConnection("${this._baseApi}/store/detail", this._headerApi, body).then((response){ await _httpConnection(
"${this._baseApi}/store/detail", this._headerApi, body)
.then((response) {
print("ผลลัพท์ เท่ากับ " "${response.body}"); print("ผลลัพท์ เท่ากับ " "${response.body}");
if(response.statusCode == 200){ if (response.statusCode == 200) {
_model = shoplistdetailModel.fromJson(json.decode(response.body)); _model = shoplistdetailModel.fromJson(json.decode(response.body));
}else{ } else {
_fail = FailModel.fromJson(json.decode(response.body)); _fail = FailModel.fromJson(json.decode(response.body));
} }
result = new Response<T>(_model, _fail); result = new Response<T>(_model, _fail);
......
...@@ -4,7 +4,6 @@ import 'dart:developer'; ...@@ -4,7 +4,6 @@ import 'dart:developer';
import 'package:feelverapp/model/Login/login_model.dart'; import 'package:feelverapp/model/Login/login_model.dart';
import 'package:feelverapp/model/forgetpassword/forgetpassModel.dart'; import 'package:feelverapp/model/forgetpassword/forgetpassModel.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';
...@@ -17,42 +16,24 @@ import 'package:flutter/cupertino.dart'; ...@@ -17,42 +16,24 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:rflutter_alert/rflutter_alert.dart'; import 'package:rflutter_alert/rflutter_alert.dart';
class ForgetPasswordPresenter extends BasePresenter<ForgetPassword> { class ForgetPasswordPresenter extends BasePresenter<ForgetPassword> {
Api _api; Api _api;
Timer _timer; Timer _timer;
final formKey = GlobalKey<FormState>(); final formKey = GlobalKey<FormState>();
TextEditingController emailCtrl = TextEditingController(); TextEditingController emailCtrl = TextEditingController();
ForgetPasswordPresenter(State<ForgetPassword> state) : super(state); ForgetPasswordPresenter(State<ForgetPassword> state) : super(state);
letCheckData() async {
letCheckData() async {
try { try {
if (emailCtrl.text.isEmpty ) throw ('กรุณากรอก\nอีเมล์'); if (emailCtrl.text.isEmpty) throw ('กรุณากรอก\nอีเมล์');
Pattern pattern = Pattern pattern =
r"^[a-zA-Z0-9.a-zA-Z0-9.!#$%&'*+-/=?^_`{|}~]+@[a-zA-Z0-9]+\.[a-zA-Z]+"; r"^[a-zA-Z0-9.a-zA-Z0-9.!#$%&'*+-/=?^_`{|}~]+@[a-zA-Z0-9]+\.[a-zA-Z]+";
RegExp regex = new RegExp(pattern); RegExp regex = new RegExp(pattern);
if (!regex.hasMatch(emailCtrl.text)) if (!regex.hasMatch(emailCtrl.text))
throw ('รูปแบบอีเมล์\nไม่ถูกต้อง'); throw ('รูปแบบอีเมล์\nไม่ถูกต้อง');
else {
else {
await forgetpassrequest(); await forgetpassrequest();
} }
} catch (e) { } catch (e) {
...@@ -60,11 +41,14 @@ else { ...@@ -60,11 +41,14 @@ else {
style: AlertStyle( style: AlertStyle(
animationType: AnimationType.fromTop, animationType: AnimationType.fromTop,
isCloseButton: false, isCloseButton: false,
), ),
context: state.context, context: state.context,
title: '$e', title: '$e',
content: Icon(Icons.warning,color: Colors.orange,size: 80,), content: Icon(
Icons.warning,
color: Colors.orange,
size: 80,
),
buttons: [ buttons: [
DialogButton( DialogButton(
color: Color.fromRGBO(106, 179, 170, 1), color: Color.fromRGBO(106, 179, 170, 1),
...@@ -76,7 +60,6 @@ else { ...@@ -76,7 +60,6 @@ else {
) )
]).show(); ]).show();
} }
} }
forgetpassrequest() async { forgetpassrequest() async {
...@@ -84,30 +67,29 @@ else { ...@@ -84,30 +67,29 @@ else {
_api = Api<FogetPasswordModel>(); _api = Api<FogetPasswordModel>();
var res = await _api.forgetPassword({ var res = await _api.forgetPassword({
"access_type":"mobile", "access_type": "mobile",
"email": emailCtrl.text, "email": emailCtrl.text,
}); });
LoadingView(state.context).hide(); LoadingView(state.context).hide();
if (res.fail == null) { if (res.fail == null) {
Alert( Alert(
style: AlertStyle( style: AlertStyle(
animationType: AnimationType.fromTop, animationType: AnimationType.fromTop,
isCloseButton: false, isCloseButton: false,
), ),
context: state.context, context: state.context,
title: "สำเร็จ\nกรุณาตรวจสอบอีเมล์ของท่าน", title: "สำเร็จ\nกรุณาตรวจสอบอีเมล์ของท่าน",
content: Icon(Icons.check_circle,color: Color.fromRGBO(106, 179, 170, 1),size: 80,), content: Icon(
Icons.check_circle,
color: Color.fromRGBO(106, 179, 170, 1),
size: 80,
),
buttons: [ buttons: [
DialogButton( DialogButton(
color: Color.fromRGBO(106, 179, 170, 1), color: Color.fromRGBO(106, 179, 170, 1),
onPressed: () => onPressed: () => Navigator.pushReplacement(state.context,
Navigator.pushReplacement(state.context, CupertinoPageRoute(builder: (_) => LoginPage())), CupertinoPageRoute(builder: (_) => LoginPage())),
child: Text( child: Text(
"ตกลง", "ตกลง",
style: TextStyle(color: Colors.white, fontSize: 20), style: TextStyle(color: Colors.white, fontSize: 20),
...@@ -115,20 +97,19 @@ Navigator.pushReplacement(state.context, CupertinoPageRoute(builder: (_) => Logi ...@@ -115,20 +97,19 @@ Navigator.pushReplacement(state.context, CupertinoPageRoute(builder: (_) => Logi
) )
]).show(); ]).show();
FogetPasswordModel model = res.success; FogetPasswordModel model = res.success;
} else { } else {
Alert( Alert(
style: AlertStyle( style: AlertStyle(
animationType: AnimationType.fromTop, animationType: AnimationType.fromTop,
isCloseButton: false, isCloseButton: false,
), ),
context: state.context, context: state.context,
title: "อีเมล์\nไม่ถูกต้อง", title: "อีเมล์\nไม่ถูกต้อง",
content: Icon(Icons.warning,color: Colors.orange,size: 80,), content: Icon(
Icons.warning,
color: Colors.orange,
size: 80,
),
buttons: [ buttons: [
DialogButton( DialogButton(
color: Color.fromRGBO(106, 179, 170, 1), color: Color.fromRGBO(106, 179, 170, 1),
...@@ -141,20 +122,4 @@ Navigator.pushReplacement(state.context, CupertinoPageRoute(builder: (_) => Logi ...@@ -141,20 +122,4 @@ Navigator.pushReplacement(state.context, CupertinoPageRoute(builder: (_) => Logi
]).show(); ]).show();
} }
} }
} }
...@@ -424,7 +424,7 @@ class _BookingDetailState extends State<BookingDetail> { ...@@ -424,7 +424,7 @@ class _BookingDetailState extends State<BookingDetail> {
textAlign: TextAlign.left, textAlign: TextAlign.left,
style: TextStyle( style: TextStyle(
color: Colors.black87, color: Colors.black87,
fontSize: SizeConfig.getFontSize(14), fontSize: SizeConfig.getFontSize(20),
fontFamily: "SF_Pro_Text", fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
), ),
......
...@@ -457,7 +457,13 @@ class _BookingFlowState extends State<BookingFlow> { ...@@ -457,7 +457,13 @@ class _BookingFlowState extends State<BookingFlow> {
SizedBox(width: SizeConfig.getWidth(16),), SizedBox(width: SizeConfig.getWidth(16),),
Container( GestureDetector(onTap: (){
setState(() {
print('object');
});
},
child: Container(
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
width: MediaQuery.of(context).size.width / 4, width: MediaQuery.of(context).size.width / 4,
height: SizeConfig.getHeight(50), height: SizeConfig.getHeight(50),
...@@ -482,6 +488,7 @@ class _BookingFlowState extends State<BookingFlow> { ...@@ -482,6 +488,7 @@ class _BookingFlowState extends State<BookingFlow> {
), ),
), ),
), ),
),
SizedBox(width: SizeConfig.getWidth(16),), SizedBox(width: SizeConfig.getWidth(16),),
......
import 'package:feelverapp/ui/booking/booking_detail.dart';
import 'package:feelverapp/ui/booking/bookingflow.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';
...@@ -51,12 +53,12 @@ class _BookingFormState extends State<BookingForm> { ...@@ -51,12 +53,12 @@ class _BookingFormState extends State<BookingForm> {
right: SizeConfig.getPadding(20), right: SizeConfig.getPadding(20),
child: InkWell( child: InkWell(
onTap: () { onTap: () {
// Navigator.push( Navigator.push(
// context, context,
// MaterialPageRoute( MaterialPageRoute(
// builder: (context) => BookingFlow(), builder: (context) => BookingDetail(),
// ), ),
// ); );
}, },
child: Container( child: Container(
// color: Colors.red, // color: Colors.red,
......
...@@ -12,17 +12,16 @@ import 'package:flutter/material.dart'; ...@@ -12,17 +12,16 @@ 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);
HomePage({Key key, this.id, this.image}) : 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 {
HomePresenter presenter; HomePresenter presenter;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
...@@ -31,21 +30,16 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -31,21 +30,16 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
presenter.Listitem(); presenter.Listitem();
// presenter.getid(); // presenter.getid();
presenter.getprofile (); presenter.getprofile();
presenter.Search();
// presenter.Search();
} }
@override @override
void dispose() { void dispose() {
super.dispose(); super.dispose();
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
SizeConfig(context); SizeConfig(context);
...@@ -158,10 +152,10 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -158,10 +152,10 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
height: SizeConfig.getWidth(24), height: SizeConfig.getWidth(24),
), ),
onPressed: () { onPressed: () {
// Navigator.push( Navigator.push(
// context, context,
// MaterialPageRoute(builder: (context) => LoginPage()), MaterialPageRoute(builder: (context) => NearmeList()),
// ); );
}, },
), ),
Text( Text(
...@@ -203,8 +197,14 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -203,8 +197,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(
...@@ -238,13 +238,14 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -238,13 +238,14 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
MaterialPageRoute(builder: (context) => LoginPage()), MaterialPageRoute(builder: (context) => LoginPage()),
); );
}, },
child: presenter.getmodel == null
child: presenter.getmodel==null?Container():Container( ? 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),
...@@ -276,7 +277,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -276,7 +277,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
'SPA', 'SPA',
'99 View',ShopList()), '99 View',
ShopList()),
_listItem( _listItem(
Image.asset( Image.asset(
'assets/images/banner_massage.png', 'assets/images/banner_massage.png',
...@@ -285,7 +287,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -285,7 +287,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
'Massage', 'Massage',
'99 View',NearmeList()), '99 View',
ShopList()),
_listItem( _listItem(
Image.asset( Image.asset(
'assets/images/banner_beauty.png', 'assets/images/banner_beauty.png',
...@@ -294,7 +297,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -294,7 +297,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
'BEAUTY', 'BEAUTY',
'99 View',NearmeList()), '99 View',
ShopList()),
_listItem( _listItem(
Image.asset( Image.asset(
'assets/images/banner_nearme.png', 'assets/images/banner_nearme.png',
...@@ -303,7 +307,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -303,7 +307,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
'NEAR ME', 'NEAR ME',
'99 View',NearmeList()), '99 View',
ShopList()),
_listItem( _listItem(
Image.asset( Image.asset(
'assets/images/banner_promotion.png', 'assets/images/banner_promotion.png',
...@@ -312,7 +317,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -312,7 +317,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
'PROMOTION', 'PROMOTION',
'99 View',NearmeList()), '99 View',
ShopList()),
_listItem( _listItem(
Image.asset( Image.asset(
'assets/images/banner_mostpopular.png', 'assets/images/banner_mostpopular.png',
...@@ -321,7 +327,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -321,7 +327,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
'MOST POPULAR', 'MOST POPULAR',
'99 Vidw',NearmeList()), '99 Vidw',
ShopList()),
_listItem( _listItem(
Image.asset( Image.asset(
'assets/images/banner_recommended.png', 'assets/images/banner_recommended.png',
...@@ -329,8 +336,9 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -329,8 +336,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,
), ),
'RECOMMEND', 'presenter.homemodel.name[0].toString()',
'99 View',NearmeList()), '99 View',
ShopList()),
SizedBox( SizedBox(
height: 30, height: 30,
), ),
......
...@@ -19,7 +19,9 @@ class HomePresenter extends BasePresenter<HomePage> { ...@@ -19,7 +19,9 @@ class HomePresenter extends BasePresenter<HomePage> {
final formkey = GlobalKey<FormState>(); final formkey = GlobalKey<FormState>();
GetprofileModel getmodel; GetprofileModel getmodel;
LoginModel logmodel; LoginModel logmodel;
HomePresenter(State<HomePage> state) : super(state); HomePresenter(State<HomePage> state) : super(state);
categoryModel catmodel;
Listitem() async { Listitem() async {
_api = Api<categoryModel>(); _api = Api<categoryModel>();
...@@ -27,21 +29,25 @@ class HomePresenter extends BasePresenter<HomePage> { ...@@ -27,21 +29,25 @@ class HomePresenter extends BasePresenter<HomePage> {
"access_type": "portal", "access_type": "portal",
}); });
if (res.fail == null) { if (res.fail == null) {
print('res Success'); setState(
() {
catmodel == res.success;
print('res Success' + catmodel.dATA[0].displayName);
},
);
} else { } else {
print('res Fail'); print('res Fail');
} }
} }
Search() async{ Search() async {
_api = Api<SearchhomeModel>(); _api = Api<SearchhomeModel>();
var res = await _api.homesearch({ var res = await _api.homesearch({
"keyword_shop" : "spa", "keyword_shop": "spa",
"lang" : "all", "lang": "all",
"access" : "portal", "access": "portal",
}); });
if (res.fail == null) { if (res.fail == null) {
print('res Success'); print('res Success');
} else { } else {
...@@ -70,28 +76,24 @@ class HomePresenter extends BasePresenter<HomePage> { ...@@ -70,28 +76,24 @@ class HomePresenter extends BasePresenter<HomePage> {
} }
} }
getid() async { getid() async {
SharedPreferences pref = await SharedPreferences.getInstance(); SharedPreferences pref = await SharedPreferences.getInstance();
setState(() {uid =pref.getString('Id');}); setState(() {
uid = pref.getString('Id');
});
return uid; return uid;
} }
getprofile() async {
getprofile() async {
_api = Api<GetprofileModel>(); _api = Api<GetprofileModel>();
var res = await _api.getprofile({ var res = await _api.getprofile({"id": await AccountUtil.getID()});
"id":await AccountUtil.getID()
});
if (res.fail == null) { if (res.fail == null) {
setState(() { setState(() {
getmodel = res.success;}); getmodel = res.success;
print("Hii"+getmodel.result[0].name); });
print("Hii" + getmodel.result[0].name);
} else { } else {
Alert( Alert(
style: AlertStyle( style: AlertStyle(
...@@ -117,6 +119,4 @@ class HomePresenter extends BasePresenter<HomePage> { ...@@ -117,6 +119,4 @@ class HomePresenter extends BasePresenter<HomePage> {
]).show(); ]).show();
} }
} }
} }
import 'package:feelverapp/home_search/searchhomepage_model.dart';
import 'package:feelverapp/model/Login/login_model.dart';
import 'package:feelverapp/model/category/category_model.dart';
import 'package:feelverapp/model/editprofile/getprofilemodel.dart';
import 'package:feelverapp/model/home/home_model.dart';
import 'package:feelverapp/model/nearme/nearme_list_model.dart';
import 'package:feelverapp/service/Loading.dart';
import 'package:feelverapp/service/api.dart';
import 'package:feelverapp/service/base_presenter.dart';
import 'package:feelverapp/ui/home/home.dart';
import 'package:feelverapp/util/Accout_util.dart';
import 'package:flutter/material.dart';
import 'package:rflutter_alert/rflutter_alert.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'near_me_list.dart';
class NearmeListPresenter extends BasePresenter<NearmeList> {
final formkey = GlobalKey<FormState>();
Api _api;
String type = '3';
NearMeListModel getmodel ;
NearmeListPresenter(State<NearmeList> state) : super(state);
getnearme() async {
_api = Api<NearMeListModel>();
var res = await _api.getNearList({});
if(res.fail == null){
if(res.success.status){
setState((){
print("AAAA :${res.success}");
getmodel = res.success;
// print(getmodel.results.data.length);
// print("getmodel" + getmodel[0].results.data[0].storeName);
},);
}
}else{
Alert(
style: AlertStyle(
animationType: AnimationType.fromTop,
isCloseButton: false,
),
context: state.context,
title: "ไม่พบข้อมูล",
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();
}
}
// getnearme() async {
// _api = Api<NearMeListModel>();
//
// var res = await _api.getNearList({});
// print("Hii" + getmodel[0].storeName);
// print("Hii2" + res.success);
//
// if (res.fail == null) {
// setState(() {
// NearMeListModel model = res.success;
//
//// getmodel = 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();
// }
// }
}
...@@ -250,7 +250,7 @@ class _ReserveListState extends State<ReserveList> { ...@@ -250,7 +250,7 @@ class _ReserveListState extends State<ReserveList> {
ClipRRect( ClipRRect(
borderRadius: BorderRadius.circular(50), borderRadius: BorderRadius.circular(50),
child: Image.network( child: Image.network(
'https://scontent.fbkk7-2.fna.fbcdn.net/v/t1.0-9/104204530_3370427592977187_6031309814586327212_o.jpg?_nc_cat=106&_nc_sid=110474&_nc_eui2=AeE2vpoR5NHZLbG8b3YABiSdSsMCoPYM3W1KwwKg9gzdbZuYqR1gPnkW3tGe-TS2Vtphdvn2OuvO2CdDLaCMVvcI&_nc_ohc=T5EK3sWOgtAAX994m4I&_nc_ht=scontent.fbkk7-2.fna&oh=0b3e434546b19e256c07ecd6a4d499fb&oe=5F098A94', 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/80389874_111678823672376_4074351232779550720_n.jpg?_nc_cat=103&_nc_sid=dd9801&_nc_eui2=AeHBe_c_AYOcX30ES1cQGlcXShc5ivTsjQtKFzmK9OyNCwzw_ntkQ5eSPr8UZ-yqpKcklZYNfzdU055U-vGIFozt&_nc_ohc=Wgu6buTE8ecAX9S-qj3&_nc_ht=scontent.fbkk6-2.fna&oh=30e01e7bcf2f81cf48e95d7a512f4110&oe=5F580EF5',
width: 85.0, width: 85.0,
height: 85.0, height: 85.0,
fit: BoxFit.cover, fit: BoxFit.cover,
......
import 'package:html/parser.dart' as htmlParser;
class Util {
static removeHTMLTag(String html){
return htmlParser.parse(html).documentElement.text;
}
}
\ No newline at end of file
# Generated by pub # Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile # See https://dart.dev/tools/pub/glossary#lockfile
packages: packages:
archive:
dependency: transitive
description:
name: archive
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.13"
args:
dependency: transitive
description:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.0"
async: async:
dependency: transitive dependency: transitive
description: description:
name: async name: async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.4.1" version: "2.4.2"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
...@@ -29,6 +15,13 @@ packages: ...@@ -29,6 +15,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.0"
characters:
dependency: transitive
description:
name: characters
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
charcode: charcode:
dependency: transitive dependency: transitive
description: description:
...@@ -36,27 +29,27 @@ packages: ...@@ -36,27 +29,27 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.3" version: "1.1.3"
collection: clock:
dependency: transitive dependency: transitive
description: description:
name: collection name: clock
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.14.12" version: "1.0.1"
convert: collection:
dependency: transitive dependency: transitive
description: description:
name: convert name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "1.14.13"
crypto: csslib:
dependency: transitive dependency: transitive
description: description:
name: crypto name: csslib
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.4" version: "0.16.2"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
...@@ -64,6 +57,20 @@ packages: ...@@ -64,6 +57,20 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.3"
date_format:
dependency: "direct main"
description:
name: date_format
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.8"
fake_async:
dependency: transitive
description:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
file: file:
dependency: transitive dependency: transitive
description: description:
...@@ -100,13 +107,20 @@ packages: ...@@ -100,13 +107,20 @@ packages:
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
html:
dependency: "direct main"
description:
name: html
url: "https://pub.dartlang.org"
source: hosted
version: "0.14.0+3"
http: http:
dependency: "direct main" dependency: "direct main"
description: description:
name: http name: http
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.12.1" version: "0.12.2"
http_parser: http_parser:
dependency: transitive dependency: transitive
description: description:
...@@ -114,20 +128,13 @@ packages: ...@@ -114,20 +128,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.1.4" version: "3.1.4"
image:
dependency: transitive
description:
name: image
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.12"
image_cropper: image_cropper:
dependency: "direct main" dependency: "direct main"
description: description:
name: image_cropper name: image_cropper
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.3" version: "1.3.0"
image_picker: image_picker:
dependency: "direct main" dependency: "direct main"
description: description:
...@@ -169,7 +176,7 @@ packages: ...@@ -169,7 +176,7 @@ packages:
name: matcher name: matcher
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.12.6" version: "0.12.8"
meta: meta:
dependency: transitive dependency: transitive
description: description:
...@@ -183,7 +190,7 @@ packages: ...@@ -183,7 +190,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.6.4" version: "1.7.0"
path_provider_linux: path_provider_linux:
dependency: transitive dependency: transitive
description: description:
...@@ -204,21 +211,21 @@ packages: ...@@ -204,21 +211,21 @@ packages:
name: pedantic name: pedantic
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0+1" version: "1.9.0"
petitparser: platform:
dependency: transitive dependency: transitive
description: description:
name: petitparser name: platform
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.4.0" version: "2.2.1"
platform: platform_detect:
dependency: transitive dependency: transitive
description: description:
name: platform name: platform_detect
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.1" version: "1.4.0"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
...@@ -233,13 +240,13 @@ packages: ...@@ -233,13 +240,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.13" version: "3.0.13"
quiver: pub_semver:
dependency: transitive dependency: transitive
description: description:
name: quiver name: pub_semver
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.3" version: "1.4.4"
rflutter_alert: rflutter_alert:
dependency: "direct main" dependency: "direct main"
description: description:
...@@ -300,7 +307,7 @@ packages: ...@@ -300,7 +307,7 @@ packages:
name: stack_trace name: stack_trace
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.9.3" version: "1.9.5"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
...@@ -328,14 +335,49 @@ packages: ...@@ -328,14 +335,49 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.2.15" version: "0.2.17"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
name: typed_data name: typed_data
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.6" version: "1.2.0"
url_launcher:
dependency: "direct main"
description:
name: url_launcher
url: "https://pub.dartlang.org"
source: hosted
version: "5.5.0"
url_launcher_linux:
dependency: transitive
description:
name: url_launcher_linux
url: "https://pub.dartlang.org"
source: hosted
version: "0.0.1+1"
url_launcher_macos:
dependency: transitive
description:
name: url_launcher_macos
url: "https://pub.dartlang.org"
source: hosted
version: "0.0.1+7"
url_launcher_platform_interface:
dependency: transitive
description:
name: url_launcher_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.7"
url_launcher_web:
dependency: transitive
description:
name: url_launcher_web
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.2"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
...@@ -350,13 +392,6 @@ packages: ...@@ -350,13 +392,6 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.0" version: "0.1.0"
xml:
dependency: transitive
description:
name: xml
url: "https://pub.dartlang.org"
source: hosted
version: "3.6.1"
sdks: sdks:
dart: ">=2.6.0 <3.0.0" dart: ">=2.9.0-14.0.dev <3.0.0"
flutter: ">=1.12.13+hotfix.5 <2.0.0" flutter: ">=1.12.13+hotfix.5 <2.0.0"
...@@ -31,6 +31,9 @@ dependencies: ...@@ -31,6 +31,9 @@ dependencies:
rflutter_alert: ^1.0.3 rflutter_alert: ^1.0.3
shared_preferences: ^0.5.6+1 shared_preferences: ^0.5.6+1
loadmore: ^1.0.4 loadmore: ^1.0.4
html: ^0.14.0+3
url_launcher: ^5.4.2
date_format: ^1.0.8
dev_dependencies: dev_dependencies:
......
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