79bb411d
Geoffrey PREUD'HOMME
Possibilité de se...
|
1
2
3
4
5
6
7
8
9
10
11
|
// Constantes
var JETON_TAILLE = 30 // Taille d'un jeton
var JETON_DUREE = 10*60 // Temps de validité du jeton en secondes
var TRANSACTION_CREATION = 1
var TRANSACTION_RECHARGEMENT = 2
var TRANSACTION_PAIEMENT = 3
var TRANSACTION_VIDANGE = 4
var TRANSACTION_DUREE = 60
|
344a37ad
Geoffrey PREUD'HOMME
Création de clients
|
12
13
|
var PEUT_NFC = false
|
07329faa
Geoffrey PREUD'HOMME
Simplification de...
|
14
|
// Préparation de l'interactivité
|
bf26706c
Geoffrey PREUD'HOMME
Écran principal
|
15
16
17
|
$(function(){
$('.button-collapse').sideNav();
$('.modal-trigger').leanModal()
|
07329faa
Geoffrey PREUD'HOMME
Simplification de...
|
18
|
$('form').submit(function() { return false });
|
4525b510
Geoffrey PREUD'HOMME
Des trucs useless
|
19
|
$('[name=idCarte]').characterCounter();
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
20
|
});
|
bf26706c
Geoffrey PREUD'HOMME
Écran principal
|
21
|
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
22
|
// Application
|
79bb411d
Geoffrey PREUD'HOMME
Possibilité de se...
|
23
|
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
24
25
26
|
var app = new Vue({
el: 'body',
data: {
|
344a37ad
Geoffrey PREUD'HOMME
Création de clients
|
27
28
29
|
// Constantes
PEUT_NFC: PEUT_NFC,
// Affichage
|
e5e2f19a
Geoffrey PREUD'HOMME
Mutli-pages
|
30
|
page: 'connexion',
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
31
32
|
erreurTitre: '',
erreurMessage: '',
|
344a37ad
Geoffrey PREUD'HOMME
Création de clients
|
33
34
|
// Session
connecte: false,
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
35
36
37
38
39
40
41
42
43
|
date: 1,
},
methods: {
// API
apiBrute: function(chemin, donnees, cb) {
$.post('api/' + chemin, donnees, function(data) {
cb(data['status'], data);
})
},
|
344a37ad
Geoffrey PREUD'HOMME
Création de clients
|
44
45
46
47
|
api: function(chemin, donnees, cb) {
donnees['jeton'] = this.jeton
this.apiBrute(chemin, donnees, cb)
},
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
48
49
50
51
52
53
54
55
56
57
58
|
// Affichage
toast: function(texte) {
Materialize.toast(texte, 4000);
},
erreur: function(retour, donnees) {
this.erreurTitre = retour
this.erreurMessage = donnees['message']
$("#modalErreur").openModal();
},
// Fonctionnement
connecter: function() {
|
07329faa
Geoffrey PREUD'HOMME
Simplification de...
|
59
|
console.log(57)
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
60
61
62
63
64
65
66
67
68
|
var that = this;
this.apiBrute("utilisateur/connexion", {login: this.login , mdp: this.mdp} , function(retour, donnees) {
that.mdp = ''
switch(retour) {
case "ok":
that.login = donnees.login
that.droit = donnees.droit
that.jeton = donnees.jeton
that.connecte = that.date
|
e5e2f19a
Geoffrey PREUD'HOMME
Mutli-pages
|
69
70
|
that.toast("Correctement identifié en tant que " + that.login + " pour " + JETON_DUREE/60+ " minutes")
that.page = 'operations'
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
71
|
break;
|
79bb411d
Geoffrey PREUD'HOMME
Possibilité de se...
|
72
|
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
73
74
75
|
case "identifiants_invalides":
that.toast("Identifiants invalides")
break;
|
79bb411d
Geoffrey PREUD'HOMME
Possibilité de se...
|
76
|
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
77
78
79
80
81
|
default:
that.erreur(retour, donnees);
break;
}
})
|
07329faa
Geoffrey PREUD'HOMME
Simplification de...
|
82
|
return false
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
83
|
},
|
344a37ad
Geoffrey PREUD'HOMME
Création de clients
|
84
|
creer: function() {
|
344a37ad
Geoffrey PREUD'HOMME
Création de clients
|
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
var that = this
this.api("client/ajouter", {idCarte: this.idCarte, solde: this.solde}, function(retour, donnees) {
switch(retour) {
case "ok":
that.toast("Client " + that.idCarte + " crée avec un solde de " + that.solde + " €")
break;
case "solde_negatif":
that.toast("Solde négatif")
break;
default:
that.erreur(retour, donnees);
break;
}
});
}
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
102
103
|
},
computed: {
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
104
105
|
timer: function() {
var secondes = this.connecte + JETON_DUREE - this.date
|
e5e2f19a
Geoffrey PREUD'HOMME
Mutli-pages
|
106
107
108
|
var minutes = Math.floor(secondes/60)
var secondes = secondes % 60
return minutes + ':' + (secondes < 10 ? '0' : '') + secondes
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
109
110
111
|
}
},
})
|
79bb411d
Geoffrey PREUD'HOMME
Possibilité de se...
|
112
|
|
2146d35a
Geoffrey PREUD'HOMME
Vue interactive
|
113
114
115
|
setInterval(function actualiserDate() {
app.$data.date = Math.floor(Date.now()/1000)
}, 1000);
|
79bb411d
Geoffrey PREUD'HOMME
Possibilité de se...
|
116
|
|
79bb411d
Geoffrey PREUD'HOMME
Possibilité de se...
|
117
118
|
// Placeholder
|
bf26706c
Geoffrey PREUD'HOMME
Écran principal
|
119
120
121
122
123
124
125
126
127
128
|
function vendu() {
var interieur = $("<span>").text("Vendu 1 bière à KAE1EET2YI (15,30 € → 13,50 €) ").append(
$("<a>").attr("href", "#!").text("Annuler")
);
Materialize.toast(interieur, 4000);
}
function soldeInsuffisant() {
$("#soldeInsuffisant").openModal();
}
|
79bb411d
Geoffrey PREUD'HOMME
Possibilité de se...
|
|
|