- wx.canvasToTempFilePath fileType:“jpg” 。结果为png?
[图片] 2D画布生成图片返回的链接,使用wx.getImageInfo 读取的type为png,,保存下来的图片位深32位。不应该是jpg,位深24的吗?
2020-05-27 - 云调用:防薅防泄漏,安全安心用
对于很多开发者而言,调用微信开放服务接口已经是常规操作了。 例如,开发一个小程序,你可以通过调用微信封装好的各类开放组件和 API 接口,接入订阅消息、OCR、直播等服务。 而优雅的调用往往只需要最简单的操作方式,尽量简洁的调用路径可以提升开发效率。 以前,微信开放服务接口的正常调用,需要开发者使用密钥信息获取access_token,并自己维护token的有效期和安全。而获取access_token,涉及到密钥交互请求,对于安全性意识一般或研发条件有限的企业和开发者,容易暴露密钥导致被盗用。 那么,是否有一种更高效,又更安全的调用方式,能让微信生态内的小程序、公众号网页等多端应用,调用得又快又好,让业务敏捷躲开调用Bug? 「云调用」由此诞生,它天然具有「免鉴权调用微信开放服务接口」特性,通过云调用,开发者无需再维护 access_token 等鉴权信息,写少量代码即可轻松调用微信开放服务接口,十分便捷;同时,对于接口请求合法性的判定,云调用全程经由微信私有链路实现,可以有效规避公网访问可能带来的安全风险,性能开销也更小。 [图片] 以微信支付接口为例,使用云调用,开发者无需关心证书、鉴权、微信支付服务端文档等,一行代码即可调用相应接口。 如何使用云调用? 微信云开发和微信云托管中都支持使用云调用,两者的具体实现形式有所不同: [图片] 微信云开发中的云调用,主要通过云函数调用 wx-server-sdk 访问开放服务接口,需要具备 Node.js 等相关知识,因此适合偏前端与全栈开发团队使用。 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/openapi/openapi.html 示例代码如下: const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) exports.main = async (event, context) => { return await cloud.openapi.security.msgSecCheck-v1({ content:"安全检查测试文本" }) } 微信云托管中的云调用,不限制开发语言和框架,云托管后台会周期性地将调用开放接口所需的 access_token 令牌(类似于“验证码”),推送到服务的容器实例中,此时只需从容器本地读取“验证码”,再包装请求后就可以调用了,整体上更适合后端和全栈开发团队。 https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/guide/weixin/token.html 示例代码如下: const fs = require('fs') const request = require('request') const token = fs.readFileSync('/.tencentcloudbase/wx/cloudbase_access_token', 'utf-8') return new Promise((resolve, reject) => { request({ url: `https://api.weixin.qq.com/wxa/msg_sec_check?cloudbase_access_token=${token}`, body: JSON.stringify({ content:"安全检查测试文本" }), },async function (error, response) { resolve(JSON.parse(response.body)) }) }) 无论选择哪种开发模式,使用云调用后,访问都会在微信私有链路中完成,能够保障业务安全性。对于前后端分离架构的业务,更推荐使用微信云托管作为后端服务。 [图片] 目前,已有大量不同规模的业务,通过微信云托管获得了更快的和更好的安全保障,达到防“薅羊毛”、防DDoS攻击、优化网络延迟等目标。 此外,微信云托管还上线了「无门槛部署」功能,支持通过预设的开源框架快速创建一个微信云托管服务,并通过各种调用方式发起对服务的请求,大幅降低了使用门槛,欢迎体验。 https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/quickstart/template/ [图片] 登录方式上,微信云托管新增支持了公众号登录。免写 Dockerfile 一键迁移、静态资源存储、WebSocket等新功能也即将上线,敬请期待。 更多资料 微信云托管官网(请在PC端访问以下地址) https://cloud.weixin.qq.com/ 微信云托管官方文档 https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/basic/intro.html 微信云托管系列教程 https://developers.weixin.qq.com/community/business/course/00068c2c0106c0667f5b01d015b80d 微信云托管专家1V1服务 https://cloud.tencent.com/act/pro/cloudrun 微信云开发/云托管激励计划 https://cloud.tencent.com/act/pro/wxcloudrun
2021-12-01