
作者:微信公开课+
作品:微信公开课
地区:全国小程序
标签:教育,工具,微信公开课,资讯
描述:微信公开课是微信官方与小程序行业合作伙伴沟通交流的微信小程序社区,为线下微信小程序公开课的免费授课提供线上的相关服务,包括查阅小程序活动议程、参与小程序活动互动以及回顾小程序课程内容等。
声明:作者对小程序服务信息内容及运营行为等真实性/合法性及有效性承担全部责任
订阅微信公开课小程序
-
小程序用image加载的图片如何居中求解答
2019-04-03 15:13:30如何看待微信公开课小程序热门讨论「小程序用image加载的图片如何居中求解答」
摘要:小程序用image加载的图片如何居中求解答
展开:想把加载的图片居中应该怎么做 -
小程序用Java解密用户敏感数据后得到部分乱码
2019-04-03 15:13:30如何看待微信公开课小程序热门讨论「小程序用Java解密用户敏感数据后得到部分乱码」
摘要:小程序用Java解密用户敏感数据后得到部分乱码
展开:如图:用户敏感数据解密后,不部分正常,一部分有乱码,乱码部分应该是openId,两个月前反馈过一次,但是好像没人处理。目前有很多人遇到此情况,包括使用官方的PHPDemo也有这种情况。一下是和我遇到同样情况的留言评论:https://developers.weixin.qq.com/blogdetail?actionget_post_infolangzh_CNtoken1623208426docid247b8698f1591cc566035fa1ce0630e8http://www.cnblogs.com/nosqlcoco/p/6105749.html -
小程序用navigator进行页面间的传值问题
2019-04-03 15:13:30如何看待微信公开课小程序热门讨论「小程序用navigator进行页面间的传值问题」
摘要:小程序用navigator进行页面间的传值问题
展开:我用navigator进行页面间传值,然后用这个值来进行if条件渲染的时候,总是不能第一时间得到这个值来渲染,总是第二次或多次点击后才能正确的用跟这个值的来渲染。求大神讲讲navigator传值时的细节 -
小程序用nodejs快速实现微信小程序的websocket服务端
2019-04-03 15:13:30如何看待微信公开课小程序热门讨论「小程序用nodejs快速实现微信小程序的websocket服务端」
摘要:小程序用nodejs快速实现微信小程序的websocket服务端
展开:摘要:微信小程序服务端使用websocket方式。socket.io已作为nodejs体系中被广泛应用的websocket解决方案,却因socket.io对websocket做了高级封装,不能兼容微信小程序所采用的websocket标准协议无法直接使用,此外微信小程序还要求websocket必须是ssl的。本文着重介绍如何ws库和ssl证书实现微信小程序的websocket服务端。微信小程序对第三方服务端的网络通信方式支持https和Websocket。WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。为了解决HTTP协议效率低下的问题,HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽并达到实时通讯。WebSocket在数据传输的稳定性和数据传输量的大小方面,具有很大的性能优势。有不少公司将nodejs的socket.io作为websocket的解决方案,很遗憾的是socket.io是对websocket的封装,并不支持html5原始的websocket协议,微信小程序使用的websocket却是接近于html5原始websocket协议,socket.io居然没有用武之地了。当然情况也没有惨到需要你自己一步一步去实现websocket服务端,我们的大node有很多websocket库,ws就是其中一个,号称最轻量级,最快。ws的用法比较简单,直接看github说明(https://github.com/websockets/ws)就可以。我这里着重讲的是针对微信小程序实现的加入ssl的websocket实现。要使用ssl,首先你得有ssl证书,生产环境建议你去买一个ssl证书。开发环境你可以给自己生成一个ssl自签名证书临时用一下。这里说下Linux系统怎么通过openssl命令生成证书。首先执行如下命令生成一个keyopensslgenrsades3outssl.key1024然后他会要求你输入这个key文件的密码。不推荐输入。由于生成时候必须输入密码。你可以输入后再删掉。mvssl.keyxxx.keyopensslrsainxxx.keyoutssl.keyrmxxx.key然后根据这个key文件生成证书请求文件opensslreqnewkeyssl.keyoutssl.csr以上命令生成时候要填很多东西一个个看着写吧(可以随便,毕竟这是自己生成的证书)最后根据这2个文件生成crt证书文件opensslx509reqdays365inssl.csrsignkeyssl.keyoutssl.crt这里365是证书有效期。这个随意。最后使用到的文件是key和crt文件。nodejswebsocket(ssl)服务端实现,wsssample.jsusestrict;varfsrequire(fs);//youllprobablyloadconfigurationfromconfigvarcfg{ssl:true,port:8080,ssl_key:ssl.key,ssl_cert:ssl.crt};varhttpServ(cfg.ssl)?require(https):require(http);varWebSocketServerrequire(ws).Server;varappnull;//dummyrequestprocessingvarprocessRequestfunction(req,res){res.writeHead(200);res.end(AllglorytoWebSockets! );};if(cfg.ssl){apphttpServ.createServer({//providingserverwithSSLkey/certkey:fs.readFileSync(cfg.ssl_key),cert:fs.readFileSync(cfg.ssl_cert)},processRequest).listen(cfg.port);}else{apphttpServ.createServer(processRequest).listen(cfg.port);}//passingorreferencetowebserversoWSwouldknewportandSSLcapabilitiesvarwssnewWebSocketServer({server:app});wss.on(connection,function(wsConnect){wsConnect.on(message,function(message){console.log(message);wsConnect.send(reply);});});运行这个案例, 你需要先安装ws库。npminstallws运行:nodewsssample.js你可以在浏览器打开https://localhost:8080,在浏览器控制台验证一下websocket是否可以连接:varsocketnewWebSocket(wss://localhost:8080/);socket.onmessagefunction(e){console.log(Server:+e.data);};socket.send(yourmessage);如果是在express框架下实现websocket(ssl)。wssexpress.js:usestrictvarfsrequire(fs);varhttpsrequire(https);varserverhttps.createServer({key:fs.readFileSync(ssl.key),cert:fs.readFileSync(ssl.crt)});varurlrequire(url);varWebSocketServerrequire(ws).Server;varwssnewWebSocketServer({server:server});varexpressrequire(express);varappexpress();varport8080;app.use(function(req,res){res.send({msg:hello});});wss.on(connection,functionconnection(ws){varlocationurl.parse(ws.upgradeReq.url,true);//youmightuselocation.query.access_tokentoauthenticateorsharesessions//orws.upgradeReq.headers.cookie(seehttp://stackoverflow.com/a/16395220/151312)ws.on(message,functionincoming(message){console.log(received:%s,message);});ws.send(something);});server.on(request,app);server.listen(port,function(){console.log(Listeningon+server.address().port)});简单的微信小程序websocket服务端实现了。原作者:小水熊 -
小程序用node连微信第三方api的时候经常断掉,请问这个有没有好的debug方式
2019-04-03 15:13:30如何看待微信公开课小程序热门讨论「小程序用node连微信第三方api的时候经常断掉,请问这个有没有好的debug方式」
摘要:小程序用node连微信第三方api的时候经常断掉,请问这个有没有好的debug方式
展开:Error:connectETIMEDOUT140.207.119.12:443atObject.exports._errnoException(util.js:1022:11)atexports._exceptionWithHostPort(util.js:1045:20)atTCPConnectWrap.afterConnect[asoncomplete](net.js:1087:14) -
小程序用pickview自己定制的滚轮,怎么放在页面底部且滚动滚轮的时候页面不滚动
2019-04-03 15:13:30如何看待微信公开课小程序热门讨论「小程序用pickview自己定制的滚轮,怎么放在页面底部且滚动滚轮的时候页面不滚动」
摘要:小程序用pickview自己定制的滚轮,怎么放在页面底部且滚动滚轮的时候页面不滚动
展开:(在线急等:请大家支招)我用pickview定制了一个滚轮,把它固定定位在底部,因为页面比较长,所以在滚动滚轮的时候页面也滚动了,设置了index没效果,我想问下怎么设置才能呈现跟默认的时间滚轮一样的效果,滚轮出来以后直接锁死页面,只有pickview可以滚动?? -
小程序用setData()方法时,key中包含变量怎么处理
2019-04-03 15:13:30如何看待微信公开课小程序热门讨论「小程序用setData()方法时,key中包含变量怎么处理」
摘要:小程序用setData()方法时,key中包含变量怎么处理
展开:我要变更一个数据的值,但用setData({key:value})方法时,key不能正确使用,因为key中包含变量:如如这样一个数据test:Page({data:{test[{name:zhang},{name:wang},{name:zhao},]}})当我想更改test[i].name的值时,因为我这个i是通过计算得到的,所以i是一个变量用setData({test[i].name:liu})时,运行提示我tese[]中[]里的下标只能用数字,如果我用字串拼接把i值加进去,又不能通语法,其它的一些方式我也试过,没有成功,谁有解决这个问题的办法? -
小程序用setData更新data其中一个集合问题
2019-04-03 15:13:30如何看待微信公开课小程序热门讨论「小程序用setData更新data其中一个集合问题」
摘要:小程序用setData更新data其中一个集合问题
展开:用setData更新data其中一个集合时,同级的集合不变,然后wx:for遍历到视图图的时候就只是最后一条数据了