import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:sefer_admin1/constant/links.dart'; import 'package:sefer_admin1/controller/functions/crud.dart'; import '../../constant/api_key.dart'; import '../../constant/box_name.dart'; import '../../main.dart'; import '../../print.dart'; class DashboardController extends GetxController { bool isLoading = false; List dashbord = []; String creditSMS = '0'; final formKey = GlobalKey(); final smsText = TextEditingController(); // Future getDashBoard() async { // isLoading = true; // update(); // var res = await CRUD().get(link: AppLink.getdashbord, payload: {}); // if (res != 'failure') { // var d = jsonDecode(res); // Log.print('d: ${d}'); // dashbord = d['message']; // isLoading = false; // update(); // } // var res2 = await CRUD().kazumiSMS( // link: 'https://sms.kazumi.me/api/sms/check-credit', // payload: {"username": "Sefer", "password": AK.smsPasswordEgypt}, // ); // creditSMS = res2['credit']; // Log.print(' res2[credit]: ${res2['credit']}'); // Log.print('creditSMS: ${creditSMS}'); // update(); // } Future getDashBoard() async { isLoading = true; update(); // الطلب من السيرفر الرئيسي var res = await CRUD().get(link: AppLink.getdashbord, payload: {}); if (res != 'failure') { var d = jsonDecode(res); // Log.print('d: ${d}'); dashbord = d['message']; // هذا عبارة عن List } // الطلب من سيرفر المحافظ var resPayments = await CRUD().postWallet( link: AppLink.getPaymentsDashboard, payload: {}, ); if (resPayments != 'failure') { var p = resPayments; // Log.print('p: ${p}'); // نتأكد أن الكل Map بداخل List if (dashbord.isNotEmpty && p['message'] is List && p['message'].isNotEmpty) { dashbord[0].addAll(p['message'][0]); // ندمج المعلومات داخل نفس الـ Map } } // كريدت الرسائل var res2 = await CRUD().kazumiSMS( link: 'https://sms.kazumi.me/api/sms/check-credit', payload: {"username": "Sefer", "password": AK.smsPasswordEgypt}, ); creditSMS = res2['credit']; Log.print(' res2[credit]: ${res2['credit']}'); Log.print('creditSMS: ${creditSMS}'); isLoading = false; update(); } sendSMSMethod() async { if (formKey.currentState!.validate()) { for (var phoneNumber in box.read(BoxName.tokensDrivers)['message']) { // for (var i = 0; i < 2; i++) { await CRUD().sendSmsEgypt( phoneNumber['phone'].toString(), // box.read(BoxName.tokensDrivers)['message'][i]['phone'].toString(), smsText.text, ); // Log.print('CRUD().phoneDriversTest.: ${phoneNumber['phone']}'); Future.delayed(const Duration(microseconds: 20)); } Get.back(); } } @override void onInit() async { getDashBoard(); super.onInit(); } }