mn-docs-mcp 0.6.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.trae/documents/libmn_cleanup_plan.md +51 -0
- package/.trae/documents/libmn_doc_restructure_plan.md +140 -0
- package/.trae/documents/libmn_indentation_plan.md +116 -0
- package/.trae/documents/libmn_title_hierarchy_plan.md +91 -0
- package/README.md +9 -7
- package/next-env.d.ts +6 -0
- package/next.config.mjs +14 -0
- package/package.json +25 -10
- package/postcss.config.mjs +7 -0
- package/scripts/sync-definitions.mjs +33 -0
- package/source.config.ts +5 -0
- package/src/app/[[...slug]]/page.tsx +259 -0
- package/src/app/api/search/route.ts +6 -0
- package/src/app/global.css +81 -0
- package/src/app/layout.tsx +33 -0
- package/src/components/JsbApiFooter.tsx +251 -0
- package/src/content/docs/{guides/contributing.md → contributing.md} +31 -6
- package/src/content/docs/{guides/cookbook → cookbook}/addon-settings.md +2 -2
- package/src/content/docs/{guides/cookbook → cookbook}/embed-webview-panel.md +2 -2
- package/src/content/docs/cookbook/meta.json +13 -0
- package/src/content/docs/{guides/cookbook → cookbook}/network-api-call.md +2 -2
- package/src/content/docs/{guides/cookbook → cookbook}/webview-bidirectional-js.md +1 -1
- package/src/content/docs/guides/getting-started.md +2 -2
- package/src/content/docs/guides/lifecycle-and-window.md +4 -4
- package/src/content/docs/guides/meta.json +14 -0
- package/src/content/docs/guides/mindmap-and-selection.md +2 -2
- package/src/content/docs/guides/native-ui.md +4 -4
- package/src/content/docs/guides/network-requests.md +8 -9
- package/src/content/docs/guides/notes-and-database.md +2 -2
- package/src/content/docs/guides/shortcut-keys.md +9 -9
- package/src/content/docs/guides/storage-and-files.md +4 -4
- package/src/content/docs/guides/toolbar-and-commands.md +1 -1
- package/src/content/docs/index.mdx +13 -38
- package/src/content/docs/libmn/data-converter.md +1572 -0
- package/src/content/docs/libmn/frame.md +279 -0
- package/src/content/docs/libmn/headers.md +234 -0
- package/src/content/docs/libmn/index.md +60 -0
- package/src/content/docs/libmn/internal-exposed.md +46 -0
- package/src/content/docs/libmn/locale.md +307 -0
- package/src/content/docs/libmn/menu.md +77 -0
- package/src/content/docs/libmn/meta.json +27 -0
- package/src/content/docs/libmn/mnbutton.md +966 -0
- package/src/content/docs/libmn/mncomment.md +533 -0
- package/src/content/docs/libmn/mnconnection.md +717 -0
- package/src/content/docs/libmn/mndocument.md +309 -0
- package/src/content/docs/libmn/mnextension-panel.md +340 -0
- package/src/content/docs/libmn/mnnote.md +533 -0
- package/src/content/docs/libmn/mnnotebook.md +725 -0
- package/src/content/docs/libmn/mnutil.md +2936 -0
- package/src/content/docs/libmn/mnwebview.md +693 -0
- package/src/content/docs/libmn/mustache.md +65 -0
- package/src/content/docs/libmn/response.md +352 -0
- package/src/content/docs/libmn/runtime-assets.md +64 -0
- package/src/content/docs/libmn/runtime-web-view-host.md +77 -0
- package/src/content/docs/libmn/runtime.md +178 -0
- package/src/content/docs/libmn/vendor-globals.md +34 -0
- package/src/content/docs/meta.json +11 -0
- package/src/content/docs/reference/black-box.md +2 -2
- package/src/content/docs/reference/foundation/meta.json +4 -0
- package/src/content/docs/reference/foundation/ns-attributed-string.md +1 -1
- package/src/content/docs/reference/foundation/ns-counted-set.md +1 -1
- package/src/content/docs/reference/foundation/ns-date-components.md +2 -2
- package/src/content/docs/reference/foundation/ns-date-formatter.md +1 -3
- package/src/content/docs/reference/foundation/ns-decimal-number.md +1 -1
- package/src/content/docs/reference/foundation/ns-enumerator.md +1 -1
- package/src/content/docs/reference/foundation/ns-error.md +2 -2
- package/src/content/docs/reference/foundation/ns-file-manager.md +1 -1
- package/src/content/docs/reference/foundation/ns-formatter.md +2 -2
- package/src/content/docs/reference/foundation/ns-json-serialization.md +10 -2
- package/src/content/docs/reference/foundation/ns-mutable-attributed-string.md +1 -1
- package/src/content/docs/reference/foundation/ns-mutable-character-set.md +1 -1
- package/src/content/docs/reference/foundation/ns-mutable-dictionary.md +1 -1
- package/src/content/docs/reference/foundation/ns-mutable-index-set.md +1 -1
- package/src/content/docs/reference/foundation/ns-mutable-set.md +1 -1
- package/src/content/docs/reference/foundation/ns-mutable-string.md +1 -1
- package/src/content/docs/reference/foundation/ns-mutable-url-request.md +2 -3
- package/src/content/docs/reference/foundation/ns-null.md +1 -1
- package/src/content/docs/reference/foundation/ns-number-formatter.md +1 -1
- package/src/content/docs/reference/foundation/ns-operation.md +2 -2
- package/src/content/docs/reference/foundation/ns-pointer-array.md +1 -1
- package/src/content/docs/reference/foundation/ns-proxy.md +5 -3
- package/src/content/docs/reference/foundation/ns-scanner.md +7 -1
- package/src/content/docs/reference/foundation/ns-set.md +1 -1
- package/src/content/docs/reference/foundation/ns-simple-c-string.md +3 -4
- package/src/content/docs/reference/foundation/ns-time-zone.md +1 -1
- package/src/content/docs/reference/foundation/ns-ubiquitous-key-value-store.md +61 -0
- package/src/content/docs/reference/foundation/ns-url-connection.md +2 -2
- package/src/content/docs/reference/foundation/ns-url-request.md +2 -2
- package/src/content/docs/reference/foundation/ns-url-response.md +5 -5
- package/src/content/docs/reference/foundation/ns-url.md +1 -1
- package/src/content/docs/reference/foundation/ns-user-defaults.md +5 -5
- package/src/content/docs/reference/foundation/ns-value.md +15 -15
- package/src/content/docs/reference/global/agent-tools.md +91 -0
- package/src/content/docs/reference/global/application.md +4 -4
- package/src/content/docs/reference/global/builtin-commands.md +2 -2
- package/src/content/docs/reference/global/database.md +4 -4
- package/src/content/docs/reference/global/document.md +21 -0
- package/src/content/docs/reference/global/global-variables.md +22 -5
- package/src/content/docs/reference/global/jsb.md +6 -4
- package/src/content/docs/reference/global/meta.json +18 -0
- package/src/content/docs/reference/global/note.md +2 -2
- package/src/content/docs/reference/global/notebook.md +21 -0
- package/src/content/docs/reference/global/popup-menu-item.md +2 -2
- package/src/content/docs/reference/global/popup-menu.md +5 -6
- package/src/content/docs/reference/global/search-manager.md +12 -6
- package/src/content/docs/reference/global/self.md +1 -13
- package/src/content/docs/reference/js-runtime.md +5 -4
- package/src/content/docs/reference/marginnote/document-controller.md +37 -5
- package/src/content/docs/reference/marginnote/jsextension.md +7 -7
- package/src/content/docs/reference/marginnote/mb-book-note.md +162 -72
- package/src/content/docs/reference/marginnote/mb-book.md +3 -3
- package/src/content/docs/reference/marginnote/mb-model-tool.md +2 -2
- package/src/content/docs/reference/marginnote/mb-topic.md +13 -2
- package/src/content/docs/reference/marginnote/meta.json +18 -0
- package/src/content/docs/reference/marginnote/mindmap-node.md +2 -2
- package/src/content/docs/reference/marginnote/mindmap-view.md +2 -2
- package/src/content/docs/reference/marginnote/notebook-controller.md +1 -1
- package/src/content/docs/reference/marginnote/outline-view.md +2 -2
- package/src/content/docs/reference/marginnote/reader-controller.md +1 -1
- package/src/content/docs/reference/marginnote/study-controller.md +19 -19
- package/src/content/docs/reference/meta.json +14 -0
- package/src/content/docs/reference/quartzcore/caanimation-group.md +3 -3
- package/src/content/docs/reference/quartzcore/cabasic-animation.md +3 -3
- package/src/content/docs/reference/quartzcore/caemitter-layer.md +44 -0
- package/src/content/docs/reference/quartzcore/cagradient-layer.md +1 -1
- package/src/content/docs/reference/quartzcore/cakeyframe-animation.md +3 -3
- package/src/content/docs/reference/quartzcore/calayer.md +1 -1
- package/src/content/docs/reference/quartzcore/camedia-timing-function.md +1 -1
- package/src/content/docs/reference/quartzcore/caproperty-animation.md +1 -1
- package/src/content/docs/reference/quartzcore/careplicator-layer.md +2 -2
- package/src/content/docs/reference/quartzcore/cascroll-layer.md +1 -1
- package/src/content/docs/reference/quartzcore/cashape-layer.md +2 -2
- package/src/content/docs/reference/quartzcore/catext-layer.md +4 -4
- package/src/content/docs/reference/quartzcore/catransaction.md +5 -3
- package/src/content/docs/reference/quartzcore/catransform-layer.md +3 -3
- package/src/content/docs/reference/quartzcore/catransition.md +10 -6
- package/src/content/docs/reference/quartzcore/cavalue-function.md +1 -1
- package/src/content/docs/reference/quartzcore/meta.json +4 -0
- package/src/content/docs/reference/uikit/meta.json +4 -0
- package/src/content/docs/reference/uikit/ns-mutable-paragraph-style.md +3 -3
- package/src/content/docs/reference/uikit/ns-paragraph-style.md +3 -4
- package/src/content/docs/reference/uikit/ns-text-storage.md +4 -5
- package/src/content/docs/reference/uikit/uiactivity-indicator-view.md +2 -2
- package/src/content/docs/reference/uikit/uiapplication.md +1 -1
- package/src/content/docs/reference/uikit/uibar-button-item.md +3 -4
- package/src/content/docs/reference/uikit/uibar-item.md +2 -3
- package/src/content/docs/reference/uikit/uibezier-path.md +2 -2
- package/src/content/docs/reference/uikit/uibutton.md +1 -1
- package/src/content/docs/reference/uikit/uicollection-view-cell.md +5 -5
- package/src/content/docs/reference/uikit/uicollection-view-controller.md +22 -2
- package/src/content/docs/reference/uikit/uicollection-view-flow-layout.md +54 -0
- package/src/content/docs/reference/uikit/uicollection-view-layout.md +9 -2
- package/src/content/docs/reference/uikit/uicollection-view.md +13 -4
- package/src/content/docs/reference/uikit/uicolor.md +1 -1
- package/src/content/docs/reference/uikit/uicontrol.md +3 -5
- package/src/content/docs/reference/uikit/uidate-picker.md +1 -1
- package/src/content/docs/reference/uikit/uievent.md +2 -2
- package/src/content/docs/reference/uikit/uifont.md +1 -1
- package/src/content/docs/reference/uikit/uigesture-recognizer.md +1 -1
- package/src/content/docs/reference/uikit/uiimage-picker-controller.md +1 -1
- package/src/content/docs/reference/uikit/uiimage-view.md +2 -2
- package/src/content/docs/reference/uikit/uiimage.md +2 -2
- package/src/content/docs/reference/uikit/uikey-command.md +2 -2
- package/src/content/docs/reference/uikit/uilabel.md +3 -3
- package/src/content/docs/reference/uikit/uilocal-notification.md +2 -2
- package/src/content/docs/reference/uikit/uilong-press-gesture-recognizer.md +2 -2
- package/src/content/docs/reference/uikit/uinavigation-bar.md +2 -2
- package/src/content/docs/reference/uikit/uinavigation-controller.md +1 -1
- package/src/content/docs/reference/uikit/uinavigation-item.md +1 -1
- package/src/content/docs/reference/uikit/uipage-control.md +1 -1
- package/src/content/docs/reference/uikit/uipage-view-controller.md +1 -1
- package/src/content/docs/reference/uikit/uipan-gesture-recognizer.md +1 -1
- package/src/content/docs/reference/uikit/uipasteboard.md +1 -1
- package/src/content/docs/reference/uikit/uipicker-view.md +3 -3
- package/src/content/docs/reference/uikit/uipinch-gesture-recognizer.md +1 -1
- package/src/content/docs/reference/uikit/uipopover-controller.md +1 -1
- package/src/content/docs/reference/uikit/uiresponder.md +3 -4
- package/src/content/docs/reference/uikit/uirotation-gesture-recognizer.md +1 -1
- package/src/content/docs/reference/uikit/uiscreen-mode.md +2 -2
- package/src/content/docs/reference/uikit/uiscrollview.md +1 -1
- package/src/content/docs/reference/uikit/uisearch-bar.md +25 -2
- package/src/content/docs/reference/uikit/uisegmented-control.md +1 -1
- package/src/content/docs/reference/uikit/uislider.md +1 -1
- package/src/content/docs/reference/uikit/uiswipe-gesture-recognizer.md +1 -1
- package/src/content/docs/reference/uikit/uiswitch.md +2 -2
- package/src/content/docs/reference/uikit/uitab-bar-controller.md +2 -2
- package/src/content/docs/reference/uikit/uitab-bar-item.md +1 -1
- package/src/content/docs/reference/uikit/uitab-bar.md +1 -1
- package/src/content/docs/reference/uikit/uitable-view-cell.md +6 -6
- package/src/content/docs/reference/uikit/uitable-view-controller.md +1 -1
- package/src/content/docs/reference/uikit/uitable-view.md +3 -3
- package/src/content/docs/reference/uikit/uitap-gesture-recognizer.md +2 -2
- package/src/content/docs/reference/uikit/uitext-input-mode.md +7 -3
- package/src/content/docs/reference/uikit/uitext-position.md +5 -5
- package/src/content/docs/reference/uikit/uitext-range.md +4 -4
- package/src/content/docs/reference/uikit/uitext-view.md +2 -2
- package/src/content/docs/reference/uikit/uitextfield.md +3 -3
- package/src/content/docs/reference/uikit/uitoolbar.md +1 -1
- package/src/content/docs/reference/uikit/uitouch.md +3 -3
- package/src/content/docs/reference/uikit/uiview-controller.md +2 -2
- package/src/content/docs/reference/uikit/uiview.md +5 -5
- package/src/content/docs/reference/uikit/uiwebview.md +5 -5
- package/src/content/docs/reference/uikit/uiwindow.md +2 -2
- package/src/content/docs/reference/utility/menu-controller.md +1 -1
- package/src/content/docs/reference/utility/meta.json +4 -0
- package/src/content/docs/reference/utility/sqlite-result-set.md +1 -1
- package/src/content/docs/reference/utility/sqlite-statement.md +2 -2
- package/src/content/docs/reference/utility/zip-archive.md +13 -14
- package/src/content/docs/reference/value-sturct.md +105 -0
- package/src/lib/layout.tsx +31 -0
- package/src/lib/source.ts +7 -0
- package/tsconfig.json +42 -3
- package/astro.config.mjs +0 -126
- package/src/client/jsb-api-footer.ts +0 -242
- package/src/components/Footer.astro +0 -57
- package/src/components/Search.astro +0 -330
- package/src/content.config.ts +0 -7
- package/src/styles/starlight-overrides.css +0 -23
- /package/src/content/docs/{guides/cookbook → cookbook}/append-selection-as-comment.md +0 -0
- /package/src/content/docs/{guides/cookbook → cookbook}/batch-rename-notes.md +0 -0
- /package/src/content/docs/{guides/cookbook → cookbook}/export-notebook.md +0 -0
- /package/src/content/docs/{guides/cookbook → cookbook}/focus-note-in-mindmap.md +0 -0
|
@@ -0,0 +1,1572 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: DataConverter
|
|
3
|
+
description: LibMN中的DataConverter对象API文档。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
`DataConverter`是用于数据转换的工具对象,提供编码、压缩、二进制转换、格式桥接和文件类型识别等功能。
|
|
7
|
+
|
|
8
|
+
## 类成员(Class members)
|
|
9
|
+
|
|
10
|
+
### 属性
|
|
11
|
+
|
|
12
|
+
| 字段名 | 类型 | 说明 |
|
|
13
|
+
|:-------|:---|:-----|
|
|
14
|
+
| `errorLog` | `Array<{ source: string; time: string; error: string|{ message: string; detail?: string }; info?: string }>` | 错误日志缓存,记录压缩、解码、文件识别等失败信息。 |
|
|
15
|
+
|
|
16
|
+
### 方法
|
|
17
|
+
|
|
18
|
+
#### `addErrorLog`
|
|
19
|
+
|
|
20
|
+
##### 类型
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
static addErrorLog(error: string|{ message: string; detail?: string },source?: string,info?: string): void
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
##### 说明
|
|
27
|
+
|
|
28
|
+
当某个转换方法捕获到异常时,用这个方法统一记录错误并提示用户。与直接`console.log`不同,它会同时写入`errorLog`并通过`MNUtil.copyJSON`把日志复制到剪贴板,方便直接上报。
|
|
29
|
+
|
|
30
|
+
##### 参数
|
|
31
|
+
|
|
32
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
33
|
+
|:---|:---|:---|:---|
|
|
34
|
+
| `error` | `string\|{ message: string; detail?: string }` | 是 | 错误信息或错误对象。 |
|
|
35
|
+
| `source` | `string` | 否 | 错误来源标识,默认`DataConverter`。 |
|
|
36
|
+
| `info` | `string` | 否 | 附加上下文信息。 |
|
|
37
|
+
|
|
38
|
+
##### 返回值
|
|
39
|
+
|
|
40
|
+
- 类型:`void`
|
|
41
|
+
- 语义:方法执行后不返回值。
|
|
42
|
+
#### `customBtoa`
|
|
43
|
+
|
|
44
|
+
##### 类型
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
static customBtoa(str: string): string
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
##### 说明
|
|
51
|
+
|
|
52
|
+
使用内置字符表把字符串编码为Base64。该实现不依赖运行环境atob和btoa,适合JSCore兼容场景。
|
|
53
|
+
|
|
54
|
+
##### 参数
|
|
55
|
+
|
|
56
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
57
|
+
|:-------|:---------|:-----|:-----------|
|
|
58
|
+
| `str` | `string` | 是 | 待编码的原始字符串。 |
|
|
59
|
+
|
|
60
|
+
##### 返回值
|
|
61
|
+
|
|
62
|
+
- 类型:`string`
|
|
63
|
+
- 语义:返回Base64编码结果。
|
|
64
|
+
|
|
65
|
+
#### `utf8_to_b64`
|
|
66
|
+
|
|
67
|
+
##### 类型
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
static utf8_to_b64(str: string): string
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
##### 说明
|
|
74
|
+
|
|
75
|
+
先按UTF-8处理文本再输出Base64结果。输入含中文等多字节字符时可避免直接编码导致乱码。
|
|
76
|
+
|
|
77
|
+
##### 参数
|
|
78
|
+
|
|
79
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
80
|
+
|:-------|:---------|:-----|:-----------|
|
|
81
|
+
| `str` | `string` | 是 | 待编码的原始字符串。 |
|
|
82
|
+
|
|
83
|
+
##### 返回值
|
|
84
|
+
|
|
85
|
+
- 类型:`string`
|
|
86
|
+
- 语义:返回按UTF-8处理后的Base64编码结果。
|
|
87
|
+
|
|
88
|
+
#### `compressAndEncode`
|
|
89
|
+
|
|
90
|
+
##### 类型
|
|
91
|
+
|
|
92
|
+
```ts
|
|
93
|
+
static compressAndEncode(jsonObj: object,type?: 'pako'|'lz-string'): string|undefined
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
##### 说明
|
|
97
|
+
|
|
98
|
+
把对象序列化后压缩并编码为Base64字符串。压缩或编码失败时返回undefined并记录错误日志。
|
|
99
|
+
|
|
100
|
+
##### 参数
|
|
101
|
+
|
|
102
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
103
|
+
|:----------|:---------|:--------------|:-------------|
|
|
104
|
+
| `jsonObj` | `object` | 是 | 待压缩并编码的数据对象。 |
|
|
105
|
+
| `type` | `'pako'\|'lz-string'` | 否 | 压缩算法类型,默认`pako`。 |
|
|
106
|
+
|
|
107
|
+
##### 返回值
|
|
108
|
+
|
|
109
|
+
- 类型:`string|undefined`
|
|
110
|
+
- 语义:成功返回`string`,失败返回`undefined`。
|
|
111
|
+
|
|
112
|
+
#### `decodeAndDecompress`
|
|
113
|
+
|
|
114
|
+
##### 类型
|
|
115
|
+
|
|
116
|
+
```ts
|
|
117
|
+
static decodeAndDecompress(base64: string,type?: 'pako'|'lz-string'): string|undefined
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
##### 说明
|
|
121
|
+
|
|
122
|
+
把压缩Base64文本解码并还原为原始字符串。输入格式不合法或算法不匹配时返回undefined并记录错误日志。
|
|
123
|
+
|
|
124
|
+
##### 参数
|
|
125
|
+
|
|
126
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
127
|
+
|:---------|:---------|:--------------|:-------------|
|
|
128
|
+
| `base64` | `string` | 是 | 待解码的压缩Base64文本。 |
|
|
129
|
+
| `type` | `'pako'\|'lz-string'` | 否 | 解压算法类型,需与编码阶段一致。 |
|
|
130
|
+
|
|
131
|
+
##### 返回值
|
|
132
|
+
|
|
133
|
+
- 类型:`string|undefined`
|
|
134
|
+
- 语义:成功返回`string`,失败返回`undefined`。
|
|
135
|
+
|
|
136
|
+
#### `atob`
|
|
137
|
+
|
|
138
|
+
##### 类型
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
static atob(base64Str: string): string
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
##### 说明
|
|
145
|
+
|
|
146
|
+
Base64解码为字符串。
|
|
147
|
+
|
|
148
|
+
##### 参数
|
|
149
|
+
|
|
150
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
151
|
+
|:------------|:---------|:-----|:-------------|
|
|
152
|
+
| `base64Str` | `string` | 是 | Base64文本。 |
|
|
153
|
+
|
|
154
|
+
##### 返回值
|
|
155
|
+
|
|
156
|
+
- 类型:`string`
|
|
157
|
+
- 语义:返回Base64解码后的字符串。
|
|
158
|
+
|
|
159
|
+
#### `btoa`
|
|
160
|
+
|
|
161
|
+
##### 类型
|
|
162
|
+
|
|
163
|
+
```ts
|
|
164
|
+
static btoa(input: string|Uint8Array): string
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
##### 说明
|
|
168
|
+
|
|
169
|
+
字符串或Uint8Array转Base64编码。
|
|
170
|
+
|
|
171
|
+
##### 参数
|
|
172
|
+
|
|
173
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
174
|
+
|:--------|:---------|:-------------|:-----|
|
|
175
|
+
| `input` | `string\|Uint8Array` | 是 | 要编码的字符串或Uint8Array。 |
|
|
176
|
+
|
|
177
|
+
##### 返回值
|
|
178
|
+
|
|
179
|
+
- 类型:`string`
|
|
180
|
+
- 语义:返回Base64编码后的字符串。
|
|
181
|
+
|
|
182
|
+
#### `rgbaToHex`
|
|
183
|
+
|
|
184
|
+
##### 类型
|
|
185
|
+
|
|
186
|
+
```ts
|
|
187
|
+
static rgbaToHex(rgba: { r: number; g: number; b: number; a: number },includeAlpha?: boolean,toUpperCase?: boolean): string
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
##### 说明
|
|
191
|
+
|
|
192
|
+
- 把`{ r, g, b, a }`颜色对象转换成十六进制字符串,适合在UI配置里直接使用。
|
|
193
|
+
|
|
194
|
+
- 和`rgbaArrayToHexArray`的区别是这里只处理单个颜色对象。
|
|
195
|
+
##### 参数
|
|
196
|
+
|
|
197
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
198
|
+
|:---|:---|:---|:---|
|
|
199
|
+
| `rgba` | `{ r: number; g: number; b: number; a: number }` | 是 | RGBA颜色对象,包含r、g、b、a四个通道。 |
|
|
200
|
+
| `includeAlpha` | `boolean` | 否 | 是否在结果中包含alpha通道。 |
|
|
201
|
+
| `toUpperCase` | `boolean` | 否 | 是否把十六进制字母输出为大写。 |
|
|
202
|
+
|
|
203
|
+
##### 返回值
|
|
204
|
+
|
|
205
|
+
- 类型:`string`
|
|
206
|
+
- 语义:返回十六进制颜色字符串,默认包含`#`前缀。
|
|
207
|
+
|
|
208
|
+
#### `rgbaArrayToHexArray`
|
|
209
|
+
|
|
210
|
+
##### 类型
|
|
211
|
+
|
|
212
|
+
```ts
|
|
213
|
+
static rgbaArrayToHexArray(rgbaArray: Array<{ r: number; g: number; b: number; a: number }>,includeAlpha?: boolean,toUpperCase?: boolean): string[]
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
##### 说明
|
|
217
|
+
|
|
218
|
+
- 批量把RGBA数组转换成十六进制颜色数组,常用于一次生成主题色板。
|
|
219
|
+
|
|
220
|
+
##### 参数
|
|
221
|
+
|
|
222
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
223
|
+
|:---|:---|:---|:---|
|
|
224
|
+
| `rgbaArray` | `Array<{ r: number; g: number; b: number; a: number }>` | 是 | 待转换的RGBA颜色对象数组。 |
|
|
225
|
+
| `includeAlpha` | `boolean` | 否 | 是否在结果中包含alpha通道。 |
|
|
226
|
+
| `toUpperCase` | `boolean` | 否 | 是否把十六进制字母输出为大写。 |
|
|
227
|
+
|
|
228
|
+
##### 返回值
|
|
229
|
+
|
|
230
|
+
- 类型:`string[]`
|
|
231
|
+
- 语义:返回与输入顺序一致的十六进制颜色字符串数组。
|
|
232
|
+
|
|
233
|
+
#### `hexToRgb`
|
|
234
|
+
|
|
235
|
+
##### 类型
|
|
236
|
+
|
|
237
|
+
```ts
|
|
238
|
+
static hexToRgb(hex: string): [number,number,number]
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
##### 说明
|
|
242
|
+
|
|
243
|
+
- 把`#RRGGBB`颜色字符串还原为`[r,g,b]`数组。
|
|
244
|
+
|
|
245
|
+
- 和`parseHexColor`相比,它不处理透明度,只读前三个颜色通道。
|
|
246
|
+
##### 参数
|
|
247
|
+
|
|
248
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
249
|
+
|:-------|:---------|:-----|:-----------|
|
|
250
|
+
| `hex` | `string` | 是 | 十六进制颜色字符串,可含`#`前缀。 |
|
|
251
|
+
|
|
252
|
+
##### 返回值
|
|
253
|
+
|
|
254
|
+
- 类型:`[number,number,number]`
|
|
255
|
+
- 语义:返回`[r,g,b]`数组,每项范围为0到255。
|
|
256
|
+
|
|
257
|
+
#### `pngToJpg`
|
|
258
|
+
|
|
259
|
+
##### 类型
|
|
260
|
+
|
|
261
|
+
```ts
|
|
262
|
+
static pngToJpg(pngData: NSData,quality?: number): NSData
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
##### 说明
|
|
266
|
+
|
|
267
|
+
- 把PNG格式的`NSData`转换为JPEG二进制数据。
|
|
268
|
+
|
|
269
|
+
- 相比`compressImageToJpg`,这个方法只接收PNG数据,不做输入类型分派。
|
|
270
|
+
##### 参数
|
|
271
|
+
|
|
272
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
273
|
+
|:----------|:---------|:-----|:---------------------|
|
|
274
|
+
| `pngData` | `NSData` | 是 | 待转换的PNG二进制数据。 |
|
|
275
|
+
| `quality` | `number` | 否 | 压缩质量,建议0到1。 |
|
|
276
|
+
|
|
277
|
+
##### 返回值
|
|
278
|
+
|
|
279
|
+
- 类型:`NSData`
|
|
280
|
+
- 语义:返回JPEG格式的`NSData`二进制数据。
|
|
281
|
+
|
|
282
|
+
#### `compressImageToJpg`
|
|
283
|
+
|
|
284
|
+
##### 类型
|
|
285
|
+
|
|
286
|
+
```ts
|
|
287
|
+
static compressImageToJpg(imageData: string|NSData|UIImage,quality?: number): NSData|undefined
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
##### 说明
|
|
291
|
+
|
|
292
|
+
- 把字符串Base64、`NSData`或`UIImage`统一压缩成JPEG数据。
|
|
293
|
+
|
|
294
|
+
- 当你无法确定上游图片类型时优先用它,而不是直接调用`pngToJpg`。
|
|
295
|
+
##### 参数
|
|
296
|
+
|
|
297
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
298
|
+
|:------------|:---------|:-------|:---------------------|
|
|
299
|
+
| `imageData` | `string\|NSData\|UIImage` | 是 | 图片数据。 |
|
|
300
|
+
| `quality` | `number` | 否 | 压缩质量,建议0到1。 |
|
|
301
|
+
|
|
302
|
+
##### 返回值
|
|
303
|
+
|
|
304
|
+
- 类型:`NSData\|undefined`
|
|
305
|
+
- 语义:成功返回`NSData`,失败返回`undefined`。
|
|
306
|
+
|
|
307
|
+
#### `imageFromBase64`
|
|
308
|
+
|
|
309
|
+
##### 类型
|
|
310
|
+
|
|
311
|
+
```ts
|
|
312
|
+
static imageFromBase64(base64: string,type?: 'png'|'jpg'|'jpeg'|'pdf'): UIImage
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
##### 说明
|
|
316
|
+
|
|
317
|
+
- 把Base64字符串转换为`UIImage`。
|
|
318
|
+
|
|
319
|
+
- 如果你只需要二进制,不要走这个方法,改用`dataFromBase64`更直接。
|
|
320
|
+
##### 参数
|
|
321
|
+
|
|
322
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
323
|
+
|:---------|:---------|:------|:-------------|
|
|
324
|
+
| `base64` | `string` | 是 | Base64文本。 |
|
|
325
|
+
| `type` | `'png'\|'jpg'\|'jpeg'\|'pdf'` | 否 | 图片类型,默认为png。 |
|
|
326
|
+
|
|
327
|
+
##### 返回值
|
|
328
|
+
|
|
329
|
+
- 类型:`UIImage`
|
|
330
|
+
- 语义:返回可直接渲染的`UIImage`对象。
|
|
331
|
+
|
|
332
|
+
#### `dataFromBase64`
|
|
333
|
+
|
|
334
|
+
##### 类型
|
|
335
|
+
|
|
336
|
+
```ts
|
|
337
|
+
static dataFromBase64(base64: string,type?: 'pdf'|'png'|'jpg'|'jpeg'): NSData
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
##### 说明
|
|
341
|
+
|
|
342
|
+
- 把Base64文本或DataURL转换为`NSData`。
|
|
343
|
+
|
|
344
|
+
- 它会根据`type`补齐不同MIME前缀,适合统一处理pdf、png、jpeg。
|
|
345
|
+
##### 参数
|
|
346
|
+
|
|
347
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
348
|
+
|:---------|:---------|:------|:-------------|
|
|
349
|
+
| `base64` | `string` | 是 | Base64文本。 |
|
|
350
|
+
| `type` | `'pdf'\|'png'\|'jpg'\|'jpeg'` | 否 | 数据类型,默认为pdf。 |
|
|
351
|
+
|
|
352
|
+
##### 返回值
|
|
353
|
+
|
|
354
|
+
- 类型:`NSData`
|
|
355
|
+
- 语义:返回解码后的`NSData`二进制数据。
|
|
356
|
+
|
|
357
|
+
#### `genFrame`
|
|
358
|
+
|
|
359
|
+
##### 类型
|
|
360
|
+
|
|
361
|
+
```ts
|
|
362
|
+
static genFrame(x: number,y: number,width: number,height: number): { x: number; y: number; width: number; height: number }
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
##### 说明
|
|
366
|
+
|
|
367
|
+
- 生成`{x,y,width,height}`结构体供原生接口调用。
|
|
368
|
+
|
|
369
|
+
##### 参数
|
|
370
|
+
|
|
371
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
372
|
+
|:---------|:---------|:-----|:-----------|
|
|
373
|
+
| `x` | `number` | 是 | 矩形左上角x坐标。 |
|
|
374
|
+
| `y` | `number` | 是 | 矩形左上角y坐标。 |
|
|
375
|
+
| `width` | `number` | 是 | 矩形宽度。 |
|
|
376
|
+
| `height` | `number` | 是 | 矩形高度。 |
|
|
377
|
+
|
|
378
|
+
##### 返回值
|
|
379
|
+
|
|
380
|
+
- 类型:`{ x: number; y: number; width: number; height: number }`
|
|
381
|
+
- 语义:返回`{ x, y, width, height }`矩形对象。
|
|
382
|
+
|
|
383
|
+
#### `parseWinRect`
|
|
384
|
+
|
|
385
|
+
##### 类型
|
|
386
|
+
|
|
387
|
+
```ts
|
|
388
|
+
static parseWinRect(winRect: string): { x: number; y: number; width: number; height: number }
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
##### 说明
|
|
392
|
+
|
|
393
|
+
- 把原生窗口矩形字符串解析成标准frame对象。
|
|
394
|
+
|
|
395
|
+
- 它会把字符串中的花括号和空格清理后再转数值。
|
|
396
|
+
##### 参数
|
|
397
|
+
|
|
398
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
399
|
+
|:----------|:---------|:-----|:-----------|
|
|
400
|
+
| `winRect` | `string` | 是 | 原生窗口矩形字符串,常见格式为`{{x,y},{w,h}}`。 |
|
|
401
|
+
|
|
402
|
+
##### 返回值
|
|
403
|
+
|
|
404
|
+
- 类型:`{ x: number; y: number; width: number; height: number }`
|
|
405
|
+
- 语义:返回解析后的`{ x, y, width, height }`对象。
|
|
406
|
+
|
|
407
|
+
#### `convertDate`
|
|
408
|
+
|
|
409
|
+
##### 类型
|
|
410
|
+
|
|
411
|
+
```ts
|
|
412
|
+
static convertDate(date: string|number|Date|null|undefined): Date|null
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
##### 说明
|
|
416
|
+
|
|
417
|
+
- 把字符串、时间戳或Date对象统一转成`Date`。
|
|
418
|
+
|
|
419
|
+
- 转换失败返回`null`,便于调用方显式判断异常数据。
|
|
420
|
+
##### 参数
|
|
421
|
+
|
|
422
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
423
|
+
|:-------|:---------|:-------|:-----|
|
|
424
|
+
| `date` | `string\|number\|Date\|null\|undefined` | 是 | 要转换的日期值。 |
|
|
425
|
+
|
|
426
|
+
##### 返回值
|
|
427
|
+
|
|
428
|
+
- 类型:`Date|null`
|
|
429
|
+
- 语义:成功返回`Date`对象,无法解析时返回`null`。
|
|
430
|
+
|
|
431
|
+
#### `convertNsAttrsToFsStats`
|
|
432
|
+
|
|
433
|
+
##### 类型
|
|
434
|
+
|
|
435
|
+
```ts
|
|
436
|
+
static convertNsAttrsToFsStats(nsAttrs: Record<string,object|string|number|Date>): {
|
|
437
|
+
dev: number
|
|
438
|
+
ino: number
|
|
439
|
+
mode: number
|
|
440
|
+
nlink: number
|
|
441
|
+
uid: number
|
|
442
|
+
gid: number
|
|
443
|
+
rdev: number
|
|
444
|
+
size: number
|
|
445
|
+
blksize: number
|
|
446
|
+
blocks: number
|
|
447
|
+
atimeMs: number
|
|
448
|
+
mtimeMs: number
|
|
449
|
+
ctimeMs: number
|
|
450
|
+
birthtimeMs: number
|
|
451
|
+
atime: Date
|
|
452
|
+
mtime: Date
|
|
453
|
+
ctime: Date
|
|
454
|
+
birthtime: Date
|
|
455
|
+
_nsFileType?: string
|
|
456
|
+
_nsFileOwnerAccountName?: string
|
|
457
|
+
_nsFileGroupOwnerAccountName?: string
|
|
458
|
+
_nsFileProtectionKey?: string
|
|
459
|
+
_nsFileExtendedAttributes?: object
|
|
460
|
+
isFile: boolean
|
|
461
|
+
isDirectory: boolean
|
|
462
|
+
isSymbolicLink: boolean
|
|
463
|
+
isFIFO: boolean
|
|
464
|
+
isSocket: boolean
|
|
465
|
+
isBlockDevice: boolean
|
|
466
|
+
isCharacterDevice: boolean
|
|
467
|
+
}
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
##### 说明
|
|
471
|
+
|
|
472
|
+
- 把`NSFileManager`属性对象映射为接近Node.js`fs.Stats`的结构。
|
|
473
|
+
|
|
474
|
+
##### 参数
|
|
475
|
+
|
|
476
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
477
|
+
|:----------|:-------------------------|:-----|:-----------|
|
|
478
|
+
| `nsAttrs` | `Record<string,object\|string\|number\|Date>` | 是 | NS文件属性对象。 |
|
|
479
|
+
|
|
480
|
+
##### 返回值
|
|
481
|
+
|
|
482
|
+
- 类型:`{ dev: number; ino: number; mode: number; nlink: number; uid: number; gid: number; rdev: number; size: number; blksize: number; blocks: number; atimeMs: number; mtimeMs: number; ctimeMs: number; birthtimeMs: number; atime: Date; mtime: Date; ctime: Date; birthtime: Date; _nsFileType?: string; _nsFileOwnerAccountName?: string; _nsFileGroupOwnerAccountName?: string; _nsFileProtectionKey?: string; _nsFileExtendedAttributes?: object; isFile: boolean; isDirectory: boolean; isSymbolicLink: boolean; isFIFO: boolean; isSocket: boolean; isBlockDevice: boolean; isCharacterDevice: boolean }`
|
|
483
|
+
- 语义:返回接近Node.js`fs.Stats`格式的文件属性对象。
|
|
484
|
+
|
|
485
|
+
#### `getFileAttributes`
|
|
486
|
+
|
|
487
|
+
##### 类型
|
|
488
|
+
|
|
489
|
+
```ts
|
|
490
|
+
static getFileAttributes(path: string): {
|
|
491
|
+
dev: number
|
|
492
|
+
ino: number
|
|
493
|
+
mode: number
|
|
494
|
+
nlink: number
|
|
495
|
+
uid: number
|
|
496
|
+
gid: number
|
|
497
|
+
rdev: number
|
|
498
|
+
size: number
|
|
499
|
+
blksize: number
|
|
500
|
+
blocks: number
|
|
501
|
+
atimeMs: number
|
|
502
|
+
mtimeMs: number
|
|
503
|
+
ctimeMs: number
|
|
504
|
+
birthtimeMs: number
|
|
505
|
+
atime: Date
|
|
506
|
+
mtime: Date
|
|
507
|
+
ctime: Date
|
|
508
|
+
birthtime: Date
|
|
509
|
+
isFile: boolean
|
|
510
|
+
isDirectory: boolean
|
|
511
|
+
isSymbolicLink: boolean
|
|
512
|
+
isFIFO: boolean
|
|
513
|
+
isSocket: boolean
|
|
514
|
+
isBlockDevice: boolean
|
|
515
|
+
isCharacterDevice: boolean
|
|
516
|
+
path: string
|
|
517
|
+
}
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
##### 说明
|
|
521
|
+
|
|
522
|
+
- 读取文件属性并返回带`path`字段的stats对象。
|
|
523
|
+
|
|
524
|
+
- 相比直接访问`NSFileManager`,这里已经统一了时间与权限字段格式。
|
|
525
|
+
##### 参数
|
|
526
|
+
|
|
527
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
528
|
+
|:-------|:---------|:-----|:-----------------|
|
|
529
|
+
| `path` | `string` | 是 | 文件路径字符串。 |
|
|
530
|
+
|
|
531
|
+
##### 返回值
|
|
532
|
+
|
|
533
|
+
- 类型:`{ dev: number; ino: number; mode: number; nlink: number; uid: number; gid: number; rdev: number; size: number; blksize: number; blocks: number; atimeMs: number; mtimeMs: number; ctimeMs: number; birthtimeMs: number; atime: Date; mtime: Date; ctime: Date; birthtime: Date; isFile: boolean; isDirectory: boolean; isSymbolicLink: boolean; isFIFO: boolean; isSocket: boolean; isBlockDevice: boolean; isCharacterDevice: boolean; path: string }`
|
|
534
|
+
- 语义:返回带`path`字段的文件属性对象。
|
|
535
|
+
|
|
536
|
+
#### `isNSNull`
|
|
537
|
+
|
|
538
|
+
##### 类型
|
|
539
|
+
|
|
540
|
+
```ts
|
|
541
|
+
static isNSNull(obj: object): boolean
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
##### 说明
|
|
545
|
+
|
|
546
|
+
- 判断对象是否是原生`NSNull.new()`实例。
|
|
547
|
+
|
|
548
|
+
- 它用于区分“原生空值对象”和普通`null/undefined`。
|
|
549
|
+
##### 参数
|
|
550
|
+
|
|
551
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
552
|
+
|:-------|:----------|:-----|:-------------|
|
|
553
|
+
| `obj` | `object` | 是 | 待判断对象。 |
|
|
554
|
+
|
|
555
|
+
##### 返回值
|
|
556
|
+
|
|
557
|
+
- 类型:`boolean`
|
|
558
|
+
- 语义:是`NSNull`实例返回`true`,否则返回`false`。
|
|
559
|
+
|
|
560
|
+
#### `getValidJSON`
|
|
561
|
+
|
|
562
|
+
##### 类型
|
|
563
|
+
|
|
564
|
+
```ts
|
|
565
|
+
static getValidJSON(jsonString: string|object,debug?: boolean): object
|
|
566
|
+
```
|
|
567
|
+
|
|
568
|
+
##### 说明
|
|
569
|
+
|
|
570
|
+
- 把JSON字符串修复并解析为对象,解析失败返回空对象。
|
|
571
|
+
|
|
572
|
+
- 相比直接`JSON.parse`,它会尝试`jsonrepair`和补括号修复。
|
|
573
|
+
##### 参数
|
|
574
|
+
|
|
575
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
576
|
+
|:-------------|:----------|:---------|:---------------|
|
|
577
|
+
| `jsonString` | `string\|object` | 是 | 待解析的JSON文本或对象。 |
|
|
578
|
+
| `debug` | `boolean` | 否 | 是否在修复失败时输出调试日志。 |
|
|
579
|
+
|
|
580
|
+
##### 返回值
|
|
581
|
+
|
|
582
|
+
- 类型:`object`
|
|
583
|
+
- 语义:返回解析后的对象,解析失败时返回空对象。
|
|
584
|
+
|
|
585
|
+
#### `parseHexColor`
|
|
586
|
+
|
|
587
|
+
##### 类型
|
|
588
|
+
|
|
589
|
+
```ts
|
|
590
|
+
static parseHexColor(hex: string): { color: string; opacity: number }
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
##### 说明
|
|
594
|
+
|
|
595
|
+
- 解析`#RRGGBB`或`#RRGGBBAA`并返回颜色与透明度。
|
|
596
|
+
|
|
597
|
+
- 与`hexToRgb`不同,它会保留alpha并转成`opacity`。
|
|
598
|
+
##### 参数
|
|
599
|
+
|
|
600
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
601
|
+
|:-------|:---------|:-----|:-----------|
|
|
602
|
+
| `hex` | `string` | 是 | 十六进制颜色字符串,支持`#RRGGBB`与`#RRGGBBAA`。 |
|
|
603
|
+
|
|
604
|
+
##### 返回值
|
|
605
|
+
|
|
606
|
+
- 类型:`{ color: string; opacity: number }`
|
|
607
|
+
- 语义:返回颜色与透明度对象,其中`opacity`范围为0到1。
|
|
608
|
+
|
|
609
|
+
#### `hexColorAlpha`
|
|
610
|
+
|
|
611
|
+
##### 类型
|
|
612
|
+
|
|
613
|
+
```ts
|
|
614
|
+
static hexColorAlpha(hex: string,alpha?: number): UIColor
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
##### 说明
|
|
618
|
+
|
|
619
|
+
- 把十六进制颜色与透明度组合成`UIColor`对象。
|
|
620
|
+
|
|
621
|
+
- 当你已有颜色字符串且只想改透明度时,用它比`hexColor`更直接。
|
|
622
|
+
##### 参数
|
|
623
|
+
|
|
624
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
625
|
+
|:--------|:---------|:-----|:-------------------|
|
|
626
|
+
| `hex` | `string` | 是 | 十六进制颜色字符串。 |
|
|
627
|
+
| `alpha` | `number` | 否 | 透明度,建议0到1。 |
|
|
628
|
+
|
|
629
|
+
##### 返回值
|
|
630
|
+
|
|
631
|
+
- 类型:`UIColor`
|
|
632
|
+
- 语义:返回应用透明度后的`UIColor`对象。
|
|
633
|
+
|
|
634
|
+
#### `hexColor`
|
|
635
|
+
|
|
636
|
+
##### 类型
|
|
637
|
+
|
|
638
|
+
```ts
|
|
639
|
+
static hexColor(hex: string): UIColor
|
|
640
|
+
```
|
|
641
|
+
|
|
642
|
+
##### 说明
|
|
643
|
+
|
|
644
|
+
- 把支持alpha的十六进制字符串转换成`UIColor`。
|
|
645
|
+
|
|
646
|
+
##### 参数
|
|
647
|
+
|
|
648
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
649
|
+
|:-------|:---------|:-----|:-----------|
|
|
650
|
+
| `hex` | `string` | 是 | 十六进制颜色字符串。 |
|
|
651
|
+
|
|
652
|
+
##### 返回值
|
|
653
|
+
|
|
654
|
+
- 类型:`UIColor`
|
|
655
|
+
- 语义:返回解析后的`UIColor`对象。
|
|
656
|
+
|
|
657
|
+
#### `genNSURL`
|
|
658
|
+
|
|
659
|
+
##### 类型
|
|
660
|
+
|
|
661
|
+
```ts
|
|
662
|
+
static genNSURL(url: string): NSURL
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
##### 说明
|
|
666
|
+
|
|
667
|
+
- 当原生接口要求`NSURL`而你只有字符串时使用它。
|
|
668
|
+
##### 参数
|
|
669
|
+
|
|
670
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
671
|
+
|:-------|:---------|:-----|:------------|
|
|
672
|
+
| `url` | `string` | 是 | 要转换的目标URL字符串。 |
|
|
673
|
+
|
|
674
|
+
##### 返回值
|
|
675
|
+
|
|
676
|
+
- 类型:`NSURL`
|
|
677
|
+
- 语义:返回可供原生接口直接使用的`NSURL`对象。
|
|
678
|
+
|
|
679
|
+
#### `string2data`
|
|
680
|
+
|
|
681
|
+
##### 类型
|
|
682
|
+
|
|
683
|
+
```ts
|
|
684
|
+
static string2data(string: string): NSData
|
|
685
|
+
```
|
|
686
|
+
|
|
687
|
+
##### 说明
|
|
688
|
+
|
|
689
|
+
- 按UTF-8编码把字符串转成`NSData`。
|
|
690
|
+
|
|
691
|
+
- 与`dataToString`互为逆向转换。
|
|
692
|
+
##### 参数
|
|
693
|
+
|
|
694
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
695
|
+
|:---------|:---------|:-----|:-----------|
|
|
696
|
+
| `string` | `string` | 是 | 待编码为UTF-8的字符串。 |
|
|
697
|
+
|
|
698
|
+
##### 返回值
|
|
699
|
+
|
|
700
|
+
- 类型:`NSData`
|
|
701
|
+
- 语义:返回UTF-8编码后的`NSData`数据。
|
|
702
|
+
|
|
703
|
+
#### `dataToString`
|
|
704
|
+
|
|
705
|
+
##### 类型
|
|
706
|
+
|
|
707
|
+
```ts
|
|
708
|
+
static dataToString(data: NSData|string): string
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
##### 说明
|
|
712
|
+
|
|
713
|
+
- 把`NSData`转换成字符串;输入已是字符串时原样返回。
|
|
714
|
+
|
|
715
|
+
- 这个方法适合处理“可能是字符串也可能是NSData”的混合输入。
|
|
716
|
+
##### 参数
|
|
717
|
+
|
|
718
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
719
|
+
|:-------|:---------|:---------|:-----|
|
|
720
|
+
| `data` | `NSData\|string` | 是 | 待转换的`NSData`或已是字符串的输入。 |
|
|
721
|
+
|
|
722
|
+
##### 返回值
|
|
723
|
+
|
|
724
|
+
- 类型:`string`
|
|
725
|
+
- 语义:返回UTF-8字符串,输入本身是字符串时原样返回。
|
|
726
|
+
|
|
727
|
+
#### `stringify`
|
|
728
|
+
|
|
729
|
+
##### 类型
|
|
730
|
+
|
|
731
|
+
```ts
|
|
732
|
+
static stringify(object: object): string
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
##### 说明
|
|
736
|
+
|
|
737
|
+
- 把对象序列化成带两空格缩进的JSON文本。
|
|
738
|
+
|
|
739
|
+
- 它用于调试输出,比原生`JSON.stringify`默认格式更易读。
|
|
740
|
+
##### 参数
|
|
741
|
+
|
|
742
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
743
|
+
|:---------|:----------|:-----|:-------------|
|
|
744
|
+
| `object` | `object` | 是 | 待序列化对象。 |
|
|
745
|
+
|
|
746
|
+
##### 返回值
|
|
747
|
+
|
|
748
|
+
- 类型:`string`
|
|
749
|
+
- 语义:返回带两空格缩进的JSON字符串。
|
|
750
|
+
|
|
751
|
+
#### `xorEncryptDecrypt`
|
|
752
|
+
|
|
753
|
+
##### 类型
|
|
754
|
+
|
|
755
|
+
```ts
|
|
756
|
+
static xorEncryptDecrypt(input: string,key: string): string|undefined
|
|
757
|
+
```
|
|
758
|
+
|
|
759
|
+
##### 说明
|
|
760
|
+
|
|
761
|
+
- 使用异或算法对字符串做可逆加密或解密。
|
|
762
|
+
|
|
763
|
+
- 同一`key`重复调用两次可还原原文。
|
|
764
|
+
##### 参数
|
|
765
|
+
|
|
766
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
767
|
+
|:--------|:---------|:-----|:-----------|
|
|
768
|
+
| `input` | `string` | 是 | 待加密或解密的原始文本。 |
|
|
769
|
+
| `key` | `string` | 是 | 异或运算使用的密钥字符串。 |
|
|
770
|
+
|
|
771
|
+
##### 返回值
|
|
772
|
+
|
|
773
|
+
- 类型:`string|undefined`
|
|
774
|
+
- 语义:成功返回`string`,失败返回`undefined`。
|
|
775
|
+
|
|
776
|
+
#### `md5FromBase64`
|
|
777
|
+
|
|
778
|
+
##### 类型
|
|
779
|
+
|
|
780
|
+
```ts
|
|
781
|
+
static md5FromBase64(base64Str: string): string
|
|
782
|
+
```
|
|
783
|
+
|
|
784
|
+
##### 说明
|
|
785
|
+
|
|
786
|
+
- 对Base64表示的原始字节计算MD5摘要。
|
|
787
|
+
|
|
788
|
+
- 如果你手里是`NSData`,可先`base64Encoding()`再调用它。
|
|
789
|
+
##### 参数
|
|
790
|
+
|
|
791
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
792
|
+
|:------------|:---------|:-----|:-------------|
|
|
793
|
+
| `base64Str` | `string` | 是 | Base64文本。 |
|
|
794
|
+
|
|
795
|
+
##### 返回值
|
|
796
|
+
|
|
797
|
+
- 类型:`string`
|
|
798
|
+
- 语义:返回32位小写MD5摘要字符串。
|
|
799
|
+
|
|
800
|
+
#### `sha256FromBase64`
|
|
801
|
+
|
|
802
|
+
##### 类型
|
|
803
|
+
|
|
804
|
+
```ts
|
|
805
|
+
static sha256FromBase64(base64Str: string): string
|
|
806
|
+
```
|
|
807
|
+
|
|
808
|
+
##### 说明
|
|
809
|
+
|
|
810
|
+
- 对Base64字节数据计算SHA-256哈希。
|
|
811
|
+
|
|
812
|
+
- 与`md5FromBase64`相比,SHA-256抗碰撞能力更强。
|
|
813
|
+
##### 参数
|
|
814
|
+
|
|
815
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
816
|
+
|:------------|:---------|:-----|:-------------|
|
|
817
|
+
| `base64Str` | `string` | 是 | Base64文本。 |
|
|
818
|
+
|
|
819
|
+
##### 返回值
|
|
820
|
+
|
|
821
|
+
- 类型:`string`
|
|
822
|
+
- 语义:返回64位十六进制SHA-256摘要字符串。
|
|
823
|
+
|
|
824
|
+
#### `MD5`
|
|
825
|
+
|
|
826
|
+
##### 类型
|
|
827
|
+
|
|
828
|
+
```ts
|
|
829
|
+
static MD5(data: NSData|string): string|undefined
|
|
830
|
+
```
|
|
831
|
+
|
|
832
|
+
##### 说明
|
|
833
|
+
|
|
834
|
+
- 计算字符串或`NSData`的MD5。
|
|
835
|
+
|
|
836
|
+
- 字符串走`CryptoJS.MD5`,`NSData`会先转Base64再计算。
|
|
837
|
+
##### 参数
|
|
838
|
+
|
|
839
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
840
|
+
|:-------|:---------|:---------|:-----|
|
|
841
|
+
| `data` | `NSData\|string` | 是 | 待计算摘要的字符串或`NSData`。 |
|
|
842
|
+
|
|
843
|
+
##### 返回值
|
|
844
|
+
|
|
845
|
+
- 类型:`string|undefined`
|
|
846
|
+
- 语义:成功返回`string`,失败返回`undefined`。
|
|
847
|
+
|
|
848
|
+
#### `parseMNImageURL`
|
|
849
|
+
|
|
850
|
+
##### 类型
|
|
851
|
+
|
|
852
|
+
```ts
|
|
853
|
+
static parseMNImageURL(MNImageURL: string): { hash: string; type: 'png'|'jpeg'; ext: 'png'|'jpg' }|undefined
|
|
854
|
+
```
|
|
855
|
+
|
|
856
|
+
##### 说明
|
|
857
|
+
|
|
858
|
+
- 解析`marginnote4app://markdownimg/...`图片地址,提取hash和类型。
|
|
859
|
+
|
|
860
|
+
- 解析成功会顺带更新`MNUtil.imageTypeCache`。
|
|
861
|
+
##### 参数
|
|
862
|
+
|
|
863
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
864
|
+
|:-------------|:---------|:-----|:------------|
|
|
865
|
+
| `MNImageURL` | `string` | 是 | MarginNote图片协议URL字符串。 |
|
|
866
|
+
|
|
867
|
+
##### 返回值
|
|
868
|
+
|
|
869
|
+
- 类型:`{ hash: string; type: 'png'|'jpeg'; ext: 'png'|'jpg' }|undefined`
|
|
870
|
+
- 语义:成功返回`{ hash: string; type: 'png'|'jpeg'; ext: 'png'|'jpg' }`,失败返回`undefined`。
|
|
871
|
+
|
|
872
|
+
#### `getMNImageURL`
|
|
873
|
+
|
|
874
|
+
##### 类型
|
|
875
|
+
|
|
876
|
+
```ts
|
|
877
|
+
static getMNImageURL(hash: string,type?: 'png'|'jpeg'|'jpg'): string
|
|
878
|
+
```
|
|
879
|
+
|
|
880
|
+
##### 说明
|
|
881
|
+
|
|
882
|
+
- 根据媒体hash组装MarginNote图片协议URL。
|
|
883
|
+
|
|
884
|
+
- 若缓存里已有类型,会优先使用缓存类型而不是入参`type`。
|
|
885
|
+
##### 参数
|
|
886
|
+
|
|
887
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
888
|
+
|:-------|:---------|:-------|:-----------|
|
|
889
|
+
| `hash` | `string` | 是 | 图片媒体hash字符串。 |
|
|
890
|
+
| `type` | `'png'\|'jpeg'\|'jpg'` | 否 | 图片类型,默认为png。 |
|
|
891
|
+
|
|
892
|
+
##### 返回值
|
|
893
|
+
|
|
894
|
+
- 类型:`string`
|
|
895
|
+
- 语义:返回`marginnote4app://markdownimg/...`格式的图片URL。
|
|
896
|
+
|
|
897
|
+
#### `getImageDataFromMNImageURL`
|
|
898
|
+
|
|
899
|
+
##### 类型
|
|
900
|
+
|
|
901
|
+
```ts
|
|
902
|
+
static getImageDataFromMNImageURL(MNImageURL: string): NSData
|
|
903
|
+
```
|
|
904
|
+
|
|
905
|
+
##### 说明
|
|
906
|
+
|
|
907
|
+
- 从MarginNote图片协议URL读取对应媒体二进制。
|
|
908
|
+
|
|
909
|
+
- 它依赖`parseMNImageURL`提取hash,再调用`MNUtil.getMediaByHash`。
|
|
910
|
+
##### 参数
|
|
911
|
+
|
|
912
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
913
|
+
|:-------------|:---------|:-----|:------------|
|
|
914
|
+
| `MNImageURL` | `string` | 是 | MarginNote图片协议URL字符串。 |
|
|
915
|
+
|
|
916
|
+
##### 返回值
|
|
917
|
+
|
|
918
|
+
- 类型:`NSData`
|
|
919
|
+
- 语义:返回该图片对应的`NSData`二进制数据。
|
|
920
|
+
|
|
921
|
+
#### `getImageFromMNImageURL`
|
|
922
|
+
|
|
923
|
+
##### 类型
|
|
924
|
+
|
|
925
|
+
```ts
|
|
926
|
+
static getImageFromMNImageURL(MNImageURL: string): UIImage
|
|
927
|
+
```
|
|
928
|
+
|
|
929
|
+
##### 说明
|
|
930
|
+
|
|
931
|
+
- 把MarginNote图片协议URL直接转换为`UIImage`。
|
|
932
|
+
|
|
933
|
+
- 相比`getImageDataFromMNImageURL`,这个方法一步返回可显示图片对象。
|
|
934
|
+
##### 参数
|
|
935
|
+
|
|
936
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
937
|
+
|:-------------|:---------|:-----|:------------|
|
|
938
|
+
| `MNImageURL` | `string` | 是 | MarginNote图片协议URL字符串。 |
|
|
939
|
+
|
|
940
|
+
##### 返回值
|
|
941
|
+
|
|
942
|
+
- 类型:`UIImage`
|
|
943
|
+
- 语义:返回可直接显示的`UIImage`对象。
|
|
944
|
+
|
|
945
|
+
#### `getImageDataFromURL`
|
|
946
|
+
|
|
947
|
+
##### 类型
|
|
948
|
+
|
|
949
|
+
```ts
|
|
950
|
+
static getImageDataFromURL(url: string): NSData|undefined
|
|
951
|
+
```
|
|
952
|
+
|
|
953
|
+
##### 说明
|
|
954
|
+
|
|
955
|
+
- 统一处理MarginNote协议URL、DataURL和普通HTTP URL并返回图片数据。
|
|
956
|
+
|
|
957
|
+
- 当上游URL来源不固定时,优先使用这个入口。
|
|
958
|
+
##### 参数
|
|
959
|
+
|
|
960
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
961
|
+
|:-------|:---------|:-----|:------------|
|
|
962
|
+
| `url` | `string` | 是 | 图片来源URL,可为MarginNote协议、DataURL或HTTP URL。 |
|
|
963
|
+
|
|
964
|
+
##### 返回值
|
|
965
|
+
|
|
966
|
+
- 类型:`NSData\|undefined`
|
|
967
|
+
- 语义:成功返回`NSData`,失败返回`undefined`。
|
|
968
|
+
|
|
969
|
+
#### `imageToBase64URL`
|
|
970
|
+
|
|
971
|
+
##### 类型
|
|
972
|
+
|
|
973
|
+
```ts
|
|
974
|
+
static imageToBase64URL(imageData: NSData,type?: 'png'|'jpg'|'jpeg'): string
|
|
975
|
+
```
|
|
976
|
+
|
|
977
|
+
##### 说明
|
|
978
|
+
|
|
979
|
+
- 把`NSData`编码为DataURL字符串。
|
|
980
|
+
|
|
981
|
+
- 当前实现固定返回`data:image/png;base64,`前缀,即使`type`传入jpg。
|
|
982
|
+
##### 参数
|
|
983
|
+
|
|
984
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
985
|
+
|:------------|:---------|:------|:-------------|
|
|
986
|
+
| `imageData` | `NSData` | 是 | 待处理的二进制数据对象。 |
|
|
987
|
+
| `type` | `'png'\|'jpg'\|'jpeg'` | 否 | 图片类型,默认为png。 |
|
|
988
|
+
|
|
989
|
+
##### 返回值
|
|
990
|
+
|
|
991
|
+
- 类型:`string`
|
|
992
|
+
- 语义:返回`data:image/png;base64,...`格式字符串。
|
|
993
|
+
|
|
994
|
+
#### `imageFromWebURLSync`
|
|
995
|
+
|
|
996
|
+
##### 类型
|
|
997
|
+
|
|
998
|
+
```ts
|
|
999
|
+
static imageFromWebURLSync(url: string): UIImage
|
|
1000
|
+
```
|
|
1001
|
+
|
|
1002
|
+
##### 说明
|
|
1003
|
+
|
|
1004
|
+
- 同步下载网络图片并构造`UIImage`。
|
|
1005
|
+
|
|
1006
|
+
- 需要立即得到图片对象时可用,但会阻塞当前线程。
|
|
1007
|
+
##### 参数
|
|
1008
|
+
|
|
1009
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1010
|
+
|:-------|:---------|:-----|:------------|
|
|
1011
|
+
| `url` | `string` | 是 | 要下载的网络图片URL。 |
|
|
1012
|
+
|
|
1013
|
+
##### 返回值
|
|
1014
|
+
|
|
1015
|
+
- 类型:`UIImage`
|
|
1016
|
+
- 语义:返回下载并解码后的`UIImage`对象。
|
|
1017
|
+
|
|
1018
|
+
#### `imageDataFromWebURLSync`
|
|
1019
|
+
|
|
1020
|
+
##### 类型
|
|
1021
|
+
|
|
1022
|
+
```ts
|
|
1023
|
+
static imageDataFromWebURLSync(url: string,type?: 'png'|'jpg'|'jpeg',compressionQuality?: number): NSData
|
|
1024
|
+
```
|
|
1025
|
+
|
|
1026
|
+
##### 说明
|
|
1027
|
+
|
|
1028
|
+
- 同步下载网络图片并按指定格式导出数据。
|
|
1029
|
+
|
|
1030
|
+
- 当你只需要二进制上传或写文件,这个方法比`imageFromWebURLSync`更省一步转换。
|
|
1031
|
+
##### 参数
|
|
1032
|
+
|
|
1033
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1034
|
+
|:---------------------|:---------|:------|:---------------------|
|
|
1035
|
+
| `url` | `string` | 是 | 要下载的网络图片URL。 |
|
|
1036
|
+
| `type` | `'png'\|'jpg'\|'jpeg'` | 否 | 图片类型,默认为png。 |
|
|
1037
|
+
| `compressionQuality` | `number` | 否 | 输出压缩质量,范围0到1。 |
|
|
1038
|
+
|
|
1039
|
+
##### 返回值
|
|
1040
|
+
|
|
1041
|
+
- 类型:`NSData`
|
|
1042
|
+
- 语义:返回按指定格式导出的图片`NSData`数据。
|
|
1043
|
+
|
|
1044
|
+
#### `NSValue2String`
|
|
1045
|
+
|
|
1046
|
+
##### 类型
|
|
1047
|
+
|
|
1048
|
+
```ts
|
|
1049
|
+
static NSValue2String(v: NSValue): string
|
|
1050
|
+
```
|
|
1051
|
+
|
|
1052
|
+
##### 说明
|
|
1053
|
+
|
|
1054
|
+
- 把`NSValue`转换为JavaScript可读字符串。
|
|
1055
|
+
|
|
1056
|
+
- 这是后续解析CGSize和CGRect的基础步骤。
|
|
1057
|
+
##### 参数
|
|
1058
|
+
|
|
1059
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1060
|
+
|:-------|:----------|:-----|:-------------|
|
|
1061
|
+
| `v` | `NSValue` | 是 | 待解析的原生NSValue对象。 |
|
|
1062
|
+
|
|
1063
|
+
##### 返回值
|
|
1064
|
+
|
|
1065
|
+
- 类型:`string`
|
|
1066
|
+
- 语义:返回可读的几何字符串,常见格式为`{x,y}`或`{w,h}`。
|
|
1067
|
+
|
|
1068
|
+
#### `NSValue2CGSize`
|
|
1069
|
+
|
|
1070
|
+
##### 类型
|
|
1071
|
+
|
|
1072
|
+
```ts
|
|
1073
|
+
static NSValue2CGSize(v: NSValue): { width: number; height: number }
|
|
1074
|
+
```
|
|
1075
|
+
|
|
1076
|
+
##### 说明
|
|
1077
|
+
|
|
1078
|
+
- 把`NSValue`解析为`{ width, height }`。
|
|
1079
|
+
|
|
1080
|
+
- 与`NSValue2CGRect`相比,它只处理尺寸不处理坐标。
|
|
1081
|
+
##### 参数
|
|
1082
|
+
|
|
1083
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1084
|
+
|:-------|:----------|:-----|:-------------|
|
|
1085
|
+
| `v` | `NSValue` | 是 | 待解析的原生NSValue对象。 |
|
|
1086
|
+
|
|
1087
|
+
##### 返回值
|
|
1088
|
+
|
|
1089
|
+
- 类型:`{ width: number; height: number }`
|
|
1090
|
+
- 语义:返回`{ width, height }`尺寸对象。
|
|
1091
|
+
|
|
1092
|
+
#### `NSValue2CGRect`
|
|
1093
|
+
|
|
1094
|
+
##### 类型
|
|
1095
|
+
|
|
1096
|
+
```ts
|
|
1097
|
+
static NSValue2CGRect(v: NSValue): { x: number; y: number; height: number; width: number }
|
|
1098
|
+
```
|
|
1099
|
+
|
|
1100
|
+
##### 说明
|
|
1101
|
+
|
|
1102
|
+
- 把`NSValue`解析为`{ x, y, height, width }`对象。
|
|
1103
|
+
|
|
1104
|
+
- 适合把原生几何值喂给纯JS布局逻辑。
|
|
1105
|
+
##### 参数
|
|
1106
|
+
|
|
1107
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1108
|
+
|:-------|:----------|:-----|:-------------|
|
|
1109
|
+
| `v` | `NSValue` | 是 | 待解析的原生NSValue对象。 |
|
|
1110
|
+
|
|
1111
|
+
##### 返回值
|
|
1112
|
+
|
|
1113
|
+
- 类型:`{ x: number; y: number; height: number; width: number }`
|
|
1114
|
+
- 语义:返回`{ x, y, height, width }`矩形对象。
|
|
1115
|
+
|
|
1116
|
+
#### `CGRectString2CGRect`
|
|
1117
|
+
|
|
1118
|
+
##### 类型
|
|
1119
|
+
|
|
1120
|
+
```ts
|
|
1121
|
+
static CGRectString2CGRect(str: string): { x: number; y: number; height: number; width: number }
|
|
1122
|
+
```
|
|
1123
|
+
|
|
1124
|
+
##### 说明
|
|
1125
|
+
|
|
1126
|
+
- 把CGRect字符串解析成对象结构。
|
|
1127
|
+
|
|
1128
|
+
- 当你已经拿到字符串形态而不是NSValue时用它。
|
|
1129
|
+
##### 参数
|
|
1130
|
+
|
|
1131
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1132
|
+
|:-------|:---------|:-----|:-----------|
|
|
1133
|
+
| `str` | `string` | 是 | CGRect字符串,常见格式为`{{x,y},{w,h}}`。 |
|
|
1134
|
+
|
|
1135
|
+
##### 返回值
|
|
1136
|
+
|
|
1137
|
+
- 类型:`{ x: number; y: number; height: number; width: number }`
|
|
1138
|
+
- 语义:返回解析后的`{ x, y, height, width }`对象。
|
|
1139
|
+
|
|
1140
|
+
#### `stringFromCharCode`
|
|
1141
|
+
|
|
1142
|
+
##### 类型
|
|
1143
|
+
|
|
1144
|
+
```ts
|
|
1145
|
+
static stringFromCharCode(char: number|string): string
|
|
1146
|
+
```
|
|
1147
|
+
|
|
1148
|
+
##### 说明
|
|
1149
|
+
|
|
1150
|
+
- 把数字或数字字符串转换成单字符。
|
|
1151
|
+
|
|
1152
|
+
- 适用于处理协议里以码点存储的字符。
|
|
1153
|
+
##### 参数
|
|
1154
|
+
|
|
1155
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1156
|
+
|:-------|:---------|:---------|:-----|
|
|
1157
|
+
| `char` | `number\|string` | 是 | 要转换的字符或字符码。 |
|
|
1158
|
+
|
|
1159
|
+
##### 返回值
|
|
1160
|
+
|
|
1161
|
+
- 类型:`string`
|
|
1162
|
+
- 语义:返回输入码点对应的单字符字符串。
|
|
1163
|
+
|
|
1164
|
+
#### `fileTypeFromBase64URL`
|
|
1165
|
+
|
|
1166
|
+
##### 类型
|
|
1167
|
+
|
|
1168
|
+
```ts
|
|
1169
|
+
static fileTypeFromBase64URL(content: string): string|undefined
|
|
1170
|
+
```
|
|
1171
|
+
|
|
1172
|
+
##### 说明
|
|
1173
|
+
|
|
1174
|
+
- 根据DataURL前缀快速判断文件类型。
|
|
1175
|
+
|
|
1176
|
+
- 前缀是`octet-stream`时会退回字节头判断。
|
|
1177
|
+
##### 参数
|
|
1178
|
+
|
|
1179
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1180
|
+
|:----------|:---------|:-----|:-----------|
|
|
1181
|
+
| `content` | `string` | 是 | DataURL完整字符串。 |
|
|
1182
|
+
|
|
1183
|
+
##### 返回值
|
|
1184
|
+
|
|
1185
|
+
- 类型:`string|undefined`
|
|
1186
|
+
- 语义:成功返回`string`,失败返回`undefined`。
|
|
1187
|
+
|
|
1188
|
+
#### `hexHeaderFromData`
|
|
1189
|
+
|
|
1190
|
+
##### 类型
|
|
1191
|
+
|
|
1192
|
+
```ts
|
|
1193
|
+
static hexHeaderFromData(data: NSData): string|undefined
|
|
1194
|
+
```
|
|
1195
|
+
|
|
1196
|
+
##### 说明
|
|
1197
|
+
|
|
1198
|
+
- 读取二进制前16字节并输出十六进制文件头。
|
|
1199
|
+
|
|
1200
|
+
##### 参数
|
|
1201
|
+
|
|
1202
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1203
|
+
|:-------|:---------|:-----|:-------------|
|
|
1204
|
+
| `data` | `NSData` | 是 | 待处理的二进制数据对象。 |
|
|
1205
|
+
|
|
1206
|
+
##### 返回值
|
|
1207
|
+
|
|
1208
|
+
- 类型:`string|undefined`
|
|
1209
|
+
- 语义:成功返回`string`,失败返回`undefined`。
|
|
1210
|
+
|
|
1211
|
+
#### `getFileTypeFromBase64`
|
|
1212
|
+
|
|
1213
|
+
##### 类型
|
|
1214
|
+
|
|
1215
|
+
```ts
|
|
1216
|
+
static getFileTypeFromBase64(base64: string): string
|
|
1217
|
+
```
|
|
1218
|
+
|
|
1219
|
+
##### 说明
|
|
1220
|
+
|
|
1221
|
+
- 把Base64先转数据再按文件头识别类型。
|
|
1222
|
+
|
|
1223
|
+
- 当MIME前缀缺失时,这是比字符串猜测更可靠的路径。
|
|
1224
|
+
##### 参数
|
|
1225
|
+
|
|
1226
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1227
|
+
|:---------|:---------|:-----|:-------------|
|
|
1228
|
+
| `base64` | `string` | 是 | Base64文本。 |
|
|
1229
|
+
|
|
1230
|
+
##### 返回值
|
|
1231
|
+
|
|
1232
|
+
- 类型:`string`
|
|
1233
|
+
- 语义:返回根据文件头识别出的文件类型扩展名。
|
|
1234
|
+
|
|
1235
|
+
#### `getFileTypeFromhexHeader`
|
|
1236
|
+
|
|
1237
|
+
##### 类型
|
|
1238
|
+
|
|
1239
|
+
```ts
|
|
1240
|
+
static getFileTypeFromhexHeader(hexHeader: string): string
|
|
1241
|
+
```
|
|
1242
|
+
|
|
1243
|
+
##### 说明
|
|
1244
|
+
|
|
1245
|
+
- 按文件头前缀匹配常见格式,如jpg、png、pdf、zip。
|
|
1246
|
+
|
|
1247
|
+
- 它按前缀长度从长到短匹配,降低误判。
|
|
1248
|
+
##### 参数
|
|
1249
|
+
|
|
1250
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1251
|
+
|:------------|:---------|:-----|:-----------|
|
|
1252
|
+
| `hexHeader` | `string` | 是 | 十六进制文件头字符串。 |
|
|
1253
|
+
|
|
1254
|
+
##### 返回值
|
|
1255
|
+
|
|
1256
|
+
- 类型:`string`
|
|
1257
|
+
- 语义:返回匹配到的文件类型扩展名。
|
|
1258
|
+
|
|
1259
|
+
#### `getFileTypeFromData`
|
|
1260
|
+
|
|
1261
|
+
##### 类型
|
|
1262
|
+
|
|
1263
|
+
```ts
|
|
1264
|
+
static getFileTypeFromData(data: NSData): string
|
|
1265
|
+
```
|
|
1266
|
+
|
|
1267
|
+
##### 说明
|
|
1268
|
+
|
|
1269
|
+
- 直接从`NSData`识别文件类型。
|
|
1270
|
+
|
|
1271
|
+
##### 参数
|
|
1272
|
+
|
|
1273
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1274
|
+
|:-------|:---------|:-----|:-------------|
|
|
1275
|
+
| `data` | `NSData` | 是 | 待处理的二进制数据对象。 |
|
|
1276
|
+
|
|
1277
|
+
##### 返回值
|
|
1278
|
+
|
|
1279
|
+
- 类型:`string`
|
|
1280
|
+
- 语义:返回从二进制头部识别出的文件类型扩展名。
|
|
1281
|
+
|
|
1282
|
+
#### `getFileType`
|
|
1283
|
+
|
|
1284
|
+
##### 类型
|
|
1285
|
+
|
|
1286
|
+
```ts
|
|
1287
|
+
static getFileType(data: NSData|string): string
|
|
1288
|
+
```
|
|
1289
|
+
|
|
1290
|
+
##### 说明
|
|
1291
|
+
|
|
1292
|
+
- 统一入口:同时支持`NSData`和字符串两类输入。
|
|
1293
|
+
|
|
1294
|
+
- 字符串输入会先判断是否DataURL,再决定走哪条识别路径。
|
|
1295
|
+
##### 参数
|
|
1296
|
+
|
|
1297
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1298
|
+
|:-------|:---------|:---------|:-----|
|
|
1299
|
+
| `data` | `NSData\|string` | 是 | 待识别的数据,可传`NSData`或字符串。 |
|
|
1300
|
+
|
|
1301
|
+
##### 返回值
|
|
1302
|
+
|
|
1303
|
+
- 类型:`string`
|
|
1304
|
+
- 语义:返回自动判定后的文件类型扩展名。
|
|
1305
|
+
|
|
1306
|
+
#### `base64ToUint8Array`
|
|
1307
|
+
|
|
1308
|
+
##### 类型
|
|
1309
|
+
|
|
1310
|
+
```ts
|
|
1311
|
+
static base64ToUint8Array(base64Str: string): Uint8Array
|
|
1312
|
+
```
|
|
1313
|
+
|
|
1314
|
+
##### 说明
|
|
1315
|
+
|
|
1316
|
+
- 把Base64文本解码为`Uint8Array`,并自动清理前缀和空白字符。
|
|
1317
|
+
|
|
1318
|
+
- 在插件返回值含换行时,这个方法比原生`atob`更稳定。
|
|
1319
|
+
##### 参数
|
|
1320
|
+
|
|
1321
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1322
|
+
|:------------|:---------|:-----|:-------------|
|
|
1323
|
+
| `base64Str` | `string` | 是 | Base64文本。 |
|
|
1324
|
+
|
|
1325
|
+
##### 返回值
|
|
1326
|
+
|
|
1327
|
+
- 类型:`Uint8Array`
|
|
1328
|
+
- 语义:返回Base64解码后的Uint8Array。
|
|
1329
|
+
|
|
1330
|
+
#### `NSDataToUint8Array`
|
|
1331
|
+
|
|
1332
|
+
##### 类型
|
|
1333
|
+
|
|
1334
|
+
```ts
|
|
1335
|
+
static NSDataToUint8Array(data: NSData): Uint8Array
|
|
1336
|
+
```
|
|
1337
|
+
|
|
1338
|
+
##### 说明
|
|
1339
|
+
|
|
1340
|
+
- 把`NSData`转换成`Uint8Array`。
|
|
1341
|
+
|
|
1342
|
+
- 处理流程与`base64ToUint8Array`一致,只是输入源改为`NSData`。
|
|
1343
|
+
##### 参数
|
|
1344
|
+
|
|
1345
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1346
|
+
|:-------|:---------|:-----|:-------------|
|
|
1347
|
+
| `data` | `NSData` | 是 | 待处理的二进制数据对象。 |
|
|
1348
|
+
|
|
1349
|
+
##### 返回值
|
|
1350
|
+
|
|
1351
|
+
- 类型:`Uint8Array`
|
|
1352
|
+
- 语义:返回与输入`NSData`等价的`Uint8Array`数据。
|
|
1353
|
+
|
|
1354
|
+
#### `uint8ArrayToBase64`
|
|
1355
|
+
|
|
1356
|
+
##### 类型
|
|
1357
|
+
|
|
1358
|
+
```ts
|
|
1359
|
+
static uint8ArrayToBase64(input: Uint8Array|ArrayBuffer|number[]): string
|
|
1360
|
+
```
|
|
1361
|
+
|
|
1362
|
+
##### 说明
|
|
1363
|
+
|
|
1364
|
+
- 把`Uint8Array`、`ArrayBuffer`或数值数组编码成Base64。
|
|
1365
|
+
|
|
1366
|
+
- 当你需要替代浏览器`btoa`处理二进制时,优先使用它。
|
|
1367
|
+
##### 参数
|
|
1368
|
+
|
|
1369
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1370
|
+
|:--------|:-------------|:------------|:-------------|
|
|
1371
|
+
| `input` | `Uint8Array\|ArrayBuffer\|number\[\]` | 是 | 要编码的Uint8Array、ArrayBuffer或数值数组。 |
|
|
1372
|
+
|
|
1373
|
+
##### 返回值
|
|
1374
|
+
|
|
1375
|
+
- 类型:`string`
|
|
1376
|
+
- 语义:返回Base64编码后的字符串。
|
|
1377
|
+
|
|
1378
|
+
#### `changePngColor`
|
|
1379
|
+
|
|
1380
|
+
##### 类型
|
|
1381
|
+
|
|
1382
|
+
```ts
|
|
1383
|
+
static changePngColor(bytes: Uint8Array,hexColor: string,sourceRgb?: [number,number,number]): string|null
|
|
1384
|
+
```
|
|
1385
|
+
|
|
1386
|
+
##### 说明
|
|
1387
|
+
|
|
1388
|
+
- 修改索引色PNG的调色板颜色并返回新的DataURL。
|
|
1389
|
+
|
|
1390
|
+
- 它只处理含`PLTE`块的PNG,不支持真彩PNG逐像素替换。
|
|
1391
|
+
##### 参数
|
|
1392
|
+
|
|
1393
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1394
|
+
|:------------|:-------------------------|:-----|:-----------|
|
|
1395
|
+
| `bytes` | `Uint8Array` | 是 | 待处理的PNG字节数组。 |
|
|
1396
|
+
| `hexColor` | `string` | 是 | 目标替换颜色,十六进制字符串。 |
|
|
1397
|
+
| `sourceRgb` | `[number,number,number]` | 否 | 可选,仅替换指定源RGB颜色。 |
|
|
1398
|
+
|
|
1399
|
+
##### 返回值
|
|
1400
|
+
|
|
1401
|
+
- 类型:`string|null`
|
|
1402
|
+
- 语义:成功返回调色后的DataURL字符串,无法处理时返回`null`。
|
|
1403
|
+
|
|
1404
|
+
#### `getDotBase64WithColor`
|
|
1405
|
+
|
|
1406
|
+
##### 类型
|
|
1407
|
+
|
|
1408
|
+
```ts
|
|
1409
|
+
static getDotBase64WithColor(hexColor: string): string|null
|
|
1410
|
+
```
|
|
1411
|
+
|
|
1412
|
+
##### 说明
|
|
1413
|
+
|
|
1414
|
+
- 把内置小圆点模板图替换成目标颜色并返回Base64 DataURL。
|
|
1415
|
+
|
|
1416
|
+
- 适合快速生成带主题色的标记点素材。
|
|
1417
|
+
##### 参数
|
|
1418
|
+
|
|
1419
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1420
|
+
|:-----------|:---------|:-----|:-----------|
|
|
1421
|
+
| `hexColor` | `string` | 是 | 目标小圆点颜色,十六进制字符串。 |
|
|
1422
|
+
|
|
1423
|
+
##### 返回值
|
|
1424
|
+
|
|
1425
|
+
- 类型:`string|null`
|
|
1426
|
+
- 语义:成功返回着色后的DataURL字符串,失败返回`null`。
|
|
1427
|
+
|
|
1428
|
+
#### `getDotImageWithColor`
|
|
1429
|
+
|
|
1430
|
+
##### 类型
|
|
1431
|
+
|
|
1432
|
+
```ts
|
|
1433
|
+
static getDotImageWithColor(hexColor: string): UIImage|undefined
|
|
1434
|
+
```
|
|
1435
|
+
|
|
1436
|
+
##### 说明
|
|
1437
|
+
|
|
1438
|
+
- 基于`getDotBase64WithColor`直接得到`UIImage`。
|
|
1439
|
+
|
|
1440
|
+
- 当你最终需要的是可绘制图片对象,而不是字符串时使用它。
|
|
1441
|
+
##### 参数
|
|
1442
|
+
|
|
1443
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1444
|
+
|:-----------|:---------|:-----|:-----------|
|
|
1445
|
+
| `hexColor` | `string` | 是 | 目标小圆点颜色,十六进制字符串。 |
|
|
1446
|
+
|
|
1447
|
+
##### 返回值
|
|
1448
|
+
|
|
1449
|
+
- 类型:`UIImage|undefined`
|
|
1450
|
+
- 语义:成功返回`UIImage`,失败返回`undefined`。
|
|
1451
|
+
|
|
1452
|
+
## 实例成员(Instance members)
|
|
1453
|
+
|
|
1454
|
+
无实例成员。
|
|
1455
|
+
|
|
1456
|
+
## 覆盖补全
|
|
1457
|
+
|
|
1458
|
+
#### `convertImageBase64ToPdfBase64`
|
|
1459
|
+
|
|
1460
|
+
##### 类型
|
|
1461
|
+
|
|
1462
|
+
```ts
|
|
1463
|
+
static async convertImageBase64ToPdfBase64(pngBase64: string): Promise<string|undefined>
|
|
1464
|
+
```
|
|
1465
|
+
|
|
1466
|
+
##### 说明
|
|
1467
|
+
|
|
1468
|
+
将Base64编码的图片转换为Base64编码的PDF。
|
|
1469
|
+
|
|
1470
|
+
##### 参数
|
|
1471
|
+
|
|
1472
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1473
|
+
|:-------|:-----|:-----|:-----|
|
|
1474
|
+
| `pngBase64` | `string` | 是 | Base64编码的PNG图片。 |
|
|
1475
|
+
|
|
1476
|
+
##### 返回值
|
|
1477
|
+
|
|
1478
|
+
- 类型:`Promise<string|undefined>`
|
|
1479
|
+
- 语义:成功返回Base64编码的PDF,失败返回undefined。
|
|
1480
|
+
|
|
1481
|
+
#### `convertImageDataToPdfData`
|
|
1482
|
+
|
|
1483
|
+
##### 类型
|
|
1484
|
+
|
|
1485
|
+
```ts
|
|
1486
|
+
static async convertImageDataToPdfData(imageData: NSData): Promise<NSData|undefined>
|
|
1487
|
+
```
|
|
1488
|
+
|
|
1489
|
+
##### 说明
|
|
1490
|
+
|
|
1491
|
+
将图片数据转换为PDF数据。
|
|
1492
|
+
|
|
1493
|
+
##### 参数
|
|
1494
|
+
|
|
1495
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1496
|
+
|:-------|:-----|:-----|:-----|
|
|
1497
|
+
| `imageData` | `NSData` | 是 | 图片二进制数据。 |
|
|
1498
|
+
|
|
1499
|
+
##### 返回值
|
|
1500
|
+
|
|
1501
|
+
- 类型:`Promise<NSData|undefined>`
|
|
1502
|
+
- 语义:成功返回PDF数据,失败返回undefined。
|
|
1503
|
+
|
|
1504
|
+
#### `imageFromWebURL`
|
|
1505
|
+
|
|
1506
|
+
##### 类型
|
|
1507
|
+
|
|
1508
|
+
```ts
|
|
1509
|
+
static async imageFromWebURL(url: string): Promise<UIImage|undefined>
|
|
1510
|
+
```
|
|
1511
|
+
|
|
1512
|
+
##### 说明
|
|
1513
|
+
|
|
1514
|
+
从网络URL下载图片并转换为UIImage。
|
|
1515
|
+
|
|
1516
|
+
##### 参数
|
|
1517
|
+
|
|
1518
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1519
|
+
|:-------|:-----|:-----|:-----|
|
|
1520
|
+
| `url` | `string` | 是 | 图片URL。 |
|
|
1521
|
+
|
|
1522
|
+
##### 返回值
|
|
1523
|
+
|
|
1524
|
+
- 类型:`Promise<UIImage|undefined>`
|
|
1525
|
+
- 语义:成功返回UIImage对象,失败返回undefined。
|
|
1526
|
+
|
|
1527
|
+
#### `imageDataFromWebURL`
|
|
1528
|
+
|
|
1529
|
+
##### 类型
|
|
1530
|
+
|
|
1531
|
+
```ts
|
|
1532
|
+
static async imageDataFromWebURL(url: string): Promise<NSData|undefined>
|
|
1533
|
+
```
|
|
1534
|
+
|
|
1535
|
+
##### 说明
|
|
1536
|
+
|
|
1537
|
+
从网络URL下载图片并返回二进制数据。
|
|
1538
|
+
|
|
1539
|
+
##### 参数
|
|
1540
|
+
|
|
1541
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1542
|
+
|:-------|:-----|:-----|:-----|
|
|
1543
|
+
| `url` | `string` | 是 | 图片URL。 |
|
|
1544
|
+
|
|
1545
|
+
##### 返回值
|
|
1546
|
+
|
|
1547
|
+
- 类型:`Promise<NSData|undefined>`
|
|
1548
|
+
- 语义:成功返回图片数据,失败返回undefined。
|
|
1549
|
+
|
|
1550
|
+
#### `extractPDFPage`
|
|
1551
|
+
|
|
1552
|
+
##### 类型
|
|
1553
|
+
|
|
1554
|
+
```ts
|
|
1555
|
+
static async extractPDFPage(path: string,targetPageIndices: number[]): Promise<NSData|undefined>
|
|
1556
|
+
```
|
|
1557
|
+
|
|
1558
|
+
##### 说明
|
|
1559
|
+
|
|
1560
|
+
从PDF中提取指定页并返回新的PDF数据。
|
|
1561
|
+
|
|
1562
|
+
##### 参数
|
|
1563
|
+
|
|
1564
|
+
| 参数名 | 类型 | 必填 | 说明 |
|
|
1565
|
+
|:-------|:-----|:-----|:-----|
|
|
1566
|
+
| `path` | `string` | 是 | PDF文件路径。 |
|
|
1567
|
+
| `targetPageIndices` | `number[]` | 是 | 要提取的页码数组。 |
|
|
1568
|
+
|
|
1569
|
+
##### 返回值
|
|
1570
|
+
|
|
1571
|
+
- 类型:`Promise<NSData|undefined>`
|
|
1572
|
+
- 语义:成功返回提取的PDF数据,失败返回undefined。
|