press-next
Version:
Vue3 组件库,支持 Composition API
66 lines (54 loc) • 1.15 kB
text/typescript
import { Scheduler } from 'press-ui/common/scheduler/scheduler';
import type { TimInstanceType } from '../types';
let scheduler: InstanceType<typeof Scheduler>;
async function innerLogin({
tim,
userId,
userSig,
}: {
tim: TimInstanceType;
userId: string;
userSig: string;
}) {
const resp = await tim.login({ userID: userId, userSig }).catch((e) => {
console.warn(e);
return Promise.reject(e);
});
tim.updateOnlineStatus?.(true);
console.info('[TIM] login success: ', resp.data);
return {
userSig,
userId,
};
}
export async function login({
userId,
userSig,
tim,
}: {
tim: TimInstanceType;
userId: string;
userSig: string;
}) {
if (!scheduler) {
scheduler = new Scheduler(1);
}
// const url = 'LOGIN';
tim.updateUserId?.(userId);
tim.updateUserSig?.(userSig);
// const reqData = { userId, userSig };
return await scheduler.add(innerLogin.bind(null, {
userId,
userSig,
tim,
}));
// return await filterSameRequest({
// url,
// reqData,
// handle: innerLogin.bind(null, {
// userId,
// userSig,
// tim,
// }),
// });
}