更新记录

1.0.3(2023-09-25)

可以分享到其他应用,添加了对png,jpeg和jpg的支持

1.0.2(2023-09-20)

支持全路径

1.0.1(2022-12-09)

自定义文件名称

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


ps:虽然插件名还叫 wechat-fileshare 但其实已经不仅仅支持分享到微信了(已经没法改了)ƪ(˘⌣˘)ʃ


新增了对 png、jpeg、jpg 三种图片的支持,因为考虑到包体大小所以比较不常用的文件类型暂时没写进去,至于对其他的文件格式有需求的可以直接评论区提一下,有时间我就弄一下。

使用例子

导入插件:
const wechat_fileshare = uni.requireNativePlugin("wechat-fileshare");
使用方式 1 下载后保存为长期文件再分享:
uni.downloadFile({
    url: '你自己的文档链接',
    header: {
        'Content-Type': 'application/pdf; charset=UTF-8', //这里把pdf改成你要的文件名
        'Accept': 'pdf/pdf', // 根据自己要下载的文件格式而定
    },
    success: (res) => {
        if (res.statusCode === 200) {
            console.log('下载成功');
        }
        uni.saveFile({
            tempFilePath: res.tempFilePath,
            success: function(red) {
                wechat_fileshare.send({
                    path: red.savedFilePath,
                    uni_app_id: '__UNI__A849578', //改成你的uniapp的appid在  项目根目录>manifest.json>基础配置
                      package_name:'com.tencent.mm',//填入要传递的应用包名,比如微信是com.tencent.mm, qq是com.tencent.mobileqq 其他的上网稍微查一下就知道了
                    filetype: 'pdf', //填入文件类型
                        filename:'三次元'//不需要填入null filename:null
                }, e => {
                    // 回调函数
                    uni.showToast({
                        title: '响应数据:' + JSON.stringify(e),
                        icon: 'none'
                    });
                })
            }
        });
    }
})
使用方式 2 下载即分享:
    uni.downloadFile({
        url: '你自己的文档链接',
        header: {
            'Content-Type': 'application/pdf; charset=UTF-8', // 这里把pdf改成你要的文件名
            'Accept': 'pdf/pdf', // 根据自己要下载的文件格式而定
        },
        success: (res) => {

            if (res.statusCode === 200) {
                console.log('下载成功');
            }
            let that = this;

            wechat_fileshare.send({
                path: res.tempFilePath,
                uni_app_id: '__UNI__A849578', //改成你的uniapp的appid在  项目根目录>manifest.json>基础配置
                filetype: 'pdf', //填入文件类型
                package_name:'com.tencent.mm',//填入要传递的应用包名,比如微信是com.tencent.mm, qq是com.tencent.mobileqq 其他的上网稍微查一下就知道了
                    filename:'三次元'//不需要填入null filename:null
            }, e => {
                // 回调函数
                uni.showToast({ruru
                    title: '响应数据:' + JSON.stringify(e),
                    icon: 'none'
                });
            })
        }
    })
使用方式 3 与其他插件联动使用:
let self=this
wechat_fileshare.send({
        path: self.filepath, //不可为null一定要是字符串
        fullpath: self.filepath, //不需要填入null
        uni_app_id: '__UNI__A849578', //改成你的uniapp的appid在  项目根目录>manifest.json>基础配置
        filetype: 'pdf', //填入文件类型
          package_name:'com.tencent.mm',//填入要传递的应用包名,比如微信是com.tencent.mm, qq是com.tencent.mobileqq 其他的上网稍微查一下就知道了
        filename: '三次元' //不需要填入null filename:null
    }, e => {
        // 回调函数
        uni.showToast({
            title: '响应数据:' + JSON.stringify(e),
            icon: 'none'
        });
    })
!!!重要说明
fullpath 这个参数一定要是全路径

举个栗子

/storage/emulated/0/Android/data/uni.UNI8651/files/测试.pdf

这就是全路径

隐私、权限声明

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

读取文件权限,uniapp默认已开启 手机后台允许弹窗

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

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

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