123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- import IMClient from 'react-native-im-client'
- import {chatServer,chatPort} from '../network/API'
- import {GlobalUserStorageTool, UserStorageKey} from "./GlobalUserStorageTool";
-
- export default class Client {
- constructor(){}
- static sid = '';
- static async getToken(){
- return new Promise((resolve,reject)=> {
- GlobalUserStorageTool.load(UserStorageKey.UserInfo, (res) => {
- console.log('get token:::',res.token)
- resolve(res.token)
- }, (err) => {
- reject(err)
- console.warn(err)
- })
- })
- }
- static async clientRequest(payload){
- return new Promise(resolve => {
- IMClient.asyncSend(payload).then(res=>{
- console.log("send response:",res)
- resolve(res)
- }).catch(err=>{
- console.warn(err)
- })
- })
- }
- static async connect (){
- return new Promise((resolve,reject)=>{IMClient.connect(chatServer,chatPort).then(res=>{
- resolve(res)
- }).catch(err=>{
- console.warn(err)
- reject (err)
- })})
- }
-
- static async setSession () {
- const payload = {
- operator: '/v1/session/start',
- params: JSON.stringify(
- {
- "device": "pc",// 客户端设备信息:pc、pad、mobile、web等
- "os": "linux", // 客户端运行的操作系统
- "os_version": "3.6", // 操作系统版本
- "app": "go-client", // 客户端运行的app
- "app_version": "1.0", // // 客户端运行的app版本
- "tag": {} // 用于发送自定义标记
- }
- )
- }
- const res = await this.clientRequest(payload);
- const sessionId = res && res.params && res.params.value;
- GlobalUserStorageTool.save('sid',sessionId)
- let token = global.token?global.token:await this.getToken()
-
- const bindSessionPayload = {
- operator: '/v1/session/bind/uid/by/token',
- params: JSON.stringify(
- {
- "token": token,
- })
- }
- IMClient.setRequestProperty('sid',sessionId)
- // return new Promise((resolve, reject) => {
- // console.log(sessionId)
- this.clientRequest(bindSessionPayload)
- return sessionId
-
-
-
- // })
-
-
- }
-
- }
|