Merge branch 'develop_liyi' into 'canary_release'
Develop liyi See merge request StarlockTeam/app-starlock!10
This commit is contained in:
commit
fbfa027e5a
@ -151,8 +151,8 @@ create-release:
|
||||
${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/StarLock-${StarLock_VERSION}-*"
|
||||
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-apk/starlock-xhj-release-${CI_COMMIT_TAG}.apk
|
||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/starlock-xhj-release-${CI_COMMIT_TAG}.apk"'
|
||||
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-apk/starlock-xhj-release-${CI_COMMIT_TAG}.aab
|
||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/starlock-xhj-release-${CI_COMMIT_TAG}.aab"'
|
||||
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-apk/starlock-xhj_bundle-release-${CI_COMMIT_TAG}.aab
|
||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/starlock-xhj_bundle-release-${CI_COMMIT_TAG}.aab"'
|
||||
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-apk/starlock-sky-release-${CI_COMMIT_TAG}.apk
|
||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/starlock-sky-release-${CI_COMMIT_TAG}.apk"'
|
||||
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-apk/starlock-sky-release-${CI_COMMIT_TAG}.aab
|
||||
|
||||
@ -1153,6 +1153,7 @@
|
||||
"是否要远程开锁": "Do you want to unlock remotely",
|
||||
"国家地区的选择将影响数据安全,你当前选择的是": "The choice of country or region will affect data security. What is your current choice",
|
||||
"请确认后再继续": "Please confirm before continuing",
|
||||
"需要相机权限": "Camera permission required",
|
||||
"此功能的开启和关闭只能在锁附近通过手机蓝牙进行": "The activation and deactivation of this feature can only be done through Bluetooth on the phone near the lock",
|
||||
"网关添加成功": "Gateway added successfully"
|
||||
}
|
||||
|
||||
@ -1160,6 +1160,7 @@
|
||||
"繁体中文(中国香港)": "繁体中文(中国香港)",
|
||||
"国家地区的选择将影响数据安全,你当前选择的是": "国家地区的选择将影响数据安全,你当前选择的是",
|
||||
"请确认后再继续": "请确认后再继续",
|
||||
"需要相机权限": "需要相机权限",
|
||||
"此功能的开启和关闭只能在锁附近通过手机蓝牙进行": "此功能的开启和关闭只能在锁附近通过手机蓝牙进行",
|
||||
"网关添加成功": "网关添加成功"
|
||||
}
|
||||
|
||||
@ -1162,5 +1162,6 @@
|
||||
"繁体中文(中国香港)": "繁体中文(中国香港)",
|
||||
"国家地区的选择将影响数据安全,你当前选择的是": "国家地区的选择将影响数据安全,你当前选择的是",
|
||||
"请确认后再继续": "请确认后再继续",
|
||||
"需要相机权限": "需要相机权限",
|
||||
"网关添加成功": "网关添加成功"
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
import 'dart:typed_data';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
@ -31,27 +31,30 @@ class MinePersonInfoLogic extends BaseGetXController {
|
||||
|
||||
//上传头像 先获取upToken 再调用updateUserInfo
|
||||
Future<void> getUpTokenRequest(String filename, int size) async {
|
||||
final MinePersonGetUploadFileInfoEntity entity = await ApiRepository.to.getUpToken(
|
||||
userId: state.mineInfoData.value.uid!.toString(),
|
||||
filename: filename,
|
||||
size: size);
|
||||
final MinePersonGetUploadFileInfoEntity entity = await ApiRepository.to
|
||||
.getUpToken(
|
||||
userId: state.mineInfoData.value.uid!.toString(),
|
||||
filename: filename,
|
||||
size: size);
|
||||
if (entity.errorCode!.codeIsSuccessful) {
|
||||
uploadFile(entity);
|
||||
}
|
||||
}
|
||||
|
||||
// 上传头像
|
||||
Future<void> uploadFile(MinePersonGetUploadFileInfoEntity minePersonGetUploadFileInfoEntity) async {
|
||||
Future<void> uploadFile(
|
||||
MinePersonGetUploadFileInfoEntity
|
||||
minePersonGetUploadFileInfoEntity) async {
|
||||
final File bytes = File(state.image!.path);
|
||||
final Uint8List enc = await bytes.readAsBytes();
|
||||
|
||||
final FormData form = FormData(minePersonGetUploadFileInfoEntity.data!.formData!);
|
||||
form.files.add(
|
||||
MapEntry(
|
||||
minePersonGetUploadFileInfoEntity.data!.fileField!,
|
||||
MultipartFile(enc, filename: minePersonGetUploadFileInfoEntity.data!.formData!['key'])
|
||||
)
|
||||
);
|
||||
final FormData form =
|
||||
FormData(minePersonGetUploadFileInfoEntity.data!.formData!);
|
||||
form.files.add(MapEntry(
|
||||
minePersonGetUploadFileInfoEntity.data!.fileField!,
|
||||
MultipartFile(enc,
|
||||
filename:
|
||||
minePersonGetUploadFileInfoEntity.data!.formData!['key'])));
|
||||
|
||||
final LoginEntity entity = await ApiRepository.to.uploadFile(
|
||||
url: minePersonGetUploadFileInfoEntity.data!.uploadUrl!, body: form);
|
||||
@ -63,7 +66,8 @@ class MinePersonInfoLogic extends BaseGetXController {
|
||||
|
||||
//更新个人信息-头像
|
||||
Future<void> updateUserInfoRequest(String headUrl) async {
|
||||
final PasswordKeyListEntity entity = await ApiRepository.to.updateUserHeadUrlInfo(headUrl: headUrl);
|
||||
final PasswordKeyListEntity entity =
|
||||
await ApiRepository.to.updateUserHeadUrlInfo(headUrl: headUrl);
|
||||
if (entity.errorCode!.codeIsSuccessful) {
|
||||
state.headUrl.value = headUrl;
|
||||
state.mineInfoData.value.headUrl = state.headUrl.value;
|
||||
@ -88,9 +92,9 @@ class MinePersonInfoLogic extends BaseGetXController {
|
||||
///拍摄照片
|
||||
Future<void> selectCamera() async {
|
||||
final XFile? photo = await state.imagePicker.pickImage(
|
||||
source: ImageSource.camera,
|
||||
maxHeight: 250,
|
||||
maxWidth: 250,
|
||||
source: ImageSource.camera,
|
||||
maxHeight: 250,
|
||||
maxWidth: 250,
|
||||
);
|
||||
if (photo != null) {
|
||||
state.image = photo;
|
||||
@ -117,16 +121,68 @@ class MinePersonInfoLogic extends BaseGetXController {
|
||||
|
||||
//权限判断 访问相机
|
||||
Future<void> _checkCameraPermission() async {
|
||||
final bool status = await PermissionDialog.request(Permission.camera);
|
||||
if (status) {
|
||||
final PermissionStatus status = await Permission.camera.status;
|
||||
if (status.isPermanentlyDenied) {
|
||||
// 用户永久拒绝了权限,引导用户去设置中心开启
|
||||
Get.dialog(
|
||||
AlertDialog(
|
||||
title: Text('需要相机权限'.tr),
|
||||
content: Text('请在设置中允许访问相机'.tr),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () => Get.back(),
|
||||
child: Text('取消'.tr),
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
Get.back();
|
||||
openAppSettings();
|
||||
},
|
||||
child: Text('去设置'.tr),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
// 权限未被永久拒绝,尝试请求权限
|
||||
final bool granted = await PermissionDialog.request(Permission.camera);
|
||||
if (granted) {
|
||||
selectCamera();
|
||||
}
|
||||
}
|
||||
|
||||
//权限判断 访问相册
|
||||
Future<void> _checkPhotoPermission() async {
|
||||
final bool status = await PermissionDialog.requestPhotos();
|
||||
if (status) {
|
||||
final PermissionStatus status = await Permission.photos.status;
|
||||
if (status.isPermanentlyDenied) {
|
||||
// 用户永久拒绝了权限,引导用户去设置中心开启
|
||||
Get.dialog(
|
||||
AlertDialog(
|
||||
title: Text('需要相册权限'.tr),
|
||||
content: Text('请在设置中允许访问相册'.tr),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () => Get.back(),
|
||||
child: Text('取消'.tr),
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
Get.back();
|
||||
openAppSettings();
|
||||
},
|
||||
child: Text('去设置'.tr),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
// 权限未被永久拒绝,尝试请求权限
|
||||
final bool granted = await PermissionDialog.requestPhotos();
|
||||
if (granted) {
|
||||
selectImage();
|
||||
}
|
||||
}
|
||||
|
||||
@ -123,6 +123,10 @@ class StartChartManage {
|
||||
|
||||
// 星图服务初始化
|
||||
Future<void> init() async {
|
||||
if (F.isXHJ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 判断是否登录账户
|
||||
final loginData = await Storage.getLoginData();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user