小程序的坑

最近两个月一直在研究小程序,对小程序的API有一点了解。我的小程序也终于上线了,虽然小程序做的比较简单,但是基本上用到小程序的基本组件了。现在我就在小程序的中遇到的坑罗列出来,供大家参考,有不足的地方请多指教。
1.关于大家现在调用小程序wx.getuserinfo 和wx.opensetting 这个两个API的时候,如果你的小程序是10月10号上线的,这两个API都不能用了,请开发者要用
<button open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="onGotUserInfo">获取用户信息</button> <button open-type="openSetting">打开授权设置页</button> 引导用户登录授权
2、关于小程序的获取用户信息。就是<button open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="onGotUserInfo">获取用户信息</button>获取用户信息。其实就是要调用后台的接口
把用户的iv和encryptedData 和code(wx.login返回的)一起传给后台。后台就会请求微信的服务器,把openid和session传给后台服务器,后台在返回前端。前端就可以用wx.setStorageSync('session', res.session) 存在本地了。用户下次打开小程序就不用授权了
3、小程序的数据绑定没有vue那种数据改变。视图也会改变。小程序的data里面的数据改变后,你必须this.setDate一下,视图才可以改变。
4、关于小程序的调用微信的支付接口,你直接可以wx.requestPayment里面的参数后台会返给你。你直接调用就可以了。
5、关于小程序的分享的API。现在小程序只支持转发好友和群。没有转发朋友圈的API.现做法就是用canvas绘图片,在用wx.canvasToTempFilePath生成一张图片。把图片保存到本地。然后用户手动发到朋友圈。
6、注意发布小程序的有大小限制的是2M.
7、当你用网络图片绘制canvas的时候。一定要把图片保存在本地。然后在绘制图片。你 下载图片到本地的时候。你要是在本地可以生成分享图和真机上打开调试也是,但是真机关闭调试,不能生成分享图。就是你没有在小程序后台设置域名。切记一定要把你后台的接口、下载图片的域名都要设置。

https://www.jianshu.com/p/5633e93a546b 上拉加载更多的地址

微信小程序在使用 `jszip` 时确实会遇到兼容性问题,这主要与小程序运行环境的限制有关。以下是解决方案和替代方法的详细说明: ### 1. 问题分析 微信小程序的运行环境对 JavaScript 的支持有限,例如: - 无法使用 `Blob` 和 `File` 等浏览器特定的 API。 - 小程序的模块加载机制与浏览器环境不同,可能导致 `jszip` 的某些依赖无法正常工作。 - 微信小程序对异步操作的限制较多,可能影响 `jszip` 的文件压缩或解压功能。 ### 2. 解决方案 #### 2.1 使用兼容性库或封装 可以通过使用经过适配的小程序专用库来替代 `jszip`,例如: - **`jszip-miniprogram`**:这是一个专门为微信小程序优化的 `jszip` 替代库,支持大部分 `jszip` 的功能,并且解决了与小程序环境的兼容性问题。 - 安装方式: ```bash npm install jszip-miniprogram --save ``` - 使用示例: ```javascript const JSZip = require('jszip-miniprogram'); JSZip.loadAsync(url).then(function(zip) { zip.file("hello.txt").async("text").then(function(content) { console.log(content); }); }); ``` #### 2.2 使用小程序内置 API 如果只需要进行简单的文件操作,可以考虑使用微信小程序的内置 API,例如: - `wx.getFileSystemManager()`:用于获取文件系统管理器。 - `wx.downloadFile()` 和 `wx.readFile()`:用于下载和读取文件。 这些 API 可以与小程序的文件系统结合使用,从而避免引入 `jszip`。 ### 3. 替代方案 #### 3.1 后端处理 如果前端无法满足需求,可以将压缩或解压操作交给后端处理。前端通过 `wx.uploadFile()` 将文件上传至服务器,由后端完成处理后再返回结果。 #### 3.2 使用其他压缩库 除了 `jszip`,还可以尝试其他轻量级的压缩库,例如: - **`pako`**:一个基于 JavaScript 的 zlib 压缩库,支持小程序环境。 - 安装方式: ```bash npm install pako ``` - 使用示例: ```javascript const pako = require('pako'); const data = new Uint8Array([1, 2, 3, 4, 5]); const compressed = pako.deflate(data, { level: 9 }); console.log(compressed); ``` ### 4. 注意事项 - **文件大小限制**:微信小程序对本地文件的大小有限制,需注意文件操作的规模。 - **异步操作**:小程序的异步操作需要使用 `Promise` 或 `async/await`,确保代码的兼容性。 - **调试工具**:使用微信开发者工具进行调试,确保代码在小程序环境中正常运行。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值