/// <summary> /// 刷新照片列表 /// </summary> /// <param name="imageFolderList"></param> /// <returns></returns> public async Task <ImageFolderList> RefreshAsync(ImageFolderList imageFolderList) { var folder = await _folderModelService.GetFolder(imageFolderList.FolderModel.AccessToken); // TODO 这里文件夹可能为空 // 找到全部文件 var files = await folder.GetFilesAsync(); foreach (var file in files) { // 确认后缀名必须是图片 if (file.FileType != ".jpg" && file.FileType != ".png" && file.FileType != ".jpeg") { continue; } var accessToken = StorageApplicationPermissions.FutureAccessList.Add(file); var imageModel = await _imageModelService.GetInstanceAsync(imageFolderList.FolderModel.KeyNo, file.Path, accessToken); if (imageFolderList.ImageModels.Contains(imageModel)) { continue; } imageFolderList.DatabaseHelper.ImageDatabase.Insert(imageModel.FolderKeyNo, imageModel.ImagePath, imageModel.AccessToken); imageFolderList.ImageModels.Add(imageModel); } var x = imageFolderList.GetHashCode(); return(imageFolderList); }
/// <summary> /// 添加新文件夹时的具体添加操作 /// 在这里应该可以实现递归添加 /// </summary> /// <param name="folderModel"></param> /// <param name="folderList"></param> /// <returns></returns> public async Task <FolderList> OpenAsync(FolderModel folderModel, FolderList folderList) { if (folderModel == null) { return(folderList); } if (folderModel.IsDeleteVisibility == Visibility.Collapsed) { // 如果是添加新文件夹的按钮 var folderPicker = new FolderPicker(); folderPicker.FileTypeFilter.Add("*"); folderPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary; var folder = await folderPicker.PickSingleFolderAsync(); if (folder == null) { return(folderList); } var accessToken = StorageApplicationPermissions.FutureAccessList.Add(folder); folderModel = new FolderModel { FolderPath = folder.Path, AccessToken = accessToken }; folderList = Add(folderModel, folderList); } else { var folder = await _folderModelService.GetFolder(folderModel.AccessToken); await Launcher.LaunchFolderAsync(folder); } return(folderList); }