|  |  | 
 |  |  |  | 
 |  |  | const AuthProvider = { | 
 |  |  |   // login | 
 |  |  |   login: async ({ username, password }) => { | 
 |  |  |  | 
 |  |  |     const { accessToken, user } = await login({ | 
 |  |  |   login: async ({ username, password, tenantId }) => { | 
 |  |  |     const { code, msg, data } = await login({ | 
 |  |  |       username: username, | 
 |  |  |       password: password, | 
 |  |  |       hostId: 1, | 
 |  |  |     }); | 
 |  |  |       tenantId: tenantId, | 
 |  |  |     }) | 
 |  |  |  | 
 |  |  |     if (user && accessToken) { | 
 |  |  |       const userToPersist = { | 
 |  |  |         avatar: avatar, | 
 |  |  |         fullName: user.nickname, | 
 |  |  |         id: user.id, | 
 |  |  |         username: user.username | 
 |  |  |     if (code === 200) { | 
 |  |  |       const { accessToken, user, tenant } = data; | 
 |  |  |       if (user && accessToken) { | 
 |  |  |         const userToPersist = { | 
 |  |  |           avatar: avatar, | 
 |  |  |           fullName: user.nickname, | 
 |  |  |           id: user.id, | 
 |  |  |           username: user.username, | 
 |  |  |           tenant: tenant, | 
 |  |  |         } | 
 |  |  |         setToken(accessToken); | 
 |  |  |         localStorage.setItem("user", JSON.stringify(userToPersist)); | 
 |  |  |         return Promise.resolve(); | 
 |  |  |       } | 
 |  |  |       setToken(accessToken); | 
 |  |  |       localStorage.setItem("user", JSON.stringify(userToPersist)); | 
 |  |  |       return Promise.resolve(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     return Promise.reject( | 
 |  |  |       new HttpError("Unauthorized", 401, { | 
 |  |  |         message: "Invalid username or password", | 
 |  |  |       }), | 
 |  |  |     ); | 
 |  |  |     return Promise.reject({ code, msg, data }); | 
 |  |  |   }, | 
 |  |  |   // logout | 
 |  |  |   logout: () => { |