馨仙女 發表於 2020-9-24 13:09:00

小程序云开发支持公众号网页开发了

<h2 data-tool="mdnice编辑器">云开发(Tencent Cloud Base)</h2>
<p data-tool="mdnice编辑器">做前端的同学基本上或多或少都接触过小程序,但是,接触过小程序的同学不一定接触过云开发</p>
<p data-tool="mdnice编辑器"><strong>普及一下</strong></p>
<p data-tool="mdnice编辑器">云开发是一种典型的 Serverless 架构的实现方式,这里可能还有同学对 Serverless 不熟悉</p>
<p data-tool="mdnice编辑器">我们再把这个词拆开,Server(服务器) less(不重要),可以理解为“无服务器”</p>
<p data-tool="mdnice编辑器">试想一下,大多数公司和开发者在开发应用时和部署服务时,无论是选择公有云还是自建数据中心,都需要提前考虑服务器、存储和数据库等需求,并且需要花费时间精力在部署应用、依赖。那么是否有一种架构可以帮我们节省这部分的成本呢?有,就是我们的 Serverless(无服务器)架构</p>
<p data-tool="mdnice编辑器">具体来说,Serverless 架构是指由第三方服务商负责后端基础结构的维护,以服务的方式为开发者提供如数据库、消息、身份验证等功能,架构的目的就是要让开发人员只需要专注业务本身</p>
<p data-tool="mdnice编辑器">现在我们在回到小程序云开发本身,云开发官方封装了云函数、存储、云数据库的能力,一个函数调用,直接就实现了鉴权、文件上传、更新数据等最最常用的功能</p>
<p data-tool="mdnice编辑器"><strong>两个字来说,就是真香</strong></p>
<p data-tool="mdnice编辑器">我们以一个更具体的功能来说</p>
<p data-tool="mdnice编辑器">传统模式下我们想要调用微信登录,需要将code传给服务端,服务端将code拿去微信服务换取用户信息,自做存储,更新</p>
<p data-tool="mdnice编辑器">而使用云开发时,我们只要调用一个api,没看错,就是一个api,一行代码完事</p>
<p data-tool="mdnice编辑器">我们看下图对比一下</p>
<p><img src="https://mmbiz.qpic.cn/mmbiz_png/1NOXMW586uuhTFqvcTtBJK2P8iatmuBnXeuFxmjphfTzBAcCB3m3mibxtPjICGAp2ibv4f4iaib0pZU74ic0SDLBNf9A/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" data-ratio="0.3183183183183183" data-src="https://mmbiz.qpic.cn/mmbiz_png/1NOXMW586uuhTFqvcTtBJK2P8iatmuBnXeuFxmjphfTzBAcCB3m3mibxtPjICGAp2ibv4f4iaib0pZU74ic0SDLBNf9A/640?wx_fmt=png" data-type="png" data-w="999" data-fail="0"></p>
<h2 data-tool="mdnice编辑器">跨账号环境共享</h2>
<p data-tool="mdnice编辑器">小程序的云开发一直都是一个appid对应一个独立云环境,这个怎么理解呢?</p>
<p data-tool="mdnice编辑器">还是以实际场景举例,比如你有A,B,C三个小程序产品,你的某些数据可能需要共享的,如用户信息共享,商品信息共享</p>
<p data-tool="mdnice编辑器">这个在发文前小程序云开发是没有这个能力处理的,所以想要实现要么就是自建共享数据服务,要么就是直接弃用云服务</p>
<p data-tool="mdnice编辑器"><strong>好在今天它来了</strong></p>
<p data-tool="mdnice编辑器">云开发支持跨账号环境(资源)共享,也就是一个小程序的云开发资源可以授权给其他小程序 / 公众号使用</p>
<p data-tool="mdnice编辑器">开通方式也很简单,只需要在云开发的后台进行给相应的小程序 / 公众号授权即可,如下图</p>
<p><img src="https://mmbiz.qpic.cn/mmbiz_png/1NOXMW586uuhTFqvcTtBJK2P8iatmuBnX82gHjlgYBoV1E5aR1t82oNYg8as0aCzyr0uyhdjwxb6v6Kkmt4e6Xw/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" data-ratio="0.6445672191528545" data-src="https://mmbiz.qpic.cn/mmbiz_png/1NOXMW586uuhTFqvcTtBJK2P8iatmuBnX82gHjlgYBoV1E5aR1t82oNYg8as0aCzyr0uyhdjwxb6v6Kkmt4e6Xw/640?wx_fmt=png" data-type="png" data-w="2172" data-fail="0"><img src="https://mmbiz.qpic.cn/mmbiz_png/1NOXMW586uuhTFqvcTtBJK2P8iatmuBnXuokPsXEvQXaNOTx0NMgNaG6L3Vrd9Skpewfx1S6jvCPpqlw9pbF3yw/640?wx_fmt=png&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" data-ratio="0.6445672191528545" data-src="https://mmbiz.qpic.cn/mmbiz_png/1NOXMW586uuhTFqvcTtBJK2P8iatmuBnXuokPsXEvQXaNOTx0NMgNaG6L3Vrd9Skpewfx1S6jvCPpqlw9pbF3yw/640?wx_fmt=png" data-type="png" data-w="2172" data-fail="0"></p>
<h2 data-tool="mdnice编辑器">公众号环境打通</h2>
<p data-tool="mdnice编辑器">细心的同学可能已经发现了,上面有提到公众号</p>
<p data-tool="mdnice编辑器">What? 公众号也有云服务了吗?</p>
<p data-tool="mdnice编辑器">是滴,这次更新云开发打通了公众号体系,公众号只要小程序给开通授权,再引入云开发的&nbsp;<code>Web sdk</code>&nbsp;就可以直接使用小程序的云服务</p>
<p data-tool="mdnice编辑器"><strong>对我们来说有什么好处</strong></p>
<ul class="list-paddingleft-2" data-tool="mdnice编辑器">
<li>资源复用</li>
</ul>
<p data-tool="mdnice编辑器">云开发小程序所有资源都可以在web端复用</p>
<ul class="list-paddingleft-2" data-tool="mdnice编辑器">
<li>能力复用</li>
</ul>
<p data-tool="mdnice编辑器">云开发小程序所有能力都可以在web端复用(如你花两个星期写好的一个全是bug的云函数)</p>
<p data-tool="mdnice编辑器">更直观的感受,比如我们之前 jssdk 的签名方式</p>
<pre data-tool="mdnice编辑器"><code>wx.config({<br>&nbsp;&nbsp;appId:&nbsp;'公众号&nbsp;AppID',&nbsp;//&nbsp;必填,公众号的唯一标识<br>&nbsp;&nbsp;timestamp:&nbsp;res.timestamp&nbsp;+&nbsp;'',&nbsp;//&nbsp;必填,生成签名的时间戳<br>&nbsp;&nbsp;nonceStr:&nbsp;res.nonceStr,&nbsp;//&nbsp;必填,生成签名的随机串<br>&nbsp;&nbsp;signature:&nbsp;res.signature,//&nbsp;必填,签名<br>&nbsp;&nbsp;jsApiList:&nbsp;['JS&nbsp;API&nbsp;名']&nbsp;//&nbsp;必填,需要使用的JS接口列表<br>})<br></code></pre>
<p data-tool="mdnice编辑器">现在我们只需要这样</p>
<pre data-tool="mdnice编辑器"><code>const&nbsp;res&nbsp;=&nbsp;await&nbsp;cloud.getJSSDKSignature({<br>&nbsp;&nbsp;url:&nbsp;'要签名的网页&nbsp;URL'<br>})<br></code></pre>
<h2 data-tool="mdnice编辑器">静态网站托管</h2>
<p data-tool="mdnice编辑器">这个词相信大家已经很熟了</p>
<p data-tool="mdnice编辑器">当我们想布署一个静态的网页应用,博客,手头上暂时又没有域名,服务器的时候,我们可以将静态网站托管到第三方平台,比如同性交友github</p>
<p data-tool="mdnice编辑器">那么小程序云开发的静态网站托管跟其它的有什么不同吗?</p>
<p data-tool="mdnice编辑器">原则上没什么不同,但作为微信生态的一部分,在微信中有着天然优势</p>
<p data-tool="mdnice编辑器">比如:</p>
<ul class="list-paddingleft-2" data-tool="mdnice编辑器">
<li>小程序 webview</li>
</ul>
<p data-tool="mdnice编辑器">小程序不用配置业务域名即可在打开云开发静态网站托管的域名(仅支持能够使用标签的小程序)</p>
<ul class="list-paddingleft-2" data-tool="mdnice编辑器">
<li>免鉴权直接打开小程序</li>
</ul>
<p data-tool="mdnice编辑器">非个人主体的认证的小程序,使用静态网站托管的网页,可以免鉴权跳转任意合法合规的小程序</p>
<p data-tool="mdnice编辑器">写到这里,帅编突然邪魅一笑,是不是可以用静态网站托管做一个微信小程序的应用分发,然后躺着挣流量钱</p>
<p data-tool="mdnice编辑器">&nbsp;</p>
<p data-tool="mdnice编辑器">&nbsp;</p>
<p data-tool="mdnice编辑器">参考文献 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions.html</p>

</div>
<div id="MySignature" role="contentinfo">
    <p>本文来自博客园,作者:喆星高照,转载请注明原文链接:https://www.cnblogs.com/houxianzhou/p/13723594.html</p><br><br>
来源:https://www.cnblogs.com/houxianzhou/p/13723594.html
頁: [1]
查看完整版本: 小程序云开发支持公众号网页开发了