Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
Q
queue_flutter
Project
Project
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
Ernanda
queue_flutter
Commits
5348844d
Commit
5348844d
authored
Mar 02, 2022
by
valdi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix splash
parent
123b7f72
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
110 additions
and
20 deletions
+110
-20
api.dart
lib/api.dart
+24
-4
config.dart
lib/helper/config.dart
+19
-9
main_page.dart
lib/main_page.dart
+3
-3
config.dart
lib/models/config.dart
+24
-0
splash.dart
lib/splash.dart
+40
-4
No files found.
lib/api.dart
View file @
5348844d
...
...
@@ -3,6 +3,7 @@ import 'dart:convert';
import
'package:http/http.dart'
as
http
;
import
'package:manager_queue/helper/config.dart'
;
import
'package:manager_queue/models/queue.dart'
;
import
'package:manager_queue/models/config.dart'
;
import
'package:flutter/material.dart'
;
class
ApiQueue
{
...
...
@@ -12,10 +13,10 @@ class ApiQueue {
ApiQueue
(
this
.
id
,
this
.
queue_number
,
this
.
status
);
factory
ApiQueue
.
createQueue
(
Map
<
String
,
dynamic
>
json
)
{
return
ApiQueue
(
json
[
'id'
].
toString
(),
json
[
'queue_number'
].
toString
(),
json
[
'status'
].
toString
());
}
//
factory ApiQueue.createQueue(Map<String, dynamic> json) {
//
return ApiQueue(json['id'].toString(), json['queue_number'].toString(),
//
json['status'].toString());
//
}
static
Future
<
List
<
OrderQueue
>>
getQueue
()
async
{
String
apiUrl
=
apiUrlQueue
;
...
...
@@ -34,4 +35,23 @@ class ApiQueue {
return
queues
;
}
static
Future
<
List
<
ConfigApl
>>
getConfig
()
async
{
String
apiUrl
=
apiUrlConfig
;
// print("apiUrl dalam getConfig: " + apiUrl);
List
<
ConfigApl
>
configs
=
[];
try
{
var
apiResult
=
await
http
.
get
(
Uri
.
parse
(
apiUrl
));
var
jsonObject
=
jsonDecode
(
apiResult
.
body
);
List
<
dynamic
>
listConfig
=
(
jsonObject
as
Map
<
dynamic
,
dynamic
>)[
'data'
];
for
(
int
i
=
0
;
i
<
listConfig
.
length
;
i
++)
{
configs
.
add
(
ConfigApl
.
createConfig
(
listConfig
[
i
]));
}
// ignore: empty_catches
}
catch
(
e
)
{
print
(
"Errornya pada api.dart config:
$e
"
);
}
return
configs
;
}
}
lib/helper/config.dart
View file @
5348844d
import
'package:manager_queue/main.dart'
;
import
'package:mqtt_client/mqtt_browser_client.dart'
;
import
'dart:convert'
;
final
String
?
baseUrls
=
prefs
.
getString
(
'base_url'
);
final
String
?
mqqtIdentifiers
=
prefs
.
getString
(
'uuid'
);
final
String
mqqtIdentifier
=
mqqtIdentifiers
!;
final
String
baseUrl
=
baseUrls
!;
final
String
apiUrlQueue
=
baseUrl
+
"api/getqueue"
;
final
String
apiUrlUpdate
=
baseUrl
+
"api/updatequeue"
;
final
String
apiUrlClear
=
baseUrl
+
"api/clearqueue"
;
const
String
mqttUrl
=
"ws://dev.ravku.com"
;
const
String
queueTopic
=
"queuetest/1"
;
const
String
queueMessage
=
"updateApi"
;
const
int
mqttPort
=
1883
;
final
String
baseUrlApi
=
baseUrls
!;
final
String
apiUrlQueue
=
baseUrlApi
+
"api/getqueue"
;
final
String
apiUrlUpdate
=
baseUrlApi
+
"api/updatequeue"
;
final
String
apiUrlClear
=
baseUrlApi
+
"api/clearqueue"
;
final
String
apiUrlConfig
=
baseUrlApi
+
"api/getconfig"
;
// const String apiConfig = "api/getconfig";
final
String
?
mqttUrls
=
prefs
.
getString
(
'mqtt_url'
);
final
String
mqttUrl
=
mqttUrls
!;
final
String
?
queueTopics
=
prefs
.
getString
(
'mqtt_queue_topic'
);
final
String
queueTopic
=
queueTopics
!;
final
String
?
queueMessages
=
prefs
.
getString
(
'mqtt_queue_message'
);
final
String
queueMessage
=
queueMessages
!;
final
int
?
mqttPorts
=
prefs
.
getInt
(
'mqtt_port'
);
final
int
mqttPort
=
mqttPorts
!;
final
mqClient
=
MqttBrowserClient
(
mqttUrl
,
""
);
lib/main_page.dart
View file @
5348844d
...
...
@@ -42,7 +42,7 @@ class _MainPageState extends State<MainPage> {
}
context
.
read
<
QueueCubit
>().
getData
();
context
.
read
<
ReadyCubit
>().
getData
();
const
pubTopic
=
queueTopic
;
final
pubTopic
=
queueTopic
;
final
builder
=
MqttClientPayloadBuilder
();
builder
.
addString
(
queueMessage
);
mqClient
.
publishMessage
(
pubTopic
,
MqttQos
.
exactlyOnce
,
builder
.
payload
!);
...
...
@@ -64,7 +64,7 @@ class _MainPageState extends State<MainPage> {
}
context
.
read
<
ReadyCubit
>().
getData
();
context
.
read
<
QueueCubit
>().
getData
();
const
pubTopic
=
queueTopic
;
final
pubTopic
=
queueTopic
;
final
builder
=
MqttClientPayloadBuilder
();
builder
.
addString
(
queueMessage
);
mqClient
.
publishMessage
(
pubTopic
,
MqttQos
.
exactlyOnce
,
builder
.
payload
!);
...
...
@@ -93,7 +93,7 @@ class _MainPageState extends State<MainPage> {
// }
}
context
.
read
<
ReadyCubit
>().
getData
();
const
pubTopic
=
queueTopic
;
final
pubTopic
=
queueTopic
;
final
builder
=
MqttClientPayloadBuilder
();
builder
.
addString
(
queueMessage
);
mqClient
.
publishMessage
(
pubTopic
,
MqttQos
.
exactlyOnce
,
builder
.
payload
!);
...
...
lib/models/config.dart
0 → 100644
View file @
5348844d
// ignore_for_file: non_constant_identifier_names
class
ConfigApl
{
final
String
mqtt_url
;
final
int
mqtt_port
;
final
String
mqtt_queue_topic
;
final
String
mqtt_queue_message
;
ConfigApl
({
required
this
.
mqtt_url
,
required
this
.
mqtt_port
,
required
this
.
mqtt_queue_topic
,
required
this
.
mqtt_queue_message
,
});
factory
ConfigApl
.
createConfig
(
Map
<
String
,
dynamic
>
json
)
{
return
ConfigApl
(
mqtt_url:
json
[
'mqtt_url'
],
mqtt_port:
json
[
'mqtt_port'
],
mqtt_queue_topic:
json
[
'mqtt_queue_topic'
],
mqtt_queue_message:
json
[
'mqtt_queue_message'
],
);
}
}
lib/splash.dart
View file @
5348844d
// ignore_for_file: unused_import
import
'dart:convert'
;
import
'dart:io'
;
...
...
@@ -5,6 +7,7 @@ import 'package:flutter/material.dart';
import
'package:flutter_bloc/flutter_bloc.dart'
;
import
'package:loading_animations/loading_animations.dart'
;
import
'package:manager_queue/models/queue.dart'
;
import
'package:manager_queue/models/config.dart'
;
import
'package:mqtt_client/mqtt_client.dart'
;
import
'package:manager_queue/api.dart'
;
import
'package:manager_queue/bloc/queue_bloc.dart'
;
...
...
@@ -24,6 +27,19 @@ class Splash extends StatefulWidget {
}
class
_SplashState
extends
State
<
Splash
>
{
Future
<
List
<
ConfigApl
>>
config
({
url
=
""
})
async
{
// String? base_urlapi = prefs.getString('base_url');
List
<
ConfigApl
>
apiConfigs
=
[];
try
{
var
apiConfig
=
await
ApiQueue
.
getConfig
();
apiConfigs
=
apiConfig
;
}
catch
(
e
)
{
print
(
"Error pada splash
$e
"
);
}
return
apiConfigs
;
}
Future
<
String
>
loadBaseUrl
()
async
{
String
data
=
await
bundel_root
.
rootBundle
.
loadString
(
'baseurl.json'
);
return
jsonDecode
(
data
)[
'base_url'
].
toString
();
...
...
@@ -100,11 +116,31 @@ class _SplashState extends State<Splash> {
void
initState
()
{
loadBaseUrl
().
then
((
value
)
async
{
await
prefs
.
setString
(
'base_url'
,
value
);
await
prefs
.
setString
(
'uuid'
,
uuidUnique
.
v4
());
runMqTT
();
Future
.
delayed
(
const
Duration
(
seconds:
3
),
()
{
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
_
)
=>
MainPage
()));
print
(
value
);
// await prefs.setString('uuid', uuidUnique.v4());
// await prefs.setString('mqtt_url', value[0].mqtt_url);
// await prefs.setInt('mqtt_port', value[0].mqtt_port);
// await prefs.setString('mqtt_queue_topic', value[0].mqtt_queue_topic);
// await prefs.setString('mqtt_queue_message', value[0].mqtt_queue_message);
config
(
url:
value
).
then
((
value
)
async
{
await
prefs
.
setString
(
'mqtt_url'
,
value
[
0
].
mqtt_url
);
await
prefs
.
setInt
(
'mqtt_port'
,
value
[
0
].
mqtt_port
);
await
prefs
.
setString
(
'mqtt_queue_topic'
,
value
[
0
].
mqtt_queue_topic
);
await
prefs
.
setString
(
'mqtt_queue_message'
,
value
[
0
].
mqtt_queue_message
);
await
prefs
.
setString
(
'uuid'
,
uuidUnique
.
v4
());
runMqTT
();
Future
.
delayed
(
const
Duration
(
seconds:
3
),
()
{
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
_
)
=>
MainPage
()));
});
});
// runMqTT();
// Future.delayed(const Duration(seconds: 3), () {
// Navigator.push(context, MaterialPageRoute(builder: (_) => MainPage()));
// });
});
super
.
initState
();
...
...
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