欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > E10鸿蒙App

E10鸿蒙App

2025/2/22 2:08:59 来源:https://blog.csdn.net/DarkfallYou/article/details/144982246  浏览:    关键词:E10鸿蒙App

入口:EntryAbility -> onWindowStageCreate  windowStage.loadContent

jsApi:JSNameConstants

App主页面:MainPage

消息主页面:MessageCenterPage

会话列表:SessionListView+IMHeaderView+AppImageKnifeComponent

会话详情:SessionPage

消息列表Item:SessionMessageListView->MessageListItemView

消息组件:

MsgReplyView
MsgRefView
TextMessageView
ImageMessageView
LocationMessageView
FileMessageView
EntityMessageView
GroupShareMessageView
UserCardMessageView
LinkMessageView
UserCardMessageView
NoticeMessageView
ExpressionMessageView
InnerMsgView
GroupSolitaireMessageView
MessageRecordView
AddOneMessageView
RevokeMessageView
ImageAndTxtView
MsgRichTxtView
VideoMessageView
VoiceMessageView
NotSupportMessageView

表情回复:MsgEmojiReplyView

消息长按操作菜单:menuContentBuilder

消息长按菜单点击:menuItemClick

群设置:GroupChatInfoPage

群成员:GroupMemberListPage

群管理:GroupManageNewPage

http接口请求:

接口在ImHttpFunctions中添加如:getSessionGroup(callBack:imHttpCallBack){let getHttpPo: ImHttpPO = new ImHttpPO()getHttpPo.url = ImHttpAPIConstants.getSessionGroupgetHttpPo.method = 'get'interface params {'version':string}let par: params = {'version': '1'}getHttpPo.params = parImHttpManager.getInstance().imSdkHttpGet(getHttpPo, {onSuccess(data: string) {let dataObj: ImHttpResponsePO = JSON.parse(data) as ImHttpResponsePOif(dataObj.data){callBack.onSuccess(dataObj.data)}},onError(error: string) {callBack.onError(error)}})}

sdk请求

sdk相关码ImOpcode

通知code:IMSdkNotice   sdk操作码:IMSdkOpcode

//只需回调成功、失败
ImSdkFunctions.getInstance().setSessionRemind(sessionVo, optType,{onSuccess(jsonKey,JsonValue){}})//ImSdkFunctions下setSessionRemind(sessionVo:SessionListVO,optType:string,callBack: ImOnResponse){let pStr = JSON.stringify({'group_id': 'xxx','flag': 'xxx'})getDataAndSetCallback(IMSdkOpcode.kOPSetGroupAdmin, pStr, callBack)}//2.需要回调数据
ImSdkFunctions.getInstance().getGroupInfo(this.groupId, {onSuccess(jsonKey: string, jsonStr: string) {let data: GroupListData = JSON.parse(jsonStr);if (data != null && data.datas != null && data.datas.length > 0) {let itemData: GroupItemData = data.datas[0];if (itemData != null && itemData.groupinfo != null) {//...}}}})//ImSdkFunctions下getGroupInfo(groupId:string,callBack: ImOnResponse): boolean{let pStr = JSON.stringify({'group_ids': [groupId],'api_get_type':"1",})return getDataAndSetCallback(IMSdkOpcode.kOPGetGroupInfo, pStr, callBack)}

请求人员

PersonManager.getPerson(checkUtil.checkStr(messageVO.suid), checkUtil.checkStr(messageVO.scid), person => {try {if (person) {
//            messageParser.parseAvatarInfo(messageVO, person)}resolve(messageVO)} catch (e) {reject(e)}})

消息开关:MsgInfoSettingUtils

界面路由

//ImPageOpenUtilsopenGroupManagePage(session: SessionListVO | undefined) {router.pushNamedRoute({name: 'groupManageNewPage',params: {session: session ?? new SessionListVO()}})}@Entry({ routeName: 'groupManageNewPage' })
@Component
export struct GroupManageNewPage {}//main_pages下
{"src": [//..."session/pages/GroupManageNewPage"]
}//imStaticLibrary/index下
export { GroupManageNewPage } from "./src/main/ets/session/pages/GroupManageNewPage"

多语言:

1、本地code多语言
LanguageUtils.getData(LanguageUtils.LABEL_TOPIC_SETTING, "话题设置");2、网络code多语言
let moduleLabel: object  = ImCacheFunctions.getInstance().moudleLabelPO_ALl.label as object let str = moduleLabel[txt.id18n] ? moduleLabel[txt.id18n] : ''

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词