1.0.4 • Published 4 years ago

txim-plugin v1.0.4

Weekly downloads
2
License
UNLICENSED
Repository
-
Last release
4 years ago

使用方法

引用方法

MVC框架项目直接cdn引用

<link href="https://jsdelivr.txsdk.com/npm/txim-plugin@latest/lib/index.min.css" rel="stylesheet" />
<script src="https://jsdelivr.txsdk.com/npm/txim-plugin@latest/lib/index.min.js" charset="utf-8"></script>

MVVM框架项目使用npm引入

npm install txim-plugin --save
import 'txim-plugin'
import 'txim-plugin/lib/index.min.css'
注:若项目中多次使用,可在入口处调用。或在组件中单独调用

初始化window.txim.init() => (Promise)

引入后即可初始化

window.txim.init({
    SDKAppID: '1400205071',//必填
    mode: 'development'//默认'production'
}).then(res => {
    if(res.status === 1 ) tim实例创建成功
    else tim实例创建失败
})

注: 1.初始化成功后,也可将window.txim注册到vue根实例 2.如果需要在初始化成功后立即登录,请在回调中调用登录,以免因为异步产生的错误 3.测试环境下请设置mode为'development': 正式账户:1400183358(production) 测试账户:1400205071(development) 4.tim的创建方法是静态的,不会报错,请仔细检查

> ## 登录与打开
> `window.txim.login() => (Promise)`
> 
>` window.txim.open() => (Promise)`

初始化成功的条件下,可在业务需要的地方登录

window.txim.login({ token: 't4L35Olq7Idf0kLkKdyGfuXvKH2mhJxQ',//必填 role: 'member'//默认'member' }).then(res => { if(res.status === 1) window.txim.open(options)//登录成功 else console.log(res.msg)//登录失败 })

注: 1.login方法中token为依附项目的登录access_token 2.login方法中role为登录角色,可根据需要设置为:'member','teacher','kefu' 3.login方法重复调用不会重复登录,因此建议将所有的open调用在login回调中,如果成功则调用,失败则自行处理逻辑。当然了,在可以保证login已经成功的情况下,单独调用open也是可以的

> ## `window.txim.open(options)`传参

options = { //隐藏会话列表,默认false hideChat: Boonlean, //隐藏通讯录,默认false hideList: Boonlean, //隐藏我的,默认false hideMy: Boonlean, //宽度,默认100% width: Number, //高度,默认100%(在设置宽度的情况下才有效,不设的话自动长宽比) height: 100%, //层级: 默认1 zIndex: Number, //主题颜色,默认'#e35c57'(因为有赞导航栏字体颜色的原因,只能设置较深的主题色) theme: Color, //会话ID,设置后可直接进入某一会话 chat: null, //直接进入某一会话后,将界面锁定在会话(只有设置chat后才生效) limitedInChat: false }

> ## 监听未读信息数量变动
> `window.txim.addUnreadMessageListener('name',Function)`//添加监听事件
> 
>`window.txim.removeUnreadMessageListener('name')`//注销监听事件

事件可以在init后添加或注销,但是只有login成功后才会生效

//添加监听console1 window.txim.addUnreadMessageListener('console1',num => { //num为未读消息数,每次更新都会触发以下逻辑代码 console.log(num) }) //添加监听console2 window.txim.addUnreadMessageListener('console2',num => { //num为未读消息数,每次更新都会触发以下逻辑代码 console.log(num*10) }) //注销监听console1 window.txim.removeUnreadMessageListener('console1')

注: 1.如果是MVC框架,页面更新会属性内存栈,可以不用手动注销监听事件,但是在MVVC中,如果为组件添加监听事件,应该在组件注销时,同时注销监听事件,以免逻辑报错

> ## `window.txim.logout()`退出

正常情况下不需要退出,下次打开时会更快,内容也会自动缓存更新。必要时可使用logout方法退出,退出后需重新login

> ## npm发布

1.npm login登录你的npm账户

2.修改package.json中的version,该"version"字段的格式必须x.x.x符合[语义版本控制准则](https://docs.npmjs.com/about-semantic-versioning)。

2.在项目根目录下npm publish