نسخة كاملة من مستودع سيرو عند ecfe7568 لتكون أساس تطبيق «انطلق». نُسخ المتعقَّب في git فقط (12,509 ملفاً / 302 م.ب) بـ git archive، لا `cp -r` — فاستُثنيت تلقائياً مخلفات البناء (build · node_modules · .dart_tool · .gradle · Pods ≈ 10.7 غ.ب) وكل ما يستثنيه .gitignore. هذا الكوميت **بلا أي تعديل عمداً** حتى يكون كل ما يليه فرقاً مقروءاً مقابل سيرو الأصلي. سيرو نفسه لم يُمسّ. ⚠️ لا يبني بعد: `.env` و`lib/env/env.g.dart` غير متعقَّبين في سيرو (وهذا صحيح — أسرار لكل مستأجر). كل تطبيق فلاتر هنا يحتاج .env خاصاً بانطلق ثم توليد env.g.dart عبر build_runner. لا تُنسخ أسرار سيرو. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
39 lines
1.0 KiB
Dart
Executable File
39 lines
1.0 KiB
Dart
Executable File
import 'dart:convert';
|
|
|
|
import 'package:siro_driver/views/widgets/error_snakbar.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:http/http.dart' as http;
|
|
|
|
import '../../constant/box_name.dart';
|
|
import '../../constant/links.dart';
|
|
import '../../main.dart';
|
|
|
|
class TokenController extends GetxController {
|
|
bool isloading = false;
|
|
|
|
Future addToken() async {
|
|
String? basicAuthCredentials =
|
|
await storage.read(key: BoxName.basicAuthCredentials);
|
|
isloading = true;
|
|
update();
|
|
var res = await http.post(
|
|
Uri.parse(AppLink.addTokens),
|
|
headers: {
|
|
'Authorization':
|
|
'Basic ${base64Encode(utf8.encode(basicAuthCredentials.toString()))}',
|
|
},
|
|
body: {
|
|
'token': box.read(BoxName.tokenFCM.toString()),
|
|
'passengerID': box.read(BoxName.passengerID).toString()
|
|
},
|
|
);
|
|
|
|
isloading = false;
|
|
update();
|
|
var jsonToken = jsonDecode(res.body);
|
|
if (jsonToken['status'] == 'The token has been updated successfully.') {
|
|
mySnackbarSuccess('token updated'.tr);
|
|
}
|
|
}
|
|
}
|