更新记录

1.2(2023-03-20)

优化打包冲突问题

1.1(2022-11-09)

解决打包和自定义基座问题

1.0(2022-11-07)

init

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 14.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原生插件配置”->”云端插件“列表中删除该插件重新选择


最接近微信的图片压缩插件 Ba-ImageCompressor

简介

Ba-ImageCompressor 是一款uniapp简单快捷的图片压缩插件,仿微信朋友圈压缩策略。

  • 支持批量压缩
  • 支持设置不压缩的阈值,单位为K
  • 支持返回压缩后图片大小,单位为B

效果与对比

内容 原图 Ba-ImageCompressor Wechat
截屏 720P 720*1280,390k 720*1280,87k 720*1280,56k
截屏 1080P 1080*1920,2.21M 1080*1920,104k 1080*1920,112k
拍照 13M(4:3) 3096*4128,3.12M 1548*2064,141k 1548*2064,147k
拍照 9.6M(16:9) 4128*2322,4.64M 1032*581,97k 1032*581,74k
滚动截屏 1080*6433,1.56M 1080*6433,351k 1080*6433,482k

有建议和需要,请联系QQ:2579546054

使用方法

引用

script 中引入组件

    const imageCompressor = uni.requireNativePlugin('Ba-ImageCompressor')

示例

可在页面 script 中调用(示例参考,可根据自己业务和调用方法自行修改)

        methods: {
            imageCompress() {//压缩
                console.log(this.path)
                console.log(this.outputPath)
                imageCompressor.compress({
                        path: this.path, //原始图片路径(单张)
                        paths: this.paths,//原始图片路径(批量,也可以单张)
                    },
                    (ret) => {
                        console.log(ret)
                        if (ret.outputPath) {
                            this.outputPath = ret.tempFiles[0].path;
                            this.outputSize = this.formatSize(ret.tempFiles[0].size);

                            //this.outputPath = ret.outputPath;//单张
                            //this.outputSize = this.formatSize(ret.outputSize);//单张
                        }
                    });
            },
            formatSize(size, unit = "B") {
                let s = size;
                while (s > 1024) {
                    s = (s / 1024).toFixed(1);
                    switch (unit) {
                        case "B":
                            unit = "kb"
                            break;
                        case "kb":
                            unit = "M"
                            break;
                        case "M":
                            unit = "G"
                            break;
                    }
                }
                return s + unit;
            }
        }

方法清单

名称 说明
onCompress 图片压缩

onCompress 方法参数

图片压缩

属性名 类型 必填 默认值 说明
path String true '' 原图片路径
paths String true '' 原图片路径(多张)
ignoreBy Number false 100 不压缩的阈值,单位为K,默认100

返回参数

属性名 类型 说明
outputPath String 压缩后图片路径
outputSize Number 压缩后图片大小,单位为B
tempFiles Array 多张压缩返回,属性有 path:路径,size:大小

系列插件

图片选择插件 Ba-MediaPicker文档

图片编辑插件 Ba-ImageEditor文档

文件选择插件 Ba-FilePicker文档

应用消息通知插件 Ba-Notify文档

应用未读角标插件 Ba-Shortcut-Badge文档

应用开机自启插件 Ba-Autoboot文档

扫码原生插件(毫秒级、支持多码)Ba-Scanner-G文档

扫码原生插件 - 新(可任意自定义界面版本;支持连续扫码;支持设置扫码格式)Ba-Scanner文档

动态修改状态栏、导航栏背景色、字体颜色插件 Ba-AppBar文档

原生sqlite本地数据库管理 Ba-Sqlite文档

安卓保活插件 Ba-KeepAlive文档

安卓快捷方式(桌面长按app图标) Ba-Shortcut文档

自定义图片水印 Ba-Watermark文档

最接近微信的图片压缩插件 Ba-ImageCompressor文档

视频压缩、视频剪辑插件 Ba-VideoCompressor文档

动态切换应用图标、名称(如新年、国庆等) Ba-ChangeIcon文档

原生Toast弹窗提示(可穿透所有界面) Ba-Toast文档

图片涂鸦、画笔 Ba-ImagePaint文档

pdf阅读 Ba-Pdf文档

声音提示、震动提示、语音播报 Ba-Beep文档

隐私、权限声明

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

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

插件不采集任何数据

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

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