通信改造核心点:
> 除了音视频所有的接口请求必须经过我们自己的服务端接口(以下简称 IM接口)
> IM接口内部接入对接的第三方通讯接口。目前使用的是[网易云信](http://netease.im/im)
一张图说明
![](https://box.kancloud.cn/13a66d69c40fc9a72efb4063c41e5c4b_1073x448.png)
远丰IM接口(以下统称为中心):为核心接口。几乎所有的用户请求都会经过这里。
由中心向第三方发起请求。
#### 开始开发IM即时通信系统前,需要了解并掌握以下技术知识点。
* [接口PHP框架基于 ThinkPHP 5.1](https://www.kancloud.cn/manual/thinkphp5_1/353946)
* Javascript代码编写,了解Jquery、[Layui IM](http://layim.layui.com/)
核心业务逻辑在`Model`层实现,目的找代码修改的时候可以快速定位。
如与用户相关的在` User.php`中 ,逻辑有 注册、登录、修改头像等
入口文件
其他任意系统请求的方法如下。
https://im3.local.yuanfeng021.com/api/user/register/[参数][加密后的内容]
对应请求的接口 `application/api/controller/User.php`
以上是核心的链接地址,访问该地址加载例如:
<?php if (Yf_Registry::get('im_statu')) { ?>
<!--CDN layui.js 资源加载-->
<script src="//im.yuanfeng.cn/layui/layui.js"></script>
<!--请确保该WEB已经引入jQuery-->
<script id="YFIM" type="text/javascript">
$(function () {
var param = {
app_id: "<?= Yf_Registry::get('im_api_key');?>",
token: "<?= Yf_Registry::get('im_api_url'); ?>"
}, url = "<?= Yf_Registry::get('im_url')?>/app";
// YF商城JS取cookie的方式,如其他WEB请自行更换获取cookie的方式即可[PS:IM用户注册的用户名 免登陆,该请求已经处理登录/注册]
if (getCookie("user_account")) {
$.get(url, param, function (res) {
$("#YFIM").before(res.code);
}, "jsonp");
}
});
</script>
<?php } ?>