<style>
    .iphonePanel{
        width: 375px;
        height: 667px;
        overflow: hidden;
        display: inline-block;
        border: 1px solid rgba(0, 0, 0, 0.1);
        position: relative;
    }
</style>
<script>
    export default {
        data(){
            return {
                target:{
                    sessionId:'p_2017_0714_158c_445c_9091_bc58',
                    // sessionId:'wuchenyu2',
                    headImg:'',
                    name:'总有刁民想害朕'
                },
                imUserInfo:{
                    headImg:'',
                    sessionType:'001'
                },
                environment:'test'
            }
        },
        mounted(){
            let imUserInfo = {
                uid: 'wuchenyu',
                sdktoken:this.$MD5('123456')
                // sdktoken: '123456'
                // uid: 'wuchenyu1',
                // sdktoken:'123123'
              }
              this.$store.dispatch('initIMUserInfo', imUserInfo)
              this.$store.dispatch('initEnvironment', 'test')
              this.$store.dispatch('connect', imUserInfo)
            
        },
        computed:{
            list(){
                return this.$store.state.IMStore.sessionlist
            }
        },
        watch:{
            list(val){
                // console.log("val:::",val)
            }
        }
    }
</script>
# Chat 
### 基于网易云信的聊天功能

:::demo
```html
<div class="iphonePanel">
    <chat :target="target" :im-user-info="imUserInfo" :environment="environment"></chat>
</div>
<script>
    export default {
        data(){
            let token = this.$MD5('7a86d5cd-d64e-4247-b489-0351cc73948f')
            return {
                target:{
                    sessionId:'p2p-17751653738',
                    headImg:'',
                    name:'总有刁民想害朕'
                },
                imUserInfo:{
                    uid:'P_2017_0613_3ed3_4fc6_a9db_b22b',
                    sdktoken:token,
                    headImg:''
                },
                environment:'test'
            }
        }
    }
</script>
```
:::

1、注入聊天Store


```html

import ZhidianUi from 'zhidian-ui'

let IMStore = ZhidianUi.IMStore

export default new Vuex.Store({
  modules: {
    IMStore,
  }
})

```

2、将 Zhidian-ui 注入 Vue 组件
```html
import ZhidianUi from 'zhidian-ui'
// 导入 Zhidian-ui 样式
import 'zhidian-ui/lib/theme-default/all.css'
// 导入网易云信SDK
import SDK from './plugins/NIM/NIM_Web_SDK_v3.8.0.js'
// 将SDK对象、store对象绑定至全局对象
window.SDK = SDK
window.store = store
//注入组件对象
Vue.use(ZhidianUi)
```
3、由于 `NIM_Web_SDK_v3.8.0.js` 文件已经打包过，所以需要在加载 .js 文件的loader 里面排除掉
```html
 {
    test: /\.js$/,
    loader: 'babel-loader',
    include: [resolve('src'), resolve('test')],
    exclude: [resolve('src/plugins/NIM')]
}
```


### Chat Attributes
| 参数      | 说明          | 类型      | 可选值       | 默认值  |
|---------- |------------- |---------------|------------  |-------- |
| target | 聊天目标对象 | `Object` | - | — |
| imUserInfo | 当前用户对象 | `Object` | - | — |
| environment | 当前运行环境  | `String` | `test` or `production` | `test` |