一、灵感

趁着周末无聊,做了一款博客小程序,记录日常工作中遇到的一些问题,方便在手机上温故。

借鉴了网上的一些类似功能,用了大概近一个月的时间,完成了第一个版本。

主要功能有:

  • 博客
  • 专题
  • 书籍推荐
  • 圈子
  • 动态
  • 评论、收藏
  • 积分获取
  • 留言
  • 等等

二、截图

2.1、相关截图

小程序截图

后台截图

2.2、项目结构

后端

小程序

后台管理

三、技术选型

3.1、语言介绍

  • 小程序使用uniapp框架,开箱即用。
  • 前端使用 vue、ElementUI。
  • 后端使用 java 主流框架 Springboot。
  • 中间件 Redis

3.2、源码展示

获取积分

@Override
public void addRecord(IntegralValueEnum valueEnum, Long userId) {threadPoolTaskExecutor.execute(() -> {if (ObjectUtils.isEmpty(userId)) {return;}switch (valueEnum.getType()) {// 增加积分case IntegralTypeConstant.INCREASE:// 当天积分获取记录List<IntegralRecordEntity> integralRecordEntities = baseDao.selectList(Wrappers.<IntegralRecordEntity>lambdaQuery().eq(IntegralRecordEntity::getType, IntegralTypeConstant.INCREASE).eq(IntegralRecordEntity::getSourceName, valueEnum.getTitle()).eq(IntegralRecordEntity::getCreator, userId).ge(IntegralRecordEntity::getCreateDate, DateUtils.getZeroDate(true)).lt(IntegralRecordEntity::getCreateDate, DateUtils.getZeroDate(false)).orderByDesc(IntegralRecordEntity::getCreateDate));if (CollUtil.isEmpty(integralRecordEntities)) {updateIntegral(valueEnum, userId, valueEnum.value());} else {// 今日已获得该类型的积分值int sum = integralRecordEntities.stream().mapToInt(IntegralRecordEntity::getUpdateNum).sum();if (sum >= valueEnum.getMaxNum()) {log.error("今日获取积分已达上限, name={}, userId={}", valueEnum.title(), userId);return;}// 此次应加积分(忽略超出的积分)int updateIntegralNum = (valueEnum.maxNum() - sum) > valueEnum.value() ? valueEnum.value() : valueEnum.maxNum() - sum;updateIntegral(valueEnum, userId, updateIntegralNum);}break;// 扣减积分case IntegralTypeConstant.DEDUCTIONS:IntegralEntity integralEntity = integralDao.selectOne(Wrappers.<IntegralEntity>lambdaQuery().eq(IntegralEntity::getCreator, userId));if (ObjectUtils.isEmpty(integralEntity)) {return;}int differenceValue = Math.max(integralEntity.getIntegralNum() - valueEnum.value(), 0);updateIntegral(valueEnum, userId, differenceValue);break;default:}});}

文章详情

public ArticleDTO appGet(Long id, UserEntity user) {ArticleEntity entity = this.selectById(id);ArticleDTO articleDTO = ConvertUtils.sourceToTarget(entity, ArticleDTO.class);articleDTO.setPictures(JsonUtils.parseArray(entity.getPictures(), String.class).toArray(new String[0]));Long count = myLinkDao.selectCount(Wrappers.<MyLinkEntity>lambdaQuery().eq(MyLinkEntity::getCategory, BusinessTypeConstant.ARTICLE).eq(MyLinkEntity::getStatus, StringPool.ONE).eq(MyLinkEntity::getSourceId, id));articleDTO.setCollectionNum(count.intValue());if (ObjectUtils.isNotEmpty(user)) {Long i = myLinkDao.selectCount(Wrappers.<MyLinkEntity>lambdaQuery().eq(MyLinkEntity::getCategory, BusinessTypeConstant.ARTICLE).eq(MyLinkEntity::getStatus, StringPool.ZERO).eq(MyLinkEntity::getCreator, user.getId()).eq(MyLinkEntity::getSourceId, id));articleDTO.setIsCollect(i > 0);} else {articleDTO.setIsCollect(false);}return articleDTO;
}

有需要前后端源码的,可私聊看演示。

微信小程序 不二博客星球相关推荐

  1. 一款简单微信小程序个人博客

    简介: 一款简单微信小程序个人博客.后端基于SpringBoot实现 网盘下载地址: http://kekewl.cc/7ZS91CtWjfu0 图片:

  2. 微信小程序版博客——开发汇总总结(附源码)

    花了点时间陆陆续续,拼拼凑凑将我的小程序版博客搭建完了,这里做个简单的分享和总结. 整体效果 对于博客来说功能页面不是很多,且有些限制于后端服务(基于ghost博客提供的服务),相关样式可以参考截图或 ...

  3. V部落-微信小程序版博客

    是之前SpringBoot+Vue搭建前后端分离的轻博客,配套的微信小程序,目前只能够实现文章的阅读,评论点赞,搜索和登录,更多功能后续在以后的微服务版本再添加 小程序界面 首页 标签页 详情页 评论 ...

  4. php 微信创建客服,如何给微信小程序内添加客服按钮

    这次给大家带来如何给微信小程序内添加客服按钮,给微信小程序内添加客服按钮的注意事项有哪些,下面就是实战案例,一起来看一下. 1. 普通客服按钮添加客服-联系我们 2. 悬浮客服按钮添加,图片自定义 大 ...

  5. php 微信机器人_微信小程序机器人自动客服功能

    现在微信小程序在开发中比较流行,本文就教大家一种微信新功能:客服机器人的小程序,这个小程序也可以做其他类型的自动客服程序,在olami平台加上相应的问题和答案,就可以了. 整个小程序界面包含2个部分, ...

  6. 微信小程序实战--仿知识星球(一)

    发现一款好好看的app 名字叫做知识星球 (虽然整款app除了绿色就还是绿色 但是还是好看啊) 不多扯 我开始说我的项目吧 项目地址: AndIMissU/Stars 项目视频: 项目环境和资源需求网 ...

  7. 【微信小程序】把客服按钮替换成自己想要的图片

     有问题可以扫码加我微信,有偿解决问题.承接小程序开发. 微信小程序开发交流qq群   173683895  . 526474645 : 正文: 今天开发微信客服的功能,发现微信提供的</con ...

  8. 阮一峰小程序入门博客总结

    项目配置文件app.json 顶层的app.json文件用于整个项目的配置,对于所有页面都有效. 必需的pages属性 window属性,用来设置小程序的窗口 tabBar属性,用来设置尾部的选项栏 ...

  9. 微信小程序 - 用户进入客服会话会在右下角显示可能要发送的小程序提示

    起因,看到了抽奖小助手的操作,如下截图 我就想 我去 这个吊啊  很懵逼 因为之前没见过 以为是服务端的操作 看了半天服务端文档并没有相关介绍,在微信社区遨游了半天发现了 原来就是小程序「buttun ...

最新文章

  1. java的移植性_详细介绍JAVA的可移植性
  2. 数据中心水环热泵余热回收系统分析与应用
  3. 使用Spring特性优雅书写业务代码
  4. 复利计算再升级——连接数据库
  5. MySQL主从复制故障解决
  6. Egret中使用P2物理引擎
  7. 查询端口被什么程序占用及停止的方法及netstat的妙用
  8. centos Apache、php、mysql默认安装路径
  9. 关于如何用python下载文件
  10. Windows下安装神通数据库
  11. 移动端人脸风格化技术的应用
  12. 计算机网络术语中rt是什么意思?今天就来给你解答
  13. 视觉slam14讲学习(一)之se3上的定位表示:轨迹显示与轨迹误差
  14. 混合云是什么,混合云是怎么工作的?
  15. 如何使用拟我表情做为用户的头像
  16. 二级python——(三)format()方法的基本使用
  17. 正确设置 php-fpm子进程用户 提高网站安全性 防止被挂木马
  18. 1、已知:1公里=2里=1000米,请编写一个程序,输入公里数,将其转换成里和米。要求程序的输入输出如下: 请输入公里数: 3.3 3.30公里=6.60里=3300米
  19. 房地产行业转行学习Java的小哥哥入职起薪9K
  20. 如今市场行情写字楼一落千丈

热门文章

  1. 异常详细信息: System.Web.HttpException: 未能执行 URL。如何解决。
  2. 支付宝APP支付回调问题
  3. powerDesign16.5修改name的时候不改变code
  4. 相关系数评价标准的相关知识
  5. 字节等不及“吃”外卖了
  6. cuteftp上传文件失败,提示权限失败
  7. 【群智能算法】一种改进的蚁狮优化算法IALO【Matlab代码#5】
  8. 移动端web开发——像素的适配
  9. c# 发送邮件,抄送人格式:半角逗号隔开
  10. Redis性能调优之Pipeline(管道)