Bom dia Equipe Wix.
Queria redirecionar um membro para uma outra página, quando ele estiver conectado no site.
Função desejada: O membro faz login no site e acessa a Página 01 que aparece para todos os visitantes, quando o membro está OnLogin, quero que a página 01 não apareça para ele e ele seja redirecionado para a Página 02, sempre que ele acessar a Página 01, no caso, se ele estiver On Login.
Para isso, utilizei o código abaixo. Está correto?
Desde já, agradeço!
import wixUsers from 'wix-users';
import wixLocation from 'wix-location';
$w.onReady(() => {
//mostra o item se o usuário fizer login
wixUsers.onLogin(user => {
if (user.loggedIn) {
wixLocation.to("/page02");
}
})
})
Olá Gu obrigado pela ajuda, fiz da forma que descreveu estou utilizando a barra de membro e todos os imports estão na minha página. Porém acho que não da tempo do wix-location, caindo na validação do wix pois minha página é bloqueada somente para membros então quando ele faz logout nessa página automaticamente o wix redireciona para o login ignorando meu wix-location que está dentro do authentication.onLogout().
Olá @VH - Desenvolvimento Wix tentei realizar essa operação porém, quando clico no logout ele passa pela função porém não realiza o wixLocation permanecendo na mesma página.
Tentei colocar esse mesmo código na página e na masterPage não funcionou corretamente.
// O que fazer quando o usuário for deslogado authentication.onLogout(async () => { console.log("Passou aqui") await wixLocation.to("/HOME") });
Muito obrigado pela ajuda e pelo tempo em me ajudar!!!!!!!!!!!!!!!!!!
@Gu isso mesmo!
No caso, a mesma coisa vale para a api wix-users
O onLogin( ) só é disparado no momento em que a pessoa realiza o login.
Para verificar o usuário já logado você deve usar wixUsers.currentUser.loggedIn
Nossa @VH - Desenvolvimento Wix , muito obrigado!!!!!!!!
Exatamente isso que desejo. Que ao fazer login, sempre que o usuário logado, tentar acessar a página 01, ele sempre será redirecionado para a página 02.
Vou ter que atualizar alguns códigos do site com essa nova API do wix-members.
hahaha
Uma duvida, a API abaixo só será acionada se ele acessar a página 01, estando logado, certo?
import{currentMember} from'wix-members' $w.onReady(()=>{ currentMember.getMember() .then((member)=>{ if(member){//Verifica se o member está logado e não é undefined wixLocation.to("/page02") } }) })
Boa tarde @Gu, tudo bem? Como a api wix-users está sendo descontinuada, irei passar as orientações desse post utilizando a nova api wix-members que irá substituí-la. Se seu objetivo é verificar se o usuário está logado no seu site, você pode usar a função getMember( )
import {currentMember} from 'wix-members' $w.onReady(()=>{ currentMember.getMember() .then((member)=>{ if(member) { //Verifica se o member está logado e não é undefined wixLocation.to("/page02") } }) })
Usar a função getMember( ), ao invés da onLogin( ), é melhor pois se o usuário já estiver logado, a função onLogin( ) não irá invocar o callback. A função dentro de onLogin só é disparada no momento em que o usuário acaba de realizar o login. Caso queira disparar o redirecionamento também no momento em que o login for realizado pelo usuário, você pode combinar o uso das duas funções dessa forma:
import {currentMember, authentication} from 'wix-members' $w.onReady(()=>{ currentMember.getMember() .then((member)=>{ if(member) { //Verifica se o member está logado e não é undefined wixLocation.to("/page02") } }) authentication.onLogin(()=>{ wixLocation.to("/page02") }) })
Espero ter ajudado. Em caso de dúvidas fico a disposição