tmui-cli 2.0.5 → 2.0.6
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/README.md +2 -2
- package/data/components.json +1 -1
- package/data/config.json +1 -1
- package/data/doc-index.json +1 -1
- package/data/guides/cli.md +8 -4
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/01./346/217/222/344/273/266/347/233/256/345/275/225.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/tmOcr /347/246/273/347/272/277/346/226/207/346/241/243/350/257/206/345/210/253.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xActionmodalS /345/272/225/351/203/250/345/206/205/345/256/271/346/212/275/345/261/211.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xActionsheetS /345/272/225/351/203/250/345/212/250/344/275/234/350/217/234/345/215/225.md" +2 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xAddphonerepeatcalendarS /347/263/273/347/273/237/346/227/245/345/216/206.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xAppiconS /345/272/224/347/224/250/345/233/276/346/240/207/344/270/216/350/247/222/346/240/207.md" +14 -7
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xBluetoothS /350/223/235/347/211/231.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xBlurU /350/203/214/346/231/257/346/257/233/347/216/273/347/222/203.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xCamreaU /345/216/237/347/224/237/347/233/270/346/234/272.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xChatmarkdownU AI/350/201/212/345/244/251Markdown.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xChinesetopinyinS /344/270/255/346/226/207/350/275/254/346/213/274/351/237/263.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xChooseFileS /346/226/207/344/273/266/351/200/211/346/213/251.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xChooseMediaS /345/252/222/344/275/223/351/200/211/346/213/251/345/231/250.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xCorrectS /346/226/207/346/241/243/346/240/241/346/255/243/344/270/216/350/257/206/345/210/253.md" +253 -3
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xCryptoS /345/212/240/350/247/243/345/257/206.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xDesktopcardS /346/241/214/351/235/242/345/215/241/347/211/207/344/270/216/345/256/236/345/206/265.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xEditorU /345/257/214/346/226/207/346/234/254/347/274/226/350/276/221.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xFacedetectAlibabaS /351/230/277/351/207/214/344/272/221/345/256/236/344/272/272/350/256/244/350/257/201.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xFacerecU /347/246/273/347/272/277/344/272/272/350/204/270/350/257/206/345/210/253.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xFfmpegS /351/237/263/350/247/206/351/242/221/345/244/204/347/220/206.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xHtmlU HTML/345/256/211/345/205/250/346/270/262/346/237/223.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xKeyboardS /350/275/257/351/224/256/347/233/230.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xLoadingS /345/205/250/345/261/217/345/212/240/350/275/275.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xLocationS /345/256/232/344/275/215.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMakephoneS /346/213/250/346/211/223/347/224/265/350/257/235.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMediaplayS /345/252/222/344/275/223/346/222/255/346/224/276/344/270/216/345/275/225/345/210/266.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMimeS /346/226/207/344/273/266/347/261/273/345/236/213/345/227/205/346/216/242.md" +10 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMlkitScannigS /345/205/250/345/261/217/346/211/253/347/240/201.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMlkitScannigU /346/211/253/347/240/201/345/256/271/345/231/250.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMnnkitS /347/253/257/344/276/247/345/244/247/346/250/241/345/236/213.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xModalS /345/257/271/350/257/235/346/241/206.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xModel3dU.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMoreshareS /346/233/264/345/244/232/345/210/206/344/272/253/351/235/242/346/235/277.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMqttS MQTT/346/266/210/346/201/257.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xMusicnotifyS /351/200/232/347/237/245/346/240/217/351/237/263/344/271/220/346/222/255/346/224/276/345/231/250.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xNetworkstatusS /347/275/221/347/273/234/347/212/266/346/200/201.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xNotifyS /346/234/254/345/234/260/351/200/232/347/237/245.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xOcrS /347/246/273/347/272/277/346/226/207/346/241/243/350/257/206/345/210/253.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xOfficeU Office /346/226/207/346/241/243/347/274/226/350/276/221.md" +1996 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xOnnxkitS /347/246/273/347/272/277/350/257/255/351/237/263/350/257/206/345/210/253/344/270/216/345/220/210/346/210/220.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPdfS PDF/345/220/210/346/210/220.md" +24 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPdfU PDF/351/242/204/350/247/210.md" +8 -1
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPermissionS /346/235/203/351/231/220.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPhonecontactS /351/200/232/350/256/257/345/275/225.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPhotokitS /345/233/276/347/211/207/346/260/264/345/215/260.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPiniaS.md +122 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPreviewMediaS /345/233/276/347/211/207/350/247/206/351/242/221/346/267/267/345/220/210/351/242/204/350/247/210.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPrintS /347/263/273/347/273/237/346/211/223/345/215/260.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xScreenshotS /346/210/252/345/233/276/344/270/216/351/230/262/346/210/252/345/261/217.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xScreentgreyS /345/272/224/347/224/250/347/275/256/347/201/260.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSendsmsS /345/217/221/351/200/201/347/237/255/344/277/241.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xShareS /347/263/273/347/273/237/345/210/206/344/272/253.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSkiaU Skia/347/224/273/345/270/203.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSqliteS SQLite/346/225/260/346/215/256/345/272/223.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSseS SSE/346/216/250/351/200/201.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xStartintentS /346/211/223/345/274/200/345/215/217/350/256/256/351/223/276/346/216/245.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSvgU SVG/347/273/204/344/273/266.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSwiperU /345/216/237/347/224/237/350/275/256/346/222/255.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xTexttovoiceS /346/226/207/346/234/254/350/275/254/350/257/255/351/237/263.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xTianditumapU /345/244/251/345/234/260/345/233/276.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xTipsS /346/266/210/346/201/257/346/217/220/347/244/272.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xToastS /350/275/273/346/217/220/347/244/272.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xUdpS UDP/351/200/232/344/277/241.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xUtilsS Base64/344/270/216/346/226/207/344/273/266/344/272/222/350/275/254.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xVibrateS /351/234/207/345/212/250.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xWebviewU /346/267/267/345/220/210WebView.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xWechatshareS /345/276/256/344/277/241/345/274/200/346/224/276/345/271/263/345/217/260.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xYoloS YOLO/347/233/256/346/240/207/346/243/200/346/265/213.md +0 -0
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xZipS ZIP/345/216/213/347/274/251/350/247/243/345/216/213.md +0 -0
- package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/01./345/211/215/350/250/200.md +20 -0
- package/data/tmui4x-doc-index.json +40 -4
- package/data/uniappx-doc-index.json +1 -1
- package/dist/main.mjs +65 -65
- package/package.json +4 -3
- package/templates/uniappx-vapor/.editorconfig +9 -0
- package/templates/uniappx-vapor/App.uvue +51 -0
- package/templates/uniappx-vapor/index.html +20 -0
- package/templates/uniappx-vapor/main.uts +9 -0
- package/templates/uniappx-vapor/manifest.json +67 -0
- package/templates/uniappx-vapor/pages/index/index.uvue +24 -0
- package/templates/uniappx-vapor/pages.json +17 -0
- package/templates/uniappx-vapor/platformConfig.json +6 -0
- package/templates/uniappx-vapor/static/logo.png +0 -0
- package/templates/uniappx-vapor/uni.scss +76 -0
- package/templates/uniappx-vdom/.editorconfig +9 -0
- package/templates/uniappx-vdom/App.uvue +51 -0
- package/templates/uniappx-vdom/index.html +20 -0
- package/templates/uniappx-vdom/main.uts +9 -0
- package/templates/uniappx-vdom/manifest.json +66 -0
- package/templates/uniappx-vdom/pages/index/index.uvue +24 -0
- package/templates/uniappx-vdom/pages.json +17 -0
- package/templates/uniappx-vdom/platformConfig.json +6 -0
- package/templates/uniappx-vdom/static/logo.png +0 -0
- package/templates/uniappx-vdom/uni.scss +76 -0
|
File without changes
|
package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPdfS PDF/345/220/210/346/210/220.md"
CHANGED
|
@@ -68,6 +68,30 @@ imageTextToPdf({
|
|
|
68
68
|
|
|
69
69
|
## 更新日志
|
|
70
70
|
|
|
71
|
+
### 0.1.25(2026-09-11)
|
|
72
|
+
- **修「叠字整体往下掉、偏下约 3/4 个字高」**。落点原来算的是「检测框中心 ± 半个字号」:PDF 的 y 是从**页底往上**算的,而这一项按「y 向下」写成了 `框底 - 框高/2 + 字号/2`,等于把落点压到框底下面一截 —— 实测比正确基线低约 0.58 个字高,和真机上看到的「偏下 3/4 个字」一致。
|
|
73
|
+
- 现在三端都优先钉在 **OCR 量出来的基线**上(`XPdfTextLine` 新增可选 `baseline` / `inkTop` / `inkH`,由 `x-correct-s` 的 OCR 结果透传):基线是按**墨迹**算的,和检测框的位置无关,框偏下、框里混进上下标都不会带偏。没给基线才退回墨迹带底,最后才退回「按框居中」。
|
|
74
|
+
- 鸿蒙:`addTextObject` 直接吃基线(页底往上算);
|
|
75
|
+
- Android:`Canvas.drawText` 的 baseline(视图坐标,从上往下算);
|
|
76
|
+
- iOS:`NSString.draw(at:)` 的点是文字框左上角,所以从基线往上退一个 `ascender`;顺带修掉原来「从框顶再退 ascent」把字整体抬高的问题。
|
|
77
|
+
- `XPdfTextLine` 去掉恒为空串的 `latex`(`x-correct-s` 的公式识别已下线,这个字段是它留下的空壳,本版起不再透传)。`kind` 保留。
|
|
78
|
+
|
|
79
|
+
### 0.1.24(2026-09-11)
|
|
80
|
+
- 叠字 PDF 的字号不再夹在 8–28 点,改成 `框高(图片像素) × fontScale × 图片到页面的缩放`,框越高字越大,和原图比例一致;预览叠字用同一个 0.85 系数,两边对得上。
|
|
81
|
+
- 新增 `minFontPt`:等比换算后小于它才用它兜底,避免缩得太小看不清。默认 10pt,不影响坐标。
|
|
82
|
+
- 新增 `textOnly`:纯文本模式不画底图,页面尺寸按图片比例(最长边 842pt)且不套页边距,文字按原图位置与大小等比输出。适合要「可选中纯文字、位置尺寸同图」的场合;此时 `paperSize` / `margin` / `imageOpacity` 不起作用。
|
|
83
|
+
- 新增 `fontScale`:框高到字号的系数,默认 0.85,可 0.3–1.5 之间调。
|
|
84
|
+
- 有坐标行的文字改为按框居中,框不够宽时整行横向压扁(先缩字号、再压字距),不再截断或溢出。
|
|
85
|
+
- `XPdfTextLine` 增加 `kind` / `latex` 两个可选字段,供上层把行类型与公式原文一路带到 PDF 层(本版只透传,PDF 里画的仍是 `text`)。
|
|
86
|
+
|
|
87
|
+
### 0.1.23(2026-09-09)
|
|
88
|
+
- iOS 合成不再对相册 / 扫描的沙箱绝对路径走 `convert2AbsFullPath`,文件已存在就直接读。避免和安卓一样报「图片读取失败」。
|
|
89
|
+
### 0.1.22(2026-09-09)
|
|
90
|
+
- 安卓改为 Kotlin 后台线程合成:当前线程先 `JSON.stringify`,避免 UTS 对象在 IO dispatcher 里序列化卡死。PDF 固定写到应用 cacheDir。
|
|
91
|
+
### 0.1.21(2026-09-08)
|
|
92
|
+
- 安卓合成 / 删页 / 调序 / 合并改到 IO 线程,完成后再回主线程回调。避免挡住 `showLoading`,转圈不再假死。
|
|
93
|
+
### 0.1.20(2026-09-08)
|
|
94
|
+
- 安卓合成不再对相册 / 扫描的沙箱绝对路径走 `convert2AbsFullPath`,避免被当成包内相对路径拼坏后报「图片读取失败」。`file://` 会解码,`content://` 原样交给 BitmapFactory。大图按长边抽样,避免整图解码失败。
|
|
71
95
|
### 0.1.19(2026-08-20)
|
|
72
96
|
- iOS 图文叠字不再把 `options` 强转成 `UTSJSONObject`。Options 是 Swift 类型,`as!` 会闪退。页面数组改为 `JSON.stringify` 后再按 JSON 读字段。
|
|
73
97
|
### 0.1.18(2026-08-20)
|
package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPdfU PDF/351/242/204/350/247/210.md"
CHANGED
|
@@ -30,7 +30,7 @@ pdf.value?.jumpTo(2)
|
|
|
30
30
|
pdf.value?.print()
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
App 端远程 http/https/ftp
|
|
33
|
+
App 端远程 http/https/ftp 会先下载再渲染。本地支持绝对路径、`file:///`、鸿蒙文档库授权 URI(`file://docs/...`)、Android `content://`、iOS `unifile://`;中文文件名的百分号编码会解开。
|
|
34
34
|
|
|
35
35
|
### 参数
|
|
36
36
|
|
|
@@ -44,6 +44,7 @@ App 端远程 http/https/ftp 会先下载再渲染;本地路径直接打开。
|
|
|
44
44
|
| --- | --- | --- |
|
|
45
45
|
| onInit | `{ page, pageCount }` | PDF 加载完成,`page` 从 0 开始 |
|
|
46
46
|
| pageChange | `{ page, pageCount }` | 当前页变化 |
|
|
47
|
+
| error | `{ errMsg }` | 文件不存在、下载失败或解析失败 |
|
|
47
48
|
|
|
48
49
|
### 方法
|
|
49
50
|
|
|
@@ -68,6 +69,12 @@ App 端远程 http/https/ftp 会先下载再渲染;本地路径直接打开。
|
|
|
68
69
|
|
|
69
70
|
## 更新日志
|
|
70
71
|
|
|
72
|
+
### 1.0.9(2026-09-09)
|
|
73
|
+
* 安卓已是沙箱绝对路径、`file://` 不再先 `convert2AbsFullPath`,避免合成后的 cache PDF 打不开。
|
|
74
|
+
### 1.0.8(2026-09-08)
|
|
75
|
+
* 全端补 `error` 事件(`{ errMsg }`):文件不存在、路径无效、解析失败、远程下载失败都会回调,不再只打日志。
|
|
76
|
+
### 1.0.7(2026-09-08)
|
|
77
|
+
* 全端规范化本地文档路径:鸿蒙 `file://docs/...` 授权 URI 先落沙箱再打开(不再剥成 `docs/storage/...`);Android 处理 `file://` / `content://` / `unifile://`;iOS 对齐 mime-s 解析 `file://` 与 `unifile://`;Web 解开 `file://` 百分号路径。
|
|
71
78
|
### 1.0.6(2026-08-18)
|
|
72
79
|
* Android 预览在 scroll-view 内禁止父级拦截触摸,翻页/缩放只留在 PDF 内,不再穿透到页面。
|
|
73
80
|
|
package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xPermissionS /346/235/203/351/231/220.md
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# x-pinia-s
|
|
2
|
+
|
|
3
|
+
Pinia v3.0.4 单文件版 + 基于 uni 存储的持久化插件。去掉 `@vue/devtools-api` 依赖,适配 uni-app-x;自带 `createPersistPlugin`,用 `uni.setStorageSync` 保存 `store.$state`,下次启动自动还原。
|
|
4
|
+
|
|
5
|
+
### 兼容性
|
|
6
|
+
|
|
7
|
+
| Harmony | IOS | Android | WEB | 小程序 |
|
|
8
|
+
| --- | --- | --- | --- | --- |
|
|
9
|
+
| 支持 | 支持 | 支持 | 支持 | 支持 |
|
|
10
|
+
|
|
11
|
+
### 接入
|
|
12
|
+
|
|
13
|
+
`main.uts` 中创建 Pinia 并挂载持久化插件:
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
import { createPinia } from '@/uni_modules/x-pinia-s/js_sdk/pinia'
|
|
18
|
+
import { createPersistPlugin } from '@/uni_modules/x-pinia-s/js_sdk/piniaPersist'
|
|
19
|
+
|
|
20
|
+
const pinia = createPinia()
|
|
21
|
+
|
|
22
|
+
export function createApp() {
|
|
23
|
+
// @ts-ignore
|
|
24
|
+
const app = createSSRApp(App)
|
|
25
|
+
|
|
26
|
+
pinia.use(createPersistPlugin({
|
|
27
|
+
keyPrefix: 'pinia:',
|
|
28
|
+
includeStores: ['user'],
|
|
29
|
+
excludeStores: [],
|
|
30
|
+
serializer: null
|
|
31
|
+
}))
|
|
32
|
+
app.use(pinia)
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
app
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 定义 store
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
import { ref, computed } from 'vue'
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
import { defineStore } from '@/uni_modules/x-pinia-s/js_sdk/pinia'
|
|
46
|
+
|
|
47
|
+
export const useUserStore = defineStore('user', () => {
|
|
48
|
+
const token = ref<string | null>(null)
|
|
49
|
+
const isLogin = computed(() : boolean => token.value != null && token.value != '')
|
|
50
|
+
|
|
51
|
+
const setLogin = (newToken : string) => {
|
|
52
|
+
token.value = newToken
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return {
|
|
56
|
+
token,
|
|
57
|
+
isLogin,
|
|
58
|
+
setLogin
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
页面中使用:
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
import { useUserStore } from '@/store/useUserStore'
|
|
67
|
+
import { storeToRefs } from '@/uni_modules/x-pinia-s/js_sdk/pinia'
|
|
68
|
+
|
|
69
|
+
const store = useUserStore()
|
|
70
|
+
const { token } = storeToRefs(store)
|
|
71
|
+
store.setLogin('abc')
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 方法
|
|
75
|
+
|
|
76
|
+
| 名称 | 说明 |
|
|
77
|
+
| --- | --- |
|
|
78
|
+
| createPinia | 创建 Pinia 实例 |
|
|
79
|
+
| defineStore | 定义 store,支持 options 与 setup 两种写法 |
|
|
80
|
+
| storeToRefs | 解构 state / getters 并保持响应式 |
|
|
81
|
+
| mapState / mapActions / mapStores / mapWritableState | Options API 辅助函数 |
|
|
82
|
+
| acceptHMRUpdate | HMR 更新 |
|
|
83
|
+
| setActivePinia / getActivePinia | SSR 或组件外手动切换活动实例 |
|
|
84
|
+
| disposePinia | 销毁 Pinia 实例 |
|
|
85
|
+
| skipHydrate / shouldHydrate | 控制 setup store 的 hydration |
|
|
86
|
+
| createPersistPlugin | 持久化插件 |
|
|
87
|
+
| clearPersistedState | 清除某个 store 的持久化数据 |
|
|
88
|
+
|
|
89
|
+
### 持久化插件参数
|
|
90
|
+
|
|
91
|
+
`createPersistPlugin(options)`
|
|
92
|
+
|
|
93
|
+
| 字段 | 说明 | 默认 |
|
|
94
|
+
| --- | --- | --- |
|
|
95
|
+
| keyPrefix | storage key 前缀,实际 key 为 `keyPrefix + store.$id` | `pinia:` |
|
|
96
|
+
| includeStores | 白名单,`null` 表示全部持久化 | `null` |
|
|
97
|
+
| excludeStores | 黑名单,优先级高于白名单 | `[]` |
|
|
98
|
+
| serializer | 自定义序列化器 `{ serialize, deserialize }`,`null` 用 JSON | `null` |
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
import { clearPersistedState } from '@/uni_modules/x-pinia-s/js_sdk/piniaPersist'
|
|
102
|
+
|
|
103
|
+
// 只清存储,不影响内存状态
|
|
104
|
+
clearPersistedState('user', 'pinia:')
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### 平台差异
|
|
108
|
+
|
|
109
|
+
1. 单文件接入,去掉 `@vue/devtools-api`,uni-app-x 无 Vue DevTools。
|
|
110
|
+
2. 持久化走 `uni.setStorageSync` / `uni.getStorageSync`,各端存储实现由 uni 提供。
|
|
111
|
+
3. 白名单 / 黑名单按 `store.$id` 匹配;同时命中时黑名单优先。
|
|
112
|
+
|
|
113
|
+
### 版本
|
|
114
|
+
|
|
115
|
+
https://xui.tmui.design 下载归档。
|
|
116
|
+
|
|
117
|
+
## 更新日志
|
|
118
|
+
|
|
119
|
+
### 1.0.0(2026-08-24)
|
|
120
|
+
* 接入 Pinia v3.0.4,单文件编译,去掉 @vue/devtools-api,适配 uni-app-x
|
|
121
|
+
* 提供 createPersistPlugin 持久化插件,uni.setStorageSync 保存 store.$state,启动自动还原
|
|
122
|
+
* 提供 clearPersistedState 清除单个 store 的持久化数据
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSkiaU Skia/347/224/273/345/270/203.md
CHANGED
|
File without changes
|
|
File without changes
|
package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSseS SSE/346/216/250/351/200/201.md
CHANGED
|
File without changes
|
|
File without changes
|
package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xSvgU SVG/347/273/204/344/273/266.md
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xUdpS UDP/351/200/232/344/277/241.md
CHANGED
|
File without changes
|
|
File without changes
|
package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xVibrateS /351/234/207/345/212/250.md
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Agent Cli
|
|
2
|
+
|
|
3
|
+
本系列文章以我目前所了解到的知识,引导你自行配置或者开发,或者使用再有AI对Uniapp,uniappx,uniapp vdom等项目
|
|
4
|
+
实现自动构建流程,它可以让你在不碰代码的情况下自行完成更多的可能。
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
```mermaid
|
|
8
|
+
|
|
9
|
+
flowchart TB
|
|
10
|
+
HuilderX --> tmxUi组件包 --> 放置uni_modules目录内
|
|
11
|
+
HuilderX --> 选择性uni_modules下的插件 --> 放置uni_modules目录内
|
|
12
|
+
放置uni_modules目录内 --> 选择平台预览开发 --> andriod/ios --> 选择云原生APP打包 --> 选择自定义基座云证书
|
|
13
|
+
选择自定义基座云证书 --> 等待窗口显示打包完毕
|
|
14
|
+
等待窗口显示打包完毕 --> 运行到手机或模拟器 --> 选择你的真机或者模拟器运行 --> 编译运行提示第三方插件更新完成 --> 安卓同意安装完成
|
|
15
|
+
选择平台预览开发 --> web/h5 --> 运行到浏览器 --> chrome查看web预览
|
|
16
|
+
选择平台预览开发 --> 微信小程序 --> 运行到微信开发者工具 --> 待编译后自动打开工具
|
|
17
|
+
选择平台预览开发 --> 支付宝小程序 --> 运行到支付宝开发者工具 --> 待编译后自动打开工具
|
|
18
|
+
选择平台预览开发 --> 鸿蒙Next --> 配置相关证书及环境 --> 真机或者模拟器运行 --> 选择运行到鸿蒙
|
|
19
|
+
|
|
20
|
+
```
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"updatedAt": "2026-09-
|
|
2
|
+
"updatedAt": "2026-09-20T01:56:08.321Z",
|
|
3
3
|
"source": "/Volumes/app/myProjects/tmui4xV2/doc/docs",
|
|
4
|
-
"count":
|
|
4
|
+
"count": 279,
|
|
5
5
|
"sections": [
|
|
6
6
|
{
|
|
7
7
|
"key": "01.教程",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
{
|
|
12
12
|
"key": "10.插件库",
|
|
13
13
|
"name": "插件库",
|
|
14
|
-
"count":
|
|
14
|
+
"count": 69
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"key": "30.组件库",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
{
|
|
32
32
|
"key": "60.AI自动化",
|
|
33
33
|
"name": "AI自动化",
|
|
34
|
-
"count":
|
|
34
|
+
"count": 5
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
"key": "70.混合开发",
|
|
@@ -744,6 +744,20 @@
|
|
|
744
744
|
"离线文档识别"
|
|
745
745
|
]
|
|
746
746
|
},
|
|
747
|
+
{
|
|
748
|
+
"id": "10.插件库/xOfficeU Office 文档编辑",
|
|
749
|
+
"section": "插件库",
|
|
750
|
+
"sectionKey": "10.插件库",
|
|
751
|
+
"title": "x-office-u Office 文档编辑",
|
|
752
|
+
"file": "tmui4x/10.插件库/xOfficeU Office 文档编辑.md",
|
|
753
|
+
"aliases": [
|
|
754
|
+
"xOfficeU Office 文档编辑",
|
|
755
|
+
"xOfficeU",
|
|
756
|
+
"x-office-u",
|
|
757
|
+
"Office",
|
|
758
|
+
"文档编辑"
|
|
759
|
+
]
|
|
760
|
+
},
|
|
747
761
|
{
|
|
748
762
|
"id": "10.插件库/xOnnxkitS 离线语音识别与合成",
|
|
749
763
|
"section": "插件库",
|
|
@@ -822,6 +836,17 @@
|
|
|
822
836
|
"图片水印"
|
|
823
837
|
]
|
|
824
838
|
},
|
|
839
|
+
{
|
|
840
|
+
"id": "10.插件库/xPiniaS",
|
|
841
|
+
"section": "插件库",
|
|
842
|
+
"sectionKey": "10.插件库",
|
|
843
|
+
"title": "x-pinia-s",
|
|
844
|
+
"file": "tmui4x/10.插件库/xPiniaS.md",
|
|
845
|
+
"aliases": [
|
|
846
|
+
"xPiniaS",
|
|
847
|
+
"x-pinia-s"
|
|
848
|
+
]
|
|
849
|
+
},
|
|
825
850
|
{
|
|
826
851
|
"id": "10.插件库/xPreviewMediaS 图片视频混合预览",
|
|
827
852
|
"section": "插件库",
|
|
@@ -3305,6 +3330,17 @@
|
|
|
3305
3330
|
"IQrcode"
|
|
3306
3331
|
]
|
|
3307
3332
|
},
|
|
3333
|
+
{
|
|
3334
|
+
"id": "60.AI自动化/01.前言",
|
|
3335
|
+
"section": "AI自动化",
|
|
3336
|
+
"sectionKey": "60.AI自动化",
|
|
3337
|
+
"title": "Agent Cli",
|
|
3338
|
+
"file": "tmui4x/60.AI自动化/01.前言.md",
|
|
3339
|
+
"aliases": [
|
|
3340
|
+
"01.前言",
|
|
3341
|
+
"前言"
|
|
3342
|
+
]
|
|
3343
|
+
},
|
|
3308
3344
|
{
|
|
3309
3345
|
"id": "60.AI自动化/01.Agent",
|
|
3310
3346
|
"section": "AI自动化",
|