1.3.12 • Published 6 years ago

ws-im-react-native v1.3.12

Weekly downloads
4
License
ISC
Repository
github
Last release
6 years ago

ws-im-react-native

Installation

yarn add ws-im-react-native

or

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

Component

MessageListView

PropDescriptionTypeDefault
navigation导航器objectrequire
listViewHeaderheaderelementnull
  render(){
    return (
       <MessageListView
         navigation={navigation}
         listViewHeader={header}
       />
    )
  }

MessageDetail

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

  import { StackNavigator } from "react-navigation";

  StackNavigator(
    {
      MessageDetail: {
        screen: MessageDetail,
      },
    }
  )

Method

  • initializeSDKWithOptions (params): 初始化sdk,并登陆
ParamsDescriptionTypeDefault
access_tokenim登陆的access_tokenstringrequire
getNavigation获得导航器funcrequire
getNavigation获得导航器funcrequire
getStore获得外部storefuncrequire
unreadMessageNumberChange未读消息发生改变时funcrequire
    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)=>{
              
            })
          }}
        >
      )
    }