- 小程序如何挂载一个类似 wx 这样的全局对象?
背景 想做一个类似 pollyfill 的通用方法,以兼容微信、支付宝、百度小程序三者的 API 调用,因为三者之间部分 API 是有细微区别的。 不想每次都改一遍,然后有些转换工具转化效果还是不够理想,自己用 Gulp 写的脚步也不能完全兼容。 如果写了 pollfill 的话,也方便统一管理、维护。 想法 & 不足 将其挂载到 global 对象或者导出 ESM 模块,但是这种方式仍需要在使用之前,先引入。 求助 有没有一个方法可以直接调?像 wx 这个对象,我们可以在任何地方随时调用。例如 wx.chooseImage。 比如我将 mini 作为自定义的全局对象, 然后也想在任何地方通过 mini.xxx 来调用,如 mini.chooseImage 其他思路 看过别人一方法,可真机上不行,因为在真机上 this 为 undefined,如下: Object.defineProperty(Object.prototype, '__root', { get() { if (this && this.App === App) { return this } }, configurable: false, enumerable: false }) // 使用 // __root.xxx
2021-01-20 - 云开发进阶:云函数bug终极必胜技
不管你的云函数本身碰到什么问题,只要不是代码的错误,试试以下几步吧: 乱拳打起: 1、选择一个云环境 [图片] 2、同步云函数列表 [图片] 3、wx.cloud.callFunction({name:'xxx'})执行看看。记得一定要先:(1)wx.cloud.init();(2)基础库选最高版本。 如果有两个云环境,需要: [图片] wx.cloud.init({ env:'env1-hkkgy'//改成正确的云环境ID }) 跳到第6步。没问题就走第7步,有问题就走第4步。 4、还有问题?云控制台删除云函数 [图片] 5、新建一个云函数 [图片] 6、上传云函数 [图片] 7、重复第三步。 以上七步可打乱顺序,随便执行,真正的乱拳走起。 8、还是不行,让子弹飞一会儿,等几个小时,重复以上步骤。 基本目前为止,这趟乱拳100%成功搞定云函数我碰到的任何问题。(网络不通除外) 9、如果还是不行, 终极大招就是:节衰顺便 10、某些其他错误:某某插件找不到:在package.json里声明依赖关系: "dependencies": { "wx-server-sdk": "~2.0.2" } [图片]
2020-10-20