Update: 2026-06-12 20:40:40
This commit is contained in:
@@ -17,9 +17,9 @@ import '../functions/encrypt_decrypt.dart';
|
||||
|
||||
class OtpHelper extends GetxController {
|
||||
static final String _sendOtpUrl =
|
||||
'${AppLink.server}/Admin/auth/send_otp_admin.php';
|
||||
'${AppLink.server}/auth/otp/request.php';
|
||||
static final String _verifyOtpUrl =
|
||||
'${AppLink.server}/Admin/auth/verify_otp_admin.php';
|
||||
'${AppLink.server}/auth/otp/verify.php';
|
||||
static final String _checkAdminLogin =
|
||||
'${AppLink.server}/Admin/auth/login.php';
|
||||
|
||||
@@ -29,7 +29,7 @@ class OtpHelper extends GetxController {
|
||||
// await CRUD().getJWT();
|
||||
final response = await CRUD().post(
|
||||
link: _sendOtpUrl,
|
||||
payload: {'receiver': phoneNumber},
|
||||
payload: {'receiver': phoneNumber, 'user_type': 'admin'},
|
||||
);
|
||||
// Log.print('_sendOtpUrl: ${_sendOtpUrl}');
|
||||
// Log.print('response: ${response}');
|
||||
@@ -54,8 +54,9 @@ class OtpHelper extends GetxController {
|
||||
link: _verifyOtpUrl,
|
||||
payload: {
|
||||
'phone_number': phoneNumber,
|
||||
'otp': otp,
|
||||
'device_number': box.read(BoxName.fingerPrint)
|
||||
'token_code': otp,
|
||||
'user_type': 'admin',
|
||||
'device_number': box.read(BoxName.fingerPrint) ?? ''
|
||||
},
|
||||
);
|
||||
|
||||
@@ -79,7 +80,7 @@ class OtpHelper extends GetxController {
|
||||
}
|
||||
|
||||
/// تسجيل الدخول بكلمة المرور والبصمة
|
||||
Future<bool> loginWithPassword(String password) async {
|
||||
Future<bool> loginWithPassword(String password, [String phone = '']) async {
|
||||
try {
|
||||
final fingerprint = box.read(BoxName.fingerPrint);
|
||||
final response = await CRUD().post(
|
||||
@@ -87,6 +88,7 @@ class OtpHelper extends GetxController {
|
||||
payload: {
|
||||
'fingerprint': fingerprint,
|
||||
'password': password,
|
||||
'phone': phone,
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
61
siro_admin/lib/controller/auth/register_controller.dart
Normal file
61
siro_admin/lib/controller/auth/register_controller.dart
Normal file
@@ -0,0 +1,61 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:siro_admin/constant/links.dart';
|
||||
import 'package:siro_admin/controller/functions/crud.dart';
|
||||
import 'package:siro_admin/main.dart'; // للوصول لـ box
|
||||
|
||||
class AdminRegisterController extends GetxController {
|
||||
final nameCtrl = TextEditingController();
|
||||
final phoneCtrl = TextEditingController();
|
||||
final passCtrl = TextEditingController();
|
||||
final formKey = GlobalKey<FormState>();
|
||||
|
||||
var isLoading = false.obs;
|
||||
|
||||
Future<void> register() async {
|
||||
if (!formKey.currentState!.validate()) return;
|
||||
|
||||
isLoading.value = true;
|
||||
try {
|
||||
// جلب البصمة، وإذا لم تكن موجودة يمكن محاولة توليدها أو طلبها
|
||||
String fingerprint = box.read('fingerprint') ?? '';
|
||||
|
||||
final response = await CRUD().post(
|
||||
link: '${AppLink.server}/Admin/auth/register.php',
|
||||
payload: {
|
||||
'name': nameCtrl.text.trim(),
|
||||
'phone': phoneCtrl.text.trim(),
|
||||
'password': passCtrl.text.trim(),
|
||||
'fingerprint': fingerprint,
|
||||
},
|
||||
);
|
||||
|
||||
if (response != 'failure') {
|
||||
if (response['status'] == 'pending') {
|
||||
Get.snackbar('نجاح', response['message'] ?? 'تم تقديم الطلب بنجاح',
|
||||
backgroundColor: Colors.green.withOpacity(0.8),
|
||||
colorText: Colors.white);
|
||||
Future.delayed(const Duration(seconds: 2), () => Get.back());
|
||||
} else {
|
||||
Get.snackbar('خطأ', 'حدث خطأ غير متوقع',
|
||||
backgroundColor: Colors.red.withOpacity(0.8),
|
||||
colorText: Colors.white);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
Get.snackbar('خطأ', 'فشل في الاتصال بالخادم',
|
||||
backgroundColor: Colors.red.withOpacity(0.8),
|
||||
colorText: Colors.white);
|
||||
} finally {
|
||||
isLoading.value = false;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
nameCtrl.dispose();
|
||||
phoneCtrl.dispose();
|
||||
passCtrl.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user