国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能

這篇具有很好參考價值的文章主要介紹了Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


?

一、實戰(zhàn)概述

  • 本次實戰(zhàn),我們深入實踐了基于數(shù)據(jù)庫的用戶登錄功能開發(fā)。首先構(gòu)建了包含id、username和password字段的user表,并初始化了測試數(shù)據(jù)。接著,在后端Spring Boot項目中集成MySQL數(shù)據(jù)庫驅(qū)動與Druid連接池,以及MyBatis持久層框架,通過配置application.yaml文件來指定數(shù)據(jù)庫連接信息。

  • 在模型層,我們保留了User實體類以映射數(shù)據(jù)庫中的用戶表結(jié)構(gòu);在數(shù)據(jù)訪問層,創(chuàng)建了UserMapper接口并使用注解方式編寫SQL查詢方法,用于根據(jù)用戶名和密碼從數(shù)據(jù)庫獲取用戶信息。為驗證查詢邏輯,我們編寫了單元測試確保能正確查詢到數(shù)據(jù)庫中的用戶記錄。

  • 服務(wù)層上,構(gòu)建了UserService類,注入UserMapper實例,并封裝了一個基于數(shù)據(jù)庫查詢的登錄方法。最后,在控制器層的LoginController中,通過@Autowired注入UserService,并調(diào)整登錄處理邏輯,使其調(diào)用服務(wù)層的登錄方法進行實際的身份驗證。

  • 在前端Vue項目運行的同時啟動后端Spring Boot應(yīng)用,通過前后端聯(lián)動測試展示了基于數(shù)據(jù)庫的用戶登錄功能。用戶在前端頁面輸入用戶名和密碼,經(jīng)由跨域請求傳遞至后端,通過數(shù)據(jù)庫查詢驗證身份后返回結(jié)果,成功實現(xiàn)了根據(jù)實際用戶數(shù)據(jù)進行登錄的功能,有效提高了系統(tǒng)的安全性與實用性。文章來源地址http://www.zghlxwxcb.cn/news/detail-789167.html

二、實戰(zhàn)步驟

(一)創(chuàng)建數(shù)據(jù)庫

  • 創(chuàng)建login數(shù)據(jù)庫
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫

(二)創(chuàng)建用戶表

  • 創(chuàng)建用戶表user
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
  • 添加用戶表記錄
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫

(三)后端項目引入數(shù)據(jù)庫

1、添加相關(guān)依賴

  • 修改pom.xml文件,添加相關(guān)依賴
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>net.huawei</groupId>
    <artifactId>LoginDemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>LoginDemo</name>
    <description>LoginDemo</description>
    <properties>
        <java.version>21</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.18</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>3.0.3</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>


  • 刷新項目依賴
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫

2、用戶實體類保持不變

  • 用戶實體類 - User
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
package net.huawei.login.bean;

/**
 * 功能:用戶實體類
 * 作者:華衛(wèi)
 * 日期:2024年01月14日
 */
public class User {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

3、編寫應(yīng)用配置文件

  • 將全局配置文件application.properties更名為application.yaml
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
# 配置服務(wù)器
server:
  port: 8888

# 配置數(shù)據(jù)源
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/login?useSSL=false&useUnicode=true&characterEncoding=UTF-8
    username: root
    password: 903213

    # 配置Druid數(shù)據(jù)源類型
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      initial-size: 20 # 初始連接數(shù)
      min-idle: 10 # 最小空閑連接數(shù)
      max-active: 100 # 最大連接數(shù)

4、創(chuàng)建用戶映射器接口

  • 創(chuàng)建mapper子包,在子包里創(chuàng)建UserMapper接口
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
package net.huawei.login.mapper;

import net.huawei.login.bean.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

/**
 * 功能:用戶映射器接口
 * 作者:華衛(wèi)
 * 日期:2024年01月14日
 */
@Mapper // 納入Spring容器管理
public interface UserMapper {
    @Select("select * from user where username = #{username} and password = #{password}")
    User login(String username, String password);
}
  • 測試用戶映射器接口
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
package net.huawei.login;

import net.huawei.login.bean.User;
import net.huawei.login.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class LoginDemoApplicationTests {
    @Autowired // 注入用戶映射器Bean
    private UserMapper userMapper;

    @Test
    public void testLogin() {
        // 定義用戶名和Miami
        String username = "無心劍";
        String password = "903213";
        // 調(diào)用用戶映射器登錄方法
        User user = userMapper.login(username, password);
        // 判斷是否登錄成功
        if (user != null) {
            System.out.println("恭喜,[" + username + "]登錄成功~");
        } else {
            System.err.println("遺憾,[" + username + "]登錄失敗~");
        }
    }
}
  • 運行testLogin()測試方法,查看結(jié)果
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
  • 修改用戶名,再運行testLogin()測試方法,查看結(jié)果
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫

5、創(chuàng)建用戶服務(wù)類

  • 創(chuàng)建service子包,在子包里創(chuàng)建UserService
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
package net.huawei.login.service;

import net.huawei.login.bean.User;
import net.huawei.login.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 功能:用戶服務(wù)類 
 * 作者:華衛(wèi)
 * 日期:2024年01月14日
 */
@Service // 納入Spring容器管理
public class UserService {
    @Autowired // 注入用戶映射器Bean
    private UserMapper userMapper;

    /**
     * 用戶登錄方法
     * 
     * @param username
     * @param password
     * @return 用戶實體
     */
    public User login(String username, String password) {
        return userMapper.login(username, password);
    }
}

6、修改登錄控制器

  • 登錄控制器 - LoginController
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
package net.huawei.login.controller;

import net.huawei.login.bean.User;
import net.huawei.login.result.Result;
import net.huawei.login.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.util.HtmlUtils;

/**
 * 功能:登錄控制器
 * 作者:華衛(wèi)
 * 日期:2024年01月14日
 */
@Controller
public class LoginController {
    @Autowired // 注入用戶服務(wù)Bean
    private UserService userService;
    
    @CrossOrigin
    @PostMapping(value = "/login")
    @ResponseBody
    public Result login(@RequestBody User requestUser) {
        // 獲取用戶名和密碼
        String username = requestUser.getUsername();
        String password = requestUser.getPassword();
        // 對html標簽進行轉(zhuǎn)義,防止XSS攻擊
        username = HtmlUtils.htmlEscape(username);
        // 調(diào)用用戶服務(wù)對象的登錄方法
        User user = userService.login(username, password);
        // 判斷登錄是否成功
        if (user != null) {
            return new Result(200);
        } else {
            System.out.println("用戶名或密碼有誤!");
            return new Result(400);
        }
    }
}

(四)測試用戶登錄功能

1、啟動前端項目 - login-vue

  • 在前端項目目錄里執(zhí)行命令:npm run serve
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫

2、啟動后端項目 - LoginDemo

  • 運行入口類 - LoginDemoApplication
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫

3、訪問前端登錄頁面

  • 訪問http://localhost:8080/login
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫

4、測試用戶登錄功能

  • 輸入用戶名admin與密碼903213
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
  • 單擊【登錄】按鈕
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
  • 輸入正確的用戶名與密碼:無心劍 :903213
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
  • 單擊【登錄】按鈕,跳轉(zhuǎn)到首頁
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫
  • 錄屏操作演示
    Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能,Spring Boot + Vue,spring boot,vue.js,數(shù)據(jù)庫

三、實戰(zhàn)總結(jié)

  • 本次實戰(zhàn)通過構(gòu)建數(shù)據(jù)庫用戶表,實現(xiàn)了基于Spring Boot和MyBatis的數(shù)據(jù)庫登錄驗證功能。首先創(chuàng)建了包含必要字段的user表及測試數(shù)據(jù),然后在后端配置數(shù)據(jù)庫連接,并利用UserMapper接口與注解SQL實現(xiàn)用戶查詢。服務(wù)層封裝了登錄方法,在控制器中調(diào)用此方法進行身份驗證。前端Vue項目與后端聯(lián)動,輸入的用戶名和密碼經(jīng)過跨域請求傳遞至后端,經(jīng)數(shù)據(jù)庫查詢驗證后返回結(jié)果,成功構(gòu)建了一個安全、實用的基于數(shù)據(jù)庫用戶數(shù)據(jù)的身份驗證系統(tǒng)。

到了這里,關(guān)于Spring Boot 3 + Vue 3實戰(zhàn):引入數(shù)據(jù)庫實現(xiàn)用戶登錄功能的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 基于Spring Boot和Vue3的博客平臺數(shù)據(jù)庫設(shè)計實踐

    在構(gòu)建一個博客平臺時,數(shù)據(jù)庫設(shè)計是關(guān)鍵的一步。一個合理的數(shù)據(jù)庫設(shè)計可以提高數(shù)據(jù)的一致性、完整性和可用性,從而提高整個平臺的穩(wěn)定性和性能。本篇博客將介紹博客平臺的數(shù)據(jù)庫設(shè)計,包括實體關(guān)系圖、表結(jié)構(gòu)設(shè)計以及表之間的關(guān)系。 1. 實體關(guān)系圖 實體關(guān)系圖(

    2023年04月14日
    瀏覽(23)
  • Spring Boot項目實現(xiàn)無數(shù)據(jù)庫啟動

    Spring Boot項目實現(xiàn)無數(shù)據(jù)庫啟動

    今天需要創(chuàng)建一個不連接數(shù)據(jù)庫的Spring Boot工程, 結(jié)果一切配置好后項目卻啟動失敗, 提示如下: 查詢了一下資料, 發(fā)現(xiàn)原來Spring Boot啟動時是默認是要連接數(shù)據(jù)庫的, 這樣一來只需要把數(shù)據(jù)庫的一些配置排除掉就可以了: 重新啟動, 項目成功運行了。另外, pom.xml文件中也不要引入

    2024年02月15日
    瀏覽(24)
  • Spring Boot應(yīng)用中如何動態(tài)指定數(shù)據(jù)庫,實現(xiàn)不同用戶不同數(shù)據(jù)庫的場景

    當(dāng)在 Spring Boot 應(yīng)用程序中使用Spring Data JPA 進行數(shù)據(jù)庫操作時,配置Schema名稱是一種常見的做法。然而,在某些情況下,模式名稱需要是動態(tài)的,可能會在應(yīng)用程序運行時發(fā)生變化。比如:需要做數(shù)據(jù)隔離的SaaS應(yīng)用。 所以,這篇博文將幫助您解決了在 Spring Boot 應(yīng)用程序中如

    2024年04月26日
    瀏覽(28)
  • 【Spring Boot】使用XML配置文件實現(xiàn)數(shù)據(jù)庫操作(一)

    SQL映射文件就是我們通常說的mapper.xml配置文件,主要實現(xiàn)SQL語句的配置和映射,同時實現(xiàn)Java的POJO對象與數(shù)據(jù)庫中的表和字段進行映射關(guān)聯(lián)的功能。 1.1 mapper.xml的結(jié)構(gòu) 下面就來詳細介紹mapper.xml文件的結(jié)構(gòu)。首先看一個完整的mapper.xml示例:

    2024年02月10日
    瀏覽(31)
  • Spring Boot + MyBatis-Plus實現(xiàn)數(shù)據(jù)庫讀寫分離

    Spring Boot + MyBatis-Plus實現(xiàn)數(shù)據(jù)庫讀寫分離

    ??Spring Boot + MyBatis-Plus實現(xiàn)數(shù)據(jù)庫讀寫分離 ☆* o(≧▽≦)o *☆嗨~我是IT·陳寒?? ?博客主頁:IT·陳寒的博客 ??該系列文章專欄:架構(gòu)設(shè)計 ??其他專欄:Java學(xué)習(xí)路線 Java面試技巧 Java實戰(zhàn)項目 AIGC人工智能 數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí) ??文章作者技術(shù)和水平有限,如果文中出現(xiàn)錯誤,希望

    2024年02月05日
    瀏覽(44)
  • Spring Boot實現(xiàn)第一次啟動時自動初始化數(shù)據(jù)庫

    Spring Boot實現(xiàn)第一次啟動時自動初始化數(shù)據(jù)庫

    在現(xiàn)在的后端開發(fā)中,只要是運用聯(lián)系型數(shù)據(jù)庫,信任SSM架構(gòu)(Spring Boot + MyBatis)已經(jīng)成為首選。 不過在咱們第一次運轉(zhuǎn)或許布置項目的時分,一般要先手動銜接數(shù)據(jù)庫,履行一個SQL文件以創(chuàng)立數(shù)據(jù)庫以及數(shù)據(jù)庫表格完結(jié) 數(shù)據(jù)庫的初始化作業(yè) ,這樣咱們的SSM應(yīng)用程序才能夠

    2024年02月03日
    瀏覽(24)
  • Java(一):創(chuàng)建 Spring Boot 項目并實現(xiàn)連接操作MySQL數(shù)據(jù)庫

    Java(一):創(chuàng)建 Spring Boot 項目并實現(xiàn)連接操作MySQL數(shù)據(jù)庫

    MySQL 命令 Maven 相關(guān)地址 下載地址: https://maven.apache.org/ maven配置方法地址: https://developer.aliyun.com/mvn/guide 倉庫搜索地址: https://mvnrepository.com/ https://repo.maven.apache.org/ maven 本地配置 conf/settings.xml 下載 idea 并配置本地環(huán)境 maven Maven 構(gòu)建 生命周期 Maven 的構(gòu)建 生命周期 包括 三

    2024年02月07日
    瀏覽(28)
  • 【Spring Boot】以博客管理系統(tǒng)舉例,完整表述SpringBoot從對接Vue到數(shù)據(jù)庫的流程與結(jié)構(gòu)。

    博客管理系統(tǒng)是一個典型的前后端分離的應(yīng)用,其中前端使用Vue框架進行開發(fā),后端使用Spring Boot框架進行開發(fā),數(shù)據(jù)庫使用MySQL進行存儲。下面是從對接Vue到數(shù)據(jù)庫的完整流程和結(jié)構(gòu)。 對接Vue 在前端Vue應(yīng)用中,需要訪問后端Spring Boot應(yīng)用的REST API接口,與其進行數(shù)據(jù)交互。具

    2024年02月11日
    瀏覽(37)
  • 基于Java的OA辦公管理系統(tǒng),Spring Boot框架,vue技術(shù),mysql數(shù)據(jù)庫,前臺+后臺,完美運行,有一萬一千字論文。

    基于Java的OA辦公管理系統(tǒng),Spring Boot框架,vue技術(shù),mysql數(shù)據(jù)庫,前臺+后臺,完美運行,有一萬一千字論文。

    目錄 演示視頻 基本介紹 功能結(jié)構(gòu) 論文目錄 系統(tǒng)截圖 基于Java的OA辦公管理系統(tǒng),Spring Boot框架,vue技術(shù),mysql數(shù)據(jù)庫,前臺+后臺,完美運行,有一萬一千字論文。 系統(tǒng)中的功能模塊主要是實現(xiàn)管理員和員工的管理; 管理員:個人中心、普通員工管理、辦公文件管理、公共信

    2024年02月10日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包