-
微信小程序开发 Java
2018-04-24 15:00:59常见问题解决地址:https://blog.csdn.net/rolan1993/article/details/74642839开发文档地址:https://www.w3cschool.cn/weixinapp/常见问题解决地址:https://blog.csdn.net/rolan1993/article/details/74642839
开发文档地址:https://www.w3cschool.cn/weixinapp/
-
选课微信小程序开发 java
2020-05-29 17:22:35微信小程序 2.功能介绍 后台管理 学生管理 课程管理 类型管理 选课管理 操作中心 管理员中心 导入导出学生 微信小程序端 学生端 查看课程 选课 查看选课课程表 个人中心 管理员 ...1.使用技术
- java
- springboot
- mysql
- hibernate
- 微信小程序
2.功能介绍
- 后台管理
- 学生管理
- 课程管理
- 类型管理
- 选课管理
- 操作中心
- 管理员中心
- 导入导出学生
- 微信小程序端
- 学生端
- 查看课程
- 选课
- 查看选课课程表
- 个人中心
- 管理员
- 查看课程
- 新增课程
- 用户管理
- 课程类型管理
- 管理员中心
- 学生端
3.系统功能展示
基本功能如上
-
关于微信小程序开发java后台小程序码的生成
2018-10-10 11:25:21一,获取小程序码的工具类(可...//微信小程序生成二维码 public static Image getminiqrQr(String page,String sceneStr, String url) { RestTemplate rest = new RestTemplate(); InputStream inputStrea...一,获取小程序码的工具类(可直接套用)
//微信小程序生成二维码
public static Image getminiqrQr(String page,String sceneStr, String url) {
RestTemplate rest = new RestTemplate();
InputStream inputStream = null;
OutputStream outputStream = null;
try {
Map<String,Object> param = new HashMap<>();
param.put("scene", sceneStr);
param.put("page", page);
param.put("width", 300);
param.put("auto_color", false);
Map<String,Object> line_color = new HashMap<>();
line_color.put("r", 0);
line_color.put("g", 0);
line_color.put("b", 0);
param.put("line_color", line_color);
MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
HttpEntity<String> requestEntity = new HttpEntity<String>(JSONObject.fromObject(param).toString(), headers);
ResponseEntity<byte[]> entity = rest.exchange(url, HttpMethod.POST, requestEntity, byte[].class, new Object[0]);
byte[] result = entity.getBody();
inputStream = new ByteArrayInputStream(result);
if(inputStream!=null){
Image img = ImageIO.read(inputStream);
if(img==null){
return null;
}
return img;
}
} catch (Exception e) {
System.out.println("调用小程序生成微信永久小程序码URL接口异常"+e);
} finally {
if(inputStream != null){
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(outputStream != null){
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
二,在请求二维码时要将参数准备好,需要小程序的appID,secret 等参数,请求微信接口获取accseToken,然后再去请求另一个微信接口即可获取微信二维码的图片流// 二维码
@RequestMapping("/ShareQrCode.do")
@ResponseBody //以响应的方式传数据所以没有返回值
public void ShareQrCode(HttpServletResponse response, HttpServletRequest request) {//H5ye页面在使用
// 小程序唯一标识 (在微信小程序管理后台获取)
String wxspAppid = "wx877d05714c6675ba";
// 小程序的 app secret (在微信小程序管理后台获取)
String wxspSecret = "e6d5bd8d5ed5795327328af95a587603";
// 授权(必填)
String grant_type = "client_credential";
String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=" + grant_type + "&appid=" + wxspAppid
+ "&secret=" + wxspSecret;
String page = request.getParameter("page");
String scene = request.getParameter("scene");
try {
JSONObject accseToken = JSONObject.fromObject(MyUtilImpl.getURL(url));
String tokenUrl = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="
+ accseToken.get("access_token");
System.out.println(tokenUrl);
Image buffImg = MyUtilImpl.getminiqrQr(page, scene, tokenUrl);// 获取文件流
if (buffImg != null) {
ImageIO.write((RenderedImage) buffImg, "JPEG", response.getOutputStream());// 将文件流放入response中
} else {
String pathUrl = request.getSession().getServletContext().getRealPath("");
String srcImgPath = pathUrl + "resource/defaultImage/defaultQR.png";// 获取失败时默认图片显示
Image srcImg = ImageIO.read(new File(srcImgPath));// -----------------------------获取失败时的显示
ImageIO.write((RenderedImage) srcImg, "PNG", response.getOutputStream());// 将文件流放入response中
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
请求微信接口的工具类
//获取网络URL接口信息工具类
public static String getURL(String URL) throws Exception{
String result = "";
String urlNameString=URL;
URL realUrl = new URL(urlNameString);
URLConnection connection = realUrl.openConnection();
HttpURLConnection httpURLConnection = null;
if(connection instanceof HttpURLConnection){//能转化
httpURLConnection = (HttpURLConnection)connection;//强转
}
System.out.println(URL);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream(),"UTF-8"));//获取返回json 字符串流
String currentLineStr;
while((currentLineStr = bufferedReader.readLine()) != null){//读取行
result+=currentLineStr;
}
bufferedReader.close();
return result;
} -
微信小程序开发【前端+后端(java)】
2018-07-13 22:19:46现在微信小程序越来越火了,相信不少人都通过各种途径学习过微信小程序或者尝试开发,作者就是曾经由于兴趣了解开发过微信小程序,最终自己的毕业设计也是开发一个微信小程序。所以现在用这篇博客记录我之前开发的...-
前言
现在微信小程序越来越火了,相信不少人都通过各种途径学习过微信小程序或者尝试开发,作者就是曾经由于兴趣了解开发过微信小程序,最终自己的毕业设计也是开发一个微信小程序。所以现在用这篇博客记录我之前开发的一些经验和一些心得吧。 -
主要内容
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依赖
<!-- 统一版本控制 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <dependencies> <!-- freemarker渲染页面 --> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-freemarker --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <!-- spring boot 核心 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- springboot整合jsp --> <!-- tomcat 的支持. --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> </dependencies>
在配置文件src/main/resources/下创建application.properties文件可以修改一些配置参数等。
#jsp支持 spring.mvc.view.suffix=.jsp spring.mvc.view.prefix=/WEB-INF/jsp/ #this is set port #server.port=80 server.port=443 #添加ssl证书 #ssl证书文件名 server.ssl.key-store=classpath:xxxxxxx.pfx server.ssl.key-store-password=xxxxxxxx server.ssl.keyStoreType=xxxxxxxx
在实际项目中可能涉及数据库,还要整合mybatis,在文章中,我仅仅做测试就不做使用数据库的测试。
首先创建springboot的入口程序:app.class下面贴上代码:@ComponentScan(basePackages= "com.bin")//添加扫包@ComponentScan(basePackages= "") @EnableAutoConfiguration public class App{ //启动springboot public static void main(String[] args) { SpringApplication.run(App.class, args); } }
启动项目时直接右击run即可。
在写一个测试的controller进行微信小程序与java后端实现通信,controller代码如下:@RestController @SpringBootApplication public class ControllerText { @RequestMapping("getUser") public Map<String, Object> getUser(){ System.out.println("微信小程序正在调用。。。"); Map<String, Object> map = new HashMap<String, Object>(); List<String> list = new ArrayList<String>(); list.add("zhangsan"); list.add("lisi"); list.add("wanger"); list.add("mazi"); map.put("list",list); System.out.println("微信小程序调用完成。。。"); return map; } @RequestMapping("getWord") public Map<String, Object> getText(String word){ Map<String, Object> map = new HashMap<String, Object>(); String message = "我能力有限,不要为难我"; if ("后来".equals(word)) { message="正在热映的后来的我们是刘若英的处女作。"; }else if("微信小程序".equals(word)){ message= "想获取更多微信小程序相关知识,请更多的阅读微信官方文档,还有其他更多微信开发相关的内容,学无止境。"; }else if("西安工业大学".equals(word)){ message="西安工业大学(Xi'an Technological University)简称”西安工大“,位于世界历史名城古都西安,是中国西北地区唯一一所以兵工为特色,以工为主,理、文、经、管、法协调发展的教学研究型大学。原中华人民共和国兵器工业部直属的七所本科院校之一(“兵工七子”),陕西省重点建设的高水平教学研究型大学、陕西省人民政府与中国兵器工业集团、国防科技工业局共建高校、教育部“卓越工程师教育培养计划”试点高校、陕西省大学生创新能力培养综合改革试点学校。国家二级保密资格单位,是一所以\"军民结合,寓军于民\"的国防科研高校。"; } map.put("message", message); return map; } @RequestMapping("") public String getText(){ return "hello world"; } }
至此简易的后端框架及测试基本完成。
说明:@RestController与@Controller注解的区别@RestController相当于两个注解,它能实现将后端得到的数据在前端页面(网页)中以json串的形式传递。而微信小程序与后台之间的数据传递就是以json报文的形式传递。所以这就是选择springboot框架开发小程序后端的主要原因之一。可以方面我们进行小程序的后端开发。- 小程序发起网络请求
在完成了小程序的后端开发,下面进行小程序端发起网络请求。
下面以一个简单的按钮请求数据为例:
wxml文件
<button bindtap='houduanButton1'>点击发起请求</button> <view wx:for="{{list}}"> 姓名:{{item}} </view>
js文件
/** * 页面的初始数据 */ data: { list: '', word: '', message:'' }, houduanButton1: function () { var that = this; wx.request({ url: 'http://localhost:443/getUser', method: 'GET', header: { 'content-type': 'application/json' // 默认值 }, success: function (res) { console.log(res.data)//打印到控制台 var list = res.data.list; if (list == null) { var toastText = '数据获取失败'; wx.showToast({ title: toastText, icon: '', duration: 2000 }); } else { that.setData({ list: list }) } } }) }
主要调用的api就是wx.request,想知道将详细的介绍大家可以去微信公众平台。
接下来以搜索类型的请求为例:
wxml文件:<input type="text" class="houduanTab_input" placeholder="请输入你要查询的内容" bindinput='houduanTab_input'></input> <button bindtap='houduanButton2'>查询</button> <view wx:if="{{message!=''}}"> {{message}} </view>
js文件:变量的定义见上一个js文件
//获取输入框的内容 houduanTab_input: function (e) { this.setData({ word: e.detail.value }) }, // houduanButton2的网络请求 houduanButton2: function () { var that = this; wx.request({ url: 'http://localhost:443/getWord', data:{ word: that.data.word }, method: 'GET', header: { 'content-type': 'application/json' // 默认值 }, success: function (res) { console.log(res.data)//打印到控制台 var message = res.data.message; if (message == null) { var toastText = '数据获取失败'; wx.showToast({ title: toastText, icon: '', duration: 2000 }); } else { that.setData({ message: message }) } } }) }
至此已经完成了简易的微信小程序端与java后端进行通信。
现在可以在启动后端项目在微信开发工具上进行测试。
演示效果:
所以至此已经完成了小程序的前后端通信。- https申请
其实也不算什么申请,在购买域名之后可以申请免费的ssl证书,在前面的配置文件application.properties中有证书的配置,将证书的pfx文件直接添加到后端项目下即可。 - 购买服务器部署后端api代码
对于springboot项目,本人建议打jar,直接在服务器上部署即可,在服务器上只需要安装对应版本的jdk即可。项目部署命令:
我购买的是阿里云的轻量级应用服务器部署的。比较划算吧。
运行命令: nohup java -jar helloworld.jar &
nohup的意思不挂服务,常驻的意思,除非云服务器重启,那就没法了;最后一个&表示执行命令后要生成日志文件nohup.out。
当然还可以使用java -jar helloworld.jar源码:链接: https://pan.baidu.com/s/1PfByFfEgqkVALcc3PRhn9w 提取码: c7yf
结束语:由于时间篇幅问题,本人介绍的内容很有限,希望对这方面有兴趣的你能有帮助。共同进步。
觉得有帮助,给个赞赏吧。给赞赏的优先同意qq或者微信,问问题秒回复等[滑稽],谢谢老铁。
-
-
微信小程序+Java后台开发(详细解释,附代码)
2019-02-18 12:59:54微信小程序+Java后台开发 全部代码链接 链接:https://pan.baidu.com/s/1GiIXKgu76Urr7QfZ-U7W9A 提取码:mpio 通过这个博客,你可以快速的搭建一个微信小程序前端和后台相连的一个功能,在这里我会详细的解说每一... -
微信小程序+java+mysql_微信小程序+java后台
2021-01-21 02:06:51博主是大四学生,毕业设计做的是微信小程序+java后台。陆陆续续经历了三个月(因为白天要实习又碰上过年玩了一阵子),从对微信小程序一无所知到完成毕设,碰到许多问题,在跟大家分享一下自己的经历和一个小程序怎么... -
微信小程序+java后台
2018-03-21 21:30:58博主是大四学生,毕业设计做的是微信小程序+java后台。陆陆续续经历了三个月(因为白天要实习又碰上过年玩了一阵子),从对微信小程序一无所知到完成毕设,碰到许多问题,在跟大家分享一下自己的经历和一个小程序... -
微信小程序支付java
2019-04-25 20:09:19前端所用到的工具及技术是:微信小程序的开发工具,微信小程序的整体框架应用,包括微信小程序API,组件等应用,逻辑层结合的是 微信小程序的逻辑层框架及javascript技术。 后端所用到的工具及技术是:... -
servlet后端连接 微信小程序与_微信小程序通过JAVA连接数据库
2020-12-21 05:38:14微信小程序通过JAVA连接数据库了解微信小程序的数据请求微信小程序传输数据后端接受并传回数据接收数据返回数据小程序接收数据最后了解微信小程序的数据请求官方的开发文档中有对应的网络请求:... -
java写微信小程序答辩问题_java微信小程序开发中加密解密算法总结
2020-12-20 13:48:30详解java微信小程序开发中加密解密算法一、概述微信推出了小程序,很多公司的客户端应用不仅具有了APP、H5、还接入了小程序开发。但是,小程序中竟然没有提供Java版本的加密数据解密算法。这着实让广大的Java开发... -
servlet后端连接 微信小程序与_微信小程序后端JAVA的使用代码详解
2020-12-21 05:38:09微信小程序后端JAVA能够在小程序开发过程中起到至关重要的作用,但是很多小程序开发者对它还不太了解,如果要让后端JAVA实现websocket与微信小程序端连接要怎么操作呢?以下是实现代码:后端JAVA实现websocket与微信... -
《微信小程序》微信小程序用java后台连接数据库进行操作。
2018-04-26 18:52:17微信小程序与Java后台的通信 一、写在前面 最近接触了小程序的开发,后端选择Java,因为小程序的代码运行在腾讯的服务器上,而我们自己编写的Java代码运行在我们自己部署的服务器上,所以一开始不是很明白小程序... -
微信小程序登录Java后台接口
2018-10-11 15:40:28微信小程序登录java后台接口 首先看一下微信小程序的开发文档: 微信小程序开发文档 步骤: 一级标题 二级 三级 表头 表头 表头 内容 内容 内容 内容 内容 内容 ... -
java 微信小程序_Java实现微信小程序支付(完整版)
2021-02-12 09:09:22在开发微信小程序支付的功能前,我们先熟悉下微信小程序支付的业务流程图:不熟悉流程的建议还是仔细阅读微信官方的开发者文档。一,准备工作事先需要申请企业版小程序,并开通“微信支付”(即商户功能)。并获取一下... -
微信小程序开发:Java后台MySQL数据库微信小程序页面
2020-04-16 20:18:441、复制粘贴永远不是自己的。我是一名小白,做的有些粗糙,希望对大家有所帮助! 谢谢我借鉴的几篇博客!(敲一敲总会有!) JAVA后台: (1)首先奉献上我的工程目录 ...2、小程序部分 .wxml .js ... -
微信小程序开发
2019-04-25 20:09:19本课程主要介绍如何开发微信小程序,是一门比较基础入门的微信小程序开发课程,... 本套课程需要的一些前期准备为需要下载好微信小程序开发工具,后端需要myeclipse开发工具以及安装jdk8及tomcat8,后端开发主要为java。 -
微信小程序及Java后台测试登录
2019-02-17 22:12:21文章目录微信小程序及Java后台测试登录一、使用的工具以及开发环境二、微信端登录代码。第一种方式,使用wx.getUserInfo直接获取微信头像,昵称。第二种方式:wx.login,详细的后台代码。 一、使用的工具以及开发... -
微信小程序通过JAVA连接数据库
2019-05-17 21:09:19微信小程序通过JAVA连接数据库了解微信小程序的数据请求微信小程序传输数据后端接受并传回数据接收数据返回数据小程序接收数据最后 了解微信小程序的数据请求 官方的开发文档中有对应的网络请求: ... -
微信小程序-毕业设计完整项目配置搭建(微信小程序+Java后台SSM框架)
2019-06-08 12:26:09开发工具 后台编辑器:IntelliJ IDEA 前台编辑器:微信开发者工具(如果不习惯该工具的编辑器,可以使用Visual Studio Code进行编码,仅使用...微信小程序和后台管理登录账号一致 管理员账号:admin 讲师账号:100... -
微信小程序+java+mysql_微信小程序后台Springboot+Mysql
2021-02-12 02:35:25【实例简介】微信小程序后台 Springboot + Mysql 开发 可以作为参考【实例截图】【核心代码】springboot-weixinxiaochenxu└── springboot-wechat-demo-master├── LICENSE├── README.md├── SNAP-SHOT│ ... -
微信小程序:java开发获取小程序码和二维码
2018-10-18 20:23:24微信小程序API文档:链接 通过查看api,小程序可以获取三种二维码,三种二维码有不同的适用场景,大家可以依据自己的业务场景选择,现在只针对一种进行代码演示: 注意:我编写的是第二种二维码:适用于需要的码... -
视频教程-微信小程序支付java-Java
2020-05-28 10:24:00微信小程序支付java 我是一名java高级开发工程师,已有七年的工作经验,... -
微信小程序系统教程Java版[3/3阶段]_微信小程序支付
2017-02-01 10:42:10微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序... -
java微信小程序登录查MySQL_微信小程序登录JAVA后台
2021-02-01 06:17:32登录流程时序登录流程时序 具体的登录说明查看 小程序官方API项目的结构图: springboot项目搭建使用idea作为开发工具,由gradle构建项目,搭建springboot项目,对这块儿不熟悉的可以自行去学习,此处不多赘述。... -
微信小程序开发 后端Java+jfinal
2018-04-17 17:03:24本人对于微信小程序开发纯属小白,在研究后简单的搭建一个传输通道。1、index.wxml2、index.js标红部分不写post 传输 后台获取不到值,get可以获取到。3、微信小程序设置红线部分不设置不能http请求。4、后台无需...
-
leetcode算法第四题
-
docker基本使用教程, 以及docker部署flask框架示例
-
利用windows防火墙可以干嘛
-
第1关上 将错就错.mp4
-
沿RF锁相辅助的光纤环路链路上任意中间点的精确时延感测和工作台频率分配
-
【硬核】一线Python程序员实战经验分享(1)
-
2016年下半年 信息系统监理师 上午试卷 综合知识 软考真题【含答案和答案解析】
-
聊聊分布式事务,再说说解决方案
-
mpsoc zcu104 上做hdmi 显示实验
-
基于Qt的LibVLC开发教程
-
STM32F373XXDataSheet.zip
-
生成、添加用于操作多个 Git 账户的 SSH 公钥配置
-
2018年上半年 信息系统监理师 上午试卷 综合知识 软考真题【含答案和答案解析】
-
leetcode算法第5题
-
Jenkins软件开发持续集成及自动构建
-
项目经理成长之路
-
2011年上半年 信息系统监理师 上午试卷 综合知识 软考真题【含答案和答案解析】
-
ELF视频教程
-
Glasterfs 分布式网络文件系统
-
python数据分析之Pandas数据结构和操作