SpringBoot+uniApp日历备忘录小程序系统 附带详细运行指导视频

文章目录

一、项目演示

项目演示地址: 视频地址

二、项目介绍

项目描述:这是一个基于SpringBoot+uniApp框架 开发的日历备忘录小程序系统。首先,这是一个前后端分离的项目,这项目代码简洁规范,注释说明详细,易于理解和学习,项目中的日历是纯代码手写,没借助现成的组件,非常适合SpringBoot+uniApp框架的初学者进行学习。

项目功能:此项目有查看日历、查看备忘录信息、添加备忘录信息、修改备忘录信息、删除备忘录信息的功能。

应用技术:SpringBoot + uniApp + Vue + MySQL + MyBatis + uView

运行环境:IntelliJ IDEA + MySQL + JDK1.8 + Maven3.6.3+ Node14.16.1+ 微信开发者工具+ Hbuilder(这些开发工具都会免费提供)

三、运行截图



四、主要代码

1.日历渲染代码:

java 复制代码
<view class="calendar-area">
	<view class="thead">
		<view class="item" v-for="(item,index) in weekName" v-text="item"></view>
	</view>
	<view class="tbody" v-for="(item,index) in weeks" :key="index">
		<view class="day" v-for="(day, i) in item" :key="i" @click="clickDate(day)">
		  <view :class="{ holiday: isHoliday(day), selected: isSelected(day), dayArea: true }">
			  <view v-text="day"></view>
			  <u-badge v-if="isBadgeShow(day)" type="dot" :is-dot="true"></u-badge>
		  </view>
		</view>
	 </view>
</view>

initCalendar() {
	const startOfMonth = moment([this.year, this.month]).startOf('month');
	const endOfMonth = moment([this.year, this.month]).endOf('month');
	const daysInMonth = endOfMonth.date();
	const weeks = [];
	let currentWeek = [];
	let currentDay = startOfMonth.clone();
	
	// 填充当前月的第一周之前的空白单元格
	for (let i = 0; i < startOfMonth.day(); i++) {
	  currentWeek.push("");
	}
	// 填充当前月的所有天数
	for (let i = 1; i <= daysInMonth; i++) {
	  currentWeek.push(i);
	  if (currentDay.day() === 6 || i === daysInMonth) {
		weeks.push(currentWeek);
		currentWeek = [];
	  }
	  currentDay.add(1, 'day');
	}
	// 填充当前月的最后一周之后的空白单元格
	while (currentWeek.length > 0 && currentWeek.length < 7) {
	  currentWeek.push("");
	}
	if (currentWeek.length > 0) {
	  weeks.push(currentWeek);
	}
	this.weeks = weeks;
}

2.保存备忘录代码:

java 复制代码
  @Override
  public ResponseDTO<Boolean> saveMemo(MemoDTO memoDTO) {
       // 进行统一表单验证
       CodeMsg validate = ValidateEntityUtil.validate(memoDTO);
       if (!validate.getCode().equals(CodeMsg.SUCCESS.getCode())) {
           return ResponseDTO.errorByMsg(validate);
       }
       Memo memo = CopyUtil.copy(memoDTO, Memo.class);
       if(CommonUtil.isEmpty(memo.getId())) {
           // 添加操作
           memo.setId(UuidUtil.getShortUuid());
           memo.setCreateTime(new Date());
           if(memoMapper.insertSelective(memo) == 0) {
               return ResponseDTO.errorByMsg(CodeMsg.MEMO_ADD_ERROR);
           }
       } else {
           // 修改操作
           if(memoMapper.updateByPrimaryKeySelective(memo) == 0) {
               return ResponseDTO.errorByMsg(CodeMsg.MEMO_EDIT_ERROR);
           }
       }
       return ResponseDTO.successByMsg(true, "保存成功!");
   }

3.删除备忘录代码:

java 复制代码
  @Override
  public ResponseDTO<Boolean> deleteMemo(MemoDTO memoDTO) {
      if(CommonUtil.isEmpty(memoDTO.getId())) {
          return ResponseDTO.errorByMsg(CodeMsg.DATA_ERROR);
      }
      // 删除备忘信息
      if(memoMapper.deleteByPrimaryKey(memoDTO.getId()) == 0) {
          return ResponseDTO.errorByMsg(CodeMsg.MEMO_DELETE_ERROR);
      }
      return ResponseDTO.successByMsg(true, "删除成功!");
  }
相关推荐
Uranus^1 小时前
深入解析Spring Boot与Spring Cloud在微服务架构中的实践与应用
java·spring boot·spring cloud·微服务·分布式系统
wx_cxc28486989181 小时前
珠宝课程小程序源码介绍
微信小程序·小程序
向上的车轮2 小时前
Spring Boot微服务架构(一):如何拆分?如何将CRM系统拆解为多个微服务构建?
spring boot·微服务·架构
NAMELZX3 小时前
解决 IntelliJ IDEA 配置文件中文被转义问题
java·spring boot·intellij-idea
程序员阿龙3 小时前
基于微信小程序的智能问卷调查系统设计与实现(源码+定制+解答)基于微信生态的问卷管理与数据分析系统设计
微信小程序·小程序·微信端问卷平台·线上问卷系统·用户反馈收集系统·校园调研工具
游王子4 小时前
uni-app(4):js语法、css语法
uni-app
井云AI4 小时前
COZE工作流全场景变现新路径:小程序/网站封装集成
ai·小程序·智能体·coze·ai工作流·智能体封装·coze智能体变现
晓晓莺歌5 小时前
uniapp图片下载(微信H5可用、小程序应该也通用)
uni-app
Vue10245 小时前
uniapp 嵌入鸿蒙原生组件 具体步骤
华为·uni-app·harmonyos