个人案例
- 都巴信管
都巴信管,实现故障报修的全过程管理控制,报表等导出
都巴信管,实现故障报修的全过程管理控制,报表等导出扫码体验
- 小程序服务类型交通行业的,需要申请长期消息订阅模板,正文为模板ID,请问该如何申请?
模板ID EXMuV7nIpBzlss19ZDPekBZBilbVIvn4FdJzLKa0J70 标题 新工单提醒 温馨提示{{thing18.DATA}} 发起人{{name1.DATA}} 故障设备{{thing2.DATA}} 故障描述{{thing12.DATA}} 派单时间{{time22.DATA}} 场景说明 新增工单 模板ID fiXx5FLiUSbaxwPKpXqJdtSRX6UMRfOBdSQ-hMY1BRE 标题 工单受理通知 受理人{{name3.DATA}} 受理时间{{date4.DATA}} 故障现象{{thing6.DATA}} 故障位置{{thing7.DATA}} 工单状态{{thing2.DATA}} 场景说明 工单受理 模板ID tNGro_-3l7qtcuGID7NtJgx7Hmw6_SklMrEdEZQLJhA 标题 维修完成通知 报修设备{{thing1.DATA}} 报修地点{{thing7.DATA}} 报修时间{{date3.DATA}} 维修内容{{thing10.DATA}} 修复时间{{date5.DATA}} 场景说明 报修修复
2021-10-03 - 你好 小程序 都巴信管 需要申请长期订阅模板 以下为模板ID?
你好 小程序 都巴信管 需要申请长期订阅模板 以下为模板ID 模板ID EXMuV7nIpBzlss19ZDPekE4KDX-SI3a4regR8O0-3Xs 模板编号1474 标题 新工单提醒 温馨提示{{thing18.DATA}} 发起人{{name1.DATA}} 故障设备{{thing2.DATA}} 故障描述{{thing12.DATA}} 派单时间{{time22.DATA}} 场景说明 新增工单 模板ID fiXx5FLiUSbaxwPKpXqJdhlF8rPLJS_Qf1kB7UeHmEg 模板编号7622 标题 工单受理通知 受理人{{name3.DATA}} 受理时间{{date4.DATA}} 故障现象{{thing6.DATA}} 故障位置{{thing7.DATA}} 工单状态{{thing2.DATA}} 场景说明 工单受理 模板ID tNGro_-3l7qtcuGID7NtJlH8c3vxpwE0R5dhhHDbrHM 模板编号 5621 标题 维修完成通知 报修设备{{thing1.DATA}} 报修地点{{thing7.DATA}} 报修时间{{date3.DATA}} 维修内容{{thing10.DATA}} 修复时间{{date5.DATA}} 场景说明 报修修复
2021-10-03 - 下发统一模板消息接口返回"errcode": 40013?
小程序已关联到公众号,之前代码下发消息通知都是成功的,但是6月下旬突然就不行了 公众号appid: wxc3ce0a5b6d87f00f 小程序appid: wxfc6e5464afebdbf5 麻烦官方帮忙查一下是什么原因 /** 订餐提醒 模板推送 */ public static void dish_remind(String openid, String datetime, String dishclasss, String pagepath) { // 获取access_token String access_token = WeiXinUtil.get_accessToken(); String url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=" + access_token; // 拼接推送的模版 WxMss wxMssVo = new WxMss(); // 公众号id appid wxc3ce0a5b6d87f00f wxMssVo.setAppid("wxc3ce0a5b6d87f00f"); // 模版id wxMssVo.setTemplate_id("9Mv9PyiDqizOZ3VfyoKL0vH4s2A5F1FQcDpBjJoCmNA"); // url wxMssVo.setUrl(""); // miniprogram 公众号模板消息所要跳转的小程序 // 小程序 wxspAppid="wxfc6e5464afebdbf5"; wxdf2b5e2004b6d432 1ed1f5743d71a59beb68be2e8cb32583 自己的 Map<String, String> miniprogram = new HashMap<String, String>(5); miniprogram.put("appid", "wxfc6e5464afebdbf5"); miniprogram.put("pagepath", pagepath); wxMssVo.setMiniprogram(miniprogram); Map<String, TemplateData> data = new HashMap<String, TemplateData>(5); // first TemplateData first = new TemplateData(); first.setValue("您好,请及时订餐,以便食堂做好食材采购计划!!!!");// 订餐时间18:45至23:59, data.put("first", first); TemplateData keyword1 = new TemplateData(); keyword1.setValue(datetime); data.put("keyword1", keyword1); // 申请人 {{keyword2.DATA}} TemplateData keyword2 = new TemplateData(); keyword2.setValue(dishclasss); data.put("keyword2", keyword2); // 请假类型 {{keyword2.DATA}} TemplateData keyword3 = new TemplateData(); keyword3.setValue("XXX"); data.put("keyword3", keyword3); // remark TemplateData remark = new TemplateData(); remark.setValue("谢谢配配合,我们会为您准备精美的饭菜!!!"); data.put("remark", remark); wxMssVo.setData(data); JSONArray jsonArray = JSONArray.fromObject(wxMssVo); String postData = jsonArray.toString(); System.out.println(postData.toString()); postData = postData.substring(1, postData.length() - 1); JSONObject json = new JSONObject(); json.put("touser", openid); json.put("mp_template_msg", postData); System.out.println("-----------json:" + json); String results = HttpUtil.request(url, MethodType.Post, null, json.toString(), "UTF-8"); System.out.println("返回结果:" + results); } 下面是WeiXinUtil 类 public class WeiXinUtil { public static String get_accessToken() { //wxdf2b5e2004b6d432 1ed1f5743d71a59beb68be2e8cb32583 自己的 //wxfc6e5464afebdbf5 ae90cd7f5fed69575b20a474fa3636b7 公司 // 小程序唯一标识 (在微信小程序管理后台获取) String wxspAppid = "wxfc6e5464afebdbf5"; // 小程序的 app secret (在微信小程序管理后台获取) String wxspSecret = "ae90cd7f5fed69575b20a474fa3636b7"; // 这里直接写死就可以,不用改,用法可以去看api String grant_type = "client_credential"; // 封装请求数据 String params = "grant_type=" + grant_type + "&secret=" + wxspSecret + "&appid=" + wxspAppid; // 发送GET请求 String sendGet = HttpRequest.sendGet("https://api.weixin.qq.com/cgi-bin/token", params); // 解析相应内容(转换成json对象) JSONObject json = new JSONObject(sendGet); // 拿到accesstoken String accesstoken = (String) json.get("access_token"); return accesstoken; } public static void main(String[] args) { System.out.println(get_accessToken()); } }
2020-07-15 - request偶尔会请求失败,Initial connection高达20秒
//app.js App({ onLaunch: function() { //当小程序初始化完成时,会触发 onLaunch(全局只触发一次) var that = this; wx.login({ success: function(res) { var code = res.code; console.log('初始化界面code==:' + code); //请求服务器获取用户id console.log('==============app执行网络请求==================='); wx.request({ url: getApp().globalData.serverUrl + 'jdserver/login', data: { code: code, }, method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT header: { 'content-type': 'application/json' // 默认值 }, // 设置请求的 header success: function(res) { console.log('==============app网络请求成功==================='); //创建一个dialog that.globalData.openid = res.data.openid; that.globalData.role = res.data.role; console.log("登录成功 服务器返回信息openid:" + that.globalData.openid); //存储openid wx.setStorageSync('openid', res.data.openid) //====================================== if (that.openidReadyCallBack) { //在index.js的onLoad的app.userPhoneReadyCallBack即为this.userPhoneReadyCallBack //当这个函数存在时,我们调用他,传参userPhone that.openidReadyCallBack(that.globalData.openid) console.log("app.js openidReadyCallBack:" + that.globalData.openid); } //====================================== if (res.data.checkeds.length>0) { //成功 console.log('===============去主页面===============') } else { wx.reLaunch({ url: '/pages/register/register', }) console.log('============去register页面============='); } }, fail: function() { wx.showModal({ title: '您的网络链接失败!!!', content: '请重新刷新?', showCancel: true, //是否显示取消按钮 cancelText: "否", //默认是“取消” cancelColor: 'skyblue', //取消文字的颜色 confirmText: "是", //默认是“确定” confirmColor: 'skyblue', //确定文字的颜色 success: function(res) { if (res.cancel) { //点击取消,默认隐藏弹框 } else { //点击确定 temp.splice(index, 1), that.setData({ tempFilePaths: temp, }) } }, fail: function(res) {}, //接口调用失败的回调函数 complete: function(res) {}, //接口调用结束的回调函数(调用成功、失败都会执行) }) }, complete: function() { } }) }, fail: function(res) { }, complete: function(res) { } }); }, onShow: function() { //当小程序启动,或从后台进入前台显示,会触发 onShow }, onHide: function() { //当小程序从前台进入后台,会触发 onHide }, onError: function(msg) { //当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息 console.log("appError:" + msg) }, globalData: { //定义全局对象 openid: '', role: '', serverUrl: 'https://hechigaosuxinxihua.xyz/' // serverUrl: 'http://deshengyijilu.iask.in:49043/' } })
2019-05-15