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

基于SSM架構(gòu)實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了基于SSM架構(gòu)實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

項(xiàng)目簡(jiǎn)介

本項(xiàng)目是一個(gè)基于SSM(Spring+SpringMVC+MyBatis)框架搭建的學(xué)生信息管理系統(tǒng),實(shí)現(xiàn)了對(duì)學(xué)生、用戶等信息的增刪改查功能,以及登錄、分頁(yè)等功能。本項(xiàng)目采用了三層架構(gòu),分為entity層、service層、dao層和controller層,使用了Maven進(jìn)行項(xiàng)目管理,使用了MySQL作為數(shù)據(jù)庫(kù)。

項(xiàng)目功能

本項(xiàng)目主要有以下幾個(gè)功能模塊:

  • 登錄模塊:用戶可以輸入用戶名和密碼進(jìn)行登錄,如果用戶名或密碼錯(cuò)誤,會(huì)提示相應(yīng)的錯(cuò)誤信息。

  • 學(xué)生管理模塊:管理員可以對(duì)學(xué)生進(jìn)行增刪改查操作,可以根據(jù)學(xué)號(hào)或姓名或所屬班級(jí)進(jìn)行模糊查詢,可以批量刪除學(xué)生,可以修改學(xué)生的姓名、性別、年齡。

項(xiàng)目結(jié)構(gòu)

學(xué)生管理系統(tǒng)java ssm框架,java,mvc,spring,css

項(xiàng)目技術(shù)

本項(xiàng)目主要使用了以下技術(shù):

  • SSM框架:使用Spring作為容器管理各個(gè)組件,使用SpringMVC處理請(qǐng)求轉(zhuǎn)發(fā)和視圖渲染,使用MyBatis作為持久層框架操作數(shù)據(jù)庫(kù)。

  • Maven:使用Maven作為項(xiàng)目管理工具,管理項(xiàng)目的依賴和構(gòu)建。

  • MySQL:使用MySQL作為關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)。

  • JSP+Servlet+JSTL+EL:使用JSP作為視圖層技術(shù)展示頁(yè)面,使用Servlet作為控制器接收請(qǐng)求和響應(yīng)結(jié)果,使用JSTL和EL標(biāo)簽簡(jiǎn)化頁(yè)面編寫。

  • PageHelper:使用PageHelper插件實(shí)現(xiàn)分頁(yè)功能。

  • Spring事務(wù)管理:使用Spring注解式事務(wù)管理實(shí)現(xiàn)事務(wù)控制。

  • SpringMVC攔截器:使用SpringMVC攔截器實(shí)現(xiàn)用戶登錄狀態(tài)的判斷和攔截。

  • SpringMVC全局異常處理:使用SpringMVC的@ControllerAdvice注解實(shí)現(xiàn)全局異常處理。

項(xiàng)目截圖

以下是本項(xiàng)目的部分截圖:

登錄頁(yè)面

學(xué)生管理系統(tǒng)java ssm框架,java,mvc,spring,css

學(xué)生管理頁(yè)面

學(xué)生管理系統(tǒng)java ssm框架,java,mvc,spring,css

添加頁(yè)面

學(xué)生管理系統(tǒng)java ssm框架,java,mvc,spring,css

修改頁(yè)面

學(xué)生管理系統(tǒng)java ssm框架,java,mvc,spring,css

項(xiàng)目源碼

部分源碼:

package com.stu.controller;

import com.stu.entity.Student;
import com.stu.service.StudentService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller // 這個(gè)注解表示這個(gè)類是一個(gè)控制器
public class StudentController {
    @Autowired // 這個(gè)注解將StudentService對(duì)象注入到這個(gè)類中
    private StudentService studentService;
    //列表
    @RequestMapping("/list") // 這個(gè)注解將/list URL映射到這個(gè)方法
    public String list(Model model, @RequestParam(defaultValue = "1")Integer pageNum
            , @RequestParam(defaultValue = "5")Integer pageSize
            , String name, String sex, Integer age){
        HashMap map = new HashMap(); // 創(chuàng)建一個(gè)map來(lái)存儲(chǔ)查詢參數(shù)
        map.put("name",name); // 將name參數(shù)放入map中
        map.put("sex",sex); // 將sex參數(shù)放入map中
        map.put("age",age); // 將age參數(shù)放入map中
        map.put("pageSize",pageSize); // 將pageSize參數(shù)放入map中
        PageHelper.startPage(pageNum,pageSize); // 使用PageHelper來(lái)設(shè)置分頁(yè)信息
        List<Map> list = studentService.list(map); // 調(diào)用studentService來(lái)獲取符合查詢參數(shù)的學(xué)生列表
        PageInfo pageInfo = new PageInfo(list); // 創(chuàng)建一個(gè)PageInfo對(duì)象來(lái)存儲(chǔ)分頁(yè)信息和學(xué)生列表
        model.addAttribute("list", list); // 將學(xué)生列表添加到model中
        model.addAttribute("pageInfo", pageInfo); // 將pageInfo對(duì)象添加到model中
        model.addAttribute("map", map); // 將查詢參數(shù)的map添加到model中
        return "/list"; // 返回要顯示學(xué)生列表的視圖的名稱
    }

    //刪除
    @ResponseBody // 這個(gè)注解表示這個(gè)方法返回一個(gè)JSON對(duì)象作為響應(yīng)體
    @RequestMapping("/delete") // 這個(gè)注解將/delete URL映射到這個(gè)方法
    public Object delete(String ids){
        int i=studentService.delete(ids); // 調(diào)用studentService來(lái)刪除給定id的學(xué)生
        return i; // 返回刪除操作影響的行數(shù)
    }

    //點(diǎn)擊按鈕,跳轉(zhuǎn)到添加頁(yè)面
    @RequestMapping("/toadd") // 這個(gè)注解將/toadd URL映射到這個(gè)方法
    public String toadd(){
        return "add"; // 返回要顯示添加新學(xué)生的表單的視圖的名稱
    }

    //添加
    @ResponseBody // 這個(gè)注解表示這個(gè)方法返回一個(gè)JSON對(duì)象作為響應(yīng)體
    @RequestMapping("/add") // 這個(gè)注解將/add URL映射到這個(gè)方法
    public Object add(Student student){
        int i=studentService.add(student); // 調(diào)用studentService來(lái)添加一個(gè)新學(xué)生,使用給定的信息
        return i; // 返回插入操作影響的行數(shù)
    }

    //點(diǎn)擊按鈕,跳轉(zhuǎn)到修改頁(yè)面
    @RequestMapping("/toupdate") // 這個(gè)注解將/toupdate URL映射到這個(gè)方法
    public String toupdate(Integer num, Model model){
        Student student = studentService.getByNum(num); // 調(diào)用studentService來(lái)根據(jù)num屬性獲取一個(gè)學(xué)生
        model.addAttribute("student", student); // 將學(xué)生對(duì)象添加到model中
        return "update"; // 返回要顯示更新已有學(xué)生的表單的視圖的名稱
    }

    //修改
    @ResponseBody // 這個(gè)注解表示這個(gè)方法返回一個(gè)JSON對(duì)象作為響應(yīng)體
    @RequestMapping("/update") // 這個(gè)注解將/update URL映射到這個(gè)方法
    public Object update(Student student){
        int i=studentService.update(student); // 調(diào)用studentService來(lái)更新一個(gè)已有學(xué)生,使用給定的信息
        return i; // 返回更新操作影響的行數(shù)
    }

}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">


<mapper namespace="com.stu.dao.StudentDao">

    <!--條件查詢-->
    <select id="list" resultType="java.util.Map">
        select * from student where 1=1
        <if test="name != null and name != ''">
            and name like concat('%',#{name},'%')
        </if>
        <if test="sex != null and sex != ''">
            and sex = #{sex}
        </if>
        <if test="age != null">
            and age = #{age}
        </if>
    </select>
    <!--刪除-->
    <delete id="delete">
        DELETE from student where num in(${ids})
    </delete>
    <!--添加-->
    <insert id="add">
        INSERT INTO `student`.`student`
            (`num`, `name`, `sex`, `age`) VALUES
            (0, #{name}, #{sex}, #{age});
    </insert>

    <!--修改-->
    <update id="update">
    update student set name=#{name},sex=#{sex},age=#{age} where num=#{num}
</update>

    <!--根據(jù)id查詢-->
    <select id="getByNum" resultType="com.stu.entity.Student">
    select * from student where num=#{num}
</select>

</mapper>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>學(xué)生列表</title>
    <link rel="stylesheet" href="css/like.css">
    <script src="js/jquery-1.8.2.min.js"></script>
    <script type="text/javascript">
        function fy(pageNum) {
            $("[name='pageNum']").val(pageNum)
            $("form").submit()
        }
        function qx() {
            $(":checkbox").each(function () {
                this.checked=true
            })
        }
        function qbx() {
            $(":checkbox").each(function () {
                this.checked=false
            })
        }
        function fx() {
            $(":checkbox").each(function () {
                this.checked=!this.checked
            })
        }
        function ps() {
            let ids = '';
            $(":checkbox:checked").each(function () {
                ids+=","+this.value
            })
            ids=ids.substring(1)
            if (ids == '') {
                alert("請(qǐng)選擇要?jiǎng)h除的學(xué)生")
                return
            }
            let flag = confirm("確定要?jiǎng)h除這些學(xué)生嗎?")
            if (flag) {
                $.ajax({
                    url:"delete",
                    data:{ids:ids},
                    type:"post",
                    success:function (i) {
                        if (i>0){
                            location="list"
                        }else {
                            alert("刪除失敗")
                        }
                    }
                })
            }
        }
        function tj() {
            location="toadd"
        }
        function xg(num) {
            location="toupdate?num="+num
        }
        function sc(num) {
            let flag = confirm("確定要?jiǎng)h除這個(gè)學(xué)生嗎?")
            if (flag) {
                $.ajax({
                    url:"delete",
                    data:{ids:num},
                    type:"post",
                    success:function (i) {
                        if (i>0){
                            location="list"
                        }else {
                            alert("刪除失敗")
                        }
                    }
                })
            }
        }
    </script>
</head>
<body>
<h1>學(xué)生信息管理系統(tǒng)</h1>
<table>
    <tr>
        <td colspan="100">
            <form action="list">
                <input type="hidden" name="pageNum">
                姓名:<input type="text" name="name" value="${map.name}">
                性別:<input type="text" name="sex" value="${map.sex}">
                年齡:<input type="text" name="age" value="${map.age}">
                每頁(yè)顯示:<input type="text" name="pageSize" value="${map.pageSize}">
                <input type="submit" value="查詢">
                <input type="button" onclick="tj()" value="添加">
            </form>
        </td>
    </tr>
    <tr>
        <td>請(qǐng)選擇</td>
        <td>編號(hào)</td>
        <td>姓名</td>
        <td>性別</td>
        <td>年齡</td>
        <td>操作</td>
    </tr>
    <c:forEach items="${list}" var="a">
        <tr>
            <td><input type="checkbox" value="${a.num}"></td>
            <td>${a.num}</td>
            <td>${a.name}</td>
            <td>${a.sex}</td>
            <td>${a.age}</td>
            <td><input type="button" onclick="xg(${a.num})" value="修改">
                <input type="button" onclick="sc(${a.num})" value="刪除"></td>
        </tr>
    </c:forEach>
    <tr>
        <td colspan="100">

            <c:if test="${pageInfo.pageNum > 1}">
                <input type="button" value="首頁(yè)" onclick="fy(1)">
                <input type="button" value="上一頁(yè)" onclick="fy(${pageInfo.pageNum-1})">
            </c:if>

            <c:if test="${pageInfo.pageNum < pageInfo.pages}">
                <input type="button" value="下一頁(yè)" onclick="fy(${pageInfo.pageNum+1})">
                <input type="button" value="尾頁(yè)" onclick="fy(${pageInfo.pages})">
            </c:if>

        </td>
    </tr>
    <tr>
        <td colspan="100">
            <span>當(dāng)前第${pageInfo.pageNum}頁(yè),共${pageInfo.pages}頁(yè)</span>
        </td>
    </tr>
    <tr>
        <td colspan="100">
            <input type="button" value="全選" onclick="qx()">
            <input type="button" value="全不選" onclick="qbx()">
            <input type="button" value="反選" onclick="fx()">
            <input type="button" value="批量刪除" onclick="ps()">
        </td>
    </tr>
</table>
</body>
</html>

項(xiàng)目源碼鏈接:UNABLEEEEE/StudentManagment-3.0-SSM- (github.com)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-773156.html

到了這里,關(guān)于基于SSM架構(gòu)實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • ssm726基于web的學(xué)生就業(yè)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)+vue

    ssm726基于web的學(xué)生就業(yè)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)+vue

    文章僅展示部分內(nèi)容,詳細(xì)的畢設(shè)論文和演示視頻源代碼可以私信我的扣扣, ?????? 畢 業(yè) 設(shè) 計(jì)(論 文) ???題目: 學(xué)生就業(yè)管理系統(tǒng)的 設(shè)計(jì)與實(shí)現(xiàn) 如今社會(huì)上各行各業(yè),都喜歡用自己行業(yè)的專屬軟件工作,互聯(lián)網(wǎng)發(fā)展到這個(gè)時(shí)候,人們已經(jīng)發(fā)現(xiàn)離不開了互聯(lián)網(wǎng)。新技

    2024年02月20日
    瀏覽(24)
  • 基于C++實(shí)現(xiàn)的學(xué)生信息管理系統(tǒng)

    基于C++實(shí)現(xiàn)的學(xué)生信息管理系統(tǒng)

    點(diǎn)擊獲取(源碼+課程設(shè)計(jì)報(bào)告文檔+截圖) 學(xué)生信息管理系統(tǒng)是針對(duì)學(xué)校人事處的大量業(yè)務(wù)處理工作而開發(fā)的管理軟件,主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實(shí)現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、科學(xué)化、規(guī)范化和自動(dòng)化,其主要任務(wù)是用計(jì)算機(jī)對(duì)學(xué)生各種信息進(jìn)行日常管理,如

    2024年02月04日
    瀏覽(18)
  • python基于Tkinter實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)

    python基于Tkinter實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)

    1.添加學(xué)生成績(jī):管理員可以在系統(tǒng)中添加學(xué)生的成績(jī)信息,包括學(xué)生姓名、學(xué)號(hào)、課程名稱、成績(jī)等。 2.刪除學(xué)生成績(jī):管理員可以根據(jù)學(xué)生的學(xué)號(hào)或者姓名刪除學(xué)生的成績(jī)信息。 3.修改學(xué)生成績(jī):管理員可以修改學(xué)生的成績(jī)信息,包括學(xué)生姓名、學(xué)號(hào)、課程名稱、成績(jī)等

    2024年02月08日
    瀏覽(20)
  • 基于python的學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    小白學(xué)python,做了一個(gè)基礎(chǔ)小系統(tǒng),給大家分享一下(歡迎大神指導(dǎo)) 目錄 步驟 1.設(shè)計(jì)要求 2.設(shè)計(jì)步驟 (1)導(dǎo)入os模塊,創(chuàng)建一個(gè)文件夾用于存儲(chǔ)數(shù)據(jù) ?(2)定義一個(gè)菜單函數(shù) (3)實(shí)現(xiàn)學(xué)生信息的錄入功能 (4)定義了一個(gè)save函數(shù)用于錄入功能的調(diào)用 (5)查詢功能的實(shí)現(xiàn)

    2024年02月09日
    瀏覽(19)
  • java畢業(yè)設(shè)計(jì)——基于JSP+sqlserver的學(xué)生信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(畢業(yè)論文+程序源碼)——學(xué)生信息管理系統(tǒng)

    java畢業(yè)設(shè)計(jì)——基于JSP+sqlserver的學(xué)生信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(畢業(yè)論文+程序源碼)——學(xué)生信息管理系統(tǒng)

    大家好,今天給大家介紹基于JSP+sqlserver的學(xué)生信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),文章末尾附有本畢業(yè)設(shè)計(jì)的論文和源碼下載地址哦。需要下載開題報(bào)告PPT模板及論文答辯PPT模板等的小伙伴,可以進(jìn)入我的博客主頁(yè)查看左側(cè)最下面欄目中的自助下載方法哦 文章目錄: 隨著學(xué)校規(guī)模的

    2024年02月04日
    瀏覽(29)
  • 基于Python guI的學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    基于Python guI的學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    ????????講述的是一個(gè)使用Python GUI的學(xué)習(xí)資料管理工具。通過(guò)使用Python的Tkinter庫(kù)和mysql數(shù)據(jù)庫(kù),這個(gè)工具可以方便地記錄、檢索、更新學(xué)習(xí)資料。本文詳細(xì)描述了系統(tǒng)的架構(gòu)設(shè)計(jì)和實(shí)現(xiàn)過(guò)程,并對(duì)系統(tǒng)進(jìn)行了功能測(cè)試和性能測(cè)試。結(jié)果表明,該系統(tǒng)具有良好的用戶界面和

    2024年02月03日
    瀏覽(19)
  • Java項(xiàng)目:基于SSM框架實(shí)現(xiàn)同城蔬菜配送管理系統(tǒng)(SSM+B/S架構(gòu)+源碼+數(shù)據(jù)庫(kù)+畢業(yè)論文)

    Java項(xiàng)目:基于SSM框架實(shí)現(xiàn)同城蔬菜配送管理系統(tǒng)(SSM+B/S架構(gòu)+源碼+數(shù)據(jù)庫(kù)+畢業(yè)論文)

    本項(xiàng)目是一套ssm825基于SSM框架實(shí)現(xiàn)同城蔬菜配送管理系統(tǒng),主要針對(duì)計(jì)算機(jī)相關(guān)專業(yè)的正在做畢設(shè)的學(xué)生與需要項(xiàng)目實(shí)戰(zhàn)練習(xí)的Java學(xué)習(xí)者。 包含:項(xiàng)目源碼、數(shù)據(jù)庫(kù)腳本等,該項(xiàng)目附帶全部源碼可作為畢設(shè)使用。 項(xiàng)目都經(jīng)過(guò)嚴(yán)格調(diào)試,eclipse或idea 確??梢赃\(yùn)行! 該系統(tǒng)功能

    2024年01月25日
    瀏覽(30)
  • 10.Java程序設(shè)計(jì)-基于SSM框架的微信小程序家教信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    10.Java程序設(shè)計(jì)-基于SSM框架的微信小程序家教信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    摘要是論文的開篇,用于簡(jiǎn)要概述研究的目的、方法、主要結(jié)果和結(jié)論。以下是一個(gè)簡(jiǎn)化的摘要示例,你可以根據(jù)實(shí)際情況進(jìn)行修改和擴(kuò)展: 摘要 隨著社會(huì)的發(fā)展和教育需求的增長(zhǎng),家教服務(wù)作為一種個(gè)性化的學(xué)習(xí)方式受到了廣泛關(guān)注。為了更好地滿足家教市場(chǎng)的需求,本

    2024年02月03日
    瀏覽(26)
  • 基于java+springboot+vue實(shí)現(xiàn)的學(xué)生信息管理系統(tǒng)(文末源碼+Lw+ppt)23-54

    基于java+springboot+vue實(shí)現(xiàn)的學(xué)生信息管理系統(tǒng)(文末源碼+Lw+ppt)23-54

    ?摘 ?要 人類現(xiàn)已進(jìn)入21世紀(jì),科技日新月異,經(jīng)濟(jì)、信息等方面都取得了長(zhǎng)足的進(jìn)步,特別是信息網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,對(duì)政治、經(jīng)濟(jì)、軍事、文化等方面都產(chǎn)生了很大的影響。 利用計(jì)算機(jī)網(wǎng)絡(luò)的便利,開發(fā)一套基于java的大學(xué)生信息管理系統(tǒng),將會(huì)給人們的生活帶來(lái)更多的

    2024年04月16日
    瀏覽(28)
  • (解析+源碼)基于JAVA Swing+MySQL實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(增、刪、改、查)數(shù)據(jù)庫(kù)/文件存儲(chǔ)

    (解析+源碼)基于JAVA Swing+MySQL實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(增、刪、改、查)數(shù)據(jù)庫(kù)/文件存儲(chǔ)

    本文適合 有一定JAVA編程基礎(chǔ)(聽過(guò)一點(diǎn)課的同學(xué)) 的同學(xué)“食用”,源代碼都在文末 源代碼(點(diǎn)擊跳轉(zhuǎn)) ,第四部分是各個(gè)模塊的實(shí)現(xiàn),新建一個(gè)工程把下面代碼添加進(jìn)去,然后在數(shù)據(jù)庫(kù)里按id-username-password和id-name-sex-telephone-number-birthday-note創(chuàng)建兩個(gè)表,在Connect.java里面將us

    2024年02月04日
    瀏覽(31)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包