paascloud学习系列五:用户激活并登录


前言

上篇注册完成后,但是仍未激活。需要前往邮箱进行激活
在这里插入图片描述
查看RocketMq中的消息:
在这里插入图片描述

注册register()方法调用完成之后,只是往rocketMq发送了邮件消息体等内容。并没有真正消费消息,往目标邮箱发送邮件。

一、启动paascloud-provider-opc

1、初始化AliyunMqConfiguration

AliyunMqConfiguration.java 中,随着spring加载注入到容器
并且注入defaultMQPushConsumer这个bean

1.加载defaultMQPushConsumer()

@Bean
public DefaultMQPushConsumer defaultMQPushConsumer() throws MQClientException {
   
	/**
	 * aliyun:
	 * 	 rocketMq:
	 *       enable: true
	 *       reliableMessageConsumer: true
	 *       reliableMessageProducer: false
	 *       namesrvAddr: localhost:9876
	 *       instanceName: paascloud-provider-opc
	 *       consumerGroup: CID_OPC
	 *       producerGroup: PID_OPC
	 */
	DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(paascloudProperties
			.getAliyun().getRocketMq().getConsumerGroup());//CID_OPC
	consumer.setNamesrvAddr(paascloudProperties.getAliyun().getRocketMq().getNamesrvAddr()); //localhost:9876
	consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET); //从最后一个offset开始消费

	//"SEND_SMS_TOPIC" @"REGISTER_USER_AUTH_CODE",SEND_EMAIL_TOPIC" @"FORGOT_PASSWORD_AUTH_CODE"||"ACTIVE_USER"||"ACTIVE_USER_SUCCESS"||"RESET_LOGIN_PWD"||"RESET_USER_EMAIL"
	String[] strArray = AliyunMqTopicConstants.ConsumerTopics.OPT.split(GlobalConstant.Symbol.COMMA);
	for (String aStrArray : strArray) {
   
		String[] topicArray = aStrArray.split(GlobalConstant.Symbol.AT);
		String topic = topicArray[0]; //""SEND_EMAIL_TOPIC"
		String tags = topicArray[1];//"FORGOT_PASSWORD_AUTH_CODE"||"ACTIVE_USER"||"ACTIVE_USER_SUCCESS"||"RESET_LOGIN_PWD"||"RESET_USER_EMAIL";
		if (PublicUtil.isEmpty(tags)) {
   
			tags = "*";
		}
		consumer.subscribe(topic, tags);//订阅
		log.info("RocketMq OpcPushConsumer topic = {}, tags={}", topic, tags);
	}

	consumer.registerMessageListener(optPushConsumer); //OptPushMessageListener监听器
	consumer.setConsumeThreadMax(2);
	consumer.setConsumeThreadMin(2);

	taskExecutor.execute(() -> {
   
		try {
   
			Thread.sleep(5000);
			consumer.start();
			log.info("RocketMq OpcPushConsumer OK.");
		} catch (InterruptedException | MQClientException e) {
   
			log.error("RocketMq OpcPushConsumer, 出现异常={}", e.getMessage(), e);
		}
	});
	return consumer;
}
1)AliyunMqTopicConstants.ConsumerTopics.OPT
public static final String OPT = buildOpcConsumerTopics();

private static String buildOpcConsumerTopics() {
   
	List<TopicObj> topicObjList = new ArrayList<>();

	Set<String> sendSmsTagList = new HashSet<>();
	sendSmsTagList.add(MqTagEnum.REGISTER_USER_AUTH_CODE.getTag()); //"REGISTER_USER_AUTH_CODE"
	Set<String> sendEmailTagList = new HashSet<>();
	sendEmailTagList.add(MqTagEnum.FORGOT_PASSWORD_AUTH_CODE.getTag()); //"FORGOT_PASSWORD_AUTH_CODE"
	sendEmailTagList.add(MqTagEnum.ACTIVE_USER.getTag()); //"ACTIVE_USER"
	sendEmailTagList.add(MqTagEnum.ACTIVE_USER_SUCCESS.getTag()); //"ACTIVE_USER_SUCCESS"
	sendEmailTagList.add(MqTagEnum.RESET_LOGIN_PWD.getTag());//"RESET_LOGIN_PWD"
	sendEmailTagList.add(MqTagEnum.RESET_USER_EMAIL.getTag());//"RESET_USER_EMAIL"

	topicObjList.add(new TopicObj(MqTopicEnum.SEND_SMS_TOPIC.getTopic(), sendSmsTagList)); //"SEND_SMS_TOPIC"  sendSmsTagList
	topicObjList.add(new TopicObj(MqTopicEnum.SEND_EMAIL_TOPIC.getTopic(), sendEmailTagList));//"SEND_EMAIL_TOPIC"  sendEmailTagList

	Set<String> deleteMessageTag = new HashSet<>();
	deleteMessageTag.add(MqTagEnum.DELETE_CONSUMER_MESSAGE.getTag());
	deleteMessageTag.add(MqTagEnum.DELETE_PRODUCER_MESSAGE.getTag());

	topicObjList.add(new TopicObj(MqTopicEnum.TPC_TOPIC.getTopic(), deleteMessageTag));//"TPC_TOPIC" deleteMessageTag

	Set<String> mdcMqTag 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个使用 Bootstrap 制作的简单注册页面示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Registration Page</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.5.3/css/bootstrap.min.css"> <script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdn.staticfile.org/popper.js/1.16.0/umd/popper.min.js"></script> <script src="https://cdn.staticfile.org/twitter-bootstrap/4.5.3/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <div class="row justify-content-center"> <div class="col-md-6"> <h2 class="text-center py-3">Registration Form</h2> <form> <div class="form-group"> <label for="username">Username</label> <input type="text" class="form-control" id="username" placeholder="Enter username"> </div> <div class="form-group"> <label for="email">Email address</label> <input type="email" class="form-control" id="email" placeholder="Enter email"> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" class="form-control" id="password" placeholder="Password"> </div> <div class="form-group"> <label for="confirm-password">Confirm Password</label> <input type="password" class="form-control" id="confirm-password" placeholder="Confirm Password"> </div> <button type="submit" class="btn btn-primary btn-block">Register</button> </form> </div> </div> </div> </body> </html> ``` 这个注册页面包含了一个居中的表单,其中包含了用户名、邮箱、密码和确认密码四个输入框,以及一个注册按钮。您可以根据需要修改和拓展该页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值