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, "删除成功!");
  }
相关推荐
他҈姓҈林҈12 分钟前
Spring Boot 支持政策
spring boot
时之彼岸Φ25 分钟前
Fiddler+Yakit实现手机流量抓包和小程序抓包
智能手机·小程序·fiddler
艾小逗27 分钟前
uniapp中检查版本,提示升级app,安卓下载apk,ios跳转应用商店
android·ios·uni-app·app升级
ss2731 小时前
基于Springboot + vue + 爬虫实现的高考志愿智能推荐系统
spring boot·后端·高考
两点王爷2 小时前
springboot项目文件上传到服务器本机,返回访问地址
java·服务器·spring boot·文件上传
suncentwl2 小时前
为什么选择有版权的答题pk小程序
小程序·答题小程序·答题pk
pjx9872 小时前
质量的“试金石”:精通Spring Boot单元测试与集成测试
spring boot·spring·单元测试·集成测试
小旋风012343 小时前
uniapp自定义头部(兼容微信小程序(胶囊和状态栏),兼容h5)
微信小程序·uni-app·notepad++
耶啵奶膘4 小时前
uniapp+vue3表格样式
uni-app
GalenZhang8885 小时前
Java生成微信小程序码及小程序短链接
java·微信小程序·小程序