1 Star 0 Fork 49

chenyf / uni-chat

forked from 野火IM / uni-chat 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

野火UniApp平台Demo

支持Android和iOS端,使用了野火UniApp原生插件(在UniApp的插件市场搜索“野火IM原生插件”)。

关于音视频通话功能的重要说明

野火在uni-chat项目上的音视频实现有2个方案:

  1. 方案1: 对应的插件是野火实时音视频RTC插件(原生UI), 使用原生UI,就是把Android平台和iOS平台的音视频SDK和UI代码全都集成到uni-chat项目中。这种方案的问题是引入的无关代码太多,且原生UI无法修改,跟uniapp互通也很不方便,不利于二次开发。
  2. 方案2:对应的插件是野火实时音视频RTC插件, 是使用原生的音视频SDK,但UI层使用nvue编写,UI和SDK使用uniapp插件的方式沟通。这种方案引入的SDK比较小,且修改方便,有利于大家做自定义相关 UI。

** 自 2023-11-29 起,uni-chat 将切换到方案 2,方案1 相关的代码,将保留到native-rtc-ui分支 **

部署服务端

本应用默认连接野火官方服务,也可以自己部署服务。如果想要私有部署服务,请按照 服务器快速部署 来部署服务到您自己的服务器。

配置

  1. 插件市场搜索野火即时通讯IM插件野火实时音视频RTC插件 ,并购买(插件是免费的!)
  2. HBuilderX 原生插件配置,选择云端插件,并选中购买的野火插件
  3. 如果使用野火官方服务,直接编译运行即可。如果使用自己私有部署IM服务,需要在config.js配置应用服务地址和IM服务地址。修改如下配置:
    // 下面两个配置都要一起修复,否则登录进去之后,会马上退回登录界面
    //应用服务地址
    static APP_SERVER = 'http//wildfirechat.net:8888';
    
    //IM 服务Host,不能包含 http 前缀或者端口
    static IM_SERVER_HOST = 'wildfirechat.net';

运行

  1. 运行npm install命令
  2. HBuilderX 制作自定义基座,可参考什么是自定义调试基座及使用说明
  3. HBuilderX,运行基座选择:自定义调试基座
  4. HBuilderX,运行到 Android App 基座 或 iOS App 基座

如果没有制作并运行到自定义基座,那么野火原生插件就没有集成进去,将无法使用野火原生插件,界面会显示白屏。所以一定要严格阿照上述步骤执行。

移植到其它应用

如果要在现有项目中使用野火原生插件,需要把wfc目录和config.js配置文件一同拷贝到现有项目,然后添加野火UniApp原生插件。现有项目使用wfc目录下的wfc.js接口文件。

音视频说明

默认附带免费版本音视频,关于野火音视频可以参考野火音视频使用说明野火音视频简介。如果使用音视频高级版,请参考音视频高级版切换方法

抓取原生插件的日志

  1. Android端,可以通过adb logcat > wfc.log进行抓去日志,如果提示找不到adb命令,请参考 这儿
  2. iOS端,请连接Xcode抓取

常见问题说明

  1. 如果希望普通电话,能打断音视频通话,则需要在package.json里面,添加如下权限声明:

       <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
  2. 如何集成推送功能

    1. HBuilder X里面选中manifest.json,然后选中Push-> uniPush 1.0
    2. 参考uni-push v1,并进行相关配置
    3. 编译、配置、部署 push server getui 分支
    4. App.vue 里面会调用plus.push.getClientInfoAsync获取推送相关的clientId,可以使用该clientIduni-push后台测试推送功能。
    5. 当设备不在线时,im-server会调用push-server,然后push-server调用个推进行推送
  3. 打包失败:请确认是否执行过npm install命令。

  4. iPhone上打开会话页面报错SyntaxError: Invalid regular expression: invalid group specifier name __ERROR

    anchorme只能使用2.1.2版本,不支持3.x版本,可参数这个issue

应用截图

会话列表 会话列表

联系人列表 联系人列表

会话界面 会话界面

用户详情界面 用户详情界面

MIT License Copyright (c) 2022 野火IM Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

野火UniApp平台的移动客户端Demo 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/evancyf/uni-chat.git
git@gitee.com:evancyf/uni-chat.git
evancyf
uni-chat
uni-chat
main

搜索帮助