https://www.cnblogs.com/turingguo/p/15681890.html
有关小程序上传图片/视频的问题?需要使用MinIO上传。请问哪位同学用过小程序使用 MinIO 上传 图片和视频的? 还是说,必须要使用官方的 wx.uploadFile 来进行图片和视频的上传?
2022-01-14我现在是win11里用hyper-v装了个win7,然后把小程序文件夹共享进去,在宿主机用vsc编辑代码,在虚拟机的开发工具里查看运行效果
win11的兼容工作开始了吗?如题
2021-11-25服务端重启了肯定要重新连接啊,重新调用connect啊。连接都断开了怎么发
如何监听wx.sendSocketMessage异常服务端重启之后 再给服务端发送消息的时候就提示sendSocketMessage:fail WebSocket is not connected 有没有监听这个sendSocketMessage异常的功能?
2018-07-05服务器安装了SSL证书了?能用https了吗
websocket关于ws://与wss://后者不能用[图片] 把上图中勾选上,然后把wss://域名改为ws://域名,就可以正常连接了,但原wss://为什么就总提示ERR_CONNECTION_REFUSED如下图: [图片] 但正常使用时肯定要把勾去掉的啊,那ws://这种方式就不能用了?
2018-07-05@腾讯客服
websocket连接模拟器能正常收发,安卓手机无法发送,只能接收[图片] 模拟器能正常收发,服务器也能接收到。[图片] [图片] 真机则只能接收到服务器发送的连接成功,发送到服务器的数据则服务器接不到,也就没有echo发送回来。
2018-07-05我的是send直接卡住,直到小程序断开连接服务器才能收到,很是奇怪
微信 socketwx.connectSocket() 后 wx.sendSocketMessage 如果数据过大会断开
2018-06-23为啥wx.connectSocket后sendMessage服务器会一直接收不到,直到小程序退出断开连接才会收到?而重启服务器后小程序重连正常收发,但只重启小程序后新建的socket连接就会出这个问题。
预览wx.previewImage websocket会建立新的连接在 文本socket 获取到的图片想放大 预览wx.previewImage websocket会关闭 原有的 建立新的websocket连接 <image mode="aspectFill" style="width: 300rpx;" bindtap="imagepreview" data-src="{{item.contentImgUrl}}" wx:if="{{item.contentImgUrl}}" src="{{item.contentImgUrl}}" /> imagepreview(e) { wx.previewImage({ current: e.currentTarget.dataset.src, urls: [e.currentTarget.dataset.src] }) } [图片]
2018-06-23原来是得这样写,发送的数据是一个对象,发送内容放在data属性里 wx.sendSocketMessage({ data: 'bytes' });
wx.sendSocketMessage服务器无法识别[图片].net的ClientWebSocket能正常发送数据,服务器显示接收正常,编码格式UTF-8 小程序的wx.sendSocketMessage同样的信息服务器却显示未定义。初步怀疑编码不对
2018-05-23服务器ws的返回加subprotocol:protocol1了吗
websocket连接成功后,瞬间断开1、我通过websocket连接后台,可以连接成功且可以触发wx.onSocketOpen。但是瞬间又断开,触发wx.onSocketClose 2、还有一点奇怪的是,我在wx.onSocketOpen的回调函数中,用wx.sendSocketMessage发送了一条消息,显示发送成功且发送完成,但是后台却没收到消息。不知道是不是消息还没送达websocket就关闭了? 3、我的后台是python的tornado框架。 求助:是什么原因导致websocket连接成功却又瞬间关闭?该如何解决?
2018-05-23...
websocket 接收不到数据微信发送给服务端是数据能正常接收到,但是服务端发送给微信端的接收不到,服务端和网页的websocket交互正常,但是和微信这就不行了 微信代码如下 [代码]var[代码] [代码]urls = require([代码][代码]'../constant.js'[代码][代码]).urls;[代码][代码]var[代码] [代码]Stomp = require([代码][代码]'../lib/stomp.js'[代码][代码]).Stomp;[代码] [代码]function[代码] [代码]request(url, data, success) {[代码][代码] [代码][代码]wx.getStorage({[代码][代码] [代码][代码]key: [代码][代码]'net_sessionid'[代码][代码],[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](sessionIdRes) {[代码][代码] [代码][代码]console.log([代码][代码]'sessionID:'[代码] [代码]+ sessionIdRes.data);[代码][代码] [代码][代码]wx.request({[代码][代码] [代码][代码]url: url,[代码][代码] [代码][代码]data: data,[代码][代码] [代码][代码]method: [代码][代码]'POST'[代码][代码],[代码][代码] [代码][代码]dataType: [代码][代码]'json'[代码][代码],[代码][代码] [代码][代码]header: {[代码][代码] [代码][代码]'content-type'[代码][代码]: [代码][代码]'application/x-www-form-urlencoded'[代码][代码], [代码][代码]// 默认值[代码][代码] [代码][代码]'Cookie'[代码][代码]: [代码][代码]'JSESSIONID='[代码] [代码]+ sessionIdRes.data[代码][代码] [代码][代码]},[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]success(res);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码]}[代码] [代码]function[代码] [代码]sendSocketMessage(msg) {[代码][代码] [代码][代码]console.log([代码][代码]'send msg:'[代码][代码])[代码][代码] [代码][代码]console.log(msg);[代码][代码] [代码][代码]wx.sendSocketMessage({[代码][代码] [代码][代码]data: msg,[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]console.log([代码][代码]'消息发送成功'[代码][代码]);[代码][代码] [代码][代码]wx.setStorage({[代码][代码] [代码][代码]key: [代码][代码]"msg_"[代码][代码],[代码][代码] [代码][代码]data: msg[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码]}[代码] [代码]function[代码] [代码]onSocketOpen() {[代码] [代码]}[代码][代码]var[代码] [代码]ws = {[代码][代码] [代码][代码]send: sendSocketMessage,[代码][代码] [代码][代码]onopen: [代码][代码]null[代码][代码],[代码][代码] [代码][代码]onmessage: [代码][代码]null[代码][代码]}[代码][代码]var[代码] [代码]stompClient = Stomp.over(ws);[代码] [代码]function[代码] [代码]testSocet() {[代码][代码] [代码][代码]wx.connectSocket({[代码][代码] [代码][代码]url: [代码][代码]'wss://192.168.1.85:8443/websocket'[代码][代码],[代码][代码] [代码][代码]//url: 'ws://127.0.0.1:8080/websocket/websocket',[代码][代码] [代码][代码]});[代码][代码] [代码][代码]wx.onSocketMessage([代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]console.log([代码][代码]'收到服务器内容:'[代码][代码]);[代码][代码] [代码][代码]console.log([代码][代码]'收到服务器内容:'[代码] [代码]+ res.data)[代码][代码] [代码][代码]});[代码][代码] [代码] [代码] [代码][代码]wx.onSocketClose([代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]console.log([代码][代码]'WebSocket 已关闭!'[代码][代码])[代码][代码] [代码][代码]})[代码][代码] [代码] [代码] [代码][代码]wx.onSocketOpen([代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]console.log([代码][代码]'WebSocket连接已打开!'[代码][代码])[代码][代码] [代码][代码]stompClient.send([代码][代码]"/app/req"[代码][代码], {}, [代码][代码]"ssss"[代码][代码]);[代码][代码] [代码][代码]})[代码][代码] [代码][代码]Stomp.setInterval = [代码][代码]function[代码] [代码](interval, f) {[代码][代码] [代码][代码]return[代码] [代码]setInterval(f, interval);[代码][代码] [代码][代码]};[代码][代码] [代码][代码]Stomp.clearInterval = [代码][代码]function[代码] [代码](id) {[代码][代码] [代码][代码]return[代码] [代码]clearInterval(id);[代码][代码] [代码][代码]};[代码] [代码] [代码][代码]wx.onSocketError([代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]console.log([代码][代码]'WebSocket连接打开失败,请检查!'[代码][代码])[代码][代码] [代码][代码]})[代码][代码]}[代码] [代码]// stompClient.connect({}[代码][代码]// // ,[代码][代码]// // function connectCallback(frame) {[代码][代码]// // console.log('已连接');[代码][代码]// // stompClient.subscribe('/topic/resp', function (response) {[代码][代码]// // console.log("返回内容:" + response.body);[代码][代码]// // });[代码][代码]// // },[代码][代码]// // function errorCallBack(error) {[代码][代码]// // console.log('连接失败【' + error + '】');[代码][代码]// // }[代码][代码]// );[代码] [代码]function[代码] [代码]init() {[代码][代码] [代码][代码]//getSession();[代码][代码] [代码][代码]testSocet();[代码][代码]}[代码] [代码]function[代码] [代码]getSession() {[代码][代码] [代码][代码]wx.request({[代码][代码] [代码][代码]url: urls.getSession,[代码][代码] [代码][代码]method: [代码][代码]'POST'[代码][代码],[代码][代码] [代码][代码]dataType: [代码][代码]'json'[代码][代码],[代码][代码] [代码][代码]header: {[代码][代码] [代码][代码]'content-type'[代码][代码]: [代码][代码]'application/x-www-form-urlencoded'[代码][代码], [代码][代码]// 默认值[代码][代码] [代码][代码]},[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]wx.setStorage({[代码][代码] [代码][代码]key: [代码][代码]"net_sessionid"[代码][代码],[代码][代码] [代码][代码]data: res.data.data[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码]}[代码] [代码]module.exports = {[代码][代码] [代码][代码]request: request,[代码][代码] [代码][代码]init: init[代码][代码]}[代码]结果 [图片] 服务端代码 [代码]package[代码] [代码]com.hykj.zonechat.controller;[代码][代码]import[代码] [代码]org.slf4j.Logger;[代码][代码]import[代码] [代码]org.slf4j.LoggerFactory;[代码][代码]import[代码] [代码]org.springframework.beans.factory.annotation.Autowired;[代码][代码]import[代码] [代码]org.springframework.messaging.handler.annotation.MessageMapping;[代码][代码]import[代码] [代码]org.springframework.messaging.simp.SimpMessagingTemplate;[代码][代码]import[代码] [代码]org.springframework.messaging.simp.annotation.SendToUser;[代码][代码]import[代码] [代码]org.springframework.stereotype.Controller;[代码][代码]@Controller[代码][代码]public[代码] [代码]class[代码] [代码]SocketController {[代码][代码] [代码][代码]private[代码] [代码]final[代码] [代码]Logger log = LoggerFactory.getLogger([代码][代码]this[代码][代码].getClass());[代码][代码] [代码][代码]@Autowired[代码][代码] [代码][代码]private[代码] [代码]SimpMessagingTemplate simpMessagingTemplate;[代码][代码] [代码][代码]@MessageMapping[代码][代码]([代码][代码]"/req"[代码][代码])[代码][代码] [代码][代码]public[代码] [代码]void[代码] [代码]sendPublicMessage(String msg) {[代码][代码] [代码][代码]log.info([代码][代码]"收到消息:"[代码][代码]+msg);[代码][代码] [代码][代码]simpMessagingTemplate.convertAndSend([代码][代码]"/topic/resp"[代码][代码], [代码][代码]"qwerty"[代码][代码]);[代码][代码] [代码][代码]}[代码][代码]}[代码] [代码]package[代码] [代码]com.hykj.zonechat.sys;[代码][代码]import[代码] [代码]org.springframework.context.annotation.Configuration;[代码][代码]import[代码] [代码]org.springframework.messaging.simp.config.MessageBrokerRegistry;[代码][代码]import[代码] [代码]org.springframework.web.socket.config.annotation.*;[代码][代码]@Configuration[代码][代码]@EnableWebSocketMessageBroker[代码][代码]public[代码] [代码]class[代码] [代码]WebSocketConfig [代码][代码]implements[代码] [代码]WebSocketMessageBrokerConfigurer {[代码][代码] [代码][代码]@Override[代码][代码] [代码][代码]public[代码] [代码]void[代码] [代码]registerStompEndpoints(StompEndpointRegistry registry) {[代码][代码] [代码][代码]registry.addEndpoint([代码][代码]"/websocket"[代码][代码]).setAllowedOrigins([代码][代码]"*"[代码][代码]);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]@Override[代码][代码] [代码][代码]public[代码] [代码]void[代码] [代码]configureMessageBroker(MessageBrokerRegistry config) {[代码][代码] [代码][代码]config.enableSimpleBroker( [代码][代码]"/topic/"[代码][代码]);[代码][代码] [代码][代码]config.setApplicationDestinationPrefixes([代码][代码]"/app"[代码][代码]);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]@Override[代码][代码] [代码][代码]public[代码] [代码]void[代码] [代码]configureWebSocketTransport(WebSocketTransportRegistration registration) {[代码][代码] [代码][代码]registration.setMessageSizeLimit([代码][代码]128[代码] [代码]* [代码][代码]1024[代码][代码]);[代码][代码] [代码][代码]}[代码][代码]}[代码]结果 [图片] 网页代码 [代码][代码][代码]<[代码][代码]html[代码] [代码]lang[代码][代码]=[代码][代码]"zh-CN"[代码] [代码]xmlns:th[代码][代码]=[代码][代码]"http://www.thymeleaf.org"[代码][代码]>[代码][代码]<[代码][代码]head[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]meta[代码] [代码]charset[代码][代码]=[代码][代码]"UTF-8"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]script[代码] [代码]src[代码][代码]=[代码][代码]"https://cdn.bootcss.com/stomp.js/2.3.3/stomp.min.js"[代码][代码]>[代码]script[代码][代码]>[代码][代码][代码][代码] [代码][代码]<[代码][代码]script[代码] [代码]src[代码][代码]=[代码][代码]"https://cdn.bootcss.com/sockjs-client/1.1.4/sockjs.js"[代码][代码]>[代码]script[代码][代码]>[代码][代码][代码][代码][代码][代码] [代码][代码]<[代码][代码]title[代码][代码]>socketTest[代码]title[代码][代码]>[代码][代码][代码][代码][代码][代码][代码][代码]head[代码][代码]>[代码][代码][代码][代码][代码][代码][代码]<[代码][代码]body[代码][代码]>[代码][代码][代码][代码][代码][代码]<[代码][代码]button[代码] [代码]onclick[代码][代码]=[代码][代码]"send('aaaaaaaaaa')"[代码][代码]>Send[代码]button[代码][代码]>[代码][代码][代码][代码][代码][代码][代码]<[代码][代码]table[代码] [代码]id[代码][代码]=[代码][代码]'state-info'[代码][代码]>[代码]table[代码][代码]>[代码][代码][代码][代码][代码][代码][代码][代码]body[代码][代码]>[代码][代码][代码][代码][代码][代码][代码]<[代码][代码]script[代码] [代码]type[代码][代码]=[代码][代码]"text/javascript"[代码][代码]>[代码][代码][代码][代码][代码][代码] [代码][代码]var socket = new WebSocket("wss://127.0.0.1:8443/websocket");[代码][代码][代码][代码][代码][代码] [代码][代码]var stompClient = Stomp.over(socket);[代码][代码][代码][代码][代码][代码] [代码][代码]stompClient.connect({},[代码][代码][代码][代码][代码][代码] [代码][代码]function connectCallback(frame) {[代码][代码][代码][代码][代码][代码] [代码][代码]// 连接成功时(服务器响应 CONNECTED 帧)的回调方法[代码][代码][代码][代码][代码][代码] [代码][代码]document.getElementById("state-info").innerHTML = "连接成功";[代码][代码][代码][代码][代码][代码] [代码][代码]console.log('已连接【' + frame + '】');[代码][代码][代码][代码][代码][代码] [代码][代码]stompClient.subscribe('/topic/resp', function (response) {[代码][代码][代码][代码][代码][代码] [代码][代码]alert(response.body)[代码][代码][代码][代码][代码][代码] [代码][代码]});[代码][代码][代码][代码][代码][代码] [代码][代码]},[代码][代码][代码][代码][代码][代码] [代码][代码]function errorCallBack(error) {[代码][代码][代码][代码][代码][代码] [代码][代码]// 连接失败时(服务器响应 ERROR 帧)的回调方法[代码][代码][代码][代码][代码][代码] [代码][代码]document.getElementById("state-info").innerHTML = "连接失败";[代码][代码][代码][代码][代码][代码] [代码][代码]console.log('连接失败【' + error + '】');[代码][代码][代码][代码][代码][代码] [代码][代码]}[代码][代码][代码][代码][代码][代码] [代码][代码]);[代码][代码][代码][代码][代码][代码] [代码][代码]function send(txt) {[代码][代码][代码][代码][代码][代码] [代码][代码]stompClient.send("/app/req", {}, txt);[代码][代码][代码][代码][代码][代码] [代码][代码]}[代码][代码][代码][代码][代码][代码][代码]script[代码][代码]>[代码][代码][代码][代码][代码][代码][代码][代码]html[代码][代码]>[代码][代码][代码][代码]结果 [图片] 这个问题,弄了好久都没搞定,后台用的是springboot 2.0.1.RELEASE 版本 是希望借助websocket 和stomp协议进行交互,但是在微信和服务端进行websocket交互时出现问题了,就是微信发给后台的数据,后台能够接收到,但是后台发送给微信小程序的数据,微信端却接收不到,期间用网页进行测试,发现网页能够接收到数据,然后又用最基础的servlet建立一个简单的websocket进行测试,发现微信端还是收不到数据, 希望各位前辈能给予解惑,谢谢,联系方式qq 1324618209
2018-05-23