同感,rem强制算成百分比真的很傻
rpx在ipad上问题太多了,rem又被限制了又没有合适的布局方式rpx在手机上不错,达到了,各个分辨率上显示效果一直。 但是ipad上,就整个完蛋了。 字体大的要死 能不能 让开发者 通过类似 @media screen and (min-width: 700px) 重新定义 1rpx = 多少px; rem也和网页的不一样了,也没办法做到 我在page上定义fon-size。我只要更改page的fon-size下面的使用rem的单位也跟着变 现在目前能想到的就是,全部再改成px,给所有的px,在不同的分辨率下,全部复制粘贴,复杂粘贴 啊,hao麻烦呀。蛋疼 为什么 rem 都被 定死 了 现在好后悔上了rpx,在ipad完全糟糕,难受,得重新写了,之后会出 让开发者定义 1rpx = 多少px吗
2023-09-07请问解决了吗
设备消息订阅,错误代码:9800006,授权信息无法清除?有些微信号在小程序初次授权后,即使删除小程序再进入,仍然无法重新授权。通过wx.getSetting居然还能拿到之前的授权信息,且无论如何都无法清除该授权信息。 导致调用服务端:https://api.weixin.qq.com/cgi-bin/message/device/subscribe/send?access_token=ACCESS_TOKEN 报错:{"errcode":9800006,"errmsg":"订阅model_id和sn关系检查失败,请确认发送消息时传入的model_id和sn与订阅时传入的是否一致 rid: 630c103d-5bd23f90-34c6e580"}
2023-03-14请问一下你的Buffer.from中的“Buffer”是从引入的什么npm包呢?我这边一直报错:Buffer is not defined。
小程序怎么实现word转PDF?请教各位大神,小程序怎么在云函数中实现word转pdf? 我尝试用了libreoffice-convert这个库,但是总是有问题,又不知道问题在哪里,把代码贴出来,请各位指教。 或者还有没有其他的方法啊? 感谢各位指点! // 云函数入口文件 const cloud = require('wx-server-sdk') const { createReport } = require('docx-templates') const fs = require('fs') const path = require('path') const dayjs = require('dayjs') const axios = require("axios") const libre = require('libreoffice-convert') libre.convertAsync = require('util').promisify(libre.convert) cloud.init({ env: 'cloud1-7g1pdoii23b288bf' }) // 云函数入口函数 exports.main = async (event, context) => { console.log(event) const res = await cloud.downloadFile({ fileID: event.downloadFileID, }) const template = res.fileContent console.log('当前下载读取文件成功') //导入当事人签字图片并转码 let signBuffer1 = await axios({ method: 'get', url: event.signPathLitigantURL, responseType: 'arraybuffer', }) const signPathLitigant64 = new Buffer.from(signBuffer1.data, 'binary').toString('base64') //导入执法人员签字图片并转码 let signBuffer2 = await axios({ method: 'get', url: event.signPathOfficersURL, responseType: 'arraybuffer', headers: { "Content-Type": "*" } }) const signPathOfficer64 = new Buffer.from(signBuffer2.data, 'binary').toString('base64') //导入印章图片并转码 let signBuffer3 = await axios({ method: 'get', url: event.sealURL, responseType: 'arraybuffer', headers: { "Content-Type": "*" } }) const seal64 = new Buffer.from(signBuffer3.data, 'binary').toString('base64') //开始编译插入 const buffer = await createReport({ template, data: { //变量 }, additionalJsContext: { getMapPicture1: async () => { const res = signPathLitigant64; return { width: 3, height: 1.6875, data: res, extension: '.png' }; }, getMapPicture2: async () => { const res = signPathOfficer64; return { width: 3, height: 1.6875, data: res, extension: '.png' }; }, getMapPicture3: async () => { const res = seal64; return { width: 4, height: 4, data: res, extension: '.png' }; }, }, cmdDelimiter: ['+', '+'] //以{}作为变量分隔符 }) //开始转换PDF const ext = '.pdf' const pdfBuf = await libre.convertAsync(buffer, ext, undefined); console.log('pdfBuf:',pdfBuf) const preDir = dayjs().format("YYYYMMDD");//日期 console.log('当前的日期是',preDir) const stringRandom = require('string-random') const randfilename = stringRandom(32)//随机文件名 const cloudPath = `${preDir}/${randfilename}.pdf`//文件 console.log('当前云路径是',cloudPath) return await cloud.uploadFile({ cloudPath: cloudPath, fileContent: pdfBuf }) }
2022-11-22