前言
公司需要开发小程序,并且小程序可以被视为新兴技术,所以我自己进行了研究,并总结了开发过程中需要注意的一些事项,以供您参考。
在开发经验总结时最好使用Sublime Text软件,并且最好使用微信开发人员工具进行演示;
小程序上传的代码包大小为2048kb,因此程序中的图片应放置在服务器上,而不是本地,否则将报告以下错误:[html51]错误:代码包大小为2098 kb ,超过了2048 kb的限制;
在开发过程中为方便调试,需要调用本地接口,可以参考其他博客;
开发小程序时使用图标,可以从iconFont网站下载;
在小程序中使用可以获取位置纬度和经度,可以在腾讯坐标选择器中获取;
有时在某些方法中直接使用“ this”时,会出现错误,您需要使用“ var that = this”进行转换,例如:
1 var that = this; 2 var timer = setInterval(function(){ 3 progressNum++; 4 if(progressNum >= 100){ 5 clearInterval(timer) 6 }; 7 that.setData({ 8 progress:progressNum 9 });10 },30)
存储输入值
1 wx.setStorageSync('storage', this.data.storage)
从存储中获取数据
1 var that; 2 Page( { 3 data: { 4 storage:'' 5 }, 6 onLoad: function(options) { 7 that = this; 8 //获取存储信息 9 wx.getStorage({10 key: 'storage',11 success: function(res){12 // success13 that.setData({14 storage:res.data15 })16 }17 })18 }19 20 })
微信小程序侧
chooseImage(){ wx.chooseImage({ success: function (res) { var tempFilePaths = res.tempFilePaths wx.uploadFile({ url: 'http://127.0.0.1:8888/pesss/weChat/uploadImage.do', filePath: tempFilePaths[0], name: 'file', formData: { 'user': 'test' }, success: function (res) { var data = res.data //do something },fail:function(err){ console.log(err) } }) } }) }
java端
import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.multipart.MultipartHttpservletRequest;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.File;import java.io.IOException;@Controllerpublic class ImageTestWebchatController { @RequestMapping(value = "/weChat/uploadImage", method = { RequestMethod.POST,RequestMethod.GET}) public ModelAndView uploadImage(HttpServletRequest request, HttpServletResponse response) throws IOException { System.out.println("进入get方法!"); MultipartHttpServletRequest req =(MultipartHttpServletRequest)request; MultipartFile multipartFile = req.getFile("file"); String realPath = "F:/image"; try { File dir = new File(realPath); if (!dir.exists()) { dir.mkdir(); } File file = new File(realPath,new Date().getTime() + ".jpg"); multipartFile.transferTo(file); } catch (IOException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } return null; }}