请问楼主uni-app App端聊天可以跑起来吗? |
请问楼主是怎么引用到uni-app的?我引用进去一直报错undefined。。。。。。 |
引用:IvanGitZ 发表于 2019-11-07 15:22 在一些并不是特别主流的框架里用websocket这类技术,确实有点烦,必须支持的程度都不一样,更别说开源框架的支持了,因为名气根本不够。如果一定要这样整的话,只能自已动手改造了 |
引用:JackJiang 发表于 2019-11-03 22:39 服务器端:我用的是python-flask作为服务器,uni-app框架只能使用Flask-Sockets库【Flask-SocketIO不支持,原因参考:https://blog.csdn.net/weixin_43343144/article/details/92801617】 研究了一周,最后找到一句多么令人悲伤的话,使用uni.connect连接测试用flask-sockets库起的服务端,可以成功,一直都是服务端的问题 |
引用:IvanGitZ 发表于 2019-11-03 21:58 那估计得用uni-app里的相应对象替换掉了,必竟uni-app这类混合框,自带的网页引擎都是阉割和修改版,并非web标准版。 你可以参考一下这个微信小程序版的sockeet.io库:https://github.com/10cella/weapp.socket.io,因为微信小程序引擎也是个阉割和修改版,它里面也没有window这样的对象(小程序的全局对象名貌似是叫app)。你理解一下,然后举一反三 |
引用:JackJiang 发表于 2019-11-03 19:56 socket.io里面有document.createElement的方法,而uni-app中指出不能使用window,document,location此类对象,这个问题您有解决思路吗? |
引用:IvanGitZ 发表于 2019-11-03 19:21 那看来,你修改后,socket.io.js引用是没有问题了。 按照异常日志里的提示,你看看mobileimsdk-client-sdk.js的196行为什么在你的uni-app下会报错。 只能按照错误提示一个一个去核实了。 另外,为何你测试环境可以,打成app却不可以,你用的uni-app框架,有这两种运行方式方面的差异说明吗?你查一下他们官方的手册,看看能不能找出什么线索 |
引用:IvanGitZ 发表于 2019-11-03 19:21 通过socket.io-client引入后解决了not define,但是又报了IMSDK.getLoginInfo().loginUserId is not an object的错 |
socket.io.js的引用,有点特殊,这是socket.io这个库的官方开发时决定的,具体请详细读一下我在这个帖子《[已解决] MobileIMSDK-Web导入到自己的web中,浏览器端的socket.io.js如何导入啊》,2楼的回复。 至于你说的require会报错,MobiileIMSDK相关的js,都是最原生的js实现,没有使用任何复杂的技巧或封装,只要你引用一般的js能用,mobileimsdk-web就能用,这个估计你得排查一下是不是你的用法上有什么情况。 |
最新的进展:发现只要是require引入的文件都会报错 |