Skip to content

Commit e7b6cc6

Browse files
committed
📝 Improve READMEs
1 parent 3203378 commit e7b6cc6

File tree

2 files changed

+124
-104
lines changed

2 files changed

+124
-104
lines changed

README-ZH.md

Lines changed: 55 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@ Language: [English](README.md) | 中文
2424
当前的界面设计基于的微信版本:**8.x**
2525
界面更新将在微信版本更新后随时进行跟进。
2626

27-
**注意:** 如果你觉得你的自定义实现会在某些程度上帮助其他人实现他们的需求,你可以通过 PR 提交你的自定义实现。
28-
更多信息请参考 [贡献自定义实现](example/lib/customs/CONTRIBUTING.md)
27+
**注意:** 如果你觉得你的自定义实现会在某些程度上帮助其他人实现他们的需求,
28+
你可以通过 PR 提交你的自定义实现。更多信息请参考
29+
[贡献自定义实现](example/lib/customs/CONTRIBUTING.md)
2930

3031
## 目录 🗂
3132

@@ -48,10 +49,8 @@ Language: [English](README.md) | 中文
4849
* [常见问题](#常见问题-)
4950
* [Execution failed for task ':photo_manager:compileDebugKotlin'](#execution-failed-for-task-photo_managercompiledebugkotlin)
5051
* [如何获取资源的路径以进行上传或编辑等操作的整合?](#如何获取资源的路径以进行上传或编辑等操作的整合)
51-
* [如何更改 'Recent' 或其他路径的名称或属性?](#如何更改-recent-或其他路径的名称或属性)
5252
* [`File``Uint8List` 创建 `AssetEntity` 的方法](#从-file-或-uint8list-创建-assetentity-的方法)
5353
* [控制台提示 'Failed to find GeneratedAppGlideModule'](#控制台提示-failed-to-find-generatedappglidemodule)
54-
* [禁用媒体位置权限](#禁用媒体位置权限)
5554

5655
## 迁移指南 ♻️
5756

@@ -87,8 +86,9 @@ Language: [English](README.md) | 中文
8786
## 开始前的注意事项 ‼️
8887

8988
尽管该库提供了资源的选择,其仍然要求使用者构建自己的方法来处理显示、上传等操作。
90-
如果你在使用该库的过程对某些方法或API有疑问,
91-
请运行示例并查看 [photo_manager](https://github.com/CaiJingLong/flutter_photo_manager) 对相关方法的使用说明。
89+
如果你在使用该库的过程对某些方法或API有疑问,请运行示例并查看
90+
[photo_manager](https://github.com/CaiJingLong/flutter_photo_manager)
91+
对相关方法的使用说明。
9292

9393
## 准备工作 🍭
9494

@@ -125,15 +125,17 @@ import 'package:wechat_assets_picker/wechat_assets_picker.dart';
125125

126126
### Android
127127

128-
依赖要求项目的安卓原生部分整合至 Android embedding v2,
129-
更多信息请至 [Upgrading pre 1.12 Android projects](https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects)
130-
查看。
128+
需要声明的权限:`READ_EXTERNAL_STORAGE`(已声明).
129+
可选声明的权限:`WRITE_EXTERNAL_STORAGE``ACCESS_MEDIA_LOCATION`.
131130

132-
需要声明的权限:`INTERNET`, `READ_EXTERNAL_STORAGE`, `WRITE_EXTERNAL_STORAGE`, `ACCESS_MEDIA_LOCATION`
133-
如果你不需要 `ACCESS_MEDIA_LOCATION` 权限,请参考 [禁用媒体位置权限](#禁用媒体位置权限) 要进行移除。
131+
如果你的目标 SDK 版本大于 29,
132+
你必须声明在 `AndroidManifest.xml``<application>` 节点中
133+
声明 `requestLegacyExternalStorage`
134+
详情请参考示例。
134135

135-
如果你发现有一些与 `Glide` 有关的警告日志输出,那么主项目就需要实现 `AppGlideModule`
136-
请查看 [Generated API](https://muyangmin.github.io/glide-docs-cn/doc/generatedapi.html).
136+
如果你发现有一些与 `Glide` 有关的警告日志输出,
137+
那么主项目就需要实现 `AppGlideModule`。详细信息请查看
138+
[Generated API](https://muyangmin.github.io/glide-docs-cn/doc/generatedapi.html).
137139

138140
### iOS
139141

@@ -155,11 +157,13 @@ platform :ios, '9.0'
155157

156158
### macOS
157159

158-
目前 Flutter 桌面版仍然在开发阶段,所以请注意,任何与桌面版本有关的问题都不会受到技术支持。
160+
目前 Flutter 桌面版仍然在开发阶段,所以请注意,
161+
任何与桌面版本有关的问题都不会受到技术支持。
159162

160163
1.`macos/Podfile` 中指定最低构建版本至 **10.15**
161164

162-
2. 使用 **Xcode** 打开 `macos/Runner.xcworkspace`。接着根据下面的截图将最低构建版本提升至 **10.15**
165+
2. 使用 **Xcode** 打开 `macos/Runner.xcworkspace`
166+
接着根据下面的截图将最低构建版本提升至 **10.15**
163167

164168
3. ![step 1](https://tva1.sinaimg.cn/large/007S8ZIlgy1ghw67v4yk4j30qy0b50u0.jpg)
165169

@@ -217,7 +221,8 @@ final List<AssetEntity>? result = await AssetPicker.pickAssets(
217221

218222
### 使用自定义代理
219223

220-
你只能在使用 `pickAssetsWithDelegate` 方法时使用 `keepScrollOffset` 的功能。
224+
你只能在使用 `pickAssetsWithDelegate` 方法时
225+
使用 `keepScrollOffset` 的功能。
221226
更多细节请查看示例内的 `Keep scroll offset` 方法。
222227

223228
想要了解更多关于自定义代理实现的内容,
@@ -226,15 +231,16 @@ final List<AssetEntity>? result = await AssetPicker.pickAssets(
226231
#### 一般的调用选择情况
227232

228233
你可以在 `example/lib/pages/multi_assets_page.dart`
229-
`example/lib/pages/single_assets_page.dart` 找到 `List<PickMethod> pickMethods`
234+
`example/lib/pages/single_assets_page.dart`
235+
找到 `List<PickMethod> pickMethods`
230236
它分别定义了多选和单选可用的选择模式。
231237
在选择资源后,资源会暂存并展示在页面下方。
232238

233239
##### 多选资源
234240

235241
页面中的最大选择数是 `9`,你可以按需修改。
236242

237-
某些模式只能在多选下使用,例如「WeChat Moment」(朋友圈)模式。
243+
某些模式只能在多选下使用,例如「朋友圈」(WeChat Moment) 模式。
238244

239245
##### 单选资源
240246

@@ -247,35 +253,41 @@ final List<AssetEntity>? result = await AssetPicker.pickAssets(
247253
(与 `photo_manager` 完全无关)实现的选择器,
248254
以及一个多 Tab 页切换的选择器。
249255
如果你觉得你的实现有价值或能帮助到其他人,欢迎以 PR 的形式进行提交。
250-
更多细节请阅读 [贡献自定义实现][example/lib/customs/CONTRIBUTING.md]
256+
更多细节请阅读
257+
[贡献自定义实现][example/lib/customs/CONTRIBUTING.md]
251258

252259
### 展示选中的资源
253260

254-
`AssetEntityImageProvider` 可以为 **图片 & 视频** 展示缩略图,以及展示 **图片的原图**
255-
它的使用方法与常见的 `ImageProvider` 一致。
261+
`AssetEntityImage``AssetEntityImageProvider`
262+
可以为 **图片 & 视频** 展示缩略图,以及展示 **图片的原图**
263+
它的使用方法与常见的 `Image``ImageProvider` 一致。
256264

257265
```dart
258-
Image(image: AssetEntityImageProvider(asset, isOriginal: false))
259-
```
266+
/// AssetEntityImage
267+
AssetEntityImage(asset, isOriginal: false);
260268
261-
请查看示例以了解它如何进行展示。
269+
/// AssetEntityImageProvider
270+
Image(image: AssetEntityImageProvider(asset, isOriginal: false));
271+
```
262272

263273
### 注册资源变化回调
264274

265275
```dart
266-
AssetPicker.registerObserve(); // 注册回调
267-
```
276+
/// 注册回调
277+
AssetPicker.registerObserve();
268278
269-
```dart
270-
AssetPicker.unregisterObserve(); // 取消注册回调
279+
/// 取消注册回调
280+
AssetPicker.unregisterObserve();
271281
```
272282

273283
### 自定义类型或 UI
274284

275-
`AssetPickerBuilderDelegate``AssetPickerViewerBuilderDelegate``AssetPickerProvider`
276-
`AssetPickerViewerProvider` 均已暴露且可重载。使用者可以使用自定义的泛型类型 `<A: 资源, P: 路径>`
277-
配合继承与重载,实现对应抽象类和类中的方法。更多用法请查看示例中的 `Custom` 页面,该页面包含一个以
278-
`<File, Directory>` 为类型基础的选择器。
285+
`AssetPickerBuilderDelegate``AssetPickerViewerBuilderDelegate`
286+
`AssetPickerProvider``AssetPickerViewerProvider` 均已暴露且可重载。
287+
使用者可以使用自定义的泛型类型 `<A: 资源, P: 路径>`
288+
配合继承与重载,实现对应抽象类和类中的方法。
289+
更多用法请查看示例中的 `Custom` 页面,
290+
该页面包含一个以 `<File, Directory>` 为类型基础的选择器。
279291

280292
## 常见问题 ❔
281293

@@ -292,7 +304,8 @@ AssetPicker.unregisterObserve(); // 取消注册回调
292304
`File` 对象可以通过 `entity.file``entity.originFile` 获得,
293305
如果需要 `Uint8List` 则使用 `entity.originBytes`
294306

295-
如果再此之后你仍然需要路径,那么可以通过已获得的 `File` 对象获取: `file.path`
307+
如果再此之后你仍然需要路径,
308+
那么可以通过已获得的 `File` 对象获取:
296309

297310
```dart
298311
final File file = await entity.file; // 缩略图或编辑后的视频
@@ -303,7 +316,8 @@ final String originPath = originFile.path;
303316

304317
### `File``Uint8List` 创建 `AssetEntity` 的方法
305318

306-
如果需要使用此库结合一些拍照需求,可通过以下方法将 `File``Uint8List` 转为 `AssetEntity`
319+
如果需要使用此库结合一些拍照需求,
320+
可通过以下方法将 `File``Uint8List` 转为 `AssetEntity`
307321

308322
```dart
309323
final File file = your_file; // 你的 File 对象
@@ -327,7 +341,7 @@ final AssetEntity imageEntity = await PhotoManager.editor.saveImage(
327341
final List<String> result = await PhotoManager.editor.deleteWithIds([entity.id]);
328342
```
329343

330-
参考文档: [flutter_photo_manager#insert-new-item](https://github.com/CaiJingLong/flutter_photo_manager#insert-new-item)
344+
参考文档:[flutter_photo_manager#insert-new-item](https://github.com/CaiJingLong/flutter_photo_manager#insert-new-item)
331345

332346
### 控制台提示 'Failed to find GeneratedAppGlideModule'
333347

@@ -336,28 +350,17 @@ W/Glide (21133): Failed to find GeneratedAppGlideModule. You should include an
336350
```
337351

338352
`Glide` 通过注解来保证单例,防止单例或版本之间的冲突,
339-
而因为 `photo_manager` 使用了 `Glide` 提供部分图片功能,所以使用它的项目必须实现自己的 `AppGlideModule`
353+
而因为 `photo_manager` 使用了 `Glide` 提供部分图片功能,
354+
所以使用它的项目必须实现自己的 `AppGlideModule`
340355
请移步 [Android](#android) 部分了解如何实现。
341356

342-
### 禁用媒体位置权限
343-
344-
Android 将默认包含 `ACCESS_MEDIA_LOCATION` 权限。
345-
这个权限是在 Android Q 中引入的。
346-
如果你的应用不需要这个权限,
347-
你需要在你的应用中的 `AndroidManifest.xml` 中添加以下节点内容:
348-
349-
```xml
350-
<uses-permission
351-
android:name="android.permission.ACCESS_MEDIA_LOCATION"
352-
tools:node="remove"
353-
/>
354-
```
355-
356357
## 致谢
357358

358359
> IntelliJ IDEA 的每个方面都旨在最大化开发者生产力。结合智能编码辅助与符合人体工程学的设计,让开发不仅高效,更成为一种享受。
359360
360-
感谢 [JetBrains](https://www.jetbrains.com/?from=fluttercandies) 为开源项目提供免费的
361-
[IntelliJ IDEA](https://www.jetbrains.com/idea/?from=fluttercandies) 等 IDE 的授权。
361+
感谢 [JetBrains](https://www.jetbrains.com/?from=fluttercandies)
362+
为开源项目提供免费的
363+
[IntelliJ IDEA](https://www.jetbrains.com/idea/?from=fluttercandies)
364+
等 IDE 的授权。
362365

363366
[<img src="https://github.com/fluttercandies/flutter_wechat_assets_picker/raw/master/.github/jetbrains-variant.png" width="200"/>](https://www.jetbrains.com/?from=fluttercandies)

0 commit comments

Comments
 (0)