更新记录
1.1.0(2022-03-11)
1.由于官方前端加密不好用,导致好多示例没法用,现在去掉前端加密,核心基本都在前端,欢迎大家二次,赞助就买个,有需要联系我
1.0.9(2021-11-29)
1.优化收取方式,优化消息读取速度去掉所有延迟 2.增加管理员设置【权限包括禁言用户,踢人,设置公告】3.增加群公告发布设置
1.0.8(2021-11-29)
1.优化收取方式,优化消息读取速度去掉所有延迟 2.增加管理员设置【权限包括禁言用户,踢人,设置公告】3.增加群公告发布设置
查看更多平台兼容性
阿里云 | 腾讯云 | 支付宝小程序云 |
---|---|---|
√ | √ | × |
Vue2 | Vue3 |
---|---|
√ | × |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.1.0 app-vue app-nvue | × | √ | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
yyx-im-frameim - 支持音视频 / 离线推送
一套完善的IM即时通讯插件,帮助开发者快速集成IM功能,兼容APP、H5、小程序[正在适配样式]
本框架使用unicloud做后端支撑,基础基于项目uni-starter[可进行更改快速应用到自己项目],支持插件式更新
非uni-starter项目,仅需改动vuex用户存储数据部分即可快速应用
示例:
可以在网页版加软件群,然后交流,我的账号是admin110 可以自己复制秘钥加入 也可以加我 我拉入
H5:语趣
APP:地址会发布到交流群公告
群里联系
语趣群 加入秘钥:
IntcInR5cGVcIjpcInRvcGljXCIsXCJpbnZpdGVDb2RlXCI6XCI2MTljYjI2ZTEyZjM2MDAwMDFiZTE5NGZcIixcIm1ldGhvZFwiOlwic2NhbkFkZEdyb3VwVXNlclwifSI=
使用: h5 打开网址 登录后点击右上角加号 扫一扫 输入即可 秘钥用于H5端扫一扫 加入群聊
语趣群 二维码:
示例图片内
示例问题请及时联系
可以直接作为即时通讯项目上线
后续支持适配各家通讯插件,当前使用
消息云服务:小米云(mimc) - 完全免费 海量并发 消息必达 消息漫游 全球接入 零成本接入 全平台支持
RTC音视频: anyRrc - 每月免费1W分钟
需求:
由于在一直调试测试该项目,可以直接在网页版按下方邀请 加入 群 直接联系我的 我的软件账号是 admin110 建议使用软件群,下方有H5端秘钥 可以直接 加入
QQ2412321321
聊天类型:私聊,群聊
消息类型:文字/表情/图片/语音[H5不支持录音]/视频/音视频通话[目前仅支持APP端]/撤回
会话支持:@类型,草稿显示,置顶,消息未读/已读设置,删除会话
存储支持:本地缓存[h5,小程序等],sqlLite[APP]
群支持:管理员 群公告 禁言
特性:
0.定制化mimc sdk,重写,增强 主要修复 老开源版本 离线信息只能拉28条问题,当前版本增强消息收取机制,再也不会丢离线消息。
0.增强离线推送,目前配置厂商离线 只配置了华为。
0.基本实现全套音视频通话,群聊和私聊,同时非当前市场上的SDK方式自己改的内容少,而是全自己实现,样式加载时期都可以自定义
1.会话列表做了优化处理,分为置顶,未阅读[草稿],已阅读三项列表。采用替换处理原则,仅需启动时加载一次
2.聊天界面支持无闪动下拉加载数据
3.支持历史聊天记录主动拉取,更换其他设备登录打开会话会自动拉取消息
4.支持最近会话拉取,第一次登录后会拉取到会话存入本地,目前只要会话为空,重新启动即加载
5.支持历史聊天记录查看
6.推送目前支持后台推送,完善离线推送
7.用户头像文字显示,未设置头像时使用昵称首字
8.应用定制优化多个组件,达到更多要求
版本计划:
1.按需增强功能,增加红包功能
2.增加后台管理
集成方式:
本插件适用多种方式集成,但必须应用unicloud 需要好友表 群表
插件页面详细分离,可以自己组合,更换页面,增加自己处理逻辑,在自己的项目复制包内页面相关文件即可 可以自己集成喜欢的ui 进行更改。
示例项目,单独划分了一块用户体系 账号全部添加 test_
音视频:
插件市场anySdk
导入离线Sdk到项目
unicloud:
上传 ,初始化,配置uni-mimc-cf 依赖 uni-id,uni-mimc
uni-config-center 配置增加 uni-mimc/config.json
{ "appId": "你自己的小米云", "appKey": "你自己的小米云", "appSecret": "你自己的小米云" }
rtc配置: yyx-im-frame\js_sdk\any-rtc\code.js 配置自己的appid 在anyRtc申请
unipush配置: uni-config-center 配置增加 uni-push/config.json { "getui": { "appId": "unipush申请", "appSecret": "unipush申请", "appkey": "unipush申请", "mastersecret": "unipush申请", "packageName": "unipush申请" } }
全局变量的增强:
由原本的vuex变更【可保留原有项目方式】,用法:
参照store-sample 文件夹内容,这是增强uni-starter的,不影响原有框架,且支持简易用法
必须:
main.js 文件的处理:
//增加
//增强复制粘贴功能
import '@/uni_modules/yyx-im-frame/js_sdk/ican-H5Api/ican-H5Api.js'
//vuex相关,简易VUEX存储设置,按照文件去增加自己项目,可以仅用于本插件,不影响原有VUEX方式
import store from '@/store';
let vuexStore = require("@/store/$u.mixin.js");
Vue.mixin(vuexStore);
//uview精简出来的js方法
import baseFrame from '@/uni_modules/yyx-im-frame/js_sdk/base-frame';
Vue.use(baseFrame);
//im基础应用,包含权限获取等
import im from '@/uni_modules/yyx-im-frame/js_sdk/im-frame/im'
Vue.prototype.$im = im;
App.vue 文件的处理:
//引入im框架
const imFrame = require('@/uni_modules/yyx-im-frame/js_sdk/im-frame/imFrame.js')
onLaunch: async function() {
//已经登录的自动加载框架
if(this.vuex_user){
await imFrame.frame_init(this.vuex_user.username)
}
//APP端权限处理
// #ifdef APP-PLUS
plus.screen.lockOrientation('portrait-primary');
this.$im.equipment();
// #endif
}
onShow: function() {
//设置框架是否后台推送
if(imFrame.frame_is_init()){
imFrame.frame_set_appShow(true)
}
}
onHide: function() {
//设置框架是否后台推送
if(imFrame.frame_is_init()){
imFrame.frame_set_appShow(false)
}
}
uni-starter项目:
增加:
在pages\ucenter\login-page\common\loginSuccess.js文件内:
import context from '@/main.js';
const imFrame = require('@/uni_modules/yyx-im-frame/js_sdk/im-frame/imFrame.js')
export default async function(result) {
//将用户信息放入vuex
context.$u.vuex('vuex_user', result.userInfo);
//加载通讯框架
await imFrame.frame_init(result.userInfo.username)
..原有代码
}
非uni-starter项目:
1.仅推荐使用聊天页面,支持音视频和聊天,其他页面自行集成,如有定制联系
2.本应用读取账号 vuex_user.username ,昵称 vuex_user.nickname ,头像 vuex_user.avatar
3.需要通讯录等链接后端unicloud部分,改造基于进入参数即可
注册页面:
pages.json:
[{
"path": "uni_modules/yyx-im-frame/pages/chat/session-list/session-list",
"style": {
"navigationBarTitleText": "消息",
"enablePullDownRefresh": false
}
}, {
"path": "uni_modules/yyx-im-frame/pages/my/ucenter/ucenter",
"style": {
"navigationBarTitleText": "个人中心",
"enablePullDownRefresh": false
}
}, {
"path": "uni_modules/yyx-im-frame/pages/my/user-info/user-info",
"style": {
"navigationBarTitleText": "个人资料",
"enablePullDownRefresh": false
}
}, {
"path": "uni_modules/yyx-im-frame/pages/my/settings/settings",
"style": {
"navigationBarTitleText": "设置",
"enablePullDownRefresh": false
}
}, {
"path": "uni_modules/yyx-im-frame/pages/chat/contact-list/contact-list",
"style": {
"enablePullDownRefresh": true,
"navigationBarTitleText": "通讯录",
"app-plus": {
"titleNView": {
"buttons": [{
"text": "\ue203",
"fontSrc": "/static/uni.ttf",
"fontSize": "22px"
}]
}
}
}
}, {
"path": "uni_modules/yyx-im-frame/pages/chat/rtc-detail/chat-rtc-friend",
"style": {
"navigationBarTitleText": "音视频朋友细节",
"navigationStyle": "custom"
}
}, {
"path": "uni_modules/yyx-im-frame/pages/chat/rtc-detail/chat-rtc-group",
"style": {
"navigationBarTitleText": "音视频群细节",
"navigationStyle": "custom"
}
}, {
"path": "uni_modules/yyx-im-frame/pages/chat/group-create/group-create",
"style": {
"navigationBarTitleText": "创建群聊"
}
}, {
"path": "uni_modules/yyx-im-frame/pages/chat/group-detail/group-detail",
"style": {
"navigationBarTitleText": "群聊详情"
}
}, {
"path": "uni_modules/yyx-im-frame/pages/chat/group-member/group-member",
"style": {
"navigationBarTitleText": "群成员"
}
}, {
"path": "uni_modules/yyx-im-frame/pages/chat/group-delete-user/group-delete-user",
"style": {
"navigationBarTitleText": "删除"
}
}, {
"path": "uni_modules/yyx-im-frame/pages/chat/group-add-user/group-add-user",
"style": {
"navigationBarTitleText": "邀请"
}
}, {
"path": "pages/list/list",
"style": {
"navigationStyle": "custom",
"enablePullDownRefresh": true
}
},, {
"path": "uni_modules/yyx-im-frame/pages/chat/user-detail/user-detail",
"style": {
"enablePullDownRefresh": true,
"navigationBarTitleText": "详情"
}
}, {
"path": "uni_modules/yyx-im-frame/pages/chat/search-list/search-list",
"style": {
"navigationBarTitleText": "搜索朋友",
"enablePullDownRefresh": true
}
}, {
"path": "uni_modules/yyx-im-frame/pages/chat/chat-record/chat-record",
"style": {
"navigationBarTitleText": "聊天记录",
"enablePullDownRefresh": false
}
}, {
"path": "uni_modules/yyx-im-frame/pages/chat/chat-detail/chat-detail",
"style": {
"navigationBarTitleText": "临时会话",
"app-plus": {
"bounce": "none", //禁止滚动
"titleNView": {
"backButton": {
"badgeColor": "#FFFFFF",
"badgeBackground": "#FF0000"
},
"buttons": [{
"type": "menu"
}]
}
}
}
}]