更新记录
1.0.0.1(2025-06-13) 下载此版本
修复
1.0.0(2025-06-13) 下载此版本
初始化
平台兼容性
uni-app(4.02)
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
√ | √ | × | × | √ | √ | √ | × | √ |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | - | - | × | × |
uni-app x(4.02)
Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
---|---|---|---|---|---|
- | - | - | - | - | - |
file-reader-app-wx
一个支持 App端(Android) 和 微信小程序 的文件读取插件,适用于 UniApp 项目。可读取指定路径下的本地文件内容,支持 Promise 和 callback 两种方式调用,插件封装兼容 Vue2 / Vue3。
✨ 插件特点
- ✅ App(Android):通过 NativeJS 调用底层 Java API,读取
/storage/emulated/0/
下文件 - ✅ 微信小程序:基于
wx.getFileSystemManager()
实现文件读取 - ✅ 支持回调函数和 Promise
- ✅ 插件封装,可用于
Vue2
和Vue3
项目中 - ✅ 无需额外依赖,轻量纯净
📦 安装方式
将插件代码放入 js_sdk/file-reader-app-wx/
目录中(或使用 DCloud 插件市场导入):
js_sdk/ └── file-reader-app-wx/ └────── index.js ├────── README.md ├────── plugin.json ├────── package.json └────── js_sdk/ └────────── fileReader/ └────────────── index.js
🔧 引入与注册
Vue 2 项目
// main.js
import Vue from 'vue'
import App from './App.vue'
import FileReaderPlugin from 'js_sdk/file-reader-app-wx/index.js'
Vue.use(FileReaderPlugin)
new Vue({
...App
}).$mount()
Vue 3 项目
// main.js 或 main.ts
import { createSSRApp } from 'vue'
import App from './App.vue'
import FileReaderPlugin from 'js_sdk/file-reader-app-wx/index.js'
export function createApp() {
const app = createSSRApp(App)
app.use(FileReaderPlugin)
return {
app
}
}
📖 使用示例
Vue 2 项目
onLoad() {
this.$readFile({
path: 'Download/111.json',
callback: (err, data) => {
if (err) {
console.error('读取失败:', err)
} else {
console.log('读取成功:', data)
}
}
}).then(data => {
console.log('Promise方式读取:', data)
}).catch(err => {
console.error('Promise方式错误:', err)
})
}
Vue 3 项目
onMounted(() => {
const path = 'Download/test.json'
// 使用回调方式
getCurrentInstance().proxy.$readFile({
path,
callback: (err, data) => {
if (err) {
console.error('读取失败:', err)
} else {
console.log('读取成功:', data)
}
}
})
// 使用 Promise
getCurrentInstance().proxy.$readFile({
path
}).then(data => {
console.log('Promise方式读取:', data)
}).catch(err => {
console.error('Promise读取失败:', err)
})
})