庞大的互联网大数据,微信占据了半壁江山,很多商家和企业为了营销,在这里费劲了脑汁,但是要想做好这样的营销的前提就是需要学会开发程序,在开发时往往也会遇到这样那样的问题,今天翼速应用独家解析关于小程序开发时相关的介绍.
微信小程序开辟了一项新功能云开发,将开发人员放在微信小程序后端的成本再次降低,介绍微信小程序的公开测试版,以便快速了解开发人员可用哪些功能进行更新。微信小程序一直保持着相对稳定的开放和更新功能节奏,就像微信产品的节奏,而在生活中使用微信小程序的频率也慢慢增加,比如肯德基自助餐点餐,在一个更冷门商品的单项下等等。
1、开发工具
首先需要在云开发文档的页面上申请云开发的公共测试权限,在半天内收到了电子邮件通知,然后需要下载开发工具,包括云开发的功能模块。
2、项目初始化
可以通过直接创建官方演示DEMO项目,在创建新项目时选择构建云开发快速入门模板来学习查看。新项目结构比以前的项目结构有更多的云文件存储。
3、云功能
云功能是一段运行代码,无需管理服务器,在开发工具中编写,一键上传部署就可以运行后端代码,专门为小程序中的云函数调用提供API,开发人员可以在云功能中获取每个调用的文件,可以获得用户登录状态,而无需维护复杂的身份验证机制。打开Node使用JS和其框架编写后端业务逻辑,可以直接部署在云平台上,不需要域名,服务器,打包,发布,操作和维护等琐碎的事情,对于小程序的开发将享受这种功能的便利和好处。
4、数据库
云开发提供了一个JSON数据库,数据库中的每条记录都是JSON格式的对象,数据库可以有多个集合,可以将其视为JSON数组,数组中的每个对象都是一个JSON对象形式的记录。在这种情况下,不需要数据库存储,直接提供像NOSQL这样的数据库,可用高达1G的免费存储空间。
5、文件存储
云开发提供了文件存储空间,提供了将文件上传到云端的能力,还具有云下载功能的权限管理,开发人员可以通过API云文件存储功能使用小程序和云功能,在小程序方面,可以调用微wx.uploadFile和wx.downloadFile分别上传和下载云文件,以上次图片为例。
小程序代码: startUpload: function(){ wx.chooseImage({ success: function (res) { var tempFilePaths = res.tempFilePaths console.log(tempFilePaths) wx.uploadFile({ url: 'http://localhost:8080/upload/fileUpload' , //仅为示例,非真实的接口地址 filePath: tempFilePaths[0], name: "file", header: { "Content-Type": "multipart/form-data" }, formData: { "user": "test", }, success: function (res) { var data = res.data console.log(data) } }) }
java后端代码: package com.contoller; import java.io.BufferedOutputStream; import java.io.File; import java.io.IOException; import java.util.UUID; import javax.servlet.http.HttpServletRequest; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import com.tool.FileUtil; @RestController @RequestMapping("/upload") public class UploadFileContoller { private static final Logger LOG = LoggerFactory .getLogger(UploadFileContoller.class); @PostMapping("/fileUpload") public String uploadMusicFile(HttpServletRequest request,@RequestParam("file")MultipartFile[] files){ LOG.info("进入上传..."); String uploadPath="E:/pic/";//存放到本地路径(示例) if(files!=null && files.length>=1) { BufferedOutputStream bw = null; try { String fileName = files[0].getOriginalFilename(); //判断是否有文件 if(StringUtils.isNoneBlank(fileName)) { //输出到本地路径 File outFile = new File(uploadPath + UUID.randomUUID().toString()+ FileUtil.getFileType(fileName)); public static String getFileType(String filename){ if(filename.endsWith(".jpg") || filename.endsWith(".jepg")){ return ".jpg"; }else if(filename.endsWith(".png") || filename.endsWith(".PNG")){ return ".png"; } else{ return "application/octet-stream"; } }
6、云开发控制台
可以在开发工具的工具栏中直接调用单独的云开发控制台,图形管理也非常方便。
7、功能测试
将采用正式的DEMO来查看云功能的执行过程,引用的后端是可以在这里直接调用一些小程序API,而不必处理一些额外的逻辑,比如前端和后端在不同的语言框架中,实现openid的方式完全不同,定义云功能后,右键可以上传和发布,然后可以直接在前台调用。
微信小程序云开发是一种新的产品模型,可以将线下和线上无缝连接在一起,目的在于增强线上到线下互动的能力,可以通过多种方式将游戏添加到现实世界中,从技术角度来看,小程序框架将PI添加到框架中,很大程度上采用WebGL,JavaScript和其HTML5技术,最大限度地减少了工作量,微与其他类型的开发模式相比具有许多优势,最大的优点是稳定性和可管理性。
我来说两句