微信小程序开发「前端+后端(Java)」附完整源码
现在微信小程序越来越火了,相信不少人都通过各种途径学习过微信小程序或者尝试开发,作者就是曾经由于兴趣了解开发过微信小程序,所以现在用这篇博客记录我之前开发的一些经验和一些心得吧。
- springboot后端架构构建
- 小程序项目构建
- 小程序api调用
- 后台resetful接口编写
- 小程序调用后台接口
- 免费的https申请
- linux下部署上线
这些基础的东西我就不过多介绍,大家在刚开始开发的时候一般都没有自己的服务器及域名,所以大家在本地编写的时候,在“详细”下的“项目设置”里面将“不校验域名安全性”勾选。
至于微信小程序的组件,即前端页面的开发希望大家耐住寂寞认真在微信开发平台上。
组件:
https://developers.weixin.qq.com/miniprogram/dev/component/
api:
https://developers.weixin.qq.com/miniprogram/dev/api/
我在后端编写主要是用java,当然对其他开发语言熟悉的也可以使用其他语言开发后端。现在我就java编写后端api的讲解。主要框架springboot,开发工具myeclipse,服务器阿里云服务器。
创建一个maven项目,导入相关依赖:
pom.xml依赖
在配置文件src/main/resources/下创建application.properties文件可以修改一些配置参数等。
在实际项目中可能涉及数据库,还要整合mybatis,在文章中,我仅仅做测试就不做使用数据库的测试。
首先创建springboot的入口程序:app.class下面贴上代码:
启动项目时直接右击run即可。
在写一个测试的controller进行微信小程序与java后端实现通信,controller代码如下:
至此简易的后端框架及测试基本完成。
说明:@RestController与@Controller注解的区别@RestController相当于两个注解,它能实现将后端得到的数据在前端页面(网页)中以json串的形式传递。而微信小程序与后台之间的数据传递就是以json报文的形式传递。所以这就是选择springboot框架开发小程序后端的主要原因之一。可以方便我们进行小程序的后端开发。
在完成了小程序的后端开发,下面进行小程序端发起网络请求。
下面以一个简单的按钮请求数据为例:
wxml文件
js文件
主要调用的api就是wx.request,想知道将详细的介绍大家可以去微信公众平台(https://developers.weixin.qq.com/miniprogram/dev/api/)。
接下来以搜索类型的请求为例:
wxml文件:
js文件:变量的定义见上一个js文件
至此已经完成了简易的微信小程序端与java后端进行通信。
现在可以在启动后端项目在微信开发工具上进行测试。
演示效果:
所以至此已经完成了小程序的前后端通信。
其实也不算什么申请,在购买域名之后可以申请免费的ssl证书,在前面的配置文件application.properties中有证书的配置,将证书的pfx文件直接添加到后端项目下即可。
对于springboot项目,本人建议打jar,直接在服务器上部署即可,在服务器上只需要安装对应版本的jdk即可。项目部署命令:
我购买的是阿里云的轻量级应用服务器部署的。比较划算吧。
nohup的意思不挂服务,常驻的意思,除非云服务器重启,那就没法了;最后一个&表示执行命令后要生成日志文件nohup.out,当然还可以使用java -jar helloworld.jar。
2021年MySQL数据库面试题总结(50道题含答案解析)77道JVM系列面试题总结(2万字解析)Spring Cloud面试题万字解析(2021面试必备)面试官:你对Redis缓存了解吗?面对这11道面试题你是否有很多问号?2021年Java多线程与并发系列22道高频面试题解析2021年Java基础高频面试题汇总(1.4W字详细解析)全网最全Spring系列面试题129道(附答案解析)85道Java微服务面试题整理(助力2021面试)2021年面试官最喜欢问的28道ZooKeeper面试题2021面试还搞不懂MyBatis?看看这27道面试题!(含答案和思维导图)2021年常见的Linux面试题及答案解析,哪些你还不会?2021年常见Elasticsearch面试题答案解析18道kafka高频面试题哪些你还不会?(含答案和思维导图)2021年12道RabbitMQ高频面试题你都会了吗?(含答案解析)2021年Dubbo你掌握得如何?快看看这30道高频面试题!
面试题获取方式:关注小编+转发文章+私信【13】免费获取重要的事情说三遍,转发+转发+转发,一定要记得点赞转发哦!!!
Java教程:开发属于自己的第一个Java程序
搭建好了Java开发环境之后,下面就来学习一下如何开发Java程序。为了让初学者更好地完成第一个Java程序,接下来通过几个步骤进行逐一讲解。
在D盘根目录下新建一个test文件夹,并在该文件夹中新建文本文档,重命名为HelloWorld.java后,用记事本方式打开,在其中编写一段Java代码,如文件1所示。
文件1 HelloWorld.java
文件1中的代码实现了一个Java程序,下面对其中的代码进行解释说明。
● class是一个关键字,它用于定义一个类。在Java中,类就是一个程序的基本单元,所有的代码都需要在类中书写。
● HelloWorld是类的名称,简称类名。class关键字与类名之间需要用空格、制表符、换行符等任意的空白字符进行分隔。类名之后要写一对大括号,它定义了当前这个类的管辖范围。
● “public static void main(String[] args){}”定义了一个main()方法,该方法是Java程序的执行入口,程序将从main()方法所属大括号内的代码开始执行。
● 在main()方法中编写了一条执行语句“System.out.println(\”这是第一个Java程序!\”);”,它的作用是打印一段文本信息,执行完这条语句会在命令行窗口中打印“这是第一个Java程序!”。
在编写程序时,需要特别注意的是,程序中出现的空格、括号、分号等符号必须采用英文半角格式,否则程序会出错。
JDK中提供的大多数可执行文件都能在命令行窗口中运行,javac.exe和java.exe两个可执行命令也不例外。打开命令行窗口,并通过如下命令进入test目录。
进入指定的目录后,效果如图1所示。
在命令行窗口中输入“javac HelloWorld.java”命令,对源文件进行编译,如图2所示。
图2 编译HelloWorld.java源文件
上面的javac命令执行完毕后,会在当前目录下生成一个字节码文件“HelloWorld.class”。
注意:
在命令行窗口使用javac命令对带有中文的Java源文件进行编译时,必须保证源文件的编码格式和命令行窗口解码格式一致,否则会出现源文件编译错误。在中文环境下,命令行窗口默认编码格式是GBK,而记事本编码格式也是GBK,所以在第1步编写HelloWorld.java源文件时,可以直接使用Windows系统自带的记事本进行编辑并保存。如果读者在第1步使用了其他文本编辑器(如EditPlus、Notepad++等)来编写Java源文件,这些文本编辑器默认编码格式多数为UTF-8,那么必须将Java源文件以GBK格式编译,或者是将命令行窗口更改为文本编辑器相同的编码格式,否则编译时会报错。
在命令行窗口中输入“java HelloWorld”命令,运行编译好的字节码文件,运行结果如图3所示。
图3 运行HelloWorld程序
从图3可以看出,窗口中已经显示出了源文件代码中的输出信息。
上面的步骤演示了一个Java程序编写、编译以及运行的过程。其中有两点需要注意:第一,在使用javac命令进行编译时,需要输入完整的文件名,如上例中的程序在编译时需要输入“javac HelloWorld.java”;第二,在使用java命令运行程序时,需要的是类名,而非完整的文件名,如上例中的程序在运行时,只需要输入“java HelloWorld”,而不是“java HelloWorld.class”。注意:在使用javac命令编译文件1-1中的程序时,有可能会出现“找不到文件”的错误,如图4所示。
图4 找不到文件错误
出现这样的错误很有可能是因为文件的扩展名被隐藏了,虽然文本文件被重命名为“HelloWorld.java”,但实际上该文件的真实文件名为“HelloWorld.java.txt”,文件类型并没有得到修改。为了解决这一问题,需要让文件显示扩展名,方法如下:
打开Windows系统控制面板中的【文件夹选项】,在“查看”选项下高级设置一栏中将“隐藏已知文件类型的扩展名”选项前面的“√”取消,单击【确定】按钮,如图5所示。
图5 文件夹选项
文件显示出扩展名.txt后,将其重命名为HelloWorld.java即可。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。