my-uniapp-tools 1.0.0 → 1.0.1
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 +52 -63
- package/package.json +1 -1
- package/src/clipboard/index.ts +4 -2
- package/RECORD.md +0 -34
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# My UniApp Tools
|
|
2
2
|
|
|
3
3
|
一个专为 UniApp 开发设计的实用工具函数库,提供常用的功能模块,帮助开发者快速构建跨平台应用。
|
|
4
4
|
|
|
@@ -6,20 +6,20 @@
|
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
# 使用 npm
|
|
9
|
-
npm install
|
|
9
|
+
npm install my-uniapp-tools
|
|
10
10
|
|
|
11
11
|
# 使用 yarn
|
|
12
|
-
yarn add
|
|
12
|
+
yarn add my-uniapp-tools
|
|
13
13
|
|
|
14
14
|
# 使用 pnpm
|
|
15
|
-
pnpm add
|
|
15
|
+
pnpm add my-uniapp-tools
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
## 🚀 快速开始
|
|
19
19
|
|
|
20
20
|
```javascript
|
|
21
21
|
// 导入所有工具函数
|
|
22
|
-
import * from '
|
|
22
|
+
import * as Tools from 'my-uniapp-tools'
|
|
23
23
|
|
|
24
24
|
// 或者按需导入
|
|
25
25
|
import {
|
|
@@ -28,13 +28,15 @@ import {
|
|
|
28
28
|
copyText,
|
|
29
29
|
setStorageSync,
|
|
30
30
|
getStorageSync,
|
|
31
|
+
clearStorageSync,
|
|
32
|
+
useWindowInfo,
|
|
31
33
|
getPlatform,
|
|
32
34
|
getCurrentEnv,
|
|
33
35
|
onCheckForUpdate,
|
|
34
36
|
getStatusBarHeight,
|
|
35
37
|
getNavHeight,
|
|
36
|
-
|
|
37
|
-
} from '
|
|
38
|
+
getTopNavBarHeight
|
|
39
|
+
} from 'my-uniapp-tools'
|
|
38
40
|
```
|
|
39
41
|
|
|
40
42
|
## 📚 API 文档
|
|
@@ -65,6 +67,8 @@ useToast(
|
|
|
65
67
|
)
|
|
66
68
|
```
|
|
67
69
|
|
|
70
|
+
### 🧭 导航工具 (Navigation)
|
|
71
|
+
|
|
68
72
|
#### `useBack(params)`
|
|
69
73
|
|
|
70
74
|
返回上一页并支持传递参数给上一页的 init 方法
|
|
@@ -83,6 +87,8 @@ useBack({ refresh: true, data: 'some data' })
|
|
|
83
87
|
|
|
84
88
|
**注意:** 上一页需要暴露 `init` 方法来接收参数
|
|
85
89
|
|
|
90
|
+
### 📋 剪贴板工具 (Clipboard)
|
|
91
|
+
|
|
86
92
|
#### `copyText(text)`
|
|
87
93
|
|
|
88
94
|
跨平台文本复制功能,支持 H5、App、小程序。H5 平台优先使用现代的 Clipboard API,失败时回退到传统方法。
|
|
@@ -95,12 +101,14 @@ useBack({ refresh: true, data: 'some data' })
|
|
|
95
101
|
copyText('要复制的文本内容')
|
|
96
102
|
```
|
|
97
103
|
|
|
104
|
+
### 🖥️ 系统信息工具 (System)
|
|
105
|
+
|
|
98
106
|
#### `useWindowInfo()`
|
|
99
107
|
|
|
100
108
|
获取当前窗口的尺寸、像素比等信息
|
|
101
109
|
|
|
102
110
|
**返回值:**
|
|
103
|
-
-
|
|
111
|
+
- 窗口信息对象,包含窗口尺寸、像素比等信息
|
|
104
112
|
|
|
105
113
|
**示例:**
|
|
106
114
|
```javascript
|
|
@@ -240,7 +248,7 @@ const customNavStyle = {
|
|
|
240
248
|
}
|
|
241
249
|
```
|
|
242
250
|
|
|
243
|
-
#### `
|
|
251
|
+
#### `getTopNavBarHeight()`
|
|
244
252
|
|
|
245
253
|
一次性获取应用所需的状态栏和导航栏高度配置信息
|
|
246
254
|
|
|
@@ -251,14 +259,14 @@ const customNavStyle = {
|
|
|
251
259
|
|
|
252
260
|
**示例:**
|
|
253
261
|
```javascript
|
|
254
|
-
const
|
|
255
|
-
console.log(
|
|
256
|
-
console.log(
|
|
262
|
+
const topNavConfig = getTopNavBarHeight()
|
|
263
|
+
console.log(topNavConfig.statusBarHeight) // 状态栏高度
|
|
264
|
+
console.log(topNavConfig.navHeight) // 导航栏总高度
|
|
257
265
|
|
|
258
266
|
// 用于全局配置
|
|
259
267
|
const globalConfig = {
|
|
260
|
-
...
|
|
261
|
-
contentHeight: windowHeight -
|
|
268
|
+
...topNavConfig,
|
|
269
|
+
contentHeight: windowHeight - topNavConfig.navHeight
|
|
262
270
|
}
|
|
263
271
|
```
|
|
264
272
|
|
|
@@ -351,6 +359,11 @@ npm install
|
|
|
351
359
|
yarn dev
|
|
352
360
|
# 或
|
|
353
361
|
npm run dev
|
|
362
|
+
|
|
363
|
+
# 运行测试
|
|
364
|
+
yarn test
|
|
365
|
+
# 或
|
|
366
|
+
npm test
|
|
354
367
|
```
|
|
355
368
|
|
|
356
369
|
## 🏗️ 技术栈
|
|
@@ -362,7 +375,9 @@ npm run dev
|
|
|
362
375
|
## 📁 项目结构
|
|
363
376
|
|
|
364
377
|
```
|
|
365
|
-
|
|
378
|
+
my-uniapp-tools/
|
|
379
|
+
├── .augment/ # 增强配置目录
|
|
380
|
+
│ └── rules/
|
|
366
381
|
├── src/
|
|
367
382
|
│ ├── ui/ # UI交互工具函数
|
|
368
383
|
│ │ └── index.ts
|
|
@@ -375,14 +390,17 @@ huang-uniapp-toolkit/
|
|
|
375
390
|
│ ├── localStorage/ # 本地存储工具
|
|
376
391
|
│ │ └── index.ts
|
|
377
392
|
│ └── index.js # 主入口文件
|
|
393
|
+
├── .gitignore # Git 忽略配置
|
|
378
394
|
├── package.json # 项目配置
|
|
379
395
|
├── tsconfig.json # TypeScript 配置
|
|
380
|
-
|
|
396
|
+
├── yarn.lock # Yarn 依赖锁定文件
|
|
397
|
+
├── README.md # 项目说明
|
|
398
|
+
└── RECORD.md # 项目记录
|
|
381
399
|
```
|
|
382
400
|
|
|
383
401
|
## 🔄 版本信息
|
|
384
402
|
|
|
385
|
-
当前版本:v1.0.
|
|
403
|
+
当前版本:v1.0.0
|
|
386
404
|
|
|
387
405
|
## 📄 许可证
|
|
388
406
|
|
|
@@ -402,55 +420,26 @@ ISC
|
|
|
402
420
|
|
|
403
421
|
## 📝 更新日志
|
|
404
422
|
|
|
405
|
-
### v1.0.
|
|
406
|
-
-
|
|
407
|
-
-
|
|
408
|
-
-
|
|
409
|
-
- ⚙️ 新增 `getAppConfig()` 函数,一次性获取状态栏和导航栏配置信息
|
|
410
|
-
- 🛡️ 添加完善的错误处理机制,确保在获取失败时返回默认值
|
|
411
|
-
- 📚 更新API文档,添加详细的使用说明和界面适配示例
|
|
412
|
-
- 💡 遵循单一职责原则,每个函数专注于特定的高度获取功能
|
|
413
|
-
- 🎯 主要用于小程序平台的界面适配和自定义导航栏开发
|
|
414
|
-
|
|
415
|
-
### v1.0.5
|
|
416
|
-
- ✨ **新增功能**:完善 `onCheckForUpdate()` 函数
|
|
417
|
-
- 📱 实现小程序版本更新检查功能,支持自动检查、下载和提示更新
|
|
418
|
-
- 🔄 支持静默下载新版本,用户可选择立即重启或稍后更新
|
|
419
|
-
- 🛡️ 添加完善的错误处理机制,包括下载失败和异常情况处理
|
|
420
|
-
- 📚 更新API文档,添加详细的平台支持说明和使用示例
|
|
421
|
-
- 💡 遵循单一职责原则,提供用户友好的更新体验
|
|
422
|
-
- 🎯 支持微信、支付宝、百度、抖音、QQ、快手、京东等主流小程序平台
|
|
423
|
-
|
|
424
|
-
### v1.0.4
|
|
425
|
-
- ✨ **新增功能**:完善 `getCurrentEnv()` 函数
|
|
426
|
-
- 📱 新增小程序账户信息获取功能,支持获取appId、版本号、环境版本等信息
|
|
427
|
-
- 🛡️ 添加错误处理机制,确保函数调用的稳定性
|
|
428
|
-
- 📚 更新API文档,添加详细的使用说明和示例
|
|
429
|
-
- 💡 遵循单一职责原则,提供清晰的返回值结构
|
|
430
|
-
|
|
431
|
-
### v1.0.3
|
|
432
|
-
- 🏗️ **重大重构**:按功能类型重新组织代码结构
|
|
433
|
-
- 📁 将原 `common` 模块拆分为 5 个专门模块:
|
|
423
|
+
### v1.0.0
|
|
424
|
+
- 🎯 **初始版本发布**
|
|
425
|
+
- 🏗️ **模块化架构**:按功能类型组织代码结构
|
|
426
|
+
- 📁 **五大核心模块**:
|
|
434
427
|
- `ui` - UI交互工具(useToast)
|
|
435
428
|
- `navigation` - 导航工具(useBack)
|
|
436
429
|
- `clipboard` - 剪贴板工具(copyText)
|
|
437
|
-
- `system` - 系统信息工具(useWindowInfo, getPlatform, getCurrentEnv)
|
|
438
|
-
- `localStorage` -
|
|
439
|
-
-
|
|
440
|
-
-
|
|
441
|
-
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
-
|
|
445
|
-
-
|
|
446
|
-
- 🛡️
|
|
447
|
-
-
|
|
448
|
-
-
|
|
449
|
-
|
|
450
|
-
### v1.0.1
|
|
451
|
-
- 🎯 初始版本发布
|
|
452
|
-
- 📦 基础工具函数实现
|
|
453
|
-
- 💾 本地存储工具实现
|
|
430
|
+
- `system` - 系统信息工具(useWindowInfo, getPlatform, getCurrentEnv, onCheckForUpdate, getStatusBarHeight, getNavHeight, getTopNavBarHeight)
|
|
431
|
+
- `localStorage` - 本地存储工具(setStorageSync, getStorageSync, clearStorageSync)
|
|
432
|
+
- ✨ **核心功能**:
|
|
433
|
+
- 📱 跨平台消息提示和导航返回
|
|
434
|
+
- 📋 跨平台剪贴板操作
|
|
435
|
+
- 🖥️ 系统信息获取和平台检测
|
|
436
|
+
- 🔄 小程序版本更新检查
|
|
437
|
+
- 📏 状态栏和导航栏高度适配
|
|
438
|
+
- 💾 本地存储数据管理
|
|
439
|
+
- 🛡️ **完善的错误处理机制**,确保函数调用的稳定性
|
|
440
|
+
- 💡 **遵循单一职责原则**,每个函数专注于特定功能
|
|
441
|
+
- 📚 **详细的API文档**,包含使用说明和示例代码
|
|
442
|
+
- 🎯 **支持主流平台**:微信、支付宝、百度、抖音、QQ、快手、京东等小程序平台以及H5、App
|
|
454
443
|
|
|
455
444
|
---
|
|
456
445
|
|
package/package.json
CHANGED
package/src/clipboard/index.ts
CHANGED
|
@@ -10,7 +10,8 @@ import { useToast } from '../ui';
|
|
|
10
10
|
* @description 支持 H5、App、小程序。H5 平台优先使用现代的 Clipboard API,失败时回退到传统方法
|
|
11
11
|
*/
|
|
12
12
|
export function copyText(text: string) {
|
|
13
|
-
// #ifndef H5
|
|
13
|
+
// #ifndef H5
|
|
14
|
+
// 条件编译:非 H5 平台(如 App、小程序)执行此代码块
|
|
14
15
|
uni.setClipboardData({
|
|
15
16
|
data: text, // 要复制的文本内容
|
|
16
17
|
success: function () {
|
|
@@ -21,7 +22,8 @@ export function copyText(text: string) {
|
|
|
21
22
|
},
|
|
22
23
|
});
|
|
23
24
|
// #endif
|
|
24
|
-
// #ifdef H5
|
|
25
|
+
// #ifdef H5
|
|
26
|
+
// 条件编译:仅 H5 平台执行此代码块
|
|
25
27
|
// 优先使用现代的 Clipboard API
|
|
26
28
|
if (navigator.clipboard && window.isSecureContext) {
|
|
27
29
|
navigator.clipboard.writeText(text).then(() => {
|
package/RECORD.md
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# 项目记录 (RECORD.md)
|
|
2
|
-
|
|
3
|
-
## 项目简介
|
|
4
|
-
|
|
5
|
-
本项目名为 `my-uniapp-tool`,是一个基于 Node.js 的工具库,旨在为 UniApp 开发提供便利。根据 `package.json`,当前版本为 `1.0.2`,使用 ES Module 规范。
|
|
6
|
-
|
|
7
|
-
## 核心框架/技术
|
|
8
|
-
|
|
9
|
-
- **主要语言**: TypeScript (从 `tsconfig.json` 和 `.ts` 文件扩展名推断)
|
|
10
|
-
- **运行环境**: Node.js (从 `package.json` 的 `scripts` 和 `main` 指向 `.js` 文件推断)
|
|
11
|
-
- **核心依赖**:
|
|
12
|
-
- `@dcloudio/types`: 提供 DCloud UniApp 相关的类型定义,表明项目与 UniApp 生态紧密相关。
|
|
13
|
-
|
|
14
|
-
## 目录结构
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
.
|
|
18
|
-
├── .gitignore # Git 忽略配置文件
|
|
19
|
-
├── package.json # 项目元数据和依赖管理
|
|
20
|
-
├── tsconfig.json # TypeScript 编译配置文件
|
|
21
|
-
├── yarn.lock # Yarn 依赖版本锁定文件
|
|
22
|
-
├── src/ # 源代码目录
|
|
23
|
-
│ ├── index.js # 项目入口文件 (可能是编译后的 JS)
|
|
24
|
-
│ ├── common/ # 通用工具或模块目录
|
|
25
|
-
│ │ └── index.ts # 通用模块入口文件
|
|
26
|
-
│ └── localStorage/ # 本地存储相关模块目录
|
|
27
|
-
│ └── index.ts # 本地存储模块入口文件
|
|
28
|
-
└── RECORD.md # 本项目记录文件 (即本文档)
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
- **根目录**: 包含项目的基本配置文件和元数据。
|
|
32
|
-
- **`src` 目录**: 存放项目的主要源代码。
|
|
33
|
-
- `common`: 包含项目中可复用的通用函数、常量或类型定义。
|
|
34
|
-
- `localStorage`: 封装了与浏览器或小程序本地存储相关的操作。
|