83 lines
2.8 KiB
Dart
83 lines
2.8 KiB
Dart
import 'dart:convert';
|
|
import 'package:gainer_crypto/crypto.dart';
|
|
import 'package:http/http.dart' as http;
|
|
import 'package:intl/intl.dart';
|
|
|
|
class MainControllers{
|
|
encrypt(String senhaDigitada,String senhaUsuario) {
|
|
// Deixa e senha digitada em maiuscula
|
|
var senha = senhaDigitada.toUpperCase();
|
|
// Faz a criptografia da senha inserida
|
|
String senhaMD5 = grHashString(GRCryptoType.md5, senha);
|
|
// Retira o tipo (1, 2 ou 3) da senha do Usuário
|
|
int tipo = int.parse(senhaUsuario.substring(0, 1));
|
|
// Define a possição inicial da quebra da senha
|
|
int posicaoInicialMin = 0;
|
|
int posicaoInicialMax= 0;
|
|
int posicaoFinalMin = 0;
|
|
int posicaoFinalMax = 0;
|
|
// Pra cada tipo (1, 2 ou 3) define a posição inicial da quebra da senha
|
|
if(tipo == 1){
|
|
posicaoInicialMin = 0;
|
|
posicaoInicialMax = 16;
|
|
posicaoFinalMin = 16;
|
|
posicaoFinalMax = 32;
|
|
} else if(tipo == 2){
|
|
posicaoInicialMin = 16;
|
|
posicaoInicialMax = 32;
|
|
posicaoFinalMin = 0;
|
|
posicaoFinalMax = 16;
|
|
} else if(tipo == 3){
|
|
posicaoInicialMin = 0;
|
|
posicaoInicialMax = 1;
|
|
posicaoFinalMin = 31;
|
|
posicaoFinalMax = 32;
|
|
}
|
|
|
|
String inicio = senhaMD5.substring(posicaoInicialMin, posicaoInicialMax);
|
|
String fim = senhaMD5.substring(posicaoFinalMin, posicaoFinalMax);
|
|
|
|
// Faz a criptografia e concatena ela com sha1 e md5
|
|
String senhaCriptogradafa = tipo.toString() + '\$'+ grHashString(GRCryptoType.sha1, inicio + senha + fim);
|
|
// Retorna a senha criptografada
|
|
return senhaCriptogradafa;
|
|
}
|
|
salvarLog(String TELA,List dados)async{
|
|
final url = '${dados[2]}/log';
|
|
// print('dados');
|
|
// print(widget.estudanteModelo.dados);
|
|
final response = await http.post(
|
|
Uri.parse(url),
|
|
body:{
|
|
'DATA' : DateFormat('dd/MM/yyyy HH:mm').format(DateTime.now()),
|
|
'TELA' : TELA,
|
|
'CD_USUARIO' : dados[5],
|
|
'NO_USUARIO': dados[1],
|
|
'CD_ALUNO': dados[6],
|
|
'NO_ALUNO': '',
|
|
'CIDADE' : dados[0],
|
|
'SISTEMA' : 'PROFESSORES'
|
|
}
|
|
);
|
|
|
|
print('response : ${response.body}');
|
|
}
|
|
Future<int> pegarAno(String urlAPI,String cidade)async{
|
|
final url = '$urlAPI/mostrar_boletim?ANO=${DateTime.now().year}&CIDADE=$cidade';
|
|
print(url);
|
|
final response = await http.get(Uri.parse(url));
|
|
var map = json.decode(response.body);
|
|
String data = map[0]['DT_INICIAL'];
|
|
DateTime dataInicial = DateTime.parse(data);
|
|
// print(dataInicial);
|
|
// print(DateTime.now());
|
|
// print((DateTime.now().difference(dataInicial).inDays).toInt());
|
|
if(DateTime.now().difference(dataInicial).inDays>=0){
|
|
print('exibir ano atual');
|
|
return DateTime.now().year;
|
|
}else{
|
|
print('exibir ano anterior');
|
|
return DateTime.now().year-1;
|
|
}
|
|
}
|
|
} |