uniapp微信文件分享插件 分享pdf 分享xlsx 微信分享文件

587 阅读1分钟

前言

微信分享是一个很重要的社交功能,uniapp封装了uni.share(OBJECT)分享功能,可以分享 纯文 / 纯图 / 图文 / 视频 / 音乐 / 小程序 ,但是唯独没有文件分享的选项,无法分享dpf, excel的xlsx文档等等,如果原生做文件分享很简单,分享pdf、分享xlsx都很简单

Android原生代码分享  
1、注册

    public void init(JSONObject options){

         // 微信开放平台上申请的一个appid

        this.APP_ID = options.getString("appid");

        iwxapi = WXAPIFactory.createWXAPI(mContext(), APP_ID, false);

       用于获取分享成功失败的状态,如果不需要状态就可以注释掉

        iwxapi.handleIntent(getIntent(), this);

        iwxapi.registerApp(APP_ID);

    }

2、分享的功能代码

        WXFileObject fileObj = new WXFileObject();

        fileObj.fileData = inputStreamToByte(fullPath);// fullPath文件路径

        fileObj.filePath = fullPath;




        //使用媒体消息分享

        WXMediaMessage msg = new WXMediaMessage(fileObj);

        msg.title = "work.xlsx"  ;  // 注意需要带上后缀名,否则分享的内容可能无法打开




        // 发送分享请求

        SendMessageToWX.Req req = new SendMessageToWX.Req();

        // 创建唯一标识 这里随意用时间戳生成了一个

        req.transaction = String.valueOf(System.currentTimeMillis());

        req.message = msg;

        // 此处场景设定为 微信聊天界面

        req.scene = SendMessageToWX.Req.WXSceneSession;

       // 执行

        iwxapi.sendReq(req);




封装成插件后供 uni-app端调用




<script>

    var shareObj = uni.requireNativePlugin("luanqing-share");

    

    export default {

        methods: {

            share2WeChat(){

                let appid = uni.getSystemInfoSync().appId;

                shareObj.shareFile2WX({uniPath:this.path,uniAppId:appid});

            }

        }

    }

</script>

插件下载地址

链接: 点击前往下载

\

\

\

\

上图

在这里插入图片描述

在这里插入图片描述

\