微信小程序 集成腾讯云IM做的聊天室

初次接触集成的东西确实有点费劲,最终通过两天的摸爬滚打把腾讯云的IM集成到了我的微信小程序中了。

让大家看一下效果:

我的毕设项目中只是用了腾讯IM的单人一对一聊天,当然这个IM是支持群的,语音视频,几乎支持QQ,微信的所有功能。

腾讯云IM是免费的,但是你如果要商用,当然也是收费的(可以使用的功能更多哦),而且不仅是小程序很多端都可以使用。

 

不多说,开搞。

(有人会说你不会是拖吧。首先陈述一下,我只是一个使用者,感觉还不错就分享出来,大家需要做聊天室的可以试试)

第一步:打开cmd 把路径切到项目根目录(进入项目文件夹把路径拷出来,直接cd 路径)

再项目根路径下 执行npm init 和vue项目的哪个package.json初始化类似。

(如果你得项目名称是汉语的 执行下面那一步时 就需要再手动起一个名字,如果不是汉语的 就一路回车)

 初始化之后,能做小程序根目录看到一个package.json 的文件,就证明初始化成功。

第二步:在根目录下接着执行(如果有cnpm的可以用 会下载的快一下)

  • // IM 小程序 SDK

  • npm install tim-wx-sdk --save

  • // 发送图片、文件等消息需要的 COS SDK

  • npm install cos-wx-sdk-v5 --save

 到这里控制台可以关了。

第三步:去小程序中把使用npm模块给勾了,然后并在左上角工具栏中,点击构建npm,成功了会提示构建成功。

 第四步:拷代码。项目测试代码放在了github上,需要的可以去下载。

测试项目地址:https://github.com/xinggaung1996/-IM

第五步:修改代码,运行测试项目。

首先运行项目你会进入这个导航页面

点击进入聊天室会执行下面这个函数。

你会发现此处的userSig我是请求后端生成的,这个地方,在腾讯云控制台也能手动生成(自动生成会放在最后)。

地址:https://console.cloud.tencent.com/im-detail

如果没有账号的同学可以注册一个。

这里可以手动生成。

当你在云上添加IM应用的时候,他会给你生成一个上图中的SDKAppID 与密钥。这两个参数是关联到你的IM应用上以及生成userSig的必须品。

 假设你的腾讯云IM搞好了,那就可以进入聊天室了。

此处的sdkAppID是我的,如果需要生成userSig 是需要自己的sdkAppID与密钥的。

 这两个填好之后就差最后一步了,现在从导航到进入测试用的是test2给test1发信息。那在你发送信息之前

第一步:需要先把俩用户导入到IM里,见上图的插入用户。

第二步:只有两个用户是好友的情况下才能发送信息,见上图的添加好友,当然如果检验是否插入成功,可以用查询id哦。

目前为止,基本上你就可以完成1V1聊天的操作了。

附上一些需要的IM官方链接,需要什么直接在里面搜索就可以了。

文档的地址:https://cloud.tencent.com/document/product/269/

 对于自动生成userSig这个问题找了很长时间,我用的后端生成userSig。

地址:https://cloud.tencent.com/document/product/269/32688

可以前端生成,可以后端生成。人家给了源码地址,找到相应的readme.md

就ok了 是不是很简单,当然如果这个做出来了想集成聊天室也都是ok的,因为上面的插入用户,可以指定聊天室id的,还需要在平台上以及代码上进行一些配置。

 

如果使用博主的方法解决了问题,麻烦在评论区扣个1(方便其他人使用),

如果没有解决您的问题麻烦扣个2,并提出自己的问题。

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
功能说明 1、可以对微信好友分类分组,比如分成客户组,员工组,可针对好友分组群发微信。 2、可以设置聊天机器人,让你的个人微信拥有自动根据预设关键字回复客户,跟据这功能可制成菜单型式的回复,使你的个人微信也具有微信公众号的功能,还不受众号那样的发信息限制。 3、集成了微信接口,具有获取好友列表及接收和发送微信功能,让你非常方便的集成到企业的OA办公系统、订单状态监控、服务器运行状态监控等。 使用说明: 1、请用手机微信扫描右边二维码登录系统(如不显示二维码,请“刷新页面”)。 2、本系统所有操作都是通过模拟控制网页实现,请不要直接操作右边的“微信网页版”,以免影响本软件的正常操作。 3、建议一个注册账号只对应一个微信账号,否则历史信息会混乱。 4、本软件免费用户信息带尾巴,批量发送每次限制10条,超过部分被忽略(用户可分多批发),使用时间不限制。 5、本软件付费会员不受以上第4条限制,会员时间到期后自动转成免费用户。 ***微信接口命令说明*** ****************************************** islogin 确定服务或微信是否登录 返内容如下几种: 1)"已登录" 表示都已经登录 2)"客服和微信都未登录" 3)"客服未登录' 4)"微信未登录" Url示例:http://127.0.0.1:8081/islogin ****************************************** logincode 取得登录二维码图片,以便远程手机扫描登录 如果返回非图片,表示出错或返回"微信已登录"这几字 网页中显示图示例: ****************************************** list 获取客户列表 以Xml文本格式返回列表 开发者可以直接转为DataTable,C#代码示例如下: WebClient webc = new WebClient(); string xmltxt=webc.DownloadString("http://127.0.0.1:8081/list"); DataTable dt=XmlTxtToDataTable(xmltxt); private DataTable XmlTxtToDataTable(string XmlTxt) {//Xml文本转DataTable XmlDocument doc = new XmlDocument(); doc.LoadXml(XmlTxt); XmlNodeReader xnr = new XmlNodeReader(doc); DataSet ds = new DataSet(); ds.ReadXml(xnr); DataTable dt = ds.Tables[0]; return dt; } ****************************************** getimg 取得客户图标 参数 uname=客户名(必选) (用list获取到的客户名) 如果返回非图片,表示出错或返回"客户名为空或找不到。"等字符 网页中显示图示例: ****************************************** send 发送信息 参数 uname=目标客户名(必选) (用list获取到的客户名) msg=信息内容(必选) time=定时发送时间(可选),格式:"yyyy-MM-dd HH:mm:ss" msid=调用者定的信息ID(可选,是大于0数字才有效),用于在sendend判断发送结果 返回以下情况 1)"ok"表示成功加入到发送队列(不是已发成功),是否成功要用sendend命令根据"信息ID"查 2)返回其它信息表示出错信息 GET提交示例:http://127.0.0.1:8081/send?uname=客户名&msg=信息内容&time=2016-03-15 15:20:00&msid=3 ****************************************** sendend 判断发送结果 参数 msid=调用者在发送时定的信息ID 返回以下情况 "ok"=发送成功 "err"=发送出错

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值