Projeto de arquitetura e execução de projeto de filmagem

Projeto de arquitetura e execução de projeto de filmagem

Projeto Detalhado e Implementação do Módulo de Usuário

Projeto detalhado e implementação de login e registro

Para facilitar o uso dos usuários, este sistema adota um esquema de login e registro em um clique. é login.
Este sistema usa o número do celular para enviar o código de verificação para fazer login e se registrar.
Implementação específica: depois que o usuário preenche o número do celular, o front-end envia uma solicitação ao back-end para obter o código de verificação do celular e o back-end chama o serviço Alibaba Cloud SMS, envia o código de verificação ao usuário, armazena o código de verificação em redis e define o tempo de expiração como um minuto. O objetivo de definir o tempo de expiração é evitar que o usuário envie o código de verificação várias vezes em um curto período de tempo, resultando em desperdício de recursos. Se o tempo de expiração não for atingido, nenhum novo código de verificação será enviado. Quando o o usuário insere o código de verificação, o front-end enviará o código de verificação inserido pelo usuário para a verificação de back-end, após a verificação bem-sucedida, é julgado se o número do celular existe. Se existir, um token e informações de login são gerados e armazenados no redis, e o login é concluído, caso contrário, é registrado, e as informações padrão do usuário são geradas automaticamente e armazenadas no banco de dados.

Projeto detalhado e implementação de logout

Se o usuário precisar sair da conta atual, ele pode clicar em Nota para sair na página de configurações para concluir o logout. Quando clicado, haverá uma caixa de mensagem para lembrar o usuário se deve sair da conta atual. Após a confirmação, o front-end envia uma solicitação ao servidor, o servidor exclui as informações de login do usuário do redis e o front-end sai para a página de registro de login.

Projeto detalhado e implementação de modificação de informações pessoais

As funções para usuários modificarem informações pessoais incluem modificação de informações pessoais, modificação de avatares, etc. Os usuários podem clicar em Editar perfil em Minha página para modificar informações pessoais e avatar.
Modificar avatar: Na página de edição de perfil, clique no avatar para modificar, selecione uma foto do álbum, se você escolher uma nova foto, após o envio, o servidor fará o upload da foto para oss (Alibaba Cloud Object Storage Service) após o recebimento a imagem do cliente, salve no caminho do recurso correspondente. A API oss retorna o caminho de armazenamento da imagem, e o servidor a obtém e armazena na tabela de imagens do banco de dados.
Modificar outras informações: Basta inserir as informações correspondentes na caixa de entrada. Depois que a página de front-end verificar as informações, ele as fornecerá ao servidor após passar na verificação. Depois que o servidor receber as informações, ele atualizará as informações para o base de dados.

O projeto detalhado e a realização do módulo de cartas na estação

A função de mensagem privada na estação é realizada principalmente usando netty+websocket+rabbitmq. Ao estabelecer uma longa conexão com o servidor, o usuário envia uma mensagem e a carrega na fila de mensagens rabbitmq através do servidor, e então a envia ao servidor para ser consumida pelo rabbitmq. O consumidor envia a mensagem para o cliente do usuário correspondente a cada mensagem. Por meio da longa conexão entre o cliente e o servidor, o servidor envia mensagens ativamente para o cliente.
As mensagens são divididas em dois tipos: mensagens privadas do usuário e mensagens de notificação.As mensagens de mensagens privadas são mostradas na lógica acima e as mensagens de notificação incluem notificações de acompanhamento, notificações de resposta e notificações de comentários. Por exemplo, quando um usuário comenta em sua postagem, além de registrar o conteúdo do comentário, o servidor também precisa chamar o serviço de mensagem de notificação do módulo de mensagens no site para enviar ativamente a mensagem para o usuário que comentou no publicar.
O diagrama de projeto de arquitetura específica é mostrado na figura abaixo:
insira a descrição da imagem aqui

Quando a mensagem não foi visualizada, o status padrão da mensagem é não visualizada e um ponto vermelho será exibido na lista de mensagens para indicar não lida. Quando você clicar para visualizar, a mensagem será marcada como lida e o ponto vermelho vai desaparecer.
O usuário pode selecionar uma mensagem para excluir, o cliente envia o id da mensagem a ser excluída para o servidor e o servidor executa a exclusão reversível no banco de dados.
Quando o usuário entra no módulo de mensagem, o sistema consultará todas as mensagens não excluídas do usuário por padrão. O cliente pode receber dados como conteúdo da mensagem, tipo de mensagem, status da mensagem e hora de envio, além de classificar, exibir e compor as mensagens através desses atributos.

Projeto detalhado e implementação do módulo círculo de amigos

Projeto detalhado e implementação de dinâmicas de envio e artigos

Dinâmicas e artigos são armazenados em uma tabela e um campo de tipo é usado para indicar a diferença entre os dois. Mas a principal diferença entre os dois é que a referência dinâmica é a liberação dinâmica do espaço qq, que pode escrever conteúdo dinâmico e adicionar fotos, enquanto os artigos publicados são editados com rich text e o texto html é finalmente armazenado no banco de dados.
Os usuários podem encontrar a entrada para clicar para publicar notícias e escrever artigos no módulo Moments.Ao postar notícias, os usuários podem inserir o conteúdo da notícia e fazer upload de fotos (até 9 fotos podem ser enviadas). Para publicar um artigo, você pode inserir o título do artigo e o conteúdo do artigo. Após a conclusão da gravação, ela é verificada pelo cliente e enviada ao servidor, que salva o conteúdo na tabela de artigos.

Excluir dinâmica, design detalhado e implementação de artigos

As notícias e artigos publicados pelo usuário podem ser excluídos por si mesmos, mas os artigos e notícias de outros usuários não podem ser excluídos. Quando o cliente enviar uma solicitação para excluir uma notícia ou artigo, ele passará o id da notícia para o servidor , e o servidor julgará se é A atividade ou artigo do usuário, se for, foi excluído com sucesso.

Dinâmica de encaminhamento, design e implementação de artigos

Os usuários podem encaminhar as notícias enviadas por outros usuários. Ao encaminhar, eles podem inserir o que desejam dizer, e o artigo encaminhado também ficará registrado no artigo e na tabela dinâmica do usuário, mas o tipo é marcado como encaminhar. Quando o usuário clicar encaminhar, o artigo será salvo ou um resumo dinâmico (ou seja, as primeiras 50 palavras),
o id (Pid) do artigo original, e o id do usuário de encaminhamento e outras informações. A dinâmica encaminhada também será exibida na lista de categorias dinâmicas da página inicial do usuário.

Revise o design e a implementação

Os usuários podem comentar as dinâmicas ou artigos de outros usuários, e os comentários são vinculados à dinâmica. Depois que o usuário envia um comentário, o cliente envia o conteúdo do comentário para o servidor e o servidor armazena o conteúdo do comentário, id dinâmico, id do usuário do comentário, hora do comentário, etc. no banco de dados. Comentários suportam comentários de segundo nível, e comentários de segundo nível usam pid para vincular o id do nível anterior de comentários.
Excluir comentários: Os usuários podem excluir comentários enviados por eles mesmos, e os autores de artigos ou dinâmicas também podem excluir comentários em dinâmicas ou artigos. Implementação específica: o front-end carrega o parâmetro id do comentário para enviar uma solicitação ao back-end para excluir o comentário e, antes de excluir, julgar se é um comentário enviado por ele mesmo ou se é um comentário pertencente à sua própria dinâmica ou artigos .

Como Design e Implementação

Os usuários podem gostar de artigos e atualizações, porque a operação semelhante é uma operação relativamente frequente, então o redis é usado para armazenar em cache as operações semelhantes e o número de curtidas, e o redis usa uma estrutura de valor-chave de string para armazenar se as atualizações foram curtidas, a chave é o id dinâmico\artigo e o valor é se ele foi curtido. Depois que a solicitação semelhante é iniciada, o cliente envia o id dinâmico\artigo para o servidor e o servidor primeiro vai para redis para obter o status semelhante. Se houver não há cache em redis, consulte o banco de dados, inverta o estado e armazene em cache o estado em redis. Se houver um cache no redis, altere o estado do redis. Se o estado for convertido de não curtidas para curtidas, adicione um ao número de curtidas no redis. menos um. Use tarefas cronometradas de vez em quando para salvar o número de curtidas em redis no banco de dados e atualize o status dinâmico de curtidas no banco de dados.

Design e implementação de dinâmicas de consulta e detalhes do artigo

Clique nas dinâmicas e artigos para ver as dinâmicas e detalhes do artigo. A página de detalhes inclui a dinâmica, o conteúdo do artigo, o avatar do autor, o nome do autor, o horário de lançamento, a lista de comentários, a lista de curtidas e o lista de republicações.
Lista de comentários de consulta: consulte os comentários aos quais a dinâmica pertence de acordo com a dinâmica e o ID do artigo e consulte recursivamente a segunda camada de comentários, use a consulta de paginação, consulte 10 comentários de cada vez, consulte a segunda página ao deslizar para baixo e classifique de acordo ao tempo semelhante.
Consultar a lista de curtidas: Consultar os usuários que curtiram da tabela de curtidas de acordo com a dinâmica e o id do artigo. Para aliviar a pressão no banco de dados, 10 usuários que curtiram são consultados a cada vez, classificados de acordo com o hora das curtidas.
Lista de encaminhamento: De acordo com o id dinâmico, consulte os dados de pid = o id dinâmico na tabela dinâmica, ou seja, a lista de encaminhamento da dinâmica, e classifique de acordo com o tempo de encaminhamento.

Concentre-se no projeto detalhado e na implementação

O relacionamento entre os usuários é armazenado na tabela de relacionamento do usuário do sistema. O ID do usuário e o ID do seguidor são armazenados na tabela. O processo específico da seguinte operação é: em primeiro lugar, é julgado se o usuário que precisa seguir já prestou atenção, em caso afirmativo, o usuário é solicitado a deixar de seguir, se o usuário confirmar que não segue, a conexão entre os usuários é cancelada, ou seja, a conexão entre os usuários é excluída por software.
Verifique a lista de relacionamento do usuário, a lista de relacionamento do usuário inclui: lista de relacionamento mútuo, lista de fãs, lista de seguidores. A consulta da lista de correlação cruzada é para consultar os usuários que você segue na tabela de relacionamento do usuário e os usuários que seguem você ao mesmo tempo. A consulta da lista de seguidores é para consultar a lista de seguidores na tabela de relacionamento do usuário. A lista a seguir é para consultar a lista de usuários que você segue.

Design e implementação de recompensas de artigos

Os usuários podem usar pontos para recompensar seus artigos favoritos. Os usuários podem clicar na recompensa na página de detalhes do artigo de outros usuários e podem optar por recompensar pontos ou inserir os próprios pontos para recompensa. Depois que o servidor recebe a solicitação, a operação é dividida em duas etapas: primeiro, deduza os pontos do usuário que deu gorjeta e depois aumente os pontos do autor do artigo que deu gorjeta. Essa etapa deve satisfazer a atomicidade, que precisa ser garantida usando bloqueios distribuídos redis.
A implementação específica do bloqueio distribuído Redis: primeiro, adquira o bloqueio antes do início da operação de recompensa e use o script Lua de redis para bloquear com o comando setnx. A função do comando setnx é: quando a chave especificada não existe, defina o valor especificado para a chave. Se a chave for armazenada com sucesso, significa que o bloqueio foi bem-sucedido e o código continua a ser executado. Se a chave não puder ser definida com sucesso, isso significa que a aquisição do bloqueio falhou e o ciclo continua a adquirir o bloqueio. Se o bloqueio não puder ser adquirido dentro de um período de tempo, o bloqueio falha e o bloqueio não é mais adquirido. Após a lógica de tipagem ser executada, o bloqueio precisa ser liberado, e o script Lua também deve ser usado para garantir a atomicidade ao liberar o bloqueio.

Projeto detalhado e implementação do módulo de shopping

Projeto detalhado e realização de bens e serviços

Implementação de serviço em primeiro plano de commodities: os usuários podem visualizar detalhes do produto em primeiro plano do sistema. Depois de clicar para entrar na página de detalhes do produto, você pode clicar em Comprar agora, selecionar a quantidade e as especificações da compra e clicar em Confirmar para comprar.
Implementação do serviço em segundo plano da mercadoria: após o administrador efetuar login com sucesso no sistema do shopping, ele pode optar por modificar a mercadoria, a categoria e a especificação da mercadoria. O administrador pode adicionar novos produtos, excluir produtos, consultar produtos, modificar produtos, adicionar categorias, excluir categorias, modificar categorias, adicionar parâmetros de especificação, excluir parâmetros de especificação e modificar parâmetros de especificação para especificações de produtos. A modificação da série é adicionar novas séries, modificar série, excluir série. O resultado é retornado após a modificação ser bem-sucedida. O seguinte é um fluxograma de serviço de mercadoria.
insira a descrição da imagem aqui

Projeto detalhado e implementação do serviço de pedidos

O processo específico do pedido começa após o usuário clicar para enviar o pedido após a compra da especificação e quantidade do produto. Ao enviar o pedido, o sistema criará um pedido para armazenar a quantidade, preço, especificação e outras informações do produto adquirido . Clique em Confirmar pagamento para deduzir os pontos correspondentes, conclua o pedido e o status do pedido mudará de não pago para pago. Se o produto for enviado, o status do pedido será alterado para Enviado e, após o usuário assinar, o status do pedido será alterado para Assinado. Os usuários podem visualizar pedidos em vários estados na página de pedidos e podem optar por excluir pedidos concluídos. O fluxograma do serviço de pedidos é mostrado na figura.
insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/qq_45473439/article/details/124281982
Recomendado
Clasificación