欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 小程序的全栈开发新时代

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:739

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:502

HTML5影视传媒文化公司类网

2020-05-12   浏览:498

小程序的全栈开发新时代

发布时间:2020-10-09  
什么是小程序·云开发

小程序·云开发是微信团队和腾讯云团队共同研发的一套小程序基础能力,简言之就是:云能力将会成为小程序的基础能力。整套功能是基于腾讯云全新推出的云开发(Tencent Cloud Base)所研发出来的一套完备的小程序后台开发方案。

小程序·云开发为开发者提供完整的云端流程,简化后端开发和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代。

该解决方案目前提供三大基础能力支持:

存储:在小程序前端直接上传/下载云端文件,在小程序云控制台可视化管理

数据库:一个既可在小程序前端操作,也能在云函数中读写的文档型数据库

云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写业务逻辑代码

未来,我们还会集成更多的服务能力,为小程序提供更强有力的云端支持。

如何使用小程序·云开发

小程序的全栈开发新时代

上面就是小程序·云开发简单的使用图谱:在小程序端,直接用官方提供的接口,在云函数端,直接用官方提供的 Node SDK,就可以操作你云的资源。以前开发小程序所担忧的数据库搭建、文件系统部署,通通没有。

你只需要有在小程序开发 IDE 里面的 云开发,开通一下,填写环境 ID,便可以拥有小程序的云能力!

小程序的全栈开发新时代

小程序的全栈开发新时代

当然,其实用云开发,并不排斥原有的后台架构,通过下面的架构,你也可以无缝与原有的后台服务兼容,也简化了一些小程序鉴权的逻辑:

小程序的全栈开发新时代

接下来,我会分别从小程序端、服务端讲述如何使用这些云资源。

使用云能力 小程序端

客户端,这里是指在小程序端中。如果要使用云开发能力,请做以下配置:

在 app.json / game.json 中, 中增加字段 "cloud": true project.config.json 中增加了字段 cloudfunctionRoot 用于指定存放云函数的目录 初始化云开发能力: //app.js App({ onLaunch: function () { wx.cloud.init({ traceUser: true // 用户信息会显示在云开发控制台的用户面板中 }); } });  

小程序端初始化能力文档

在用户管理中会显示使用云能力的小程序的访问用户列表,默认以访问时间倒叙排列,访问时间的触发点是在小程序端调用 wx.cloud.init 方法,且其中的 traceUser 参数传值为 true。

服务端

如果你想在云函数中,操作文件、数据库和云函数资源,你可以使用我们提供的服务端 SDK 进行操作。首先,进入到你的某个云函数中,安装以下依赖包:

npm i --save tcb-admin-node

在云函数中初始化

// 初始化示例 const app = require('tcb-admin-node'); // 初始化资源 // 云函数下不需要secretId和secretKey。 // env如果不指定将使用默认环境 app.init({ secretId: 'xxxxx', secretKey: 'xxxx', env: 'xxx' }); //云函数下使用默认环境 app.init() //云函数下指定环境 app.init({ env: 'xxx' });  

服务端初始化文档

存储

云开发提供存储空间、上传文件、下载文件、CDN加速文件访问等能力,开发者可以在小程序端与服务端通过 API 使用这些能力。

小程序端

// 选择图片 wx.chooseImage({ success: dRes => { // 上传图片 const uploadTask = wx.cloud.uploadFile({ cloudPath: `${Date.now()}-${Math.floor(Math.random(0, 1) * 10000000)}.png`, // 随机图片名 filePath: dRes.tempFilePaths[0], // 本地的图片路径 success: console.log, fail: console.error }); }, fail: console.error, });  

小程序端存储文档

服务端

const app = require('tcb-admin-node'); app.init(); app.uploadFile({ cloudPath: "cover.png", fileContent: fs.createReadStream(`${__dirname}/cover.png`) }).then((res) => { console.log(res); }).catch((err) => { console.error(err); });;  

控制台

本文标签

: