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

計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn)

這篇具有很好參考價值的文章主要介紹了計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?作者主頁:IT研究室?
個人簡介:曾從事計算機專業(yè)培訓教學,擅長Java、Python、微信小程序、Golang、安卓Android等項目實戰(zhàn)。接項目定制開發(fā)、代碼講解、答辯教學、文檔編寫、降重等。
?文末獲取源碼?
精彩專欄推薦???
Java項目
Python項目
安卓項目
微信小程序項目

一、前言

在信息化社會的快速發(fā)展背景下,小程序和安卓應用已經(jīng)成為人們?nèi)粘I畹闹匾M成部分。美術(shù)館作為文化藝術(shù)的重要載體,如何借助這些信息化工具提升管理和服務水平,成為了當前亟待解決的問題。本課題基于美術(shù)館微信小程序與安卓APP的開發(fā),旨在解決美術(shù)館信息化管理的需求,提高美術(shù)館運營效率和服務質(zhì)量。

當前,部分美術(shù)館已經(jīng)使用了信息化管理系統(tǒng),但這些系統(tǒng)存在一些問題。首先,系統(tǒng)的功能相對單一,往往只涵蓋了展品管理或預約管理的一部分,無法滿足美術(shù)館管理的需求。其次,系統(tǒng)的用戶體驗不佳,操作復雜,使得使用效率低下。再次,系統(tǒng)的數(shù)據(jù)整合能力較弱,無法實現(xiàn)數(shù)據(jù)的利用和共享。這些問題都凸顯了開發(fā)美術(shù)館微信小程序與安卓APP的必要性。

本課題的研究目的是開發(fā)一款集美術(shù)館信息管理、展品管理、美術(shù)館預約管理于一體的微信小程序和安卓APP。通過這款工具,用戶可以方便地獲取美術(shù)館的信息,查看展品的詳細資料,以及進行參觀預約。同時,可以通過這款工具進行美術(shù)館信息的維護、展品的添加與編輯、以及預約的管理。具體研究內(nèi)容包括以下幾個方面:

美術(shù)館信息管理:對美術(shù)館的基本信息、展覽信息、活動信息等進行維護與更新。
展品管理:對展品的信息進行添加、編輯、查詢等操作,包括展品的名稱、描述、圖片等。
美術(shù)館預約管理:提供用戶預約參觀的功能,包括預約時間的設定、預約狀態(tài)的查詢等。
數(shù)據(jù)共享與整合:實現(xiàn)數(shù)據(jù)的共享與整合,使得各個模塊的數(shù)據(jù)可以相互引用,提高數(shù)據(jù)的使用效率。
用戶體驗優(yōu)化:優(yōu)化操作流程,提高系統(tǒng)的易用性,使用戶可以方便快捷地進行操作。

本課題的研究意義在于推動美術(shù)館信息化管理的發(fā)展,提高美術(shù)館的運營效率和服務質(zhì)量。通過微信小程序和安卓APP的開發(fā),可以讓用戶更加便捷地獲取美術(shù)館的信息和服務,同時也使得管理員可以更加便捷地進行管理工作。此外,通過數(shù)據(jù)的共享與整合,可以實現(xiàn)數(shù)據(jù)的利用,為美術(shù)館的管理決策提供數(shù)據(jù)支持。最后,通過用戶體驗的優(yōu)化,可以提高用戶的使用效率,提升用戶滿意度。

二、開發(fā)環(huán)境

  • 開發(fā)語言:Java
  • 數(shù)據(jù)庫:MySQL
  • 系統(tǒng)架構(gòu):移動端
  • 后端:SpringBoot
  • 前端:Vue

三、系統(tǒng)界面展示

  • 美術(shù)館微信小程序/安卓APP界面展示:
    計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn),微信小程序項目,安卓項目,微信小程序,android,畢業(yè)設計,選題推薦,源碼
    計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn),微信小程序項目,安卓項目,微信小程序,android,畢業(yè)設計,選題推薦,源碼
    計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn),微信小程序項目,安卓項目,微信小程序,android,畢業(yè)設計,選題推薦,源碼
    計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn),微信小程序項目,安卓項目,微信小程序,android,畢業(yè)設計,選題推薦,源碼
    計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn),微信小程序項目,安卓項目,微信小程序,android,畢業(yè)設計,選題推薦,源碼
    計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn),微信小程序項目,安卓項目,微信小程序,android,畢業(yè)設計,選題推薦,源碼
    計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn),微信小程序項目,安卓項目,微信小程序,android,畢業(yè)設計,選題推薦,源碼

四、代碼參考

  • 美術(shù)館微信小程序/安卓APP項目實戰(zhàn)代碼參考:
@RestController
@RequestMapping("/sys/notice")
public class SysNoticeController {

    @Autowired
    private HttpServletRequest request;
    @Autowired
    private SysNoticeService sysNoticeService;

    private Page getPage(){
        int current = ServletRequestUtils.getIntParameter(request,"current",1);
        int size = ServletRequestUtils.getIntParameter(request,"size",10);
        return new Page(current,size);
    }

    @GetMapping("list")
    @PreAuthorize("hasAuthority('sys:notice:list')")
    public Result list(String title){
        Page<SysNotice> pageData = sysNoticeService.page(getPage(),new LambdaQueryWrapper<SysNotice>().like(StrUtil.isNotBlank(title),SysNotice::getTitle,title).orderByDesc(SysNotice::getCreated));
        return Result.ok().data("pageData",pageData);
    }

    @PostMapping("save")
    @PreAuthorize("hasAuthority('sys:notice:save')")
    public Result save(@Validated @RequestBody SysNotice sysNotice){
        sysNotice.setCreated(new Date());
        boolean flag = sysNoticeService.save(sysNotice);
        return flag ? Result.ok() : Result.error();
    }

    @GetMapping("info/{id}")
    @PreAuthorize("hasAuthority('sys:notice:list')")
    public Result info(@PathVariable("id") Long id){
        SysNotice notice = sysNoticeService.getById(id);
        return Result.ok().data("info",notice);
    }

    @PostMapping("update")
    @PreAuthorize("hasAuthority('sys:notice:update')")
    public Result update(@Validated @RequestBody SysNotice sysNotice){
        sysNotice.setUpdated(new Date());
        boolean flag = sysNoticeService.updateById(sysNotice);
        return flag ? Result.ok() : Result.error();
    }

    @PostMapping("delete")
    @PreAuthorize("hasAuthority('sys:notice:delete')")
    @Transactional
    public Result delete(@RequestBody Long[] noticeIds){
        boolean flag = sysNoticeService.removeByIds(Arrays.asList(noticeIds));
        return flag ? Result.ok() : Result.error();
    }
}
@RestController
@RequestMapping("/appointment")
public class UserAppointmentController {

    @Autowired
    private HttpServletRequest request;
    @Autowired
    private UserAppointmentService userAppointmentService;
    @Autowired
    private PlaceVdstateService placeVdstateService;
    @Autowired
    private SysPlaceService sysPlaceService;

    private Page getPage(){
        int current = ServletRequestUtils.getIntParameter(request,"current",1);
        int size = ServletRequestUtils.getIntParameter(request,"size",10);
        return new Page(current,size);
    }

    @PostMapping("order")
    public Result order(@RequestBody UserAppointment userAppointment){
        PlaceVdstate placeVdstate = placeVdstateService.getById(userAppointment.getPlaceStateId());
        char[] cs = placeVdstate.getVdstatest().toCharArray();
        if (cs[userAppointment.getOrderstart() - 8] == '2' || cs[userAppointment.getOrderstart() - 8] == '1'){
            return Result.error().message("預約失敗");
        }
        cs[userAppointment.getOrderstart() - 8] = (char)(userAppointment.getRadio() + '0');
        placeVdstate.setVdstatest(new String(cs));
        boolean flag = placeVdstateService.updateById(placeVdstate);
        if (!flag){
            return Result.error().message("預約失敗");
        }
        if (userAppointment.getRadio() == 2){
            UserAppointment appointment = userAppointmentService.getOne(new LambdaQueryWrapper<UserAppointment>().eq(UserAppointment::getUserid, userAppointment.getUserid())
                    .eq(UserAppointment::getOrderdate, userAppointment.getOrderdate()).eq(UserAppointment::getPlaceid, userAppointment.getPlaceid())
                    .eq(UserAppointment::getOrderstart, userAppointment.getOrderstart()).eq(UserAppointment::getOrderend, userAppointment.getOrderend()));
            userAppointment.setCreated(new Date());
            if (appointment == null){
                flag = userAppointmentService.save(userAppointment);
            }else{
                appointment.setStatus(0);
                flag = userAppointmentService.updateById(appointment);
            }
        }
        return flag ? Result.ok() : Result.error().message("預約失敗");
    }

    @RequestMapping("getAppointmentOrderByUser/{userId}")
    public Result getAppointmentOrderByUser(@PathVariable("userId") Long userId){
        Page<UserAppointment> pageData = userAppointmentService.page(getPage(),new LambdaQueryWrapper<UserAppointment>().eq(UserAppointment::getUserid, userId).orderByDesc(UserAppointment::getCreated));
        for (int i = 0; i < pageData.getRecords().size(); i++) {
            UserAppointment appointment = pageData.getRecords().get(i);
            appointment.setPlaceName(sysPlaceService.getById(appointment.getPlaceid()).getPlace());
        }
        return Result.ok().data("pageData",pageData);
    }

    @PostMapping("cancel/{appointmentId}")
    public Result cancel(@PathVariable("appointmentId") Long appointmentId){
        UserAppointment appointment = userAppointmentService.getById(appointmentId);
        appointment.setStatus(1);
        PlaceVdstate vdstate = placeVdstateService.getOne(new LambdaQueryWrapper<PlaceVdstate>().eq(PlaceVdstate::getPlaceid, appointment.getPlaceid()).eq(PlaceVdstate::getVdstatedate, appointment.getOrderdate()));
        char[] cs = vdstate.getVdstatest().toCharArray();
        cs[appointment.getOrderstart() - 8] = '0';
        vdstate.setVdstatest(new String(cs));
        boolean flag = userAppointmentService.updateById(appointment) && placeVdstateService.updateById(vdstate);
        return flag ? Result.ok() : Result.error().message("取消預約失敗");
    }
}
@RestController
@RequestMapping("/sys/user")
public class SysUserController {

    @Autowired
    private HttpServletRequest request;
    @Autowired
    private SysUserService sysUserService;
    @Autowired
    private SysRoleService sysRoleService;
    @Autowired
    private BCryptPasswordEncoder passwordEncoder;
    @Autowired
    private SysUserRoleService sysUserRoleService;

    private Page getPage(){
        int current = ServletRequestUtils.getIntParameter(request,"current",1);
        int size = ServletRequestUtils.getIntParameter(request,"size",10);
        return new Page(current,size);
    }

    @GetMapping("list")
    @PreAuthorize("hasAuthority('sys:user:list')")
    public Result list(String username){
        Page<SysUser> pageData = sysUserService.page(getPage(),new LambdaQueryWrapper<SysUser>().like(StrUtil.isNotBlank(username),SysUser::getUsername,username));
        pageData.getRecords().forEach(u -> {
            u.setSysRoles(sysRoleService.listRolesByUserId(u.getId()));
        });
        return Result.ok().data("pageData",pageData);
    }

    @GetMapping("info/{id}")
    @PreAuthorize("hasAuthority('sys:user:list')")
    public Result info(@PathVariable("id") Long id){
        SysUser user = sysUserService.getById(id);
        Assert.notNull(user,"找不到該管理員");
        List<SysRole> roleList = sysRoleService.listRolesByUserId(id);
        user.setSysRoles(roleList);
        return Result.ok().data("info",user);
    }

    @PostMapping("save")
    @PreAuthorize("hasAuthority('sys:user:save')")
    public Result save(@Validated @RequestBody SysUser sysUser){
        sysUser.setCreated(new Date());
        String password = passwordEncoder.encode(Const.DEFAULT_PASSWORD);
        sysUser.setPassword(password);
        sysUser.setAvatar(Const.DEFAULT_AVATAR);
        boolean flag = sysUserService.save(sysUser);
        return flag ? Result.ok() : Result.error();
    }

    @PostMapping("update")
    @PreAuthorize("hasAuthority('sys:user:update')")
    public Result update(@Validated @RequestBody SysUser sysUser){
        sysUser.setUpdated(new Date());
        boolean flag = sysUserService.updateById(sysUser);
        return flag ? Result.ok() : Result.error();
    }

    @Transactional
    @PostMapping("delete")
    @PreAuthorize("hasAuthority('sys:user:delete')")
    public Result delete(@RequestBody Long[] ids){
        sysUserService.removeByIds(Arrays.asList(ids));
        sysUserRoleService.remove(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getUserId,ids));
        return Result.ok();
    }

    @Transactional
    @PostMapping("role/{userId}")
    @PreAuthorize("hasAuthority('sys:user:role')")
    public Result rolePerm(@PathVariable("userId") Long userId,@RequestBody Long[] roleIds){
        List<SysUserRole> userRoles = new ArrayList<>();
        Arrays.stream(roleIds).forEach(r -> {
            SysUserRole sysUserRole = new SysUserRole();
            sysUserRole.setRoleId(r);
            sysUserRole.setUserId(userId);
            userRoles.add(sysUserRole);
        });
        sysUserRoleService.remove(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId,userId));
        sysUserRoleService.saveBatch(userRoles);
        sysUserService.clearUserAuthorityInfo(userId);
        return Result.ok();
    }

    @PostMapping("repass")
    @PreAuthorize("hasAuthority('sys:user:repass')")
    public Result repass(@RequestBody Long userId){
        SysUser user = sysUserService.getById(userId);
        user.setPassword(passwordEncoder.encode(Const.DEFAULT_PASSWORD));
        user.setUpdated(new Date());
        sysUserService.updateById(user);
        return Result.ok();
    }

    @PostMapping("updatePass")
    public Result updatePass(@Validated @RequestBody PassVo passVo, Principal principal){
        SysUser user = sysUserService.getByUsername(principal.getName());
        boolean matches = passwordEncoder.matches(passVo.getCurrentPass(), user.getPassword());
        if (!matches){
            return Result.error().message("舊密碼不正確");
        }
        user.setPassword(passwordEncoder.encode(passVo.getCurrentPass()));
        user.setUpdated(new Date());
        sysUserService.updateById(user);
        return Result.ok();
    }
}

五、論文參考

  • 計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP論文參考:
    計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn),微信小程序項目,安卓項目,微信小程序,android,畢業(yè)設計,選題推薦,源碼

六、系統(tǒng)視頻

美術(shù)館微信小程序/安卓APP項目視頻:

計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP

結(jié)語

計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn)
大家可以幫忙點贊、收藏、關注、評論啦~
源碼獲?。核叫盼?/strong>

精彩專欄推薦???
Java項目
Python項目
安卓項目
微信小程序項目
文章來源地址http://www.zghlxwxcb.cn/news/detail-717146.html

到了這里,關于計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 計算機畢業(yè)設計選題推薦-跑腿平臺微信小程序/安卓APP-項目實戰(zhàn)

    計算機畢業(yè)設計選題推薦-跑腿平臺微信小程序/安卓APP-項目實戰(zhàn)

    ? 作者主頁 :IT研究室? 個人簡介:曾從事計算機專業(yè)培訓教學,擅長Java、Python、微信小程序、Golang、安卓Android等項目實戰(zhàn)。接項目定制開發(fā)、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦 ??? Java項目 Python項目 安卓項目 微信小程序項目

    2024年02月07日
    瀏覽(579)
  • (贈源碼)java+ssm+MYSQL租房小程序42196-計算機畢業(yè)設計項目選題推薦

    (贈源碼)java+ssm+MYSQL租房小程序42196-計算機畢業(yè)設計項目選題推薦

    摘 要 本論文主要論述了如何使用SSM框架開發(fā)一個租房小程序,本系統(tǒng)將嚴格按照軟件開發(fā)流程進行各個階段的工作,采用B/S架構(gòu)JAVA技術(shù),面向?qū)ο缶幊趟枷脒M行項目開發(fā)。在引言中,作者將論述租房小程序的當前背景以及系統(tǒng)開發(fā)的目的,后續(xù)章節(jié)將嚴格按照軟件開發(fā)流程

    2024年02月06日
    瀏覽(99)
  • 計算機畢業(yè)設計選題推薦-二手交易微信小程序/安卓APP-項目實戰(zhàn)

    計算機畢業(yè)設計選題推薦-二手交易微信小程序/安卓APP-項目實戰(zhàn)

    ? 作者主頁 :IT研究室? 個人簡介:曾從事計算機專業(yè)培訓教學,擅長Java、Python、微信小程序、Golang、安卓Android等項目實戰(zhàn)。接項目定制開發(fā)、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦 ??? Java項目 Python項目 安卓項目 微信小程序項目

    2024年02月07日
    瀏覽(89)
  • 計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn)

    計算機畢業(yè)設計選題推薦-美術(shù)館微信小程序/安卓APP-項目實戰(zhàn)

    ? 作者主頁 :IT研究室? 個人簡介:曾從事計算機專業(yè)培訓教學,擅長Java、Python、微信小程序、Golang、安卓Android等項目實戰(zhàn)。接項目定制開發(fā)、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦 ??? Java項目 Python項目 安卓項目 微信小程序項目

    2024年02月08日
    瀏覽(91)
  • 計算機畢業(yè)設計選題推薦-戲曲文化苑微信小程序/安卓APP-項目實戰(zhàn)

    計算機畢業(yè)設計選題推薦-戲曲文化苑微信小程序/安卓APP-項目實戰(zhàn)

    ? 作者主頁 :IT研究室? 個人簡介:曾從事計算機專業(yè)培訓教學,擅長Java、Python、微信小程序、Golang、安卓Android等項目實戰(zhàn)。接項目定制開發(fā)、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦 ??? Java項目 Python項目 安卓項目 微信小程序項目

    2024年02月07日
    瀏覽(92)
  • 計算機畢業(yè)設計選題推薦-在線商城微信小程序/安卓APP-項目實戰(zhàn)

    計算機畢業(yè)設計選題推薦-在線商城微信小程序/安卓APP-項目實戰(zhàn)

    ? 作者主頁 :IT畢設夢工廠? 個人簡介:曾從事計算機專業(yè)培訓教學,擅長Java、Python、微信小程序、Golang、安卓Android等項目實戰(zhàn)。接項目定制開發(fā)、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦 ??? Java項目 Python項目 安卓項目 微信小程序

    2024年02月08日
    瀏覽(100)
  • 計算機畢業(yè)設計選題推薦-流浪動物救助微信小程序/安卓APP-項目實戰(zhàn)

    計算機畢業(yè)設計選題推薦-流浪動物救助微信小程序/安卓APP-項目實戰(zhàn)

    ? 作者主頁 :IT畢設夢工廠? 個人簡介:曾從事計算機專業(yè)培訓教學,擅長Java、Python、微信小程序、Golang、安卓Android等項目實戰(zhàn)。接項目定制開發(fā)、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦 ??? Java項目 Python項目 安卓項目 微信小程序

    2024年02月08日
    瀏覽(84)
  • 計算機畢業(yè)設計選題推薦-餐廳線上點餐微信小程序/安卓APP-項目實戰(zhàn)

    計算機畢業(yè)設計選題推薦-餐廳線上點餐微信小程序/安卓APP-項目實戰(zhàn)

    ? 作者主頁 :IT畢設夢工廠? 個人簡介:曾從事計算機專業(yè)培訓教學,擅長Java、Python、微信小程序、Golang、安卓Android等項目實戰(zhàn)。接項目定制開發(fā)、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦 ??? Java項目 Python項目 安卓項目 微信小程序

    2024年02月08日
    瀏覽(89)
  • 計算機畢業(yè)設計選題推薦-校園失物招領微信小程序/安卓APP-項目實戰(zhàn)

    計算機畢業(yè)設計選題推薦-校園失物招領微信小程序/安卓APP-項目實戰(zhàn)

    ? 作者主頁 :IT畢設夢工廠? 個人簡介:曾從事計算機專業(yè)培訓教學,擅長Java、Python、微信小程序、Golang、安卓Android等項目實戰(zhàn)。接項目定制開發(fā)、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦 ??? Java項目 Python項目 安卓項目 微信小程序

    2024年02月06日
    瀏覽(88)
  • java&Springboot&mysql醫(yī)療產(chǎn)品銷售系統(tǒng)01474-計算機畢業(yè)設計項目選題推薦(附源碼)

    java&Springboot&mysql醫(yī)療產(chǎn)品銷售系統(tǒng)01474-計算機畢業(yè)設計項目選題推薦(附源碼)

    摘 ?要 隨著計算機和IT行業(yè)的高速發(fā)展,信息化進程推動了醫(yī)療器材信息化管理水平的建設。醫(yī)療產(chǎn)品銷售系統(tǒng)已經(jīng)成為醫(yī)院管理系統(tǒng)的重要分支,甚至在一些地區(qū)已經(jīng)建立了較為完善的醫(yī)療產(chǎn)品銷售信息管理系統(tǒng)。開發(fā)并使用醫(yī)療產(chǎn)品管理系統(tǒng)有利于節(jié)約醫(yī)院的成本,同時能

    2024年02月07日
    瀏覽(2293)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包