在uni-app使用极光IM 开发一个聊天室

国庆前有一个业务功能要实现!

  • 已知:不需要任何人际关系网!
  • 已知:需要一个类似于群的功能!
  • 已知:不需要任何人批准,只要用户进入活动就能加入到群!
  • 已知:不需要任何一个人成为那个聊天室的管理员(除了我们活动主办方)
  • 已知:需要具备发送消息、发送图片功能
  • 已知:整个流程不需要用户自己操作,比如加聊天室或者注册登陆等...全部交由代码操作
  • 综上所述:最终选择聊天室而没有选择群,主要是群需要管理员同意才能加入!!!!!!

由于时间比较紧,而且这方面是我个人的知识盲区,而且完全评估不出什么时候能完成,没想到...一天时间就能把这个功能完成的七七八八。

流程图


关于为什么要退出聊天室,是因为在聊天室,获取离线的聊天室消息,只能重新加入聊天室才能,

下面是上述流程图的代码(不要纠结为什么,我的function要放在初始化成功里面了= =写demo的时候一路写下去,懒拆了)

    // 引入sdk
    import sdk from 'jmessage-wxapplet-sdk-1.4.2.min.js'
    // 引入md5,要进行加密
    import md5 from 'js-md5/src/md5.js'
    export default {
        created() {
            // 你的appkey
            let appkey = ''
            // 随机20位字符
            let random_str = ''
            // 当前时间戳
            let timestamp = Date.parse(new Date())
            // md5加密生成密匙
            let signature = md5((`appkey=${appkey}&timestamp=${timestamp}&random_str=${random_str}&key=你的程序密匙`))
            var JIM = new sdk();
            // 初始化sdk
            JIM.init({
                "appkey" : appkey,
                "random_str" : random_str,
                "signature" : signature,
                "timestamp" : timestamp,
                "flag" : 0
            }).onSuccess(function(data) {
                // 初始化成功
                // 用户账号
                let username = ''
                // 用户密码
                let password = ''
                login()
                function login () {
                    JIM.login({
                        'username' : username,
                        'password' : password
                    }).onSuccess(function(data) {
                        console.log('登陆成功,加入聊天室')
                        enterChatroom()
                    }).onFail(function(data){
                        console.log('登陆失败,进入注册')
                        register()
                    });
                }
                // 注册账号
                function register () {
                    console.log('开始注册')
                     JIM.register({
                        'username' : username,
                        'password' : password,
                        'is_md5' : false,
                        'extras' : {'自定义json': ''},
                        'address' : '用户地址'
                    }).onSuccess(function(data) {
                        login()
                    })
                }
                // 加入聊天室
                function enterChatroom () {
                    JIM.enterChatroom({
                        // 聊天室ID
                        'id' : ''
                    }).onSuccess(function(data) {
                        console.log('加入聊天室成功,持续抓取信息中...')
                        onRoomMsg()
                    }).onFail(function(data) {
                        console.log(data)
                    });
                }
                // 监控聊天室消息
                function onRoomMsg () {
                    JIM.onRoomMsg(function(data) {
                        console.log('发送人:' + data.from_username)
                        console.log('发送消息:' + data.content.msg_body.text)
                    });
                }
              }).onFail(function(data) {
                  console.log(data)
            });
        },
    }
GIF.gif

后续还有一些坑,比如,如何发送消息,让文本框始终在最底以及锁屏账户会断开连接等等等等等等等等,先到这里吧,后续在填吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,652评论 0 15
  • 为方便开发者了解和接入融云直播聊天室,本文将介绍融云直播聊天室功能特点、主要构成及常见功能的解决方案。 一、产品介...
    ajiao焦阅读 2,653评论 0 2
  • 无差别对待,赋能于人!——太阳系法则
    琦丽_819e阅读 128评论 0 0
  • 今天在阅读文章时又学了个新词“下水作文”,赶紧百度收一下什么意思,以下是对下水作文的解释: 把写作比作游泳,要教会...
    润物无声XIANG阅读 1,034评论 0 1
  • 人格魅力是一个人综合素养的集中体现,需要我们不懈地充实和维护;项目经理通过不断地锤炼来提升自己,是人格魅力“充满生...
    小声讲故事阅读 630评论 0 2