getUserSign()后端怎么实现?

来源:9-30 即时通信功能收尾

zippen

2021-09-19

获取当前用户的TIM登陆凭证
请求类型:GET
请求地址:v1/user/sign

{
    "error_code": 0,
    "data": {
        "user_id": 1,
        "sign": "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwoZQweKU7MSCgswUJStDEwMDE1MLYxNDiExqRUFmUaqSlaWxmYEBRKgkMxcoYGhmaGpkYGRiaAk1IjMdaKBlRGpOUlpZRo5jslGoc0mlu4VXQLa3k3aiQXFiYLGvb767QYlJpmVYdranrVItAJr*Lwo_"
    },
    "message": "ok"
}

看完了聊天功能部分了,最后复习了一下,发现假如在conversation页面设置了指定的ID为user1就不能在message页面实现和多个人聊天,因为点击message页面的其中一条信息永远只会跳转到指定Id的conversation页面。。。然而修改了conversation页面不指定Id为user1,改成 options.targetUserId之后,message页面就可以和多个人聊天了。
再看看之前的问答帖子,说不是同一个IM,通过服务页就访问不了发布服务的人,因为他不在我的IM上登录,所以会没有发布服务那个人的Im的ID。。

   async login() {
        const userSign = await User.getUserSign();
        await this._SDKInstance.login({
            userID: userSign.user_id.toString(),
            userSig: userSign.sign
        });
    }

1.所以怎么让发布服务的人登录我的IM呢?课程教给我们的方式是本地生成,是不是只要用我写的im发布服务,用另一个微信号登陆就可以找到第一个微信?
2.然后我也找到了老师提供的登录IM的代码,发现是请求了后端接口:v1/user/sign,那请问在后端是怎么实现登录我自己的IM的呢?有没有具体的代码或者什么逻辑分享一下?是怎么返回sign的?在后端调用了IM的什么接口?是怎么生成sign的?
图片描述

写回答

1回答

沁尘

2021-09-23

1. 所以怎么让发布服务的人登录我的IM呢?课程教给我们的方式是本地生成,是不是只要用我写的im发布服务,用另一个微信号登陆就可以找到第一个微信?
答:就课程内容而言,你用哪个微信号登陆,其实获取到的用户身份都是一样的,因为课程的鉴权是基于订单号的。(其实我是怎么做到多个微信不同身份的,接口我写的,我当然可以实现^_^)。目前比较好的解决办法是同学们在群里自行组团,共用一个tim appid和秘钥,这样就可以和视频效果一个样了。

2. 然后我也找到了老师提供的登录IM的代码,发现是请求了后端接口:v1/user/sign,那请问在后端是怎么实现登录我自己的IM的呢?有没有具体的代码或者什么逻辑分享一下?是怎么返回sign的?在后端调用了IM的什么接口?是怎么生成sign的?
答:后端有专门的SDK实现,IM的开发文档里面有提供——[《服务端计算 UserSig》
](https://cloud.tencent.com/document/product/269/32688),里面有提供多种不同后端语言的SDK,直接集成使用即可。

0
0

《慕慕到家》家政小程序组件化进阶实战-优质项目

千锤百炼的实践分享,成就你独当一面

494 学习 · 306 问题

查看课程