计算机毕业设计选题推荐-戏曲文化苑微信小程序/安卓APP-项目实战

news2024/12/30 3:43:26

作者主页:IT研究室✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

文章目录

  • 一、前言
  • 二、开发环境
  • 三、系统界面展示
  • 四、代码参考
  • 五、论文参考
  • 六、系统视频
  • 结语

一、前言

戏曲文化是中国传统文化的重要组成部分,具有悠久的历史和深厚的文化底蕴。然而,随着现代化的进程和人们生活方式的改变,传统戏曲文化的传承和发展面临着严峻的挑战。为了更好地保护和传承戏曲文化,开发一款便捷、实用的戏曲文化苑微信小程序/安卓APP具有重要的现实意义。

目前,一些戏曲文化相关的应用程序已经存在,但是这些应用程序存在一些问题。首先,部分应用程序的功能不够完善,无法满足用户的需求;其次,部分应用程序的用户体验不佳,操作流程繁琐等问题影响了用户的使用体验;再次,部分应用程序的信息更新不及时,无法及时反映戏曲文化动态。这些问题都严重影响了戏曲文化相关应用程序的效果和质量。

本课题的研究目的是设计并实现一款基于微信小程序/安卓APP的戏曲文化苑平台,以提高平台的效率和质量。具体来说,该工具可以实现以下功能:

  1. 提供便捷的戏曲文化信息展示和管理功能,方便用户进行信息查询和选择;
  2. 提供戏曲文化知识普及和学习功能,增进戏曲文化的传承和发展;
    通过以上功能的实现,可以解决现有解决方案存在的问题,提高戏曲文化相关应用程序的效果和质量。

本课题的研究具有重要的现实意义和应用价值。首先,它可以增进戏曲文化的传承和发展,提高人们对戏曲文化的认识和理解;其次,它可以提升用户的使用体验,方便用户了解和参与戏曲文化活动;再次,它可以推动数字化经济的发展,增进数字经济与传统产业的相融。因此,本课题的研究对于戏曲文化、用户和社会都具有重要的意义。

二、开发环境

  • 开发语言:Java
  • 数据库:MySQL
  • 后端:SpringBoot
  • 前端:微信小程序+uniapp+Vue

三、系统界面展示

  • 戏曲文化苑微信小程序/安卓APP界面展示:
    戏曲文化苑微信小程序/安卓APP-戏曲详情
    戏曲文化苑微信小程序/安卓APP-戏曲科普详情
    戏曲文化苑微信小程序/安卓APP-个人中心
    戏曲文化苑微信小程序/安卓APP-戏曲信息管理
    戏曲文化苑微信小程序/安卓APP-戏曲科普管理
    戏曲文化苑微信小程序/安卓APP-戏曲类型管理

四、代码参考

  • 戏曲文化苑微信小程序/安卓APP项目实战代码参考:
@RestController
@RequestMapping("/comment")
public class CommentController {
    @Autowired
    private UserService userService;
    @Autowired
    private CommentService commentService;

    @RequestMapping(path = "/getCommentByPage", method = RequestMethod.GET)
    public String getCommentByStatus(String pageNum, String pageSize){
        Integer first = StringUtil.changeString(pageNum);
        Integer second = StringUtil.changeString(pageSize);
        Map<String, Object> map = commentService.getCommentByPage(first, second);
        if ((long)map.get("total") == 0){
            return JSON.toJSONString(new Result().setCode(402).setMessage("暂无信息"));
        }else {
            return JSON.toJSONString(new Result().setCode(200).setData(map));
        }
    }

    @RequestMapping(path = "/getCommentByName", method = RequestMethod.GET)
    public String getCommentByName(String commentName){
        Map<String, Object> map = commentService.getCommentByName(commentName);
        if ((long)map.get("total") == 0){
            return JSON.toJSONString(new Result().setCode(402).setMessage("暂无信息"));
        }else {
            return JSON.toJSONString(new Result().setCode(200).setData(map));
        }
    }


//    @RequestMapping(path = "/getCommentByTuijian", method = RequestMethod.GET)
//    public String getCommentByTuijian(){
//        List<Userfile> userfileList = userfileService.list(new QueryWrapper<Userfile>().eq("istuijian","是"));
//        if (userfileList.size() == 0){
//            return JSON.toJSONString(new Result().setCode(402).setMessage("暂无信息"));
//        }else {
//            return JSON.toJSONString(new Result().setCode(200).setData(userfileList));
//        }
//    }


    @RequestMapping(path = "/getCommentById", method = RequestMethod.GET)
    public String getCommentById(Integer CommentId){
        Comment comment = commentService.getById(CommentId);
        if(comment == null){
            return JSON.toJSONString(new Result().setCode(402).setMessage("暂无信息"));
        }else{
            return JSON.toJSONString(new Result().setCode(200).setData(comment));
        }

    }

    @RequestMapping(path = "/getAllComment", method = RequestMethod.GET)
    public String getAllComment(){
        List<Comment> commentList = commentService.list();
        if(commentList.size() == 0){
            return JSON.toJSONString(new Result().setCode(402).setMessage("暂无信息"));
        }else{
            for (Comment comment:commentList){
                comment.setUser(userService.getById(comment.getUserId()));
            }
            return JSON.toJSONString(new Result().setCode(200).setData(commentList));
        }

    }

    @RequestMapping(path = "/getAllCommentByName", method = RequestMethod.GET)
    public String getAllCommentByName(String name){
        List<Comment> commentList = commentService.list(new QueryWrapper<Comment>().like("name", name));
        if(commentList.size() == 0){
            return JSON.toJSONString(new Result().setCode(402).setMessage("暂无信息"));
        }else{
            return JSON.toJSONString(new Result().setCode(200).setData(commentList));
        }

    }

    @RequestMapping(path = "/getCommentByUserfile", method = RequestMethod.GET)
    public String getCommentByUserfile(Integer userfileId){
        List<Comment> commentList = commentService.list(new QueryWrapper<Comment>().like("userfile_id", userfileId));
        if(commentList.size() == 0){
            return JSON.toJSONString(new Result().setCode(402).setMessage("暂无信息"));
        }else{
            return JSON.toJSONString(new Result().setCode(200).setData(commentList));
        }

    }

//    @RequestMapping(path = "/getAllUserfileLike2", method = RequestMethod.GET)
//    public String getAllUserfileLike2(String name){
//        List<Userfile> userfileList = commentService.list(new QueryWrapper<Userfile>()
//                .eq("istuijian","是")
//                .like("name", name));
//        if(userfileList.size() == 0){
//            return JSON.toJSONString(new Result().setCode(402).setMessage("暂无信息"));
//        }else{
//            return JSON.toJSONString(new Result().setCode(200).setData(userfileList));
//        }
//
//    }

    @RequestMapping(value = "/updateComment", method = RequestMethod.POST)
    public String updateComment(@RequestParam(value = "form") String form,
                                 @RequestParam(value = "headpic",required=false) MultipartFile file1,
                                 @RequestParam(value = "file",required=false) MultipartFile file2){
        Comment comment = JSON.parseObject(form, Comment.class);
        if(file1 != null){
            String path = commentService.getById(comment.getCommentId()).getContent();
            String filename = "";
            if (path == null){

            }else {
                filename = path.substring(path.lastIndexOf('/')+1);
                FileUploadUtils.deleteFiles(new File(getUploadPath()+filename));
            }
            String url = "";
            String newName = FileUploadUtils.uploadImage(file1, getUploadPath());
            if(newName !=null ){
                url = "/headpic/"+  newName;
            }
            comment.setContent(url);
        }
//        if(file2 != null){
//            String path = commentService.getById(comment.getUserfileId()).getFile();
//            String filename = "";
//            if (path == null){
//
//            }else {
//                filename = path.substring(path.lastIndexOf('/')+1);
//                FileUploadUtils.deleteFiles(new File(getUploadPath()+filename));
//            }
//            String url = "";
//            String newName = FileUploadUtils.uploadImage(file2, getUploadPath());
//            if(newName !=null ){
//                url = "/headpic/"+  newName;
//            }
//            comment.setFile(url);
//        }
        boolean f = commentService.updateById(comment);
        if(f) {
            return JSON.toJSONString(new Result().setCode(200).setMessage("修改成功"));
        }
        else
            return JSON.toJSONString(new Result().setCode(402).setMessage("修改失败"));
    }

    @RequestMapping(value = "/addFile", method = RequestMethod.POST)
    public String updateHeadpic(@RequestParam(value = "file",required=false) MultipartFile file1){
        String url = "";
        if(file1 != null){
            //存储file对象到指定路径
            String newName = FileUploadUtils.uploadImage(file1, getUploadPath());
            if(newName !=null ){
                //生成url
                url = "/headpic/"+  newName;
            }
        }
        return JSON.toJSONString(new Result().setCode(200).setData(url));
    }

    @RequestMapping(value = "/addComment", method = RequestMethod.POST)
    public String addComment(@RequestBody Comment comment){
        System.out.println("comment 内容为 " + comment);
        comment.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
        boolean f = commentService.save(comment);
        if(f) {
            return JSON.toJSONString(new Result().setCode(200).setMessage("添加成功"));
        }
        else
            return JSON.toJSONString(new Result().setCode(402).setMessage("添加失败"));
    }


    @RequestMapping(path = "/delCommentById", method = RequestMethod.GET)
    public String delCommentById(Integer commentId){
        boolean f = commentService.removeById(commentId);
        if(f){
            return JSON.toJSONString(new Result().setCode(200).setMessage("删除成功"));
        }else{
            return JSON.toJSONString(new Result().setCode(402).setMessage("删除失败"));
        }

    }

//    @RequestMapping(value = "/delCommentById", method = RequestMethod.GET)
//    public String delUserfile(Integer commentId) {
//        String path = commentService.getById(commentId);
//        String filename = "";
//        String path2 = commentService.getById(commentId).getFile();
//        String filename2 = "";
//        boolean f = commentService.removeById(commentId);
//        if (f) {
//            if (path == null) {
//
//            } else {
//                filename = path.substring(path.lastIndexOf('/') + 1);
//                FileUploadUtils.deleteFiles(new File(getUploadPath() + filename));
//            }
//            if (path2 == null) {
//
//            } else {
//                filename2 = path.substring(path.lastIndexOf('/') + 1);
//                FileUploadUtils.deleteFiles(new File(getUploadPath() + filename2));
//            }
//            return JSON.toJSONString(new Result().setCode(200).setMessage("删除成功"));
//        } else {
//            return JSON.toJSONString(new Result().setCode(402).setData("删除失败"));
//        }
//    }

//    @RequestMapping(value = "/addUserfile2", method = RequestMethod.POST)
//    public String addUserfile2(@RequestParam(value = "userfileForm") String form,
//                               @RequestParam(value = "headpic",required=false) MultipartFile file1,
//                               @RequestParam(value = "file",required=false) MultipartFile file2){
//        Userfile userfile = JSON.parseObject(form, Userfile.class);
//        if(file1 != null){
//            String url = "";
//            String newName = FileUploadUtils.uploadImage(file1, getUploadPath());
//            if(newName !=null ){
//                url = "/headpic/"+  newName;
//            }
//            userfile.setImg(url);
//        }
//        if(file2!= null){
//            String url = "";
//            String newName = FileUploadUtils.uploadImage(file2, getUploadPath());
//            if(newName !=null ){
//                url = "/headpic/"+  newName;
//            }
//            userfile.setFile(url);
//        }
//        boolean f = commentService.save(userfile);
//        if(f) {
//            return JSON.toJSONString(new Result().setCode(200).setMessage("添加成功"));
//        }
//        else
//            return JSON.toJSONString(new Result().setCode(402).setMessage("添加失败"));
//    }

    public String getUploadPath(){
        ApplicationHome h = new ApplicationHome(getClass());
        File jarF = h.getSource();
        String dirPath = jarF.getParentFile().toString()+"\\headpic\\";
        return  dirPath;
    }
}
@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping(value = "/login", method = RequestMethod.POST)
    public String login(@RequestBody User user){
        User userLogin = userService.getOne(new QueryWrapper<User>().eq("username",user.getUsername())
                .eq("password",user.getPassword()).eq("role","用户"));
        if (userLogin == null){
            return JSON.toJSONString(new Result().setCode(402).setMessage("登录失败"));
        }else {
            return JSON.toJSONString(new Result().setCode(200).setData(userLogin).setMessage("登录成功"));
        }
    }

    @RequestMapping(value = "/login2", method = RequestMethod.POST)
    public String login2(@RequestBody User user){
        User userLogin = userService.getOne(new QueryWrapper<User>().eq("username",user.getUsername())
                .eq("password",user.getPassword()).eq("role","管理员"));
        if (userLogin == null){
            return JSON.toJSONString(new Result().setCode(402).setMessage("登录失败"));
        }else {
            return JSON.toJSONString(new Result().setCode(200).setData(userLogin).setMessage("登录成功"));
        }
    }

    @RequestMapping(path = "/getAllUser", method = RequestMethod.GET)
    public String getAllUser(){
        List<User> userList = userService.list();
        if (userList.size() == 0){
            return JSON.toJSONString(new Result().setCode(402).setMessage("暂无信息"));
        }else {
            return JSON.toJSONString(new Result().setCode(200).setData(userList));
        }
    }

    @RequestMapping(path = "/getUserByPage", method = RequestMethod.GET)
    public String getUserByStatus(String pageNum, String pageSize){
        Integer first = StringUtil.changeString(pageNum);
        Integer second = StringUtil.changeString(pageSize);
        Map<String, Object> map = userService.getUserByPage(first, second);
        if ((long)map.get("total") == 0){
            return JSON.toJSONString(new Result().setCode(402).setMessage("暂无信息"));
        }else {
            return JSON.toJSONString(new Result().setCode(200).setData(map));
        }
    }

    @RequestMapping(path = "/getUserById", method = RequestMethod.GET)
    public String getUserById(Integer userId){
        User user = userService.getById(userId);
        if(user == null){
            return JSON.toJSONString(new Result().setCode(402).setMessage("暂无信息"));
        }else{
            return JSON.toJSONString(new Result().setCode(200).setData(user));
        }

    }

    @RequestMapping(path = "/getUserByName", method = RequestMethod.GET)
    public String getUserByName(String userName){
        Map<String, Object> user = userService.getUserByName(userName);
        if((long)user.get("total") == 0){
            return JSON.toJSONString(new Result().setCode(402).setMessage("暂无信息"));
        }else{
            return JSON.toJSONString(new Result().setCode(200).setData(user));
        }

    }

    @RequestMapping(path = "/wxupdateUser", method = RequestMethod.POST)
    public String wxupdateWechatuser(@RequestBody User user){
        boolean f = userService.updateById(user);
        if(f){
            return JSON.toJSONString(new Result().setCode(200).setMessage("修改成功").setData(user));
        }else{
            return JSON.toJSONString(new Result().setCode(402).setMessage("修改失败"));
        }

    }

    @RequestMapping(value = "/updateUser", method = RequestMethod.POST)
    public String updateUser(@RequestParam(value = "form") String form,
                             @RequestParam(value = "headpic",required=false) MultipartFile file1){
        User user = JSON.parseObject(form, User.class);
        if(file1 != null){
            String path = userService.getById(user.getUserId()).getHeadpic();
            String filename = "";
            if (path == null){

            }else {
                filename = path.substring(path.lastIndexOf('/')+1);
                FileUploadUtils.deleteFiles(new File(getUploadPath()+filename));
            }
            String url = "";
            String newName = FileUploadUtils.uploadImage(file1, getUploadPath());
            if(newName !=null ){
                url = "/headpic/"+  newName;
            }
            user.setHeadpic(url);
        }
        boolean f = userService.updateById(user);
        if(f) {
            return JSON.toJSONString(new Result().setCode(200).setMessage("修改成功"));
        }
        else
            return JSON.toJSONString(new Result().setCode(402).setMessage("修改失败"));
    }

    @RequestMapping(path = "/updateUser2", method = RequestMethod.POST)
    public String updateUser2(@RequestBody User user){
        boolean f = userService.updateById(user);
        if(f){
            return JSON.toJSONString(new Result().setCode(200).setMessage("修改成功").setData(userService.getById(user.getUserId())));
        }else{
            return JSON.toJSONString(new Result().setCode(402).setMessage("修改失败"));
        }

    }

    @RequestMapping(value = "/updateHeadpic", method = RequestMethod.POST)
    public String updateHeadpic(@RequestParam(value = "userId") Integer userId,
                                  @RequestParam(value = "file",required=false) MultipartFile file1){
        //如果用户上传了新头像,我们需要做两个操作1.删除之前用户的头像;2.存储用户的新头像并生成新的url
        User user = userService.getById(userId);
        if(file1 != null){
            String path = userService.getById(user.getUserId()).getHeadpic();
            String filename = "";
            if (path == null){

            }else {
                filename = path.substring(path.lastIndexOf('/')+1);
                FileUploadUtils.deleteFiles(new File(getUploadPath()+filename));
            }
            String url = "";
            //存储file对象到指定路径
            String newName = FileUploadUtils.uploadImage(file1, getUploadPath());
            if(newName !=null ){
                //生成url
                url = "/headpic/"+  newName;
            }
            user.setHeadpic(url);
        }

        //业务部分:对数据库tab实体类进行修改
        boolean f = userService.updateById(user);
        User user1 = userService.getById(userId);
        if(f) {
            return JSON.toJSONString(new Result().setCode(200).setMessage("修改成功").setData(user1));
        }
        else
            return JSON.toJSONString(new Result().setCode(402).setMessage("修改失败"));
    }

    @RequestMapping(value = "/addUser", method = RequestMethod.POST)
    public String addUser(@RequestParam(value = "userForm") String form,
                          @RequestParam(value = "headpic",required=false) MultipartFile file1){
        User user = JSON.parseObject(form, User.class);
        if(file1 != null){
            String url = "";
            String newName = FileUploadUtils.uploadImage(file1, getUploadPath());
            if(newName !=null ){
                url = "/headpic/"+  newName;
            }
            user.setHeadpic(url);
        }

        boolean f = userService.save(user);
        if(f) {
            return JSON.toJSONString(new Result().setCode(200).setMessage("添加成功"));
        }
        else
            return JSON.toJSONString(new Result().setCode(402).setMessage("添加失败"));
    }

    @RequestMapping(value = "/addUser2", method = RequestMethod.POST)
    public String addUser2(@RequestBody User user){
        boolean f = userService.save(user);
        if(f) {
            return JSON.toJSONString(new Result().setCode(200).setMessage("添加成功"));
        }
        else
            return JSON.toJSONString(new Result().setCode(402).setMessage("添加失败"));
    }



    @RequestMapping(value = "/delUserById", method = RequestMethod.GET)
    public String delUser(Integer userId) {
        String path = userService.getById(userId).getHeadpic();
        String filename = "";
        boolean f = userService.removeById(userId);
        if (f) {
            if (path == null) {

            } else {
                filename = path.substring(path.lastIndexOf('/') + 1);
                FileUploadUtils.deleteFiles(new File(getUploadPath() + filename));
            }
            return JSON.toJSONString(new Result().setCode(200).setMessage("删除成功"));
        } else {
            return JSON.toJSONString(new Result().setCode(402).setData("删除失败"));
        }
    }

    public String getUploadPath(){
        ApplicationHome h = new ApplicationHome(getClass());
        File jarF = h.getSource();
        String dirPath = jarF.getParentFile().toString()+"\\headpic\\";
        return  dirPath;
    }


}

五、论文参考

  • 计算机毕业设计选题推荐-戏曲文化苑微信小程序/安卓APP论文参考:
    计算机毕业设计选题推荐-戏曲文化苑微信小程序/安卓APP论文参考

六、系统视频

戏曲文化苑微信小程序/安卓APP项目视频:

计算机毕业设计选题推荐-戏曲文化苑微信小程序/安卓APP

结语

计算机毕业设计选题推荐-戏曲文化苑微信小程序/安卓APP-项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我

精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1148578.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

案例分析真题-Web系统

案例分析真题-Web系统 2011 年真题 【问题1】 骚戴理解&#xff1a;还是要学会分析&#xff0c;首先要先看题目在看文字内容描述&#xff0c;不然看完了也不知道看了个啥&#xff0c;根据“其中互联网上用户对公司产品信息的访问情况需要借助两种不同的第三方 Web 分析软件进行…

登录rabbitMQ管理界面时浏览器显示要求进行身份验证,与此站点连接不安全解决办法

问题描述 最近在黑马学习rabbitMQ的过程中&#xff0c;在使用docker部署好rabbitMQ后&#xff0c;使用账号为&#xff1a;itcast&#xff0c;密码为&#xff1a;123321 登录的时候浏览器显示了这个问题&#xff0c;如图所示&#xff1a; 当时以为自己需要输入自己的浏览…

14个最实用的WordPress SEO插件推荐

在这篇文章中&#xff0c;将为你推荐最有利于网站SEO的WordPress插件&#xff0c;这里介绍这些插件的主要功能及使用技巧&#xff0c;合理使用它们将有助于网站SEO排名。无论你是一个刚刚开始的博客作者&#xff0c;还是一个经验丰富的企业网站管理员&#xff0c;我们都将帮助你…

Android使用Hilt依赖注入,让人看不懂你代码

前言 之前接手的一个项目里有些代码看得云里雾里的&#xff0c;找了半天没有找到对象创建的地方&#xff0c;后来才发现原来使用了Hilt进行了依赖注入。Hilt相比Dagger虽然已经比较简洁&#xff0c;但对初学者来说还是有些门槛&#xff0c;并且网上的许多文章都是搬自官网&…

微信小程序设计之页面文件pages

一、新建一个项目 首先&#xff0c;下载微信小程序开发工具&#xff0c;具体下载方式可以参考文章《微信小程序开发者工具下载》。 然后&#xff0c;注册小程序账号&#xff0c;具体注册方法&#xff0c;可以参考文章《微信小程序个人账号申请和配置详细教程》。 在得到了测…

day05 语法基础——CG语法 23.10.29

1.ShaderLabVS Pro插件安装(仅vs全家可用) 2.CG语句写在哪里 3.基础数据类型 4.特殊数据类型 5.Swizzle操作符 6.运算符相关 7.流程控制语句 8.函数 9.顶点/片元着色器基本结构 10.语义 11.顶点/片元着色器传递更多参数 12.ShaderLab属性类型和CG变量类型的匹配关系 13.CG内置…

亚信科技发布“电信级”核心交易数据库AntDB7.0,助力政企“信”创未来!

昨日&#xff0c;亚信科技AntDB数据库 7.0产品线上发布会成功举办&#xff0c;数千位关注亚信科技、关注国产数据库&#xff0c;致力于推动数据库行业变革的专家、客户热情参与&#xff0c;并对发布会及产品给予高度评价。 新增两大技术特性 作为我国最早一批独立研发的通用型…

动静分离技术

一、HAproxy 动静分离 1、概念&#xff1a; HAproxy 动静分离技术是一种用于优化 Web 服务器性能和提高用户体验的策略&#xff0c;它通过将动态内容和静态内容分别路由到不同的后端服务器来实现&#xff0c;减轻服务器负载&#xff0c;提高网站的响应速度。 动态内容包括由…

2023年双十一如何选购最新fl studio 21多少钱?有FL Studio21中文解锁版下载

如果你一直梦想制作自己的音乐(无论是作为一名制作人还是艺术家)&#xff0c;你可能会想你出生在这个时代是你的幸运星。这个水果圈工作室和上一版之间的改进水平确实令人钦佩。这仅仅是FL Studio 21所提供的皮毛。你的音乐项目的选择真的会让你大吃一惊。你以前从未有过这样的…

6G关键新兴技术- 智能超表面(RIS)技术演进

摘要&#xff1a; 根据欧盟5G公私联盟协会定义&#xff0c;可重构智慧表面技术是由能够任意塑造电磁波面的材料组成&#xff0c;几乎是被动设备&#xff0c;可以适应或改变发射器和接收器之间的无线电信号。 一、产品定义及范围 根据欧盟5G公私联盟协会(5G Infrastructure P…

USART HMI串口屏+单片机通讯上手体验

USART HMI串口屏单片机通讯上手体验 &#x1f516;本文采用淘晶驰4.3寸IPS串口屏实物验证&#xff0c;HMI串口屏经简单配置即可快速实现&#xff0c;串口通讯效果。串口屏上手简单&#xff0c;有独立的开发套件&#xff0c;容易上手&#xff0c;驱动显示和功能代码独立。本文仅…

能源管理数据:为企业打造绿色动力,引领可持续发展新篇章

随着全球能源结构的转变&#xff0c;绿色、清洁、可再生能源已成为关注的焦点。在这个大背景下&#xff0c;企业如何有效管理和利用能源数据&#xff0c;提高能源利用效率&#xff0c;降低碳排放&#xff0c;已成为当今社会的重要议题。本文将为你揭示能源管理数据的重要性和应…

计算机毕业设计选题推荐-周边美食推荐微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

1.spark standalone环境安装

概述 环境是spark 3.2.4 hadoop版本 3.2.4&#xff0c;所以官网下载的包为 spark-3.2.4-bin-hadoop3.2.tgz 在具体安装部署之前&#xff0c;需要先下载Spark的安装包&#xff0c;进到 spark的官网&#xff0c;点击download按钮 使用Spark的时候一般都是需要和Hadoop交互的&a…

8.Scala面向对象编程

概述 在这里主要了解Scala中的类、对象和接口 Scala中类和java中的类基本是类似的Scala中的对象是需要定义的&#xff0c;而java中的对象是通过class new出来的Scala中的接口是trait&#xff0c;java中的接口是interface 相关链接 阅读之前&#xff0c;可以浏览一下 scala相关…

chat gpt 在开发当中的应用

chatgpt 出来已经有一段时间了&#xff0c;本人在开发的过程中也是有去使用。 经常使用的是讯飞大模型和通义千问&#xff0c;在使用的过程中&#xff0c;个人感觉讯飞大模型在写代码方面会比较智能。 比如问一个 sqlser 单表 数据量 几个亿如何处理的问题&#xff0c;讯飞会给…

Geek challenge 2023 EzHttp

打开链接需要使用post请求提交username和password 查看源码得到提示&#xff0c;爬虫想到robots协议 访问robots.txt 访问得到的路径&#xff1a;/o2takuXXs_username_and_password.txt 拿到用户名和密码&#xff1a; username:admin password:dm1N123456r00t# 进行post传参…

基于vue小红书平台用户数据分析与可视化

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

计算机毕业设计选题推荐-餐厅线上点餐微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

关于测试组件junit切换testng的示例以及切换方式分享

文章目录 概要首先看看junit和testng的区别实践篇摸拟业务逻辑代码简单对象数据层摸拟类业务逻辑层摸拟类后台任务摸拟类 基于springmockjunit基于springmocktestng 示例的差异点junit与testng的主要变动不大,有以下几个点需要注意注解部分在before,after中testng多出按配置执行…