您的位置:首页 > 财经 > 金融 > 网站建设平台信息_武威网页设计培训学校_网上营销方法_从事网络销售都有哪些平台呢

网站建设平台信息_武威网页设计培训学校_网上营销方法_从事网络销售都有哪些平台呢

2025/4/18 21:55:40 来源:https://blog.csdn.net/new_public/article/details/147125582  浏览:    关键词:网站建设平台信息_武威网页设计培训学校_网上营销方法_从事网络销售都有哪些平台呢
网站建设平台信息_武威网页设计培训学校_网上营销方法_从事网络销售都有哪些平台呢

// 图片压缩

    compressImage (image = {}, options = {}) {

        return new Promise((resolve, reject) => {

            const { width = 0 } = image

            const { compressAfterSizeFlag = false, scaleFlag = false, scaleTargetWidth = 768 } = options

            // 超过100k压缩

            const maxFileSizeLimit = 100 * 1024

            if (image.size > maxFileSizeLimit) {

                const fileSize = image.size / 1024

                // 初始压缩率80

                let quality = 80

                if (fileSize > 200 && fileSize <= 500) {

                    // 200 以上,500k以内的图片,压缩70

                    quality = 60

                } else if (fileSize > 500 && fileSize <= 1024) {

                    // 500 以上,1M以内的图片,压缩50

                    quality = 40

                } else if (fileSize > 1024 && fileSize <= 2048) {

                    // 1M 以上,2M以内的图片,压缩30

                    quality = 30

                } else if (fileSize > 2048 && fileSize <= 5012) {

                    // 2M 以上,5M以内的图片,压缩20

                    quality = 20

                } else if (fileSize > 5012) {

                    // 5M以上的图片,压缩10

                    quality = 10

                }

                // 开始压缩

                const option = {

                    src: image.filePath,

                    quality: quality,

                    success: res => {

                        image.compressPath = res.tempFilePath

                        if (compressAfterSizeFlag) {

                            // 获取压缩后的大小

                            uni.getFileSystemManager().readFile({

                                filePath: res.tempFilePath,

                                success: ({ data }) => {

                                    image.compressSize = data.byteLength

                                    resolve(image)

                                },

                                fail: _ => resolve(image)

                            })

                        } else {

                            resolve(image)

                        }

                    },

                    fail: _ => {

                        resolve(image)

                    }

                }

                // 缩放图片

                if (scaleFlag && width > scaleTargetWidth) {

                    option.compressedWidth = scaleTargetWidth

                }

                uni.compressImage(option)

            } else {

                resolve(image)

            }

        })

    },

    // 四舍五入

    toFixed (value = 0, decimal = 2) {

        if (!value || isNaN(Number(value))) {

            return value

        }

        let valueStr = String(value)

        if (valueStr.length < 2 || valueStr.lastIndexOf('.') < 0) {

            return value

        }

        const multiplier = Math.pow(10, decimal + 1)

        const valueMultiplier = Math.trunc(value * multiplier)

        const valueMultiplierStr = String(valueMultiplier)

        return (Number(valueMultiplierStr.substring(0, valueMultiplierStr.length - 1))

            + (Number(valueMultiplierStr.substring(valueMultiplierStr.length - 1)) >= 5 ? 1 : 0)) / Math.pow(10, decimal)

    },

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com