{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671508955991,"data":{"id":71712288,"title":"10.7组队功能","slug":"gkqald","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

场景图

登录高德账号后可以创建队伍,加入他人创建的队伍,可随时查看队员位置。目前已支持高德地图手机版用户与车机版用户共同参与组队。


图面显示

功能说明

\"image.png\"

组队是该功能的入口。

\"image.png\"

支持两种方式加入:

  • 创建队伍
  • 输口令 加队伍


组队口令是一串由高德生成的数字(位数随机),其他好友输入该数字可进入到这个组队中。

\"image.png\"

我的队伍场景,支持以下功能:

  • 邀请好友
  • 设置目的地(队长功能)
  • 设置队伍详情(队长功能)


当邀请了好友之后,其他队员的头像会展示在左侧列表中。

\"image.png\"

其他队里的用户收到队友的目的地设定后,会收到通知。


注:

1、这里收到通知是上报位置后,返回status = 4, 队伍信息发生变化,需要上层再次获取队伍信息与当前保存的队伍信息筛选具体变化属性

2、组队头像获取调用 获取用户头像


\"image.png\"

邀请好友页面,无历史好友的场景。


可以查看曾邀请过的好友列表,再次邀请好友入队。 

\"image.png\"

组队设置(队长界面),支持以下功能:

  • 修改我的昵称
  • 移除队员
  • 解散队伍


\"image.png\"

组队设置(队员界面),支持以下功能:

  • 修改我的昵称
  • 退出队伍

时序图

关键参数














注意

1、参数 sessionid 可以通过com.autonavi.gbl.util.observer.IPlatformInterface.getAosNetworkParam接口统一设置

2、参数 autodivdivdip 目前以支持通过配置文件填充,开放项目不需要再关注这三个参数的赋值

核心接口

long com.autonavi.gbl.aosclient.BLAosService.sendReqWsTserviceTeamUserStatus (         GWsTserviceTeamUserStatusRequestParam, ICallBackWsTserviceTeamUserStatus)


long com.autonavi.gbl.aosclient.BLAosService.sendReqWsTserviceTeamCreate (     GWsTserviceTeamCreateRequestParam, ICallBackWsTserviceTeamCreate)



long com.autonavi.gbl.aosclient.BLAosService.sendReqWsTserviceTeamJoin (     GWsTserviceTeamJoinRequestParam, ICallBackWsTserviceTeamJoin)


long com.autonavi.gbl.aosclient.BLAosService.sendReqWsTserviceTeamInfoGet (     GWsTserviceTeamInfoGetRequestParam, ICallBackWsTserviceTeamInfoGet)


long com.autonavi.gbl.aosclient.BLAosService.sendReqWsTserviceTeamInvite (     GWsTserviceTeamInviteRequestParam, ICallBackWsTserviceTeamInvite)


long com.autonavi.gbl.aosclient.BLAosService.sendReqWsTserviceTeamUserTnnUpdate (     GWsTserviceTeamUserTnnUpdateRequestParam, ICallBackWsTserviceTeamUserTnnUpdate)


long com.autonavi.gbl.aosclient.BLAosService.sendReqWsTserviceTeamQr ( GWsTserviceTeamQrRequestParam,     ICallBackWsTserviceTeamQr)


long com.autonavi.gbl.aosclient.BLAosService.sendReqWsPpQrcodeUrlTranslate (     GWsPpQrcodeUrlTranslateRequestParam, ICallBackWsPpQrcodeUrlTranslate)


long com.autonavi.gbl.aosclient.BLAosService.sendReqWsTserviceTeamUserFriends (     GWsTserviceTeamUserFriendsRequest, ICallBackWsTserviceTeamUserFriends)


long com.autonavi.gbl.aosclient.BLAosService.sendReqWsTserviceTeamQuit (     GWsTserviceTeamQuitRequestParam, ICallBackWsTserviceTeamQuit)


long com.autonavi.gbl.aosclient.BLAosService.sendReqWsTserviceTeamInfoUpdate (     GWsTserviceTeamInfoUpdateRequestParam, ICallBackWsTserviceTeamInfoUpdate)


long com.autonavi.gbl.aosclient.BLAosService.sendReqWsTserviceTeamKick (     GWsTserviceTeamKickRequestParam, ICallBackWsTserviceTeamKick)


long com.autonavi.gbl.aosclient.BLAosService.sendReqWsTserviceTeamDismiss (     GWsTserviceTeamDismissRequestParam, ICallBackWsTserviceTeamDismiss)



说明:函数详情,请复制函数名称到在线API搜索

调用示例

设置通用请求参数

public class RestPlatformInterface implements IPlatformInterface {\n    // 获取SessionId 示例\n    public String getSessionId() {\n        BLAosCookie aosCookie = AosPresenter.getInstance().getCookie();\n        return BLAosDataTool.getSessionid(aosCookie);\n    }\n    \n    @Override\n    public boolean getAosNetworkParam(ArrayList<KeyValue> arrayList) {\n        // diu 设备唯一号, android--imei, ios--IDFV\n        arrayList.add(new KeyValue("diu", AutoConstant.IMEI));\n        \n        // sessionid 登录后服务端分配的会话Id, 重新登录后需要更新\n        arrayList.add(new KeyValue("sessionid", getSessionId()));\n        \n        /**< client_network_class   获取当前网络状态 */\n        arrayList.add(new KeyValue("client_network_class", "4"));\n\n        /**< os   系统类型,例如 LINUX */\n        arrayList.add(new KeyValue("os", "android"));\n\n        return true;\n    }\n}

1. 获取用户队伍状态

GWsTserviceTeamUserStatusRequestParam param = new GWsTserviceTeamUserStatusRequestParam();\nparam.timestamp = System.currentTimeMillis();\nAosPresenter.getInstance().sendReqWsTserviceTeamUserStatus(param);\n\n@Override\npublic void onRecvAck(GWsTserviceTeamUserStatusResponseParam param) {\n    // 请求结果处理\n    // 首先判断网络请求是否成功 param.code == 0 成功\n    // 根据 param.teamId 是否为空 判断是否已加入队伍\n    // param.teamNumber 队伍口令\n}

2. 创建队伍

\nGWsTserviceTeamCreateRequestParam param = new GWsTserviceTeamCreateRequestParam();\nparam.locInfo.lon = NaviConstant.shoukai[0];\nparam.locInfo.lat = NaviConstant.shoukai[1];\nparam.timestamp = System.currentTimeMillis();\nAosPresenter.getInstance().sendReqWsTserviceTeamCreate(param);\n\n@Override\npublic void onRecvAck(GWsTserviceTeamCreateResponseParam param) {\n    // 请求结果处理\n    // 首先判断网络请求是否成功 param.code == 0 成功\n    // 保存队伍信息 param.data.team\n    // 后续请求需要的请求参数 \n    // param.data.teamStamp\n    // param.data.memberStamp\n    // param.data.team.teamId\n}


3. 加入队伍

GWsTserviceTeamJoinRequestParam param = new GWsTserviceTeamJoinRequestParam();\nparam.locInfo.lon = NaviConstant.nanzhan[0];\nparam.locInfo.lat = NaviConstant.nanzhan[1];\nparam.type = 1;\nparam.teamNumber = ""; // 要加入的队伍口令\nparam.timestamp = System.currentTimeMillis();\nAosPresenter.getInstance().sendReqWsTserviceTeamJoin(param);\n\n@Override\npublic void onRecvAck(GWsTserviceTeamJoinResponseParam param) {\n    // 请求结果处理\n    // 首先判断网络请求是否成功 param.code == 0 成功\n    // 保存队伍信息 param.data.team\n    // 保存队员信息 param.data.members\n    // 后续请求需要的请求参数 \n    // param.data.teamStamp\n    // param.data.memberStamp\n    // param.data.team.teamId\n}

4. 获取队伍信息

GWsTserviceTeamInfoGetRequestParam param = new GWsTserviceTeamInfoGetRequestParam();\nparam.teamId = ""; // 1, 2, 3 任意操作返回的 teamId\nparam.timestamp = System.currentTimeMillis();\nAosPresenter.getInstance().sendReqWsTserviceTeamInfoGet(param);\n\n@Override\npublic void onRecvAck(GWsTserviceTeamInfoGetResponseParam param) {\n    // 请求结果处理\n    // 首先判断网络请求是否成功 param.code == 0 成功\n    // 保存队伍信息 param.data.team\n    // 保存队员信息 param.data.members\n    // 后续请求需要的请求参数 \n    // param.data.teamStamp\n    // param.data.memberStamp\n    // param.data.team.teamId\n}

5. 邀请成员

GWsTserviceTeamInviteRequestParam param = new GWsTserviceTeamInviteRequestParam();\nparam.teamId = ""; // 1, 2, 3 任意操作返回的 teamId\nparam.invitees = ""; // 邀请人uid, 多个使用 , 连接\nparam.timestamp = System.currentTimeMillis();\nAosPresenter.getInstance().sendReqWsTserviceTeamInvite(param);\n\n@Override\npublic void onRecvAck(GWsTserviceTeamInviteResponseParam param) {\n    // 请求结果处理\n    // 判断网络请求是否成功 param.code == 0 成功\n}

6. 修改队伍中昵称

GWsTserviceTeamUserTnnUpdateRequestParam param = new GWsTserviceTeamUserTnnUpdateRequestParam();\nparam.timestamp = System.currentTimeMillis();\nparam.tnn = ""; // 新昵称,注意不要超过16个字\nreturn AosPresenter.getInstance().sendReqWsTserviceTeamUserTnnUpdate(param);\n\n\n@Override\npublic void onRecvAck(GWsTserviceTeamUserTnnUpdateResponseParam param) {\n    // 请求结果处理\n    // 判断网络请求是否成功 param.code == 0 成功\n}

7. 生成组队口令微信邀请码

//7.1 获取队伍口令二维码链接\nGWsTserviceTeamQrRequestParam param = new GWsTserviceTeamQrRequestParam();\nparam.teamId = ""; // 1, 2, 3 任意操作返回的 teamId\nparam.timestamp = System.currentTimeMillis();\nAosPresenter.getInstance().sendReqWsTserviceTeamQr(param);\n\n@Override\npublic void onRecvAck(GWsTserviceTeamQrResponseParam param) {\n    // 请求结果处理\n    // 判断网络请求是否成功 param.code == 0 成功\n    // 保存 返回的 队伍口令二维码链接 param.data\n}\n\n//7.2 转换为二维码\nGWsPpQrcodeUrlTranslateRequestParam param = new GWsPpQrcodeUrlTranslateRequestParam();\nparam.url = ""; // 7.1 中返回的 url\nAosPresenter.getInstance().sendReqWsPpQrcodeUrlTranslate(url);\n\n@Override\npublic void onRecvAck(GWsPpQrcodeUrlTranslateResponseParam param) {\n    // 请求结果处理\n    // 判断网络请求是否成功 param.code == 0 成功\n    // 二维码Base64编码 param.data.img\n}

8. 获取历史好友

GWsTserviceTeamUserFriendsRequestParam param = new GWsTserviceTeamUserFriendsRequestParam();\nparam.timestamp = System.currentTimeMillis();\nAosPresenter.getInstance().sendReqWsTserviceTeamUserFriends(param);\n\n@Override\npublic void onRecvAck(GWsTserviceTeamUserFriendsResponseParam gWsTserviceTeamUserFriendsResponseParam) {\n    // 请求结果处理\n    // 判断网络请求是否成功 param.code == 0 成功\n    // 好友列表 param.friends\n}

9. 退出队伍

GWsTserviceTeamQuitRequestParam param = new GWsTserviceTeamQuitRequestParam();\nparam.teamId = ""; // 1, 2, 3 任意操作返回的 teamId\nparam.timestamp = System.currentTimeMillis();\nAosPresenter.getInstance().sendReqWsTserviceTeamQuit(param);\n\n@Override\npublic void onRecvAck(GWsTserviceTeamQuitResponseParam param) {\n    // 请求结果处理\n    // 判断网络请求是否成功 param.code == 0 成功\n    // 返回的队伍信息 param.data\n}

11. 队长踢人

GWsTserviceTeamKickRequestParam param = new GWsTserviceTeamKickRequestParam();\nparam.teamId = ""; // 1, 2, 3 任意操作返回的 teamId\nparam.kickIds = ""; // 多个使用 , 连接 (操作4 返回的队友信息中有对应的uid)\nparam.timestamp = System.currentTimeMillis();\nAosPresenter.getInstance().sendReqWsTserviceTeamKick(param);\n\n@Override\npublic void onRecvAck(GWsTserviceTeamKickResponseParam param) {\n    // 请求结果处理\n    // 判断网络请求是否成功 param.code == 0 成功\n    // 返回的队伍信息 param.data\n}

12. 解散队伍

GWsTserviceTeamDismissRequestParam param = new GWsTserviceTeamDismissRequestParam();\nparam.teamId = ""; // 1, 2, 3 任意操作返回的 teamId\nparam.timestamp = System.currentTimeMillis();\nAosPresenter.getInstance().sendReqWsTserviceTeamDismiss(param);\n\n@Override\npublic void onRecvAck(GWsTserviceTeamDismissResponseParam param) {\n    // 请求结果处理\n    // 判断网络请求是否成功 param.code == 0 成功\n}

13. 修改队伍信息

GWsTserviceTeamInfoUpdateRequestParam param = new GWsTserviceTeamInfoUpdateRequestParam();\nparam.teamId = ""; // 1, 2, 3 任意操作返回的 teamId\nparam.timestamp = System.currentTimeMillis();\n// 目的地设置\nparam.team.destination.address = "吕岭路附近";\nparam.team.destination.name = "厦门市软件园2期";\nparam.team.destination.poiid = "B025003W9U";\nparam.team.destination.x = 222340742; // P20坐标 经度\nparam.team.destination.y = 115378796; // P20坐标 纬度\n// 队伍名字设置\nparam.team.teamName = "";\n// 队伍公告设置\nparam.team.announcement = "";\n// 队伍解散时间,单位:毫秒\nparam.team.teamDismissTime = 1591014020123; // 对应队伍信息中的解散时间 GWsTserviceTeamResponseTeam.teamDismissTime\n\nAosPresenter.getInstance().sendReqWsTserviceTeamInfoUpdate(param);\n\n@Override\npublic void onRecvAck(GWsTserviceTeamInfoUpdateResponseParam param) {\n    // 请求结果处理\n    // 判断网络请求是否成功 param.code == 0 成功\n    // 返回的队伍信息 param.team\n    // param.teamStamp\n    // param.memberStamp\n}

组队位置更新流程图

注意:


组队请求错误码说明

code

说明

0

异常

1

成功

2

失败

2001

用户未登录

2002

用户已经在他队伍中

2003

参数中的teamId为空

2004

位置参数locInfo为空

2005

位置参数locInfo格式错误

2006

您来晚了,队伍已经解散

2008

队伍人数已经达到上限

2007

队伍不存在

2009

用户已经在自己的队伍中

2010

用户已经在其他的队伍中

2011

type为空

2012

type参数值错误,只能为1或者2

2013

用户没有在队伍列表中

2016

参数中的teamInfo为空

2017

参数中的teamInfo格式错误

2019

只有队长才能踢人

2018

参数中的invitess为空

2021

kickIds为空

2023

队伍口令为空

2025

新昵称无效,长度超过32或者含有非法字符

2026

用户id和teamNumber为空

","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-04-06 07:06:40","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":137,"collectCount":0,"estimateDate":28,"docStatus":0,"permissions":true,"overView":false}}