更新记录
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:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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
这就是全路径