ws-im-react-native

1.3.12 • Public • Published

ws-im-react-native

Installation

yarn add ws-im-react-native

or

npm install ws-im-react-native --save

Component

MessageListView

Prop Description Type Default
navigation 导航器 object require
listViewHeader header element null
  render(){
    return (
       <MessageListView
         navigation={navigation}
         listViewHeader={header}
       />
    )
  }

MessageDetail

只适用于react-navigation,并且要求必须要设置routerNameMessageDetail

  import { StackNavigator } from "react-navigation";
 
  StackNavigator(
    {
      MessageDetail: {
        screen: MessageDetail,
      },
    }
  )

Method

  • ##### initializeSDKWithOptions (params): 初始化sdk,并登陆
Params Description Type Default
access_token im登陆的access_token string require
getNavigation 获得导航器 func require
getNavigation 获得导航器 func require
getStore 获得外部store func require
unreadMessageNumberChange 未读消息发生改变时 func require
    initializeSDKWithOptions({
        access_token: imData.data.access_token,
        getNavigation: ()=>{
            return store.getState().navigation
        },
        getStore: ()=>{
            return store
        },
        unreadMessageNumberChange: (e)=>{
            let number = 0
            Object.keys(e).forEach(key => {
                number+=e[key]
            })
            const {
                unreadMessageNumber 
            } = store.getState().app.user
            if(unreadMessageNumber!==number){
                dispatch(setUnreadMessageNumber(number))
            }
        },
    })
  • ##### openMessageDetailViewController ({ id }): 通过im_user_id打开消息对话界面
    import {openMessageDetailViewController} form 'ws-im-react-native'
    
    render(){
      return (
        <Button
          title={'开始对话'}
          onPress={()=>{
            openMessageDetailViewController({
              id: im_user_id,
            })
          }}
        >
      )
    }
  • ##### setStickTopSessionList ([ id ]): id = im_user_id 设置置顶联系人(可以用作客服)
    import {setStickTopSessionList} form 'ws-im-react-native'
    
    render(){
      return (
        <Button
          title={'设置置顶'}
          onPress={()=>{
            setStickTopSessionList([ 1 ])
          }}
        >
      )
    }
  • ##### logOut : 退出登录, return Promise
    import {logOut} form 'ws-im-react-native'
    
    render(){
      return (
        <Button
          title={'退出登录'}
          onPress={()=>{
            logOut()
            .then((e)=>{
              
            })
          }}
        >
      )
    }

Readme

Keywords

Package Sidebar

Install

npm i ws-im-react-native

Weekly Downloads

29

Version

1.3.12

License

ISC

Unpacked Size

516 kB

Total Files

97

Last publish

Collaborators

  • liujinmeng
  • xuanhe