作者:重庆互联网小徐 发布时间:2024-01-12 浏览:30075 赞(4209) 收藏 评论(0)
微信云托管团队提供了Web SDK,支持在 Web 中访问云托管资源。 但 Web SDK 只支持常规 Web 应用(即浏览器环境)的开发,不兼容其他类 Web 平台。由于类 Web 平台在网络络请求、本地存储等特性上与浏览器环境有明显差异,现提供 @wxcloud/cloud-sdk 以支持跨端适配的能力。在传入不同平台适配对象之后,在其他类 Web 平台也可以 callContainer 的形式访问微信云托管资源。
目前市面上大部分的轻应用、小程序包括移动应用APP都是采用JS来作为开发语言的,所以我们可以对websdk进行轻微改造,就可以轻松使用在各种平台中。
但是单独改造SDK包会有些许风险,比如在原SDK包升级时需要重新构造,就造成了无穷无尽的麻烦,改造成本相当大。
基于这个问题,我们提供一套完整的适配扩展方案,遵循此方案规范可开发对应平台的适配器,然后搭配 @wxcloud/cloud-sdk 和适配器实现平台的兼容性。
不了解的小伙伴肯定会有些茫然,我来用浅显的语言解释一下,就是@wxcloud/cloud-sdk 将底层的网络请求以及相关基础需求以接口的形式暴露出来,我们按照平台的特殊API来补充这些接口,sdk就可以根据这些补充的接口,无障碍的运行在平台中了。
npm install @wxcloud/cloud-sdk --save
@wxcloud/cloud-sdk 导出了 useAdapter
和 initCloud
方法。先通过 useAdapter
传入跨端的适配对象,然后调用 initCloud
获取 cloud 对象,即引入 Web SDK 时自动挂载在 window 下的 cloud 。
const { useAdapter, initCloud } = require('@wxcloud/cloud-sdk')import { adapters } from './example/adapters'// platform 可传入标识平台的字符useAdapter({ adapters, platform: 'platform' })const cloud = initCloud()
在浏览器环境中使用可以不调用 useAdapter。
const { initCloud } = require('@wxcloud/cloud-sdk')const cloud = initCloud()
具体使用以及适配器需要实现的细节,请移步npm文档
我们已经实现了uni-app的适配器,可以参考此项目。
downloadFile、uploadFile 暂不支持适配。
公众号登录相关的 api 在微信客户端之外调用无法正常完成相应逻辑。
对于 @wxcloud/cloud-sdk 的问题,欢迎在微信开放社区发帖提问。
—————————————————————————————————————————————————————
重庆互联网项目从2004年开始为各行各业提供互联网发展解决方案,专业从事网站、小程序、微信公众号、APP、电商平台、系统等互联网平台开发,帮助企业实现从传统行业到互联网的完美转型。截止目前,重庆互联网合作的企业遍布全国各地,19年的开发经验和完善的售后服务体系获得合作客户的高度认可!
关注重庆互联网官方公众号,即可获取粉丝专享福利!
欢迎广大用户为此页面进行评价,评价成功将获得积分奖励!