PHP 接入自己的用户体系

注意请把Java实现的两个接口全部注释

  • com.pangugle.modules.im.aec.AuthAecSupportImpl
  • com.pangugle.modules.im.aec.UserAecSupportImpl 以上两个接口 把 @Serevice 注释就可以了!

im 服务端接入

  • 实现AuthAecSupport 接口

实现AuthAecSupport例子

@Service
public class HttpAuthAecSupportImpl implements AuthAecSupport{

	@Override
	public boolean verifyAccessToken(String accessToken) {
		String url = "xxxxx/verifyAccessToken?accessToken=" + accessToken; // 地址自己定义
		// 示例 :  {"code": 200, "msg": "", data:true|false}
		JSONObject obj = FetchDataHelper.loadData(url);
		if(obj == null || obj.isEmpty())
		{
			return false;
		}
		boolean rs = obj.getBooleanValue("data");
		return rs;
	}

	@Override
	public String getAccountByAccessToken(String accessToken) {
		String url = "xxxxx/getAccountByAccessToken?accessToken=" + accessToken; // 地址自己定义
		// 示例 : {"code": 200, "msg": "success", data:"xxxxxxxxxxx"}
		JSONObject obj = FetchDataHelper.loadData(url);
		if(obj == null || obj.isEmpty())
		{
			return null;
		}
		String rs = obj.getString("data");
		return rs;
	}

}
  • 实现 UserAecSupport 接口

示例

@Service
public class HttpUserAecSupportImpl implements UserAecSupport{

	@Override
	public MyUserInfo findUserInfo(String username) {
		String url = "xxxxx/findUserInfo?username=" + username; // 地址自己定义
		// 示例 : {"code": 200, "msg": "success", data:{}}
		JSONObject obj = FetchDataHelper.loadData(url);
		if(obj == null || obj.isEmpty())
		{
			return null;
		}
		JSONObject data = obj.getJSONObject("data");
		String nickname = data.getString("nickname");
		String avatar = data.getString("avatar"); // 用户头像, 注意是绝对路径
		boolean enableStatus = data.getBooleanValue("enableStatus"); // 用户是否起用

		MyUserInfo myUserInfo = new MyUserInfo(username, nickname, avatar);
		myUserInfo.setEnableStatus(enableStatus);
		return myUserInfo;
	}



	/**
	 *  拼接头像地址, 一定要,因为传递进来的头像是相对路径
	 */
	@Override
	public String handleAvatar(String avatar) {
		// UserInfo getAbsoluteAvatar 是官方的实现,客户需要自己实现
		return UserInfo.getAbsoluteAvatar(avatar);
	}

}

im 客户端接入

客户端接入就是要修改客户 UserApi 相关接口! 请对着用户相关Api进行相应的修改!