庞大的互联网大数据,微信占据了半壁江山,很多商家和企业为了营销,在这里费劲了脑汁,但是要想做好这样的营销的前提就是需要学会开发程序,在开发时往往也会遇到这样那样的问题,今天翼速应用独家解析关于小程序开发时相关的介绍.
微信小程序开辟了一项新功能云开发,将开发人员放在微信小程序后端的成本再次降低,介绍微信小程序的公开测试版,以便快速了解开发人员可用哪些功能进行更新。微信小程序一直保持着相对稳定的开放和更新功能节奏,就像微信产品的节奏,而在生活中使用微信小程序的频率也慢慢增加,比如肯德基自助餐点餐,在一个更冷门商品的单项下等等。

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技术,最大限度地减少了工作量,微与其他类型的开发模式相比具有许多优势,最大的优点是稳定性和可管理性。


发布需求
我来说两句