更新记录

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 项目。可读取指定路径下的本地文件内容,支持 Promisecallback 两种方式调用,插件封装兼容 Vue2 / Vue3


✨ 插件特点

  • ✅ App(Android):通过 NativeJS 调用底层 Java API,读取 /storage/emulated/0/ 下文件
  • ✅ 微信小程序:基于 wx.getFileSystemManager() 实现文件读取
  • ✅ 支持回调函数和 Promise
  • ✅ 插件封装,可用于 Vue2Vue3 项目中
  • ✅ 无需额外依赖,轻量纯净

📦 安装方式

将插件代码放入 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)
  })
})

隐私、权限声明

1. 本插件需要申请的系统权限列表:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问