- 为什么小程序发布后不能获得自建服务器的后台数据?
小程序审核通过,发布后没有后台请求的数据,看情况应该是没有与后台通讯,不知道问题在哪里,是不能用自建的服务器吗,还是后台网址需要设置?
2022-03-03 - 关于后台无法获得openid问题?
在小程序中可以获得openid,小程序审核时要求将appid等明文去掉,改为后台获取openid,后台是我们自己建的服务器,我们通过 get方法向后台发送登录code码,http://127.0.0.1:8000/wxopenid/091BPyll2c36L84ThJkl25oyiX3BPylB, 后台得到code码后向微信后台请求openid, 回复40163错误,检查没有发现code过期等问题,使用调试工具发送请求,也是一样出现问题,提示40163错误 怀疑是不是与后台网址或者ip有关,还是需要将后台网址子啊小程序中或者公众号中进行设置等。
2022-03-03 - 在小程序app.js中设置globalData,在index页面无法获得?
在小程序app.js onLaunch() 执行全局变量设置, that.globalData.openid = openIdRes.data.openid 在index.js 中使用 openid = app.globalData.openid 获得的值是空值,不知道应该如何处理。
2022-02-23 - 模板消息服务器端发送失败?
服务器端发送模板消息,同样情况下,发送地址使用模板接口文档提供的接口,这个模板消息服务器端发送一直不成功,不知道问题在哪里,这个发送模板消息的问题,已经困扰几天时间了,社区也做了很多交流,一直没有解决,不知道问题在哪里,微信的客服技术指导又不知道如何联系,有点绝望了,不知道这个问题还有什么渠道可以咨询。我的公众号和小程序是认证过,服务端目前在本地运行,还没有配置服务器。 发送地址使用模板接口文档提供的接口 https//api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN 提示错误 "errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest rid: 620efe65-00ae4db1-2a022a7c" 使用开发文档中提示的接口 https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN 提示错误 "errcode":47001,"errmsg":"data format error rid: 620eff5d-10d2f2fb-72e6b1f5" 在https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN地址下 请求POST参数使用不同参数提示也不同 response = requests.post(url=url, data=payl) 提示错误 "errcode":45103,"errmsg":"This API has been unsupported rid: 620effda-4e95302f-218e1eef" 使用json参数 response = requests.post(url=url, json=payl) 提示错误 response {"errcode":47001,"errmsg":"data format error rid: 620f004e-44aaa363-508044a7"} 下面是服务端发送代码 url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=" + access_token params = { "touser": "oSyuJ4vOTcvx-9bmTv3mXSZ8F4GE", "template_id": "G3SJOB40asCBXezsD24cViHfIPxhTZiTKXNC", "data": { "first":{ "value":"恭喜你购买成功!" }, "keyword1":{ "value":"212134" }, "keyword2":{ "value":"39.8元" }, "keyword3":{ "value":"2014年9月22日" }, "keyword4":{ "value":"2014年9月22日" }, "remark":{ "value":"欢迎再次购买!" } } } payl = json.dumps(params) print('payl',payl) headers = {'Content-Type': 'application/json'} response = requests.post(url=url, json=payl) print('params',params) print('response', response.text)
2022-02-18 - 设备报警信息使用哪种方式发送消息比较适合?
有设备维护报警的信息,需要发送给给用户,目前微信服务器端提供几种消息,一个是订阅消息,一个是统一服务消息,报警消息需要随时发送,不能受用户允许限制,不知道使用哪种比较好。 有没有哪位大神可以提供一个服务端的消息发送实例,我服务端的程序使用python写的,不论是统一服务消息还是之前的模板消息,一直没有发送成功,不知到问题在哪里,请指教。 下面是服务端发送统一消息的代码,一直提示openid无效。 url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=" + access_token params = { "touser":"oSyuJ4vOTcvx-9bmTv3mXSZ8F4GE", #oSyuJ4vOTcvx-9bmTv3mXSZ8F4GE "weapp_template_msg":{ "template_id":"mfEQ15gU0-FdpnW9E4XWu4zjUGJPVNYJzNlSV3Cug", #小程序模板 "page":"page/page/index", "form_id":"FORMID", "data":{ "thing1":{ "value":"339208499" }, "number2":{ "value":"339208499" }, "thing3":{ "value":"腾讯微信总部" }, "time4":{ "value":"2015年01月05日 12:30" } }, "emphasis_keyword":"thing1.DATA" }, "mp_template_msg":{ "appid":"wx3dffd19314417108", "template_id":"WLSiIt0f0H5WwNILmcf3gY9aADrhjQJ1pJWaHKmz0ZA", #WLSiIt0f0H5WwNILmcf3gY9aADrhjQJ1pJWaHKmz0ZA "url":"http://weixin.qq.com/download", "miniprogram":{ "appid":"wx673b0fbee0219de9", "pagepath":"index" }, "data":{ "first":{ "value":"恭喜你购买成功!", "color":"#173177" }, "keyword1":{ "value":"巧克力", "color":"#173177" }, "keyword2":{ "value":"39.8元", "color":"#173177" }, "keyword3":{ "value":"2014年9月22日", "color":"#173177" }, "keyword4":{ "value":"2014年9月22日", "color":"#173177" }, "remark":{ "value":"欢迎再次购买!", "color":"#173177" } } } } payl = json.dumps(params) print('payl',payl) header = {'Content-Type': 'application/json'} #headers=header, response = requests.post(url=url,json=payl)
2022-02-17 - 现在是否还可以使用模板消息推送?小程序订阅消息与模板消息使用有何不同?
现在开发模板消息推送功能,遇到几个问题,一个是发送的数据一直提示 数据格式错误,查阅资料发现文档提示模板消息已经废弃,不知道这个是什么意思,现在是不是不支持模板消息,如果不支持是不是使用新的订阅消息,订阅消息与模板消息推送使用有什么区别,请大神指教。
2022-02-17 - 发送模板消息,提示"errcode":47001 data format error 请求帮助?
使用python后台程序发送模板消息,代码如下 url = f'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token={access_token}' params = { "touser": "oSyuJ4vOTcvx-xxxTv3mXSZ8F4GE", "template_id":"WLSiIt0f0H5WwNILmcf3gY9aADrhjQJ1pJWaHKmz0ZA", "data": { "first": { "value": "您的设备已触发温度报警" # "color": "#173177" } "keyword1": { "value": "1222032091" # "color": "#173177" }, "keyword2": { "value": "温湿度恒温箱" # "color": "#173177" }, "keyword3": { "value": "2021年06月07日 19:00:00" # "color": "#173177" }, "keyword4": { "value": "温度超标 45°C" # "color": "#173177" }, "remark": { "value": "2022-02-10 10:00:00" # "color": "#173177" } } # } } payl = json.dumps(params) response = requests.post(url=url, json=payl) response {"errcode":47001,"errmsg":"data format error rid: 620cb249-360cbce4-0dbdf1e4"} 提示格式错误。请帮助看一下问题在哪里。
2022-02-16 - 微信开发模板消息推送,回复错误代码48001?
发送微信模板消息,模板权限已获得,使用后台python编写发送程序,本地测试,小程序已经注册,可以获得access_token,发送后回复内容为:"errcode":48001,"errmsg":"api unauthorized rid: 620c59ff-25d1138a-55bce6a3" 代码如下 url = 'https://api.weixin.qq.com/cgi-bin/message/template/send' params = { 'access_token': access_token, 'data': { "touser": "xxxxxxxxxxxx", "template_id": "WLSiIt0f0H5WwNILmcf3gY9aADrhjQJ1pJWaHKmz0ZA", "url": "http://weixin.qq.com/download", "topcolor": "#FF0000", "data": { "first": { "value": "您的设备已触发温度报警。", "color": "#173177" }, "keyword1": { "value": "1222032091", "color": "#173177" }, "keyword2": { "value": "温湿度恒温箱", "color": "#173177" }, "keyword3": { "value": "2021年06月07日19时24分", "color": "#173177" }, "keyword4": { "value": "温度超标 45°C", "color": "#173177" }, "remark": { "value": "06月07日19时24分", "color": "#173177" } }, } } response = requests.post(url=url, params=params)
2022-02-16 - echart无法获取后台数据?
使用折线图进行数据处理,如果使用静态数据没有问题,使用后台获得的数据就无法替换原来的静态数据,下面的代码后台请求的数据是列表类型数据,但是数据无法使用,请教什么问题。 getData() { let that = this var AlarmMsg=[4,4,5] var devicenum = '1222032091' var data1_x=[] var data1_y=[] var data2_x=[] var data2_y=[] wx.request({ url: 'http://127.0.0.1:8000/wxdevicenum/'+devicenum, success:function(res){ console.log(res); // that.setData({ data1_x=res.data.datax; data1_y=res.data.datat; data2_x=res.data.datax; data2_y=res.data.datah; // }); console.log(data1_x); } }) console.log(data2_y) barec1.setOption({ tooltip: { trigger: 'axis' }, renderAsImage: true, //支持渲染为图片模式 color: ["#41A4FF", "#37C461"], //图例图标颜色 曲线数据点颜色 legend: { show: true, itemGap: 25, //每个图例间的间隔 top: 20, // bottom: 15, x: 30, //水平安放位置,离容器左侧的距离 'left' z: 100, textStyle: { color: '#A9A9A9' //'#383838' }, }, grid: { //网格 top: 30, left:25, bottom: 5, containLabel: true, //grid 区域是否包含坐标轴的刻度标签 }, xAxis: { //横坐标 type: 'category', // name: '(天)', //横坐标名称 nameTextStyle: { //在name值存在下,设置name的样式 color: 'black', fontStyle: 'normal', fontWeight: 'bold', }, nameLocation: 'start', //'end', boundaryGap: false, data: data1_x, //this.data.data1_x, axisTick: { show: false, //刻度线隐藏 }, axisLabel: { textStyle: { fontSize: 9, color: '#f0f5f5' } } }, yAxis: { //纵坐标 type: 'value', position: 'left', left: 20, scale:true, //Y轴坐标值自适应 nameLocation: 'end', //'start' textStyle:{ fontSize:9, color:'#f0f5f6' }, axisTick: { show: false, //刻度线隐藏 inside : false, // 控制小标记是否在grid里 }, // splitNumber: 6, //坐标轴的分割段数 splitLine: { //坐标轴在 grid 区域中的分隔线。 show: true, lineStyle: { //Y轴网格线 type: 'solid', //type: 'dashed'虚线, solid实线 width: 1, color: '#ADD8E6', } }, axisLabel: { //y轴刻度 textStyle: { fontSize: 9, color: '#f0f5f6' } }, }, series: [{ type: 'line', data: data1_y, //this.data.data1_y, smooth: true, symbol: 'roundRect', itemStyle: { normal: { lineStyle: { color: 'white', width:1 } } } }], }) barec2.setOption({ tooltip: { trigger: 'axis' }, renderAsImage: true, //支持渲染为图片模式 color: ["#37C461"], //图例图标颜色 legend: { show: true, itemGap: 25, //每个图例间的间隔 top: 20, x: 20, //水平安放位置,离容器左侧的距离 'left' z: 100, textStyle: { color: '#37C461' }, }, grid: { //网格 left: 25, bottom: 5, top: 30, containLabel: true, //grid 区域是否包含坐标轴的刻度标签 }, xAxis: { //横坐标 type: 'category', // name: '(小时)', //横坐标名称 nameTextStyle: { //在name值存在下,设置name的样式 color: '#FFBE46', fontStyle: 'normal', fontWeight: 'bold', }, nameGap: 3, nameLocation: 'end',//显示位置 boundaryGap: false, data: data2_x, //this.data.data2_x, axisTick: { show: false, //刻度线隐藏 }, axisLabel: { textStyle: { fontSize: 9, color: '#F5F5F5' } }, }, yAxis: { //纵坐标 type: 'value', position: 'left', left: 10, scale:true, axisTick: { show: false, //刻度线隐藏 }, show: true, lineStyle: { type: 'solid' } }, axisLabel: { textStyle: { fontSize: 9, color: '#F5F5F5' } }, }, series: [{ type: 'line', data: data2_y, //this.data.data2_y, smooth: true, symbol: 'roundRect', itemStyle: { normal: { lineStyle: { color: 'white', width:1 } } }, }], }) data: { ec1: { onInit: function (canvas, width, height) { barec1 = echarts.init(canvas, null, { width: width, height: height, // devicePixelRatio: dpr }); canvas.setChart(barec1); return barec1; } }, ec2: { // onInit:initChartHumi onInit: function (canvas, width, height) { barec2 = echarts.init(canvas, null, { width: width, height: height }); canvas.setChart(barec2); return barec2; } },
2022-02-03 - 设备报警信息是如何实现的?
[图片] 上面是一个设备的报警提示信息,在公众号中是如何实现发送报警信息的,是不是通过获取用户openid,然后使用下面的命令建立会话 https://api.weixin.qq.com/customservice/kfsession/create?access_token=ACCESS_TOKEN POST数据示例如下: { "kf_account" : "test1@test", "openid" : "OPENID" } 然后使用uniformMessage.send命令发送消息。
2022-01-26