本小程序会持续完善,现在只是一个小模块。
二话不说,先贴效果GIF图。
开发环境及框架
后端:国产java极速框架JFinal(超级好用有木有啊)
前端:WEUI WXSS版(微信团队出品的,自己写样式不管怎么写都丑啊)
数据库:MySQL
服务器:Linux Nginx Tomcat
开发流程
用户点击一个按钮,进入对话框。(跟公众号的客服消息界面一致)
用户输入信息,服务器会收到XML格式(也可以选择JSON格式)的信息
截取用户的发送的消息内容,传送给 图灵api,再用图灵api中获取返回的内容。转发给用户。
后端关键代码详情
获取用户发过来的信息和openid,获得图灵机器人的回应内容(传入OPENID这种唯一标识,就可以产生“场景式上下文”的内容,图灵机器人的特色之一)
public static String getTulingResult(String openid, String info){
JSONObject json = new JSONObject();
json.put("key", KEY);
json.put("userid", openid);
json.put("info", info);
String result = PostServer.SendPost(json.toString(), "http://www.tuling123.com/openapi/api");
JSONObject jsonObject = JSONObject.parseObject(result);
return jsonObject.getString("text").toString();
}
这个方法是用来发送信息给用户的
public void render(WxAppMsg wxAppMsg) {
if (ApiConfigKit.isDevMode()) {
System.out.println("发送消息:");
System.out.println(JsonUtils.toJson(wxAppMsg));
System.out.println("--------------------------------------------------------------------------------\n");
}
String at = AccessTokenApi.getAccessToken().getAccessToken();
String url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token="+at;
Map map= new HashMap<>();
map.put("touser",wxAppMsg.getTouser());
map.put("msgtype","text");
map.put("text",wxAppMsg.getText());
String a = HttpUtils.post(url, JsonUtils.toJson(map));
System.out.print("回调>>>>"+a);
}
小程序代码
index.wxss
点我聊天-》
《-点我聊天
这一次前端的内容基本没有什么内容。
代码地址以后补上,我现在还不会用GIT啊,,,,,,
这个应该算不上是教程,因为后端代码调用了蛮多封装好了的东西。如果开发微信小程序的后端,我个人认为可以去借鉴jfinal_weixin.
注意:出于虐狗结婚证图片生成对服务器的消耗,本小程序默认不能在开发者工具上直接运行,要体验可以加群QQ:560656394,提供临时真机体验资格(说得好像很值钱的样子,实际上免费提供)。
当然,如果你本身会小程序,这个还是很好去跳过限制的
顺带这里求一个人一起玩小程序,共享服务器。(尼玛吃不消啊)
如果你觉得,哎哟,这小伙子不错,请赞助我。